Compare commits

...

2 Commits

Author SHA1 Message Date
姜玉琦 4635d42aa4 Merge branch 'dev_xd' of http://62.234.3.186:3000/jiangyq/YZProjectCloud into dev_xd
# Conflicts:
#	yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SmzSspProblemmodifyController.java
#	yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/ISmzSspProblemmodifyService.java
2025-03-08 16:18:15 +08:00
姜玉琦 bb93a26ed0 提交代码 2025-03-08 16:14:09 +08:00
34 changed files with 1274 additions and 1187 deletions

View File

@ -74,4 +74,12 @@ public interface FlowBusinessKeyMapper {
* @return
*/
public List<Map<String, Object>> selectMySubdeptsGroups(@Param("proId")Long proId, @Param("userId")Long userId);
/**
*
* @param proId
* @param userId
* @return
*/
public List<Map<String, Object>> selectMyAwaitSspTask(@Param("proId")Long proId, @Param("userId")Long userId);
}

View File

@ -18,15 +18,15 @@ public class ProVideoMonitor extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
/** 编号 */
private Long id;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
/** 公司编号 */
@Excel(name = "公司编号")
private Long comId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
/** 项目编号 */
@Excel(name = "项目编号")
private Long projectId;
/** 监控名称 */

View File

@ -17,7 +17,7 @@ public class SmzSspAuditinfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
/** 编号 */
private Long id;
/** 问题整改质量留痕id */

View File

@ -14,7 +14,7 @@ public class SmzSspFileinfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
/** 编号 */
private Long id;
/** 审核表id */

View File

@ -156,4 +156,33 @@
select id, sub_dept_name, sub_dept_group, user_post from pro_project_info_subdepts_users where project_id = #{proId} and user_id = #{userId} and approve_status <![CDATA[ >= ]]> 100 and is_del=0 and sub_dept_group is not null
</select>
<select id="selectMyAwaitSspTask" resultType="Map">
select '106' as category, count(1) as total from smz_ssp_problemmodify
<where>
infoType=0
<if test="proId != null"> and projectId=#{proId}</if>
<if test="userId != null"> and lordSent=#{userId} and checkState in (0,3)</if>
</where>
union all
select '107' as category, count(1) as total from smz_ssp_problemmodify
<where>
infoType=0
<if test="proId != null"> and projectId=#{proId}</if>
<if test="userId != null"> and lordSent=#{userId} and checkState in (0,3)</if>
</where>
select '108' as category, count(1) as total from smz_ssp_problemmodify
<where>
infoType=1
<if test="proId != null"> and projectId=#{proId}</if>
<if test="userId != null"> and lordSent=#{userId} and checkState in (0,3)</if>
</where>
union all
select '109' as category, count(1) as total from smz_ssp_problemmodify
<where>
infoType=1
<if test="proId != null"> and projectId=#{proId}</if>
<if test="userId != null"> and lordSent=#{userId} and checkState in (0,3)</if>
</where>
</select>
</mapper>

View File

@ -25,21 +25,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSmzSspAuditinfoList" parameterType="SmzSspAuditinfo" resultMap="SmzSspAuditinfoResult">
select a.id, a.mainId, a.processState, a.opinion, a.isDel, a.createUser, a.createTime,b.id fileId,b.fileUrl
from smz_ssp_auditinfo a
left join smz_ssp_fileinfo b on a.id=b.auditId
left join smz_ssp_fileinfo b on a.id = b.auditId
<where>
<if test="mainId != null "> and mainId = #{mainId}</if>
<if test="processState != null and processState != ''"> and processState = #{processState}</if>
<if test="opinion != null and opinion != ''"> and opinion = #{opinion}</if>
<if test="isDel != null "> and isDel = #{isDel}</if>
<if test="createUser != null and createUser != ''"> and createUser = #{createUser}</if>
<if test="createTime != null "> and createTime = #{createTime}</if>
<if test="mainId != null "> and a.mainId = #{mainId}</if>
<if test="processState != null and processState != ''"> and a.processState = #{processState}</if>
<if test="opinion != null and opinion != ''"> and a.opinion = #{opinion}</if>
<if test="isDel != null "> and a.isDel = #{isDel}</if>
<if test="createUser != null and createUser != ''"> and a.createUser = #{createUser}</if>
<if test="createTime != null "> and a.createTime = #{createTime}</if>
</where>
order by createTime desc
order by a.id desc
</select>
<select id="selectSmzSspAuditinfoById" parameterType="Long" resultMap="SmzSspAuditinfoResult">
<include refid="selectSmzSspAuditinfoVo"/>
where id = #{id}
where a.id = #{id}
</select>
<insert id="insertSmzSspAuditinfo" parameterType="SmzSspAuditinfo" useGeneratedKeys="true" keyProperty="id">
@ -85,4 +85,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
</mapper>

View File

@ -288,16 +288,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id}
</update>
<delete id="deleteSmzSspProblemmodifyById" parameterType="Long">
delete from smz_ssp_problemmodify where id = #{id}
</delete>
<update id="deleteSmzSspProblemmodifyById" parameterType="Long">
update smz_ssp_problemmodify set isDel=2 where id = #{id}
</update>
<delete id="deleteSmzSspProblemmodifyByIds" parameterType="String">
delete from smz_ssp_problemmodify where id in
<update id="deleteSmzSspProblemmodifyByIds" parameterType="String">
update smz_ssp_problemmodify set isDel=2 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</update>
<sql id="countUserWhere">
<if test="problemType != null and problemType != ''"> and a,problemType = #{problemType}</if>

View File

@ -226,6 +226,8 @@ public class FlowBusinessKeyController extends BaseController {
flowTaskEntity.setRoleIds(roleIds);
}
List<Map<String, Object>> list = flowBusinessKeyService.selectMyAwaitFlowTask(flowTaskEntity);
List<Map<String, Object>> smzTaskList = flowBusinessKeyService.selectMyAwaitSspTask(Convert.toLong(proId,null),SecurityUtils.getUserId());
list.addAll(smzTaskList);
Map<String, Long> sumByCategory = list.stream()
.collect(Collectors.groupingBy(
map -> (String) map.get("category"),
@ -240,6 +242,10 @@ public class FlowBusinessKeyController extends BaseController {
data.put("dwsh",Convert.toInt(sumByCategory.get("1"),0));
int rysh = Convert.toInt(sumByCategory.get("2"),0)+Convert.toInt(sumByCategory.get("3"),0)+Convert.toInt(sumByCategory.get("4"),0)+Convert.toInt(sumByCategory.get("5"),0)+Convert.toInt(sumByCategory.get("6"),0)+Convert.toInt(sumByCategory.get("8"),0);
data.put("rysh",rysh);
int aqyh = Convert.toInt(sumByCategory.get("106"),0)+Convert.toInt(sumByCategory.get("107"),0);
data.put("aqyh",aqyh);
int zlyh = Convert.toInt(sumByCategory.get("108"),0)+Convert.toInt(sumByCategory.get("109"),0);
data.put("zlyh",zlyh);
return success(data);
}

View File

@ -53,4 +53,11 @@ public interface IFlowBusinessKeyService {
*/
public List<Map<String, Object>> selectMyFinishedFlowTask(FlowTaskEntity flowTaskEntity);
/**
*
* @param proId
* @param userId
* @return
*/
public List<Map<String, Object>> selectMyAwaitSspTask(Long proId,Long userId);
}

View File

@ -134,4 +134,15 @@ public class FlowBusinessKeyServiceImpl implements IFlowBusinessKeyService {
return flowBusinessKeyMapper.selectMyFinishedFlowTask(flowTaskEntity);
}
/**
*
* @param proId
* @param userId
* @return
*/
@Override
public List<Map<String, Object>> selectMyAwaitSspTask(Long proId,Long userId){
return flowBusinessKeyMapper.selectMyAwaitSspTask(proId,userId);
}
}

View File

@ -1,26 +1,24 @@
package com.yanzhu.manage.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.enums.IsDelEnums;
import com.yanzhu.common.core.text.Convert;
import com.yanzhu.common.core.utils.StringUtils;
import com.yanzhu.common.security.utils.SecurityUtils;
import com.yanzhu.manage.domain.SmzSspAuditinfo;
import com.yanzhu.manage.domain.SmzSspProblemmodify;
import com.yanzhu.manage.enums.CheckStateEnums;
import com.yanzhu.manage.service.ISmzSspAuditinfoService;
import com.yanzhu.manage.service.ISmzSspProblemmodifyService;
import com.yanzhu.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
@ -39,6 +37,9 @@ import com.yanzhu.common.security.annotation.RequiresPermissions;
@RequestMapping("/problemmodify")
public class SmzSspProblemmodifyController extends BaseController
{
@Autowired
private ISmzSspAuditinfoService smzSspAuditinfoService;
@Autowired
private ISmzSspProblemmodifyService smzSspProblemmodifyService;
@ -159,8 +160,8 @@ public class SmzSspProblemmodifyController extends BaseController
/**
*
* @RequiresPermissions("trouble:problemmodify:query")
*/
@RequiresPermissions("trouble:problemmodify:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
@ -228,7 +229,63 @@ public class SmzSspProblemmodifyController extends BaseController
}
/**
* (ssp_proble_type)
<<<<<<< HEAD
*
* @param id
* @return
*/
@GetMapping("/findAuditInfos/{id}")
public AjaxResult findAuditInfo(@PathVariable("id") Long id){
SmzSspAuditinfo query = new SmzSspAuditinfo();
query.setMainId(id);
query.setIsDel(IsDelEnums.NO.getCode());
List<SmzSspAuditinfo> list = smzSspAuditinfoService.selectSmzSspAuditinfoList(query);
List<SmzSspAuditinfo> findList = new ArrayList<>();
if(StringUtils.isNotEmpty(list)){
for(SmzSspAuditinfo auditinfo:list){
// 每种类型获取一条
List<SmzSspAuditinfo> _findList = findList.stream().filter(detail -> StringUtils.eqObj(detail.getProcessState(),auditinfo.getProcessState())).collect(Collectors.toList());
if(_findList.size()==0){
findList.add(auditinfo);
}
}
}
return success(findList);
}
/**
*
*/
@Log(title = "删除隐患问题", businessType = BusinessType.DELETE)
@DeleteMapping("/wxRemove/{id}")
public AjaxResult wxRemove(@PathVariable("id") Long id)
{
return toAjax(smzSspProblemmodifyService.deleteSmzSspProblemmodifyById(id));
}
/**
*
* @param smzSspAuditinfo
* @return
*/
@PostMapping("/modifyProblemmodify")
@Log(title = "提交隐患整改", businessType = BusinessType.UPDATE)
public AjaxResult modifyProblemmodify(@RequestBody SmzSspAuditinfo smzSspAuditinfo){
return success(smzSspAuditinfoService.insertSmzSspAuditinfo(smzSspAuditinfo));
}
/**
*
* @param smzSspAuditinfo
* @return
*/
@PostMapping("/checkProblemmodify")
@Log(title = "提交隐患复检", businessType = BusinessType.UPDATE)
public AjaxResult checkProblemmodify(@RequestBody SmzSspAuditinfo smzSspAuditinfo){
return success(smzSspAuditinfoService.insertSmzSspAuditinfo(smzSspAuditinfo));
}
/** (ssp_proble_type)
* @param where
* @return
*/
@ -273,4 +330,5 @@ public class SmzSspProblemmodifyController extends BaseController
List<SmzSspProblemmodify> list = smzSspProblemmodifyService.selectList(where);
return getDataTable(list);
}
}

