diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/SmzSspAuditinfo.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/SmzSspAuditinfo.java index a6394466..3b16a890 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/SmzSspAuditinfo.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/SmzSspAuditinfo.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.yanzhu.common.core.annotation.Excel; import com.yanzhu.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 隐患流程信息对象 smz_ssp_auditinfo * @@ -38,7 +40,26 @@ public class SmzSspAuditinfo extends BaseEntity @Excel(name = "创建人") private String createUser; - public void setId(Long id) + private String images; + private List<SmzSspFileinfo> files; + + public List<SmzSspFileinfo> getFiles() { + return files; + } + + public void setFiles(List<SmzSspFileinfo> files) { + this.files = files; + } + + public String getImages() { + return images; + } + + public void setImages(String images) { + this.images = images; + } + + public void setId(Long id) { this.id = id; } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspAuditinfoMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspAuditinfoMapper.xml index a89c19b7..1d245527 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspAuditinfoMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspAuditinfoMapper.xml @@ -12,6 +12,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <result property="isDel" column="isDel" /> <result property="createUser" column="createUser" /> <result property="createTime" column="createTime" /> + <collection property="files" ofType="com.yanzhu.manage.domain.SmzSspFileinfo"> + <id property="id" column="fileId"/> + <result property="fileUrl" column="fileUrl"/> + </collection> </resultMap> <sql id="selectSmzSspAuditinfoVo"> @@ -19,7 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" </sql> <select id="selectSmzSspAuditinfoList" parameterType="SmzSspAuditinfo" resultMap="SmzSspAuditinfoResult"> - <include refid="selectSmzSspAuditinfoVo"/> + 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 <where> <if test="mainId != null "> and mainId = #{mainId}</if> <if test="processState != null and processState != ''"> and processState = #{processState}</if> @@ -28,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <if test="createUser != null and createUser != ''"> and createUser = #{createUser}</if> <if test="createTime != null "> and createTime = #{createTime}</if> </where> + order by createTime desc </select> <select id="selectSmzSspAuditinfoById" parameterType="Long" resultMap="SmzSspAuditinfoResult"> diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml index cabbe36b..ce2b8a3d 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml @@ -257,7 +257,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.problemArea, a.workParts, a.changeInfo, - CONCAT(a.lordSentUser ,'【',b.sub_dept_name,'】',b.user_phone) as lordSent, + a.lordSent, + CONCAT(a.lordSentUser ,'【',b.sub_dept_name,'】',b.user_phone) as lordSentUser, a.lordSentUser, a.copySend, a.copySendUser, @@ -277,7 +278,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.updateUser, a.updateTime, a.danger_type, - CONCAT(a.recheckSendUser ,'【',d.sub_dept_name,'】',d.user_phone) as recheckSend, + a.recheckSend, + CONCAT(a.recheckSendUser ,'【',d.sub_dept_name,'】',d.user_phone) as recheckSendUser, a.recheckSendUser, a.roleType, a.problemType diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/SmzSspAuditinfoServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/SmzSspAuditinfoServiceImpl.java index 67de0776..183ed2f1 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/SmzSspAuditinfoServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/SmzSspAuditinfoServiceImpl.java @@ -1,8 +1,18 @@ package com.yanzhu.manage.service.impl; +import java.util.Arrays; import java.util.List; +import cn.hutool.core.util.NumberUtil; 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.mapper.SmzSspFileinfoMapper; +import com.yanzhu.manage.mapper.SmzSspProblemmodifyMapper; +import com.yanzhu.system.api.domain.SysUser; +import com.yanzhu.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.yanzhu.manage.mapper.SmzSspAuditinfoMapper; @@ -21,6 +31,11 @@ public class SmzSspAuditinfoServiceImpl implements ISmzSspAuditinfoService @Autowired private SmzSspAuditinfoMapper smzSspAuditinfoMapper; + @Autowired + private SmzSspFileinfoMapper fileinfoMapper; + + @Autowired + private SmzSspProblemmodifyMapper problemmodifyMapper; /** * 查询隐患流程信息 * @@ -54,8 +69,39 @@ public class SmzSspAuditinfoServiceImpl implements ISmzSspAuditinfoService @Override public int insertSmzSspAuditinfo(SmzSspAuditinfo smzSspAuditinfo) { + LoginUser loginUser= SecurityUtils.getLoginUser(); + SysUser sysUser=loginUser.getSysUser(); smzSspAuditinfo.setCreateTime(DateUtils.getNowDate()); - return smzSspAuditinfoMapper.insertSmzSspAuditinfo(smzSspAuditinfo); + smzSspAuditinfo.setCreateUser(sysUser.getUserName()); + int result= smzSspAuditinfoMapper.insertSmzSspAuditinfo(smzSspAuditinfo); + //上传图片 + String images=smzSspAuditinfo.getImages(); + if(StringUtils.isNotEmpty(images)){ + Arrays.stream(images.split(",")).forEach(img->{ + SmzSspFileinfo file=new SmzSspFileinfo(); + file.setFileType(0L); + file.setAuditId(smzSspAuditinfo.getId()); + file.setFileUrl(img); + file.setCreateUser(sysUser.getUserName()); + file.setCreateTime(DateUtils.getNowDate()); + fileinfoMapper.insertSmzSspFileinfo(file); + }); + } + //修改安全隐患的状态 + SmzSspProblemmodify problemmodify=new SmzSspProblemmodify(); + problemmodify.setId(smzSspAuditinfo.getMainId()); + //(0待审,1通过,2驳回) + //(0待整改,1待复检,2复检驳回,3复检通过) + if("0".equals(smzSspAuditinfo.getProcessState())){ + problemmodify.setCheckState(1L); + }else if("1".equals(smzSspAuditinfo.getProcessState())){ + problemmodify.setCheckState(3L); + }else{ + problemmodify.setCheckState(2L); + } + + problemmodifyMapper.updateSmzSspProblemmodify(problemmodify); + return result; } /** diff --git a/yanzhu-ui-vue3/src/api/trouble/auditinfo.js b/yanzhu-ui-vue3/src/api/trouble/auditinfo.js index f60dea3b..3bf91f21 100644 --- a/yanzhu-ui-vue3/src/api/trouble/auditinfo.js +++ b/yanzhu-ui-vue3/src/api/trouble/auditinfo.js @@ -1,44 +1,44 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询隐患流程信息列表 export function listAuditinfo(query) { return request({ - url: '/trouble/auditinfo/list', - method: 'get', - params: query - }) + url: "/manage/auditinfo/list", + method: "get", + params: query, + }); } // 查询隐患流程信息详细 export function getAuditinfo(id) { return request({ - url: '/trouble/auditinfo/' + id, - method: 'get' - }) + url: "/manage/auditinfo/" + id, + method: "get", + }); } // 新增隐患流程信息 export function addAuditinfo(data) { return request({ - url: '/trouble/auditinfo', - method: 'post', - data: data - }) + url: "/manage/auditinfo", + method: "post", + data: data, + }); } // 修改隐患流程信息 export function updateAuditinfo(data) { return request({ - url: '/trouble/auditinfo', - method: 'put', - data: data - }) + url: "/manage/auditinfo", + method: "put", + data: data, + }); } // 删除隐患流程信息 export function delAuditinfo(id) { return request({ - url: '/trouble/auditinfo/' + id, - method: 'delete' - }) + url: "/manage/auditinfo/" + id, + method: "delete", + }); } diff --git a/yanzhu-ui-vue3/src/views/trouble/problemmodify/detailDrawer.vue b/yanzhu-ui-vue3/src/views/trouble/problemmodify/detailDrawer.vue index 334e7b77..d7373084 100644 --- a/yanzhu-ui-vue3/src/views/trouble/problemmodify/detailDrawer.vue +++ b/yanzhu-ui-vue3/src/views/trouble/problemmodify/detailDrawer.vue @@ -3,13 +3,50 @@ :append-to-body="true" title="安全隐患详情" class="problemmodify-detail-drawer"> <el-row v-if="data && data.row" style="padding:20px;"> <el-col :span="10" class="detail-left"> - <el-steps style="max-width: 600px" :active="1" finish-status="success" simple> + <el-steps style="max-width: 600px" :active="data.stepActive" finish-status="success" simple> <el-step title="待整改" /> <el-step title="待复检" /> <el-step title="复检驳回" /> <el-step title="复检通过" /> </el-steps> + <div v-for="(it, idx) in data.auditinfoList" :key="idx"> + <div class="step-header" :class="data.row.checkState >= 0 ? 'is-active' : ''"> + <el-icon> + <SuccessFilled /> + </el-icon> + {{ it.index }}. + <span v-if="it.processState == 0">整改处理</span> + <span v-if="it.processState == 1">复检通过</span> + <span v-if="it.processState == 2">复检驳回</span> + </div> + <el-card> + <table border class="step-table"> + <tr> + <td width="40%"><el-icon> + <User /> + </el-icon> + <span v-if="it.processState == 0">整改说明</span> + <span v-if="it.processState == 1">复检意见</span> + <span v-if="it.processState == 2">驳回意见</span> + + </td> + <td>{{ it.opinion }}</td> + </tr> + <tr v-if="it.processState == 0"> + <td><el-icon> + <Picture /> + </el-icon>整改图片</td> + <td> + <div class="step-img"><el-image :src="file.fileUrl" + v-for="(file, index) in it.files" :key="index" :preview-teleported="true" + :preview-src-list="[file.fileUrl]"></el-image></div> + </td> + </tr> + </table> + </el-card> + </div> + <div class="step-header" :class="data.row.checkState >= 0 ? 'is-active' : ''"> <el-icon> <SuccessFilled /> @@ -41,9 +78,11 @@ </tr> </table> </el-card> + + </el-col> - <el-col :span="14" class="detail-right"> - <el-form style="margin: 0px 20px;"> + <el-col :span="14" class="detail-right" :class="'is-' + data.mode"> + <el-form style="margin: 0px 20px;" :model="data.baseForm" ref="baseInfo"> <el-form-item label="项目名称"> {{ data.row.projectName }} </el-form-item> @@ -63,80 +102,135 @@ <el-form-item label="整改要求"> {{ data.row.changeInfo }} </el-form-item> + <template v-if="data.mode == 'edit'"> + <el-row> + <el-col :span="12"> + <el-form-item label="提交人"> + {{ data.row.createUser }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="提交时间"> + {{ data.row.createTime }} + </el-form-item> + </el-col> + </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="提交人"> - {{ data.row.createUser }} - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="提交时间"> - {{ data.row.createTime }} - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="整改人"> - {{ data.row.lordSent }} - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="抄送人"> - {{ data.row.copySendUser }} - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="复检人"> - {{ data.row.recheckSend }} - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="截至时间"> - {{ data.row.nickedTime }} - </el-form-item> - </el-col> - </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="整改人"> + {{ data.row.lordSentUser }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="抄送人"> + {{ data.row.copySendUser }} + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="复检人"> + {{ data.row.recheckSendUser }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="截至时间"> + {{ data.row.nickedTime }} + </el-form-item> + </el-col> + </el-row> + </template> + <template v-else> + <el-form-item label="提交人"> + {{ data.row.createUser }} + </el-form-item> + <el-form-item label="提交时间"> + {{ data.row.createTime }} + </el-form-item> + <el-form-item label="整改人"> + {{ data.row.lordSentUser }} + </el-form-item> + <el-form-item label="抄送人"> + {{ data.row.copySendUser }} + </el-form-item> + <el-form-item label="复检人"> + {{ data.row.recheckSendUser }} + </el-form-item> + <el-form-item label="截至时间"> + {{ data.row.nickedTime }} + </el-form-item> + <el-form-item label="流程状态"> + <dict-tag :options="data.checkStates" :value="data.row.checkState" /> + </el-form-item> + </template> </el-form> - <div class="step-2"> - <div class="step-header"> - <svg-icon icon-class="twrap" /> 整改情况 + <template v-if="data.mode == 'edit'"> + <div class="step-2" + v-if="data.hasStep2Role && (data.row.checkState == 0 || data.row.checkState == 2)"> + <div class="step-header"> + <svg-icon icon-class="twrap" /> 整改情况 + </div> + <el-form ref="formStep2Ref" :model="step2Form" :rules="step2Rules"> + <el-form-item label="整改说明" prop="opinion"> + <el-input v-model="step2Form.opinion" style="width: 100%" maxlength="200" :rows="3" + type="textarea" placeholder="请输入整改说明(最多255字)" /> + </el-form-item> + <el-form-item label="整改图片" prop="images" style="margin-top:15px"> + <image-upload v-model="step2Form.images" previewAll :limit="5" + @change="doStep2ImageUpload" /> + </el-form-item> + </el-form> + <div style="text-align: center;"> + <el-button @click="data.visible = false">取消</el-button> + <el-button type="primary" @click="step2Submit" :disabled="data.loading">提交</el-button> + </div> </div> - <el-form ref="formStep2Ref" :mode="step2Form" :rules="step2Rules"> - <el-form-item label="整改说明" prop="opinion"> - <el-input v-model="step2Form.opinion" style="width: 100%" maxlength="200" :rows="3" - type="textarea" placeholder="请输入整改说明(最多200字)" /> - </el-form-item> - <el-form-item label="整改图片" prop="images" style="margin-top:15px"> - <image-upload v-model="step2Form.images" previewAll :limit="5" - @change="doStep2ImageUpload" /> - </el-form-item> - </el-form> - <div style="text-align: center;"> - <el-button type="primary" @click="step2Submit" :disabled="data.loading">提交</el-button> + <div class="step-3" v-if="data.hasStep3Role && data.row.checkState == 1"> + <div class="step-header"> + <svg-icon icon-class="twrap" /> 复检 + </div> + <el-form ref="formStep3Ref" :model="step3Form" :rules="step3Rules"> + <el-form-item label="复检意见" prop="opinion"> + <el-input v-model="step3Form.opinion" style="width: 100%" maxlength="200" :rows="3" + type="textarea" placeholder="请输入复检意见(最多255字)" /> + </el-form-item> + </el-form> + <div style="text-align: center;margin-top:20px;"> + <el-button @click="data.visible = false">取消</el-button> + <el-button type="danger" @click="step3Reject" :disabled="data.loading">复检驳回</el-button> + <el-button type="primary" @click="step3Submit" :disabled="data.loading">复检通过</el-button> + </div> </div> - </div> + </template> </el-col> </el-row> </el-drawer> </template> <script setup name="Problemmodify"> +import useUserStore from '@/store/modules/user' +import { listAuditinfo, addAuditinfo } from '@/api/trouble/auditinfo' const { proxy } = getCurrentInstance(); const { ssp_proble_type, ssp_proble_sub_type } = proxy.useDict('ssp_proble_type', 'ssp_proble_sub_type'); const formStep2Ref = ref(); +const formStep3Ref = ref(); +const userStore = useUserStore() +const emit = defineEmits(["success"]); let data = reactive({ + mode: '', loading: false, visible: false, row: null, - step2: { + auditinfoList: [], + stepActive: 0, + hasStep2Role: false, + hasStep3Role: false, + baseForm: {}, + step2Form: { opinion: '', images: [], }, - step2Form: {}, step2Rules: { opinion: [ { required: true, message: "请输入审核意见", trigger: "blur" }, @@ -145,27 +239,130 @@ let data = reactive({ images: [ { validator: validateStep2Images } ] - } + }, + step3Form: { + opinion: '' + }, + step3Rules: { + opinion: [ + { required: true, message: "请输入审核意见", trigger: "blur" }, + { min: 1, max: 200, message: "长度在 1 到 255 个字符", trigger: "blur" } + ] + }, + checkStates: [{ value: "0", label: '待整改' }, { value: "1", label: '待复检' }, + { value: "2", label: '复检驳回' }, + { value: "3", label: '复检通过' }] }); -const { step2Form, step2Rules } = toRefs(data); +const { step2Form, step2Rules, step3Form, step3Rules } = toRefs(data); function validateStep2Images(rule, value, callback) { - if (value.length == 0) { + if (step2Form.value.images.length == 0) { callback(new Error("请上传图片!")) } else { callback() } } -function showDrawer(row) { +function showDrawer(row, mode) { + data.mode = mode; data.row = row; + step2Form.value.images = []; + step2Form.value.opinion = ""; + step3Form.value.opinion = ""; + data.hasStep2Role = row.lordSent == userStore.uid; + data.hasStep3Role = row.recheckSend == userStore.uid; + data.stepActive = row.checkState + 1; data.visible = true; + getListAuditinfo(); } +function getListAuditinfo() { + listAuditinfo({ + page: 1, + limit: 100, + mainId: data.row.id + }).then(res => { + let tmps = (res.rows || []).map(it => { + it.index = ""; + return it; + }); + for (let i = 0; i < tmps.length; i++) { + let idx = tmps.length - i + 1; + tmps[i].index = idx < 10 ? '0' + idx : idx; + } + data.auditinfoList = tmps; + }) +} +function step3Reject() { + data.loading = true; + formStep3Ref.value.validate(v => { + debugger + data.loading = false; + if (!v) { + return; + } + proxy.$confirm("确认驳回此整改?", "提示", { + confirmButtonText: "确 认", + cancelButtonText: "取 消" + }).then(() => { + let postData = { + mainId: data.row.id, + opinion: step3Form.value.opinion, + processState: 2, + }; + addAuditinfo(postData).then(d => { + if (d.code == 200) { + proxy.$modal.msgSuccess("提交成功!"); + data.visible = false; + emit("success"); + } + }); + }); + }); +} +function step3Submit() { + data.loading = true; + formStep3Ref.value.validate(v => { + data.loading = false; + if (!v) { + return; + } + proxy.$confirm("确认复检通过此整改?", "提示", { + confirmButtonText: "确 认", + cancelButtonText: "取 消" + }).then(() => { + let postData = { + mainId: data.row.id, + opinion: step3Form.value.opinion, + processState: 1, + }; + addAuditinfo(postData).then(d => { + if (d.code == 200) { + proxy.$modal.msgSuccess("提交成功!"); + data.visible = false; + emit("success"); + } + }); + }); + }); + +} function step2Submit() { data.loading = true; formStep2Ref.value.validate(v => { data.loading = false; if (v) { - + let postData = { + mainId: data.row.id, + opinion: step2Form.value.opinion, + processState: 0, + images: step2Form.value.images, + }; + addAuditinfo(postData).then(d => { + if (d.code == 200) { + proxy.$modal.msgSuccess("提交成功!"); + data.visible = false; + emit("success"); + } + }); } }); } @@ -227,10 +424,25 @@ defineExpose({ top: 2px; } } + + .step-img { + .el-image { + width: 95px; + height: 80px; + margin-left: 3px; + } + } } } .detail-right { + padding-left: 12px; + + &.is-edit { + .el-form-item--default { + margin-bottom: 0px; + } + } .el-upload-list__item, .el-upload--picture-card { @@ -238,9 +450,6 @@ defineExpose({ height: 80px !important; } - .el-form-item--default { - margin-bottom: 0px; - } .step-header { color: var(--el-color-primary); diff --git a/yanzhu-ui-vue3/src/views/trouble/problemmodify/index.vue b/yanzhu-ui-vue3/src/views/trouble/problemmodify/index.vue index 94f38566..e81769dd 100644 --- a/yanzhu-ui-vue3/src/views/trouble/problemmodify/index.vue +++ b/yanzhu-ui-vue3/src/views/trouble/problemmodify/index.vue @@ -59,8 +59,8 @@ <el-table-column label="施工部位" align="center" prop="workParts" /> <el-table-column label="整改要求" align="center" prop="changeInfo" /> <el-table-column label="整改截至时间" align="center" prop="nickedTime" width="120" /> - <el-table-column label="整改人" align="center" prop="lordSent" width="200" /> - <el-table-column label="复检人" align="center" prop="recheckSend" width="200" /> + <el-table-column label="整改人" align="center" prop="lordSentUser" width="200" /> + <el-table-column label="复检人" align="center" prop="recheckSendUser" width="200" /> <el-table-column label="抄送人" align="center" prop="copySendUser" width="200" /> <el-table-column label="流程状态" align="center" prop="checkState"> <template #default="scope"> @@ -88,25 +88,25 @@ <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> - <detailDrawer ref="detailDrawerRef"></detailDrawer> + <detailDrawer ref="detailDrawerRef" @success="handleQuery"></detailDrawer> </div> </template> <script setup name="Problemmodify"> import detailDrawer from "./detailDrawer.vue"; +import useUserStore from '@/store/modules/user' import { Check, Document, Delete } from '@element-plus/icons-vue' import { listProblemmodify, getProblemmodify, delProblemmodify, addProblemmodify, updateProblemmodify, getListCount } from "@/api/trouble/problemmodify"; const { proxy } = getCurrentInstance(); const { ssp_proble_type, ssp_proble_sub_type } = proxy.useDict('ssp_proble_type', 'ssp_proble_sub_type'); const problemmodifyList = ref([]); -const open = ref(false); +const userStore = useUserStore() const loading = ref(true); const showSearch = ref(true); const ids = ref([]); const single = ref(true); const multiple = ref(true); const total = ref(0); -const title = ref(""); const detailDrawerRef = ref(); const data = reactive({ form: {}, @@ -174,16 +174,22 @@ function tabClick() { } function handleModify(row) { - + detailDrawerRef.value.showDrawer(row, 'edit'); } function handleDetail(row) { - detailDrawerRef.value.showDrawer(row); + detailDrawerRef.value.showDrawer(row, 'show'); } function getIsVdel(row) { - return true; + return false; } function getIsModify(row) { - return true; + if (row.checkState == 0 || row.checkState == 2) { + return row.lordSent == userStore.uid; + } + if (row.checkState == 1) { + return row.recheckSend == userStore.uid; + } + return false; } /** 重置按钮操作 */ function resetQuery() {