View File

@ -3,6 +3,7 @@ package com.yanzhu.manage.service;
import java.util.List;
import java.util.Map;
import com.yanzhu.manage.domain.SmzSspAuditinfo;
import com.yanzhu.manage.domain.SmzSspProblemmodify;
/**
@ -78,7 +79,7 @@ public interface ISmzSspProblemmodifyService
public List<Map<String, Object>> getWxListCount(SmzSspProblemmodify where);
/**
*
*
* @param where
* @return
*/
@ -97,4 +98,5 @@ public interface ISmzSspProblemmodifyService
* @return
*/
public List<SmzSspProblemmodify> groupByDangerType(SmzSspProblemmodify where);
}

View File

@ -4,11 +4,13 @@ import java.util.Arrays;
import java.util.List;
import cn.hutool.core.util.NumberUtil;
import com.yanzhu.common.core.enums.IsDelEnums;
import com.yanzhu.common.core.utils.DateUtils;
import com.yanzhu.common.core.utils.StringUtils;
import com.yanzhu.common.security.utils.SecurityUtils;
import com.yanzhu.manage.domain.SmzSspFileinfo;
import com.yanzhu.manage.domain.SmzSspProblemmodify;
import com.yanzhu.manage.enums.CheckStateEnums;
import com.yanzhu.manage.mapper.SmzSspFileinfoMapper;
import com.yanzhu.manage.mapper.SmzSspProblemmodifyMapper;
import com.yanzhu.system.api.domain.SysUser;
@ -69,10 +71,9 @@ public class SmzSspAuditinfoServiceImpl implements ISmzSspAuditinfoService
@Override
public int insertSmzSspAuditinfo(SmzSspAuditinfo smzSspAuditinfo)
{
LoginUser loginUser= SecurityUtils.getLoginUser();
SysUser sysUser=loginUser.getSysUser();
String userName = SecurityUtils.getLoginUser().getSysUser().getNickName();
smzSspAuditinfo.setCreateTime(DateUtils.getNowDate());
smzSspAuditinfo.setCreateUser(sysUser.getUserName());
smzSspAuditinfo.setCreateUser(userName);
int result= smzSspAuditinfoMapper.insertSmzSspAuditinfo(smzSspAuditinfo);
//上传图片
String images=smzSspAuditinfo.getImages();
@ -82,25 +83,37 @@ public class SmzSspAuditinfoServiceImpl implements ISmzSspAuditinfoService
file.setFileType(0L);
file.setAuditId(smzSspAuditinfo.getId());
file.setFileUrl(img);
file.setCreateUser(sysUser.getUserName());
file.setCreateUser(userName);
file.setCreateTime(DateUtils.getNowDate());
fileinfoMapper.insertSmzSspFileinfo(file);
});
}
//修改安全隐患的状态
SmzSspProblemmodify problemmodify=new SmzSspProblemmodify();
problemmodify.setId(smzSspAuditinfo.getMainId());
//(0待审1通过2驳回)
// 修改安全隐患的状态
SmzSspProblemmodify smzSspProblemmodify = new SmzSspProblemmodify();
smzSspProblemmodify.setId(smzSspAuditinfo.getMainId());
// (0待审1通过2驳回)
//0待整改1待复检2复检驳回3复检通过
if("0".equals(smzSspAuditinfo.getProcessState())){
problemmodify.setCheckState(1L);
smzSspProblemmodify.setCheckState(CheckStateEnums.DFJ.getCode());
}else if("1".equals(smzSspAuditinfo.getProcessState())){
problemmodify.setCheckState(3L);
smzSspProblemmodify.setCheckState(CheckStateEnums.ZGWC.getCode());
// 复检通过时将整改图片同步至隐患信息中
SmzSspAuditinfo query = new SmzSspAuditinfo();
query.setMainId(smzSspAuditinfo.getMainId());
query.setProcessState("0");
query.setIsDel(IsDelEnums.NO.getCode());
List<SmzSspAuditinfo> zgList = smzSspAuditinfoMapper.selectSmzSspAuditinfoList(query);
if(StringUtils.isNotEmpty(zgList) && StringUtils.isNotEmpty(zgList.get(0).getFiles())){
String marksPictures = "";
for(SmzSspFileinfo fileinfo:zgList.get(0).getFiles()){
marksPictures += ","+fileinfo.getFileUrl();
}
smzSspProblemmodify.setMarksPicture(marksPictures.substring(1));
}
}else{
problemmodify.setCheckState(2L);
smzSspProblemmodify.setCheckState(CheckStateEnums.ZGBH.getCode());
}
problemmodifyMapper.updateSmzSspProblemmodify(problemmodify);
problemmodifyMapper.updateSmzSspProblemmodify(smzSspProblemmodify);
return result;
}

View File

@ -4,6 +4,8 @@ import com.yanzhu.common.core.utils.DateUtils;
import com.yanzhu.common.security.utils.SecurityUtils;
import com.yanzhu.manage.domain.SmzSspProblemmodify;
import com.yanzhu.manage.enums.CheckStateEnums;
import com.yanzhu.manage.mapper.SmzSspAuditinfoMapper;
import com.yanzhu.manage.mapper.SmzSspFileinfoMapper;
import com.yanzhu.manage.mapper.SmzSspProblemmodifyMapper;
import com.yanzhu.manage.service.ISmzSspProblemmodifyService;
import com.yanzhu.system.api.domain.SysUser;
@ -24,6 +26,12 @@ import java.util.concurrent.atomic.AtomicInteger;
@Service
public class SmzSspProblemmodifyServiceImpl implements ISmzSspProblemmodifyService
{
@Autowired
private SmzSspAuditinfoMapper smzSspAuditinfoMapper;
@Autowired
private SmzSspFileinfoMapper smzSspFileinfoMapper;
@Autowired
private SmzSspProblemmodifyMapper smzSspProblemmodifyMapper;

View File

@ -20,6 +20,22 @@ export function listCount(query) {
})
}
// 查询隐患详情
export function findInfo(id) {
return request({
url: '/manage/problemmodify/'+id,
method: 'get'
})
}
// 查询隐患审批详情
export function findAuditInfos(id) {
return request({
url: '/manage/problemmodify/findAuditInfos/'+id,
method: 'get'
})
}
// 新增隐患问题
export function add(data) {
return request({
@ -38,6 +54,32 @@ export function addDraft(data) {
})
}
// 删除隐患详情
export function remove(id) {
return request({
url: '/manage/problemmodify/wxRemove/'+id,
method: 'delete'
})
}
// 提交隐患整改
export function modifyProblemmodify(data) {
return request({
url: '/manage/problemmodify/modifyProblemmodify',
method: 'post',
data: data
})
}
// 提交问题复检
export function checkProblemmodify(data) {
return request({
url: '/manage/problemmodify/checkProblemmodify',
method: 'post',
data: data
})
}
// 查询我上次提交的隐患信息
export function findMyLastProblemmodify(proId,type) {
return request({

View File

@ -1539,7 +1539,7 @@ swiper-item video {
font-size: 50rpx !important;
}
/* 问题整改 */
/* 隐患整改 */
.inspect_overview_max {
background: #191d28;
padding-bottom: 30rpx;
@ -1898,7 +1898,7 @@ swiper-item video {
}
.code_label {
font-size: 0.6rem;
font-size: 0.9rem;
width: 120rpx;
margin: auto;
text-align: center;

View File

@ -23,7 +23,9 @@ Page({
initData: {},
todoDB: 0,
fbdwDB: 0,
fbrtDB: 0
fbrtDB: 0,
aqyhDB: 0,
zlyhDB: 0
},
@ -157,7 +159,9 @@ Page({
this.setData({
todoDb: res.data.todo,
fbdwDB: res.data.dwsh,
fbrtDB: res.data.rysh
fbrtDB: res.data.rysh,
aqyhDB: res.data.aqyh,
zlyhDB: res.data.zlyh,
})
}
});

View File

@ -25,6 +25,8 @@
<view class="gd_min" data-id="{{item.menuIdenti}}" data-url="{{item.menuUrl}}" bindtap="goMenu">
<span class="tabNum_active" wx:if="{{item.menuIdenti=='FBDWSH' && fbdwDB>0}}">{{fbdwDB}}</span>
<span class="tabNum_active" wx:if="{{item.menuIdenti=='FBRYSH' && fbrtDB>0}}">{{fbrtDB}}</span>
<span class="tabNum_active" wx:if="{{item.menuIdenti=='AQYHPC' && aqyhDB>0}}">{{aqyhDB}}</span>
<span class="tabNum_active" wx:if="{{item.menuIdenti=='ZLYHPC' && zlyhDB>0}}">{{zlyhDB}}</span>
<image src="{{item.menuImg}}"></image>
<view>{{item.menuName}}</view>
</view>

View File

@ -43,7 +43,7 @@ Page({
copySend: "",
copySendUser: ""
},
active: 0,
active: 1,
flowNodes: [{
text: '开始'
}, {
@ -306,7 +306,7 @@ Page({
app.toast("新增数据成功!")
setTimeout(() => {
wx.redirectTo({
url: '../list/index',
url: `../list/index?type=${this.data.type}`,
})
}, 200)
}
@ -366,7 +366,6 @@ Page({
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
wx.redirectTo({
url: `../list/index?type=${this.data.type}`
})

View File

@ -1,304 +1,266 @@
import config from '../../../config'
import {
getToken
} from '../../../utils/auth'
import {
findInfo,
findAuditInfos,
checkProblemmodify
} from '../../../api/problemmodify'
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
id:"",
infoData:{},
loadShow:false,
auditInfo:{},
reject:false,
rejectOpinion:"",
loadShow:false,
loginName:"",
imageList:[],
minImageList:[],
auditImageList:[],
auditMinImageList:[],
request:app.globalData.reqUrl,
flowNodes:[{text:'开始'},{text:'提交隐患'},{text:'隐患整改'},{text:'隐患复检'},{text:'结束'}],
active: 3
},
/**
* 页面的初始数据
*/
data: {
infoData: {},
loadShow: false,
auditInfo1: {},
auditInfo3: {},
auditInfo4: {},
form: {},
imageInfoData: [],
imageList: [],
auditImageList: [],
active: 3,
flowNodes: [{
text: '开始'
}, {
text: '提交隐患'
}, {
text: '隐患整改'
}, {
text: '隐患复检'
}, {
text: '结束'
}]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let {id} = options
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:res=>{
this.setData({
id,
loginName:res.data.loginName
})
this.getInfo();
this.getAuditinfo();
}
})
},
/**
* 获取安全检查详情信息
*
*/
getInfo(){
let {id} = this.data
let that = this
wx.request({
url: app.globalData.reqUrl+'/wechat/projectProblemmodify/info',
method:"get",
data:{
id:id
},
success(res){
res = res.data
if(res.code == 200){
let urls = [];
let minUrls = [];
if(res.data.smarkUrl){
res.data.smarkUrl.split(',').forEach(element => {
urls.push(that.data.request+element);
minUrls.push(that.data.request+element+'.min.jpg');
});
}
that.setData({
infoData:res.data,
imageList:urls,
minImageList:minUrls,
loadShow:false
})
}
}
})
},
getAuditinfo(){
let {id} = this.data
let that = this
wx.request({
url: app.globalData.reqUrl+'/wechat/projectProblemmodify/queryAuditInfo',
method:"get",
data:{
id:id
},
success(res){
res = res.data
if(res.code == 200 && res.data){
let urls = [];
let minUrls = [];
if(res.data.fileUrls){
res.data.fileUrls.split(',').forEach(element => {
urls.push(that.data.request+element);
minUrls.push(that.data.request+element+'.min.jpg');
});
}
that.setData({
auditInfo:res.data,
auditImageList:urls,
auditMinImageList:minUrls
})
}
}
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
})
},
}
this.setData({
type: options.type,
typeName: options.type == 1 ? "质量" : "安全",
});
this.getInfo(options.id);
this.getAuditInfos(options.id);
},
//取消页面
cancelSaveView(){
this.returnToPage()
/**
* 查详隐患详情
* @param {*} id
*/
getInfo(id) {
findInfo(id).then(res => {
if (res.code == 200) {
let urls = [];
if (res.data.smarkUrl) {
res.data.smarkUrl.split(',').forEach(item => {
urls.push(config.baseImgUrl + item);
});
}
this.setData({
infoData: res.data,
imageList: urls,
"form.mainId": res.data.id,
})
}
})
},
/**
* 查详隐患流程
* @param {*} id
*/
getAuditInfos(id) {
findAuditInfos(id).then(res => {
if (res.code == 200 && res.data.length > 0) {
res.data.forEach(item => {
if (item.processState == "0") {
let urls = [];
if (item.files.length > 0) {
item.files.forEach(_file => {
urls.push(config.baseImgUrl + _file.fileUrl);
});
}
this.setData({
auditInfo1: item,
auditImageList: urls
})
} else if (item.processState == "1") {
this.setData({
auditInfo4: item
})
} else if (item.processState == "2") {
this.setData({
auditInfo3: item
})
}
});
}
});
},
//取消页面
cancelSaveView() {
this.returnToPage()
},
//保存
onSubmitSave(status){
onSubmitSave(status) {
let _form = {
...this.data.form
};
_form.processState = status;
this.setData({
loadShow: true
});
checkProblemmodify(_form).then(res =>{
this.setData({
loadShow:true
})
let that = this
let {id,reject,rejectOpinion,loginName} = that.data;
//数据效验
if(id==""){
app.toast("数据异常,请刷新页面重试!")
that.setData({
loadShow:false
loadShow: false
});
if (res.code == 200) {
app.toast("复检隐患成功!")
setTimeout(() => {
wx.redirectTo({
url: `../list/index?type=${this.data.type}`
})
return;
}, 200)
}
if(reject && rejectOpinion==""){
app.toast("请填写整改驳回意见!")
that.setData({
loadShow:false
})
return;
}
let params = {
mainId:id,
processState:status,
opinion:rejectOpinion,
createUser:loginName
}
wx.request({
url: app.globalData.reqUrl + '/wechat/projectProblemmodify/modifyProblem',
method:"POST",
data:params,
header: {
"Username": loginName,
"Content-Type": "application/json"
},
success(res){
that.setData({
loadShow:false
})
res =res.data
if(res.code == 200){
app.toast("操作成功!")
setTimeout(()=>{
wx.redirectTo({
url: '../list/index',
})
},200)
}
}
})
});
},
//审核驳回
onRejectSave(){
onRejectSave() {
let that = this;
if(that.data.rejectOpinion!=""){
if (this.data.form.opinion) {
//弹出确认
wx.showModal({
title: '提示',
content: '是否确认复检驳回?',
success: function (sm) {
if (sm.confirm) {
// 用户点击了确定 可以调用了
that.onSubmitSave(2);
} else if (sm.cancel) {
console.log('用户点击取消');
}
}
})
}else{
app.toast("请填写整改驳回意见!")
that.setData({
loadShow:false
})
return;
}
},
//审核通过
onPassSave(){
let that = this;
//弹出确认
wx.showModal({
title: '提示',
content: '是否确定确认复检通过',
content: '是否确认隐患复检驳回?',
success: function (sm) {
if (sm.confirm) {
// 用户点击了确定 可以调用了
that.setData({
reject:false
});
that.onSubmitSave(4);
} else if (sm.cancel) {
console.log('用户点击取消');
}
// 用户点击了确定 可以调用了
that.onSubmitSave(2);
} else if (sm.cancel) {
console.log('用户点击取消');
}
})
}
})
} else {
app.toast("请填写整改驳回意见!")
return false;
}
},
//展示图片
showImg:function(e){
var that=this;
wx.previewImage({
urls: that.data.imageList,
current: that.data.imageList[e.currentTarget.dataset.index]
})
},
//展示图片
showAuditinfoImg:function(e){
var that=this;
wx.previewImage({
urls: that.data.auditImageList,
current: that.data.auditImageList[e.currentTarget.dataset.index]
})
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
wx.redirectTo({
url: '../list/index',
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
//驳回意见
onInputOpinion(e){
let rejectOpinion = e.detail.value
//审核通过
onPassSave() {
let that = this;
if (!this.data.form.opinion) {
this.setData({
rejectOpinion
"form.opinion": "审核通过!"
})
},
// list 上传图片
onImagesArr(e){
var data = this.data.imageInfoData
data = e.detail
this.setData({
imageInfoData:data
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
//弹出确认
wx.showModal({
title: '提示',
content: '是否确认隐患复检通过?',
success: function (sm) {
if (sm.confirm) {
// 用户点击了确定 可以调用了
that.onSubmitSave(1);
} else if (sm.cancel) {
console.log('用户点击取消');
}
}
})
},
//展示图片
showImg: function (e) {
let img = e.target.dataset.set;
wx.previewImage({
urls: img.split(','),
current: 0
})
},
returnToPage: function () {
wx.redirectTo({
url: `../list/index?type=${this.data.type}`
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
// 审核意见
onInputOpinion(e) {
this.setData({
"form.opinion": e.detail.value
})
},
// list 上传图片
onImagesArr(e) {
var data = this.data.imageInfoData
data = e.detail
this.setData({
imageInfoData: data
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -1,10 +1,8 @@
{
"usingComponents": {
"van-popup": "@vant/weapp/popup/index",
"van-collapse": "@vant/weapp/collapse",
"van-steps": "@vant/weapp/steps/index",
"van-collapse-item": "@vant/weapp/collapse-item",
"van-overlay": "@vant/weapp/overlay/index"
},
"navigationStyle":"custom"
"usingComponents": {
"van-popup": "@vant/weapp/popup/index",
"van-steps": "@vant/weapp/steps/index",
"van-overlay": "@vant/weapp/overlay/index"
},
"navigationStyle": "custom"
}

View File

@ -7,78 +7,25 @@
</view>
</van-col>
<van-col span="15">
<view class="header_name">质量隐患复检</view>
<view class="header_name">{{typeName}}隐患复检</view>
</van-col>
</van-row>
</view>
</view>
<view class="max_content">
<van-steps steps="{{ flowNodes }}" active="{{ active }}" rejectNode="{{ active<100 && infoData.checkState=='3' ? active+1:0 }}" />
<van-steps steps="{{ flowNodes }}" active="{{ active }}" />
<view class="inspect_overview_max">
<view class="inspect_overview">
<view class="module_title module_title_padding">
<view>{{infoData.problemArea}}</view>
</view>
<view class="gk_open" style="margin-top: 20rpx;border: 1px solid transparent;">
<van-collapse value="{{activeName}}" bind:change="onChange">
<!-- <van-collapse-item title="申请流程" name="1">
<view class="left_manage2" wx:for="{{flowNodes}}" wx:key="index">
<text class="safety_issue_number {{item.state}}">{{item.name}}</text>
</view>
</van-collapse-item> -->
<van-collapse-item title="审批日志" name="2">
<view class="inspect_list">
<view class="inspect_for" wx:for="{{flowRecordList}}" wx:key="index">
<view class="inspect_for_bgd">
<view class="inspect_list_title">
<view class="inspect_list_title_label inspect_list_title_width">
<view class="inspect_list_title_number">{{(flowRecordList.length-index) < 9 ?'0'+(flowRecordList.length-index):(flowRecordList.length-index)}}</view>
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}{{item.commentResult}}
<text wx:if="{{item.commentResult=='通过'}}" class="timeline_for_state_1 color_green">{{item.commentResult}}</text>
<text wx:if="{{item.commentResult=='驳回'}}" class="timeline_for_state_2 color_purple">{{item.commentResult}}</text>
<text wx:if="{{item.commentResult=='退回'}}" class="timeline_for_state_2 color_purple">{{item.commentResult}}</text>
</view>
</view>
</view>
<view class="inspect_list_info gk_open_con">
<view wx:if="{{item.assigneeName}}">
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
</view>
<view wx:if="{{item.assigneeName}}">
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
</view>
<view wx:if="{{item.candidate}}">
<image src="/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
</view>
<view wx:if="{{item.deleteReason}}">
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
</view>
<view>
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
</view>
<view wx:if="{{item.endTime}}">
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
</view>
<view wx:if="{{item.duration}}">
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
</view>
<view wx:if="{{item.message}}">
<image src="/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
</view>
</view>
</view>
</view>
</view>
</van-collapse-item>
</van-collapse>
</view>
<view class="module_title_2 module_title_padding">
<view>{{infoData.projectName}}</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{minImageList}}" wx:key="index">
<image bindtap='showImg' data-index="{{index}}" src='{{item}}'></image>
<view class="in-img-div" wx:for="{{imageList}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</van-row>
@ -87,8 +34,8 @@
<van-row>
<van-col span="6"><text class="color_purple">问题类型</text></van-col>
<van-col span="18">
<text class="timeline_for_state_1" wx:if="{{infoData.problemType=='1'}}">常规检查</text>
<text class="timeline_for_state_2" wx:if="{{infoData.problemType=='2'}}">专项检查</text>
<text class="timeline_for_state_1" wx:if="{{infoData.problemType!='4'}}">{{infoData.problemTypeName}}</text>
<text class="timeline_for_state_2" wx:if="{{infoData.problemType=='4'}}">{{infoData.problemTypeName}}</text>
</van-col>
</van-row>
</view>
@ -110,12 +57,6 @@
<van-col span="18">{{infoData.changeInfo}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查单位</text></van-col>
<van-col span="18">{{infoData.deptName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查人</text></van-col>
@ -131,19 +72,19 @@
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改人</text></van-col>
<van-col span="18" class="color_blue">{{infoData.lordSent}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">抄送人</text></van-col>
<van-col span="18">{{infoData.copySend}}</van-col>
<van-col span="18" class="color_orange">{{infoData.lordSentUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检人</text></van-col>
<van-col span="18">{{infoData.recheckSend}}</van-col>
<van-col span="18" class="color_blue">{{infoData.recheckSendUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">抄送人</text></van-col>
<van-col span="18">{{infoData.copySendUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
@ -155,39 +96,32 @@
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState==1 || infoData.checkState==4}}">
<view class="module_title module_title_padding">
<view>问题整改</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改说明</text></van-col>
<van-col span="18">{{auditInfo.opinion}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改后图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{auditMinImageList}}" wx:key="index">
<image bindtap='showAuditinfoImg' data-index="{{index}}" src='{{item}}'></image>
</view>
</view>
</van-row>
</view>
<view class="inspect_overview_list" wx:if="{{infoData.checkState==4}}">
<van-row>
<van-col span="6"><text class="color_purple">完成时间</text></van-col>
<van-col span="18" class="color_green">{{infoData.nickedTime}}</van-col>
</van-row>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState!='0'}}">
<view class="module_title module_title_padding">
<view>隐患整改</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改说明</text></van-col>
<van-col span="18">{{auditInfo1.opinion}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改后图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{auditImageList}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</van-row>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="true">
<view class="module_title module_title_padding">
<view>整改复检意见</view>
<view>隐患复检意见</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_info_list">
@ -205,7 +139,7 @@
<van-overlay show="{{loadShow}}">
<view class="gif">
<image src="/../images/loding2.gif"></image>
<view>数据加载中!请稍后...</view>
<image src="/images/loding.gif"></image>
<view>数据处理中!请稍后...</view>
</view>
</van-overlay>

View File

@ -20,3 +20,15 @@
border-radius: 15rpx;
position: relative;
}
.van-steps {
background-color: transparent !important;
}
.van-step--horizontal .van-step__circle-container {
background-color: transparent !important;
}
.van-steps--horizontal {
padding: 10px 20px !important;
}

View File

@ -31,7 +31,7 @@ Page({
lordSent: "",
lordSentUser: "",
},
active: 0,
active: 1,
flowNodes: [{
text: '开始'
}, {
@ -173,10 +173,10 @@ Page({
return false;
}
if (inspectInfoData.length>0) {
for(let i=0;i<inspectInfoData.length;i++){
if(inspectInfoData[i].image_upload.length==0){
app.toast("请上传问题“"+(i+1)+"”的隐患图片或删除问题项!");
if (inspectInfoData.length > 0) {
for (let i = 0; i < inspectInfoData.length; i++) {
if (inspectInfoData[i].image_upload.length == 0) {
app.toast("请上传问题“" + (i + 1) + "”的隐患图片或删除问题项!");
return false;
}
}
@ -206,7 +206,7 @@ Page({
app.toast("新增数据成功!")
setTimeout(() => {
wx.redirectTo({
url: '../list/index',
url: `../list/index?type=${this.data.type}`,
})
}, 200);
}
@ -263,7 +263,6 @@ Page({
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
if (wx.getStorageSync('nav-menu') == "list") {
wx.redirectTo({
url: `../list/index?type=${this.data.type}`

View File

@ -60,7 +60,7 @@
<van-overlay show="{{loadShow}}">
<view class="gif">
<image src="/../images/loding2.gif"></image>
<view>数据加载中!请稍后...</view>
<view>数据处理中!请稍后...</view>
</view>
</van-overlay>

View File

@ -1,18 +1,19 @@
.van-popup{
background: none !important;
.van-popup {
background: none !important;
}
.van-image__img{
border-radius: 10rpx !important;
.van-image__img {
border-radius: 10rpx !important;
}
.van-steps {
background-color: transparent !important;
}
background-color: transparent !important;
}
.van-step--horizontal .van-step__circle-container {
background-color: transparent !important;
}
.van-step--horizontal .van-step__circle-container {
background-color: transparent !important;
}
.van-steps--horizontal {
padding: 10px 20px !important;
}
.van-steps--horizontal {
padding: 10px 20px !important;
}

View File

@ -1,3 +1,13 @@
import config from '../../../config'
import {
getToken,
getUserInfo
} from '../../../utils/auth'
import {
remove,
findInfo,
findAuditInfos
} from '../../../api/problemmodify'
const app = getApp()
Page({
@ -5,17 +15,15 @@ Page({
* 页面的初始数据
*/
data: {
id: "",
infoData: {},
loadShow: false,
auditInfo: {},
loginName: "",
auditInfo1: {},
auditInfo3: {},
auditInfo4: {},
showDel: false,
imageList: [],
minImageList: [],
auditImageList: [],
auditMinImageList: [],
request: app.globalData.reqUrl,
proUserInfo: {},
active: 100,
flowNodes: [{
text: '开始'
}, {
@ -26,178 +34,150 @@ Page({
text: '隐患复检'
}, {
text: '结束'
}],
active: 100
}]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let {
id
} = options
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success: res => {
this.setData({
id,
loginName: res.data.loginName
})
this.getInfo();
this.getAuditinfo();
}
})
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
})
}
const proUserInfo = getUserInfo();
this.setData({
proUserInfo,
type: options.type,
typeName: options.type == 1 ? "质量" : "安全",
});
this.getInfo(options.id);
this.getAuditInfos(options.id);
},
/**
* 获取安全检查详情信息
*
* 查详隐患详
* @param {*} id
*/
getInfo() {
let {
id
} = this.data
let that = this
wx.request({
url: app.globalData.reqUrl + '/wechat/projectProblemmodify/info',
method: "get",
data: {
id: id
},
success(res) {
res = res.data
if (res.code == 200) {
let state = that.data.active;
if (res.data.checkState == "0") {
state = 2;
} else if (res.data.checkState == "1") {
state = 3;
} else if (res.data.checkState == "3") {
state = 1;
}
that.setData({
active: state
getInfo(id) {
findInfo(id).then(res => {
if (res.code == 200) {
let state = this.data.active;
if (res.data.checkState == "0") {
state = 2;
} else if (res.data.checkState == "1") {
state = 3;
} else if (res.data.checkState == "3") {
state = 2;
}
this.setData({
active: state
})
let urls = [];
if (res.data.smarkUrl) {
res.data.smarkUrl.split(',').forEach(item => {
urls.push(config.baseImgUrl + item);
});
}
this.setData({
infoData: res.data,
imageList: urls
})
//判断当前能否删除
if (res.data.checkState != 4 && res.data.createUser == this.data.proUserInfo.userId) {
this.setData({
showDel: true
})
let urls = [];
let minUrls = [];
if (res.data.smarkUrl) {
res.data.smarkUrl.split(',').forEach(element => {
urls.push(that.data.request + element);
minUrls.push(that.data.request + element + '.min.jpg');
});
}
}
})
},
/**
* 查详隐患流程
* @param {*} id
*/
getAuditInfos(id) {
findAuditInfos(id).then(res => {
if (res.code == 200 && res.data.length > 0) {
res.data.forEach(item => {
if (item.processState == "0") {
let urls = [];
if (item.files.length > 0) {
item.files.forEach(_file => {
urls.push(config.baseImgUrl + _file.fileUrl);
});
}
that.setData({
infoData: res.data,
imageList: urls,
minImageList: minUrls,
loadShow: false
})
//判断当前能否删除
if (res.data.checkState != 4 && res.data.createUser == that.data.loginName) {
that.setData({
showDel: true
this.setData({
auditInfo1: item,
auditImageList: urls
})
} else if (item.processState == "1") {
this.setData({
auditInfo4: item
})
} else if (item.processState == "2") {
this.setData({
auditInfo3: item
})
}
}
});
}
})
},
getAuditinfo() {
let {
id
} = this.data
let that = this
wx.request({
url: app.globalData.reqUrl + '/wechat/projectProblemmodify/queryAuditInfo',
method: "get",
data: {
id: id
},
success(res) {
res = res.data
if (res.code == 200 && res.data) {
let urls = [];
let minUrls = [];
if (res.data.fileUrls) {
res.data.fileUrls.split(',').forEach(element => {
urls.push(that.data.request + element);
minUrls.push(that.data.request + element + '.min.jpg');
});
}
that.setData({
auditInfo: res.data,
auditImageList: urls,
auditMinImageList: minUrls
})
}
}
})
});
},
/**
* 点击删除
*/
onDelete() {
//弹出确认
let that = this
wx.showModal({
title: '提示',
content: '是否确定删除此条数据?',
content: '是否确定删除当前隐患数据?',
success: function (sm) {
if (sm.confirm) {
// 用户点击了确定 可以调用了
that.deleteData();
that.submitDelete();
} else if (sm.cancel) {
console.log('用户点击取消');
}
}
})
},
deleteData() {
/**
* 提交删除
*/
submitDelete() {
let {
id
infoData
} = this.data
wx.request({
url: app.globalData.reqUrl + '/wechat/projectProblemmodify/removeQuality',
header: {
"Username": this.data.loginName,
},
data: {
id: id
},
method: "get",
success(res) {
app.toast("删除成功!")
wx.redirectTo({
url: `../list/index`,
})
remove(infoData.id).then(res => {
if (res.code == 200) {
app.toast("删除数据成功!")
setTimeout(() => {
wx.redirectTo({
url: `../list/index?type=${this.data.type}`,
})
}, 200);
}
})
});
},
//展示图片
showImg: function (e) {
var that = this;
let img = e.target.dataset.set;
wx.previewImage({
urls: that.data.imageList,
current: that.data.imageList[e.currentTarget.dataset.index]
})
},
//展示图片
showAuditinfoImg: function (e) {
var that = this;
wx.previewImage({
urls: that.data.auditImageList,
current: that.data.auditImageList[e.currentTarget.dataset.index]
urls: img.split(','),
current: 0
})
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
wx.redirectTo({
url: '../list/index',
url: `../list/index?type=${this.data.type}`,
})
},

View File

@ -1,169 +1,167 @@
<view class="header_title">
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage"><image src="/images/left.png"></image></view>
</van-col>
<van-col span="15">
<view class="header_name">质量隐患详情</view>
</van-col>
</van-row>
</view>
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage">
<image src="/images/left.png"></image>
</view>
</van-col>
<van-col span="15">
<view class="header_name">{{typeName}}隐患详情</view>
</van-col>
</van-row>
</view>
</view>
<view class="max_content">
<van-steps steps="{{ flowNodes }}" active="{{ active }}" rejectNode="{{ active<100 && infoData.checkState=='3' ? active+1:0 }}" />
<view class="inspect_overview_max">
<view class="inspect_overview">
<view class="module_title module_title_padding">
<view>{{infoData.problemArea}}</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{minImageList}}" wx:key="index">
<image bindtap='showImg' data-index="{{index}}" src='{{item}}'></image>
<view class="inspect_overview">
<view class="module_title_2 module_title_padding">
<view>{{infoData.projectName}}</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{imageList}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</view>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">问题类型</text></van-col>
<van-col span="18">
<text class="timeline_for_state_1" wx:if="{{infoData.problemType=='1'}}">常规检查</text>
<text class="timeline_for_state_2" wx:if="{{infoData.problemType=='2'}}">专项检查</text>
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患类型</text></van-col>
<van-col span="18">{{infoData.dangerTypeName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患描述</text></van-col>
<van-col span="18">{{infoData.workParts}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改要求</text></van-col>
<van-col span="18">{{infoData.changeInfo}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查单位</text></van-col>
<van-col span="18">{{infoData.deptName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查人</text></van-col>
<van-col span="18">{{infoData.createUserName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查时间</text></van-col>
<van-col span="18">{{infoData.createTime}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改人</text></van-col>
<van-col span="18" class="color_blue">
{{infoData.lordSent}}
<text class="code_label_2 code_label_green" wx:if="{{infoData.zgDeptType=='1'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">集团公司</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.zgDeptType=='11'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">子公司</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.zgDeptType=='2'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">总包单位</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.zgDeptType=='3'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">分包单位</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.zgDeptType=='4'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">监理单位</text>
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">抄送人</text></van-col>
<van-col span="18"> {{infoData.copySend}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检人</text></van-col>
<van-col span="18">{{infoData.recheckSend}}
<text class="code_label_2 code_label_green" wx:if="{{infoData.fjDeptType=='1'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">集团公司</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.fjDeptType=='11'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">子公司</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.fjDeptType=='2'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">总包单位</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.fjDeptType=='3'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">分包单位</text>
<text class="code_label_2 code_label_green" wx:if="{{infoData.fjDeptType=='4'}}" style="padding: 5rpx 50rpx;font-size: 25rpx;">监理单位</text>
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">截至时间</text></van-col>
<van-col span="18">{{infoData.nickedTime}}</van-col>
</van-row>
</view>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState=='1' || infoData.checkState=='4'}}">
<view class="module_title module_title_padding">
<view>问题整改</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改说明</text></van-col>
<van-col span="18">{{auditInfo.opinion}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改后图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{auditMinImageList}}" wx:key="index">
<image bindtap='showAuditinfoImg' data-index="{{index}}" src='{{item}}'></image>
</view>
</view>
</van-row>
</view>
<view class="inspect_overview_list" wx:if="{{infoData.checkState==4}}">
<van-row>
<van-col span="6"><text class="color_purple">完成时间</text></van-col>
<van-col span="18" class="color_green">{{infoData.nickedTime}}</van-col>
</van-row>
</view>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">问题类型</text></van-col>
<van-col span="18">
<text class="timeline_for_state_1" wx:if="{{infoData.problemType!='4'}}">{{infoData.problemTypeName}}</text>
<text class="timeline_for_state_2" wx:if="{{infoData.problemType=='4'}}">{{infoData.problemTypeName}}</text>
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患类型</text></van-col>
<van-col span="18">{{infoData.dangerTypeName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患描述</text></van-col>
<van-col span="18">{{infoData.workParts}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改要求</text></van-col>
<van-col span="18">{{infoData.changeInfo}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查人</text></van-col>
<van-col span="18">{{infoData.createUserName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查时间</text></van-col>
<van-col span="18">{{infoData.createTime}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改人</text></van-col>
<van-col span="18" class="color_orange">
{{infoData.lordSentUser}}
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检人</text></van-col>
<van-col span="18" class="color_blue">{{infoData.recheckSendUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">抄送人</text></van-col>
<van-col span="18"> {{infoData.copySendUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">截至时间</text></van-col>
<van-col span="18">{{infoData.nickedTime}}</van-col>
</van-row>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState==3}}">
<view class="module_title module_title_padding">
<view>问题整改驳回</view>
</view>
<view class="inspect_overview_list_max">
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState!='0'}}">
<view class="module_title module_title_padding">
<view>隐患整改</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">驳回意见</text></van-col>
<van-col span="18">{{auditInfo.opinion}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">驳回时间</text></van-col>
<van-col span="18" class="color_orange">{{auditInfo.createTime}}</van-col>
</van-row>
</view>
<van-row>
<van-col span="6"><text class="color_purple">整改说明</text></van-col>
<van-col span="18">{{auditInfo1.opinion}}</van-col>
</van-row>
</view>
</view>
<view class="problem_submit_to" wx:if="{{showDel}}">
<view class="problem_submit_to_btn problem_submit_to_delete" bindtap="onDelete">删除</view>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改后图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{auditImageList}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</van-row>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState=='3' || infoData.checkState=='4'}}">
<view class="module_title module_title_padding">
<view>问题复检</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检结果</text></van-col>
<van-col span="18">
<text wx:if="{{infoData.checkState=='3'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 15px;font-weight: 600;">复检驳回</text>
<text wx:if="{{infoData.checkState=='4'}}" class="code_label_2 code_label_green" style="padding: 5rpx 50rpx;font-size: 15px;font-weight: 600;">复检通过</text>
</van-col>
</van-row>
</view>
<view wx:if="{{infoData.checkState=='3'}}" class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检意见</text></van-col>
<van-col span="18">{{auditInfo3.opinion}}</van-col>
</van-row>
</view>
<view wx:if="{{infoData.checkState=='4'}}" class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检意见</text></van-col>
<van-col span="18">{{auditInfo4.opinion}}</van-col>
</van-row>
</view>
<view wx:if="{{infoData.checkState=='3'}}" class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检时间</text></van-col>
<van-col span="18">{{auditInfo3.createTime}}</van-col>
</van-row>
</view>
<view wx:if="{{infoData.checkState=='4'}}" class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检时间</text></van-col>
<van-col span="18">{{auditInfo4.createTime}}</van-col>
</van-row>
</view>
</view>
</view>
<view class="problem_submit_to" wx:if="{{showDel}}">
<view class="problem_submit_to_btn problem_submit_to_delete" bindtap="onDelete">删除</view>
</view>
</view>

View File

@ -1,22 +1,37 @@
.in-img-max:after{
display:block;
clear:both;
content:"";
visibility:hidden;
height:0
}
.in-img-max{
width: auto;
zoom:1
}
.in-img-div{
position: relative;
margin: 0 8px 8px 0;
float: left;
}
.in-img-div image{
width: 180rpx;
height: 180rpx;
border-radius: 15rpx;
position: relative;
}
.in-img-max:after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0
}
.in-img-max {
width: auto;
zoom: 1
}
.in-img-div {
position: relative;
margin: 0 8px 8px 0;
float: left;
}
.in-img-div image {
width: 180rpx;
height: 180rpx;
border-radius: 15rpx;
position: relative;
}
.van-steps {
background-color: transparent !important;
}
.van-step--horizontal .van-step__circle-container {
background-color: transparent !important;
}
.van-steps--horizontal {
padding: 10px 20px !important;
}

View File

@ -99,22 +99,22 @@ Page({
let {
id,
checkState,
lordSentUser,
recheckSendUser
lordSent,
recheckSend
} = e.currentTarget.dataset.set
if ((checkState == 0 || checkState == 3) && lordSentUser == this.data.loginName) {
if ((checkState == 0 || checkState == 3) && lordSent == this.data.projectUserInfo.userId) {
//整改页面(状态时待整改&&整改人是当前登录人)
wx.redirectTo({
url: `../modify/index?id=${id}`,
url: `../modify/index?type=${this.data.type}&id=${id}`,
})
} else if (checkState == 1 && recheckSendUser == this.data.loginName) {
} else if (checkState == 1 && recheckSend == this.data.projectUserInfo.userId) {
//复检页面 (状态时待复检&&复检人是当前登录人)
wx.redirectTo({
url: `../check/index?id=${id}`,
url: `../check/index?type=${this.data.type}&id=${id}`,
})
} else {
wx.redirectTo({
url: `../info/index?id=${id}`,
url: `../info/index?type=${this.data.type}&id=${id}`,
})
}
},
@ -125,7 +125,10 @@ Page({
getListData(userInfo, activeState, type) {
let params = "pageNum=" + this.data.pageNum + "&pageSize=" + this.data.pageSize + "&comId=" + userInfo.comId + "&projectId=" + app.globalData.useProjectId + "&infoType=" + type + "&activeTags=" + activeState;
list(params).then(res => {
if (res.data == 200) {
if (res.code == 200) {
res.rows.forEach(item => {
item.marksPicture = item.smarkUrl.split(',')[0];
});
this.setData({
total: res.total,
listData: this.data.listData.concat(res.rows)

View File

@ -30,52 +30,52 @@
<view class="inspect_list_title">
<view class="inspect_list_title_label inspect_list_title_width">
<view class="inspect_list_title_number">{{index < 10 ?'0'+(index+1):(index+1)}}</view>
<view class="module_title_3 module_title_flex inspect_list_title_text_2">
<view wx:if="{{item.checkState==0}}" class="code_label code_label_yellow">待整改</view>
<view wx:if="{{item.checkState==1}}" class="code_label code_label_blueviolet">待复检</view>
<view wx:if="{{item.checkState==3}}" class="code_label code_label_red">复检驳回</view>
<view wx:if="{{item.checkState==4}}" class="code_label code_label_green">整改完成</view>
</view>
<text class="timeline_for_state_1" wx:if="{{item.problemType!='4'}}">{{item.problemTypeName}}</text>
<text class="timeline_for_state_2" wx:if="{{item.problemType=='4'}}">{{item.problemTypeName}}</text>
<view class="module_title module_title_flex inspect_list_title_text_2">
{{item.createTime}}
</view>
<text class="timeline_for_state_1" wx:if="{{item.problemType!='4'}}">{{item.problemTypeName}}</text>
<text class="timeline_for_state_2" wx:if="{{item.problemType=='4'}}">{{item.problemTypeName}}</text>
</view>
</view>
<view class="inspect_list_info">
<view class="inspect_list_info_details">
<view class="inspect_list_info_img">
<view wx:if="{{item.checkState==0}}" class="code_label code_label_yellow">待整改</view>
<view wx:if="{{item.checkState==1}}" class="code_label code_label_blueviolet">待复检</view>
<view wx:if="{{item.checkState==3}}" class="code_label code_label_red">复检驳回</view>
<view wx:if="{{item.checkState==4}}" class="code_label code_label_green">整改完成</view>
<van-image width="120rpx" height="120rpx" fit="cover" src="{{imgBaseUrl+item.marksPicture+'.min.jpg'}}" />
</view>
<view class="inspect_list_info_data">
<view class="inspect_list_info_data_prop">隐患类型:<text>{{item.dangerTypeName}}</text></view>
<view class="inspect_list_info_data_prop">隐患描述:<text>{{item.workParts}}</text></view>
<view class="inspect_list_info_data_prop color_orange">整改人员:<text>{{item.lordSentUser}}</text></view>
<view class="inspect_list_info_data_prop color_blue">复检人员:<text>{{item.recheckSendUser}}</text></view>
</view>
</view>
<view class="inspect_list_info">
<view class="inspect_list_info_details">
<view class="inspect_list_info_img">
<van-image width="120rpx" height="120rpx" fit="cover" src="{{request+item.marksPicture+'.min.jpg'}}" />
</view>
<view class="inspect_list_info_data">
<view class="inspect_list_info_data_prop color_blue">隐患类型:<text>{{item.dangerTypeName}}</text></view>
<view class="inspect_list_info_data_prop">隐患描述:<text>{{item.workParts}}</text></view>
<view class="inspect_list_info_data_prop color_orange">整改人:<text>{{item.lordSentUser}}</text></view>
<view class="inspect_list_info_data_prop color_blue">复检人:<text>{{item.recheckSendUser}}</text></view>
<view class="inspect_list_info_data_prop">检查时间:<text class="color_blue">{{item.createTime}}</text></view>
</view>
</view>
<view class="inspect_list_info_position">
<!-- <view class="inspect_list_info_position">
整改要求:<text class="color_purple">{{item.changeInfo}}</text>
</view>
</view>
</view>
</view>
<view wx:if="{{listData.length==0}}">
<view style="padding-top: 70px;text-align: -webkit-center;">
<image src="https://szgcwx.jhncidg.com/staticFiles/nodata.png" style="width: 130px;height: 105px;"></image>
<view style="color: #a5abbb;">暂无数据</view>
</view>
</view>
<view wx:if="{{addDraftFlag}}" class="inspect_add_to_darft" bindtap="skipAddDarft">
<view style="padding-top: 22rpx;">
<image src="/images/new_add.png"></image>
<view>草稿</view>
</view>
</view>
<view wx:if="{{addFlag}}" class="inspect_add_to" bindtap="skipAdd">
<view style="padding-top: 22rpx;">
<image src="/images/new_add.png"></image>
<view>新增</view>
</view> -->
</view>
</view>
</view>
<view wx:if="{{listData.length==0}}">
<view style="padding-top: 70px;text-align: -webkit-center;">
<image src="https://szgcwx.jhncidg.com/staticFiles/nodata.png" style="width: 130px;height: 105px;"></image>
<view style="color: #a5abbb;">暂无数据</view>
</view>
</view>
<view wx:if="{{addDraftFlag}}" class="inspect_add_to_darft" bindtap="skipAddDarft">
<view style="padding-top: 22rpx;">
<image src="/images/new_add.png"></image>
<view>草稿</view>
</view>
</view>
<view wx:if="{{addFlag}}" class="inspect_add_to" bindtap="skipAdd">
<view style="padding-top: 22rpx;">
<image src="/images/new_add.png"></image>
<view>新增</view>
</view>
</view>
</view>
</scroll-view>

View File

@ -1,3 +1,12 @@
import config from '../../../config'
import {
getToken
} from '../../../utils/auth'
import {
findInfo,
findAuditInfos,
modifyProblemmodify
} from '../../../api/problemmodify'
const app = getApp()
Page({
@ -5,231 +14,214 @@ Page({
* 页面的初始数据
*/
data: {
id:"",
infoData:{},
loadShow:false,
auditInfo:{},
opinion:"",
imageInfoData:[],
loadShow:false,
loginName:"",
status:"0",
imageList:[],
minImageList:[],
request:app.globalData.reqUrl,
flowNodes:[{text:'开始'},{text:'提交隐患'},{text:'隐患整改'},{text:'隐患复检'},{text:'结束'}],
active: 2
infoData: {},
loadShow: false,
auditInfo1: {},
auditInfo3: {},
auditInfo4: {},
form: {},
imageInfoData: [],
imageList: [],
auditImageList: [],
active: 2,
flowNodes: [{
text: '开始'
}, {
text: '提交隐患'
}, {
text: '隐患整改'
}, {
text: '隐患复检'
}, {
text: '结束'
}]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let {id} = options
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:res=>{
this.setData({
id,
loginName:res.data.loginName
})
this.getInfo();
this.getAuditinfo();
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
})
}
})
this.setData({
type: options.type,
typeName: options.type == 1 ? "质量" : "安全",
});
this.getInfo(options.id);
this.getAuditInfos(options.id);
},
/**
* 获取安全检查详情信息
*
* 查详隐患详
* @param {*} id
*/
getInfo(){
let {id} = this.data
let that = this
wx.request({
url: app.globalData.reqUrl+'/wechat/projectProblemmodify/info',
method:"get",
data:{
id:id
},
success(res){
res = res.data
if(res.code == 200){
getInfo(id) {
findInfo(id).then(res => {
if (res.code == 200) {
let state = this.data.active;
if (res.data.checkState == "0") {
state = 2;
} else if (res.data.checkState == "1") {
state = 3;
} else if (res.data.checkState == "3") {
state = 2;
}
this.setData({
active: state
})
let urls = [];
let minUrls = [];
if(res.data.smarkUrl){
res.data.smarkUrl.split(',').forEach(element => {
urls.push(that.data.request+element);
minUrls.push(that.data.request+element+'.min.jpg');
});
}
that.setData({
infoData:res.data,
imageList:urls,
minImageList:minUrls,
loadShow:false
})
if (res.data.smarkUrl) {
res.data.smarkUrl.split(',').forEach(item => {
urls.push(config.baseImgUrl + item);
});
}
this.setData({
infoData: res.data,
imageList: urls,
"form.mainId": res.data.id,
})
}
}
})
},
getAuditinfo(){
let {id} = this.data
let that = this
wx.request({
url: app.globalData.reqUrl+'/wechat/projectProblemmodify/queryAuditInfo',
method:"get",
data:{
id:id
},
success(res){
res = res.data
if(res.code == 200 && res.data){
let urls = [];
if(res.data.fileUrls){
res.data.fileUrls.split(',').forEach(element => {
urls.push(element+'.min.jpg');
});
}
that.setData({
auditInfo:res.data,
auditImgs:urls
})
}
}
})
/**
* 查详隐患流程
* @param {*} id
*/
getAuditInfos(id) {
findAuditInfos(id).then(res => {
if (res.code == 200 && res.data.length > 0) {
res.data.forEach(item => {
if (item.processState == "0") {
let urls = [];
if (item.files.length > 0) {
item.files.forEach(_file => {
urls.push(config.baseImgUrl + _file.fileUrl);
});
}
this.setData({
auditInfo1: item,
auditImageList: urls
})
} else if (item.processState == "1") {
this.setData({
auditInfo4: item
})
} else if (item.processState == "2") {
this.setData({
auditInfo3: item
})
}
});
}
});
},
//取消页面
cancelSaveView(){
this.returnToPage()
},
cancelSaveView() {
this.returnToPage()
},
//保存
onSubmitSave(){
this.setData({
loadShow:true
})
let that = this
let {id,opinion,status,imageInfoData,loginName} = that.data;
//数据效验
if(id==""){
app.toast("数据异常,请刷新页面重试!")
that.setData({
loadShow:false
})
return;
}
if(opinion==""){
app.toast("请填写整改说明!")
that.setData({
loadShow:false
})
return;
}
if(imageInfoData.length==0){
app.toast("请上传整改后图片!")
that.setData({
loadShow:false
})
return;
}
//保存
onSubmitSave() {
let _form = {
...this.data.form
};
let {
imageInfoData
} = this.data
//数据效验
if (!_form.mainId) {
app.toast("数据异常,请刷新页面重试!")
return false;
}
if (!_form.opinion) {
app.toast("请填写整改说明!")
return false;
}
if (imageInfoData.length == 0) {
app.toast("请上传整改后图片!")
return false;
}
this.setData({
loadShow: true
})
let that = this
let fileUrls = [];
imageInfoData.forEach(async (item) => {
let obj = await that.syncUploadImage(item);
fileUrls.push(obj.data.data.url);
//验证图片上传完毕
if (fileUrls.length == imageInfoData.length) {
_form.processState = "0";
_form.images = fileUrls.toString();
modifyProblemmodify(_form).then(res => {
if (res.code == 200) {
app.toast("整改提交成功,请关注审核结果!")
setTimeout(() => {
wx.redirectTo({
url: `../list/index?type=${this.data.type}`,
})
}, 200)
}
});
}
})
},
let fileUrls = [];
imageInfoData.forEach(async (item)=>{
let uploadUrl = app.globalData.uploadUrl+'/common/upload'
let name = "file"
//这里复杂的图片上传,改为同步上传,因为小程序只能上传一张图片
let obj = await that.syncUploadImage(uploadUrl,item,name);
fileUrls.push(obj.data.fileName);
//验证图片上传完毕
if(fileUrls.length == imageInfoData.length){
let params = {
mainId:id,
processState:status,
opinion,
createUser:loginName,
fileUrls:fileUrls.toString()
}
wx.request({
url: app.globalData.reqUrl + '/wechat/projectProblemmodify/modifyProblem',
method:"POST",
data:params,
header: {
"Username": loginName,
"Content-Type": "application/json"
},
success(res){
that.setData({
loadShow:false
})
res =res.data
if(res.code == 200){
app.toast("提交成功!")
setTimeout(()=>{
wx.redirectTo({
url: '../list/index',
})
},200)
}
}
})
}
})
},
/**
* 这里考虑上传图片异步问题封装为同步
*/
syncUploadImage(file) {
let _baseUrl = config.baseUrl;
return new Promise((resolve, reject) => {
wx.uploadFile({
url: _baseUrl + "/file/upload", // 上传的服务器接口地址
filePath: file,
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
'Authorization': 'Bearer ' + getToken()
},
name: "file", //上传的所需字段,后端提供
formData: {},
success: (res) => {
// 上传完成操作
const data = JSON.parse(res.data)
resolve({
data: data
})
},
fail: (err) => {
//上传失败修改pedding为reject
console.log("访问接口失败", err);
wx.showToast({
title: "网络出错,上传失败",
icon: 'none',
duration: 1000
});
reject(err)
}
});
})
},
/**
* 这里考虑上传图片异步问题封装为同步
*/
syncUploadImage(url,uploadFile,name) {
return new Promise((resolve, reject) => {
wx.uploadFile({
url, // 上传的服务器接口地址
filePath: uploadFile,
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
},
name, //上传的所需字段,后端提供
formData: { user: 'test' },
success: (res) => {
// 上传完成操作
const data = JSON.parse(res.data)
resolve({
data: data
})
},
fail: (err) => {
//上传失败修改pedding为reject
console.log("访问接口失败", err);
wx.showToast({
title: "网络出错,上传失败",
icon: 'none',
duration: 1000
});
reject(err)
}
});
})
},
//展示图片
showImg:function(e){
var that=this;
//展示图片
showImg: function (e) {
let img = e.target.dataset.set;
wx.previewImage({
urls: that.data.imageList,
current: that.data.imageList[e.currentTarget.dataset.index]
urls: img.split(','),
current: 0
})
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
wx.redirectTo({
url: '../list/index',
url: `../list/index?type=${this.data.type}`
})
},
},
/**
* 生命周期函数--监听页面初次渲染完成
@ -266,21 +258,18 @@ Page({
},
//验收描述
onInputOpinion(e){
let opinion = e.detail.value
this.setData({
opinion
})
// 整改说明
onInputOpinion(e) {
this.setData({
"form.opinion": e.detail.value
})
},
// list 上传图片
onImagesArr(e){
var data = this.data.imageInfoData
data = e.detail
this.setData({
imageInfoData:data
})
// 上传图片
onImagesArr(e) {
this.setData({
imageInfoData: e.detail
})
},
/**

View File

@ -1,154 +1,148 @@
<view class="header_title">
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage"><image src="/images/left.png"></image></view>
</van-col>
<van-col span="15">
<view class="header_name">质量隐患整改</view>
</van-col>
</van-row>
</view>
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage">
<image src="/images/left.png"></image>
</view>
</van-col>
<van-col span="15">
<view class="header_name">{{typeName}}隐患整改</view>
</van-col>
</van-row>
</view>
</view>
<view class="max_content">
<van-steps steps="{{ flowNodes }}" active="{{ active }}" rejectNode="{{ active<100 && infoData.checkState=='3' ? active+1:0 }}" />
<view class="inspect_overview_max">
<view class="inspect_overview">
<view class="module_title module_title_padding">
<view>{{infoData.problemArea}}</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{minImageList}}" wx:key="index">
<image bindtap='showImg' data-index="{{index}}" src='{{item}}'></image>
</view>
</view>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">问题类型</text></van-col>
<van-col span="18">
<text class="timeline_for_state_1" wx:if="{{infoData.problemType=='1'}}">常规检查</text>
<text class="timeline_for_state_2" wx:if="{{infoData.problemType=='2'}}">专项检查</text>
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患类型</text></van-col>
<van-col span="18">{{infoData.dangerTypeName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患描述</text></van-col>
<van-col span="18">{{infoData.workParts}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改要求</text></van-col>
<van-col span="18">{{infoData.changeInfo}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查单位</text></van-col>
<van-col span="18">{{infoData.deptName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查人</text></van-col>
<van-col span="18">{{infoData.createUserName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查时间</text></van-col>
<van-col span="18">{{infoData.createTime}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改人</text></van-col>
<van-col span="18" class="color_blue">{{infoData.lordSent}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">抄送人</text></van-col>
<van-col span="18">{{infoData.copySend}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">复检人</text></van-col>
<van-col span="18">{{infoData.recheckSend}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">截至时间</text></van-col>
<van-col span="18">{{infoData.nickedTime}}</van-col>
</van-row>
</view>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState==3}}">
<view class="module_title module_title_padding">
<view>问题整改驳回</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">驳回意见</text></van-col>
<van-col span="18">{{auditInfo.opinion}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">驳回时间</text></van-col>
<van-col span="18" class="color_orange">{{auditInfo.createTime}}</van-col>
</van-row>
</view>
</view>
</view>
<view class="inspect_overview">
<view class="module_title module_title_padding">
<view>问题整改</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_info_list" >
<view class="inspect_info_title">整改说明</view>
<view class="inspect_info_content">
<textarea class="add_textarea" placeholder="请填写整改说明"
placeholder-style="color:#6777aa;" bindinput="onInputOpinion" maxlength="200"/>
</view>
</view>
<view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">整改后图片</view>
<view class="problem_list_info_con">
<file-uploader bindimages="onImagesArr"></file-uploader>
<view class="module_title_2 module_title_padding">
<view>{{infoData.projectName}}</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患图片</text></van-col>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{imageList}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查类型</text></van-col>
<van-col span="18">
<text class="timeline_for_state_1" wx:if="{{infoData.problemType!='4'}}">{{infoData.problemTypeName}}</text>
<text class="timeline_for_state_2" wx:if="{{infoData.problemType=='4'}}">{{infoData.problemTypeName}}</text>
</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患类型</text></van-col>
<van-col span="18">{{infoData.dangerTypeName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">隐患描述</text></van-col>
<van-col span="18">{{infoData.workParts}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改要求</text></van-col>
<van-col span="18">{{infoData.changeInfo}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查人</text></van-col>
<van-col span="18">{{infoData.createUserName}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">检查时间</text></van-col>
<van-col span="18">{{infoData.createTime}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">整改人</text></van-col>
<van-col span="18" class="color_orange">{{infoData.lordSentUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_blue">复检人</text></van-col>
<van-col span="18">{{infoData.recheckSendUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">抄送人</text></van-col>
<van-col span="18">{{infoData.copySendUser}}</van-col>
</van-row>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">截至时间</text></van-col>
<van-col span="18">{{infoData.nickedTime}}</van-col>
</van-row>
</view>
</view>
</view>
</view>
<view class="inspect_overview" wx:if="{{infoData.checkState==3}}">
<view class="module_title module_title_padding">
<view>隐患整改驳回</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">驳回意见</text></van-col>
<van-col span="18">{{auditInfo3.opinion}}</van-col>
</van-row>
</view>
</view>
<view class="problem_submit_to">
<view class="problem_submit_to_btn" bindtap="cancelSaveView">取消</view>
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="onSubmitSave">保存</view>
</view>
<view class="inspect_overview_list">
<van-row>
<van-col span="6"><text class="color_purple">驳回时间</text></van-col>
<van-col span="18" class="color_orange">{{auditInfo3.createTime}}</van-col>
</van-row>
</view>
</view>
</view>
<view class="inspect_overview">
<view class="module_title module_title_padding">
<view>隐患整改提交</view>
</view>
<view class="inspect_overview_list_max">
<view class="inspect_info_list">
<view class="markers inspect_info_title">整改说明</view>
<view class="inspect_info_content">
<textarea class="add_textarea" placeholder="请填写整改说明" placeholder-style="color:#6777aa;" bindinput="onInputOpinion" maxlength="200" />
</view>
</view>
<view class="inspect_info_list">
<view class="markers inspect_info_title">整改后图片</view>
<view class="problem_list_info_con">
<file-uploader bindimages="onImagesArr"></file-uploader>
</view>
</view>
</view>
</view>
<view class="problem_submit_to">
<view class="problem_submit_to_btn" bindtap="cancelSaveView">取消</view>
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="onSubmitSave">保存</view>
</view>
</view>
<van-overlay show="{{loadShow}}">
<view class="gif">
<image src="/../images/loding2.gif"></image>
<view>数据加载中!请稍后...</view>
</view>
<view class="gif">
<image src="/images/loding.gif"></image>
<view>数据处理中!请稍后...</view>
</view>
</van-overlay>

View File

@ -20,3 +20,15 @@
border-radius: 15rpx;
position: relative;
}
.van-steps {
background-color: transparent !important;
}
.van-step--horizontal .van-step__circle-container {
background-color: transparent !important;
}
.van-steps--horizontal {
padding: 10px 20px !important;
}