From d2c276d37c5ad5eefa00eeebe6b30186bcce2d19 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 14 二月 2025 10:09:01 +0800 Subject: [PATCH] 流程推进详情表头调整 --- src/views/projectProcess/detail/index.vue | 123 +++++++++++++++++++++++++++++++++-------- 1 files changed, 99 insertions(+), 24 deletions(-) diff --git a/src/views/projectProcess/detail/index.vue b/src/views/projectProcess/detail/index.vue index 3f615c0..bcb344a 100644 --- a/src/views/projectProcess/detail/index.vue +++ b/src/views/projectProcess/detail/index.vue @@ -21,7 +21,7 @@ <div @click="changeTab(2, 'todo')" :class="{'item-warm': true, 'all-color': true, 'active': 2 === selectTabId}">寰呭姙浜嬮」<span v-if="detailData && detailData.statistics">锛坽{detailData.statistics.todoTaskNum}}锛�</span></div> <div @click="changeTab(3, 'todo')" :class="{'item-warm': true, 'current-color': true, 'active': 3 === selectTabId}">褰撳墠鐜妭</div> <div @click="changeTab(4, 'remaining')" :class="{'item-warm': true, 'remaining-color': true, 'active': 4 === selectTabId}">鍓╀綑浜嬮」<span v-if="detailData && detailData.statistics">锛坽{detailData.statistics.remainingTaskNum}}锛�</span></div> - <div @click="changeTab(5, 'timely')" :class="{'item-warm': true, 'timely-color': true, 'active': 5 === selectTabId}">鎸夋椂瀹屾垚锛�0锛�</div> + <div @click="changeTab(5, 'timely')" :class="{'item-warm': true, 'timely-color': true, 'active': 5 === selectTabId}">鎸夋椂瀹屾垚<span v-if="detailData && detailData.statistics">锛坽{detailData.statistics.timelyFinishedTaskNum}}锛�</span></div> <div @click="changeTab(6, 'overtime')" :class="{'item-warm': true, 'overtime-color': true, 'active': 6 === selectTabId}">瓒呮椂浜嬮」锛�0锛�</div> <div @click="changeTab(7, 'willOvertime')" :class="{'item-warm': true, 'willOvertime-color': true, 'active': 7 === selectTabId}">涓存湡浜嬮」锛�0锛�</div> <div @click="changeTab(8, 'urge')" :class="{'item-warm': true, 'urge-color': true, 'active': 8 === selectTabId}">鐫e姙浜嬮」锛�0锛�</div> @@ -53,24 +53,13 @@ </el-table-column> <el-table-column prop="promoterUnitName" - label="鍙戣捣鍗曚綅" + label="璐d换鍗曚綅" > </el-table-column> <el-table-column prop="promoterName" - label="鍙戣捣浜�" + label="璐d换浜哄強鑱旂郴鐢佃瘽" > - </el-table-column> - <el-table-column - align="center" - prop="handlerType" - label="澶勭悊鏂圭被鍨�" - > - <template slot-scope="scope"> - <el-tag v-if="scope.row.handlerType === 'USER'">浜哄憳璐﹀彿</el-tag> - <el-tag type="success" v-else-if="scope.row.handlerType === 'DEPT'">鍗曚綅</el-tag> - <el-tag type="info" v-else-if="scope.row.handlerType === 'ROLE'">瑙掕壊</el-tag> - </template> </el-table-column> <el-table-column prop="handlerUnitName" @@ -80,16 +69,49 @@ </el-table-column> <el-table-column prop="handlerName" - label="鍊欓�夊鐞嗕汉" + label="澶勭悊浜哄強鑱旂郴鐢佃瘽" :formatter="candidateFormatter" > </el-table-column> - <el-table-column - prop="handlerName" - label="瀹為檯澶勭悊浜�" - :formatter="finalFinishedFormatter" - > - </el-table-column> +<!-- <el-table-column--> +<!-- prop="promoterUnitName"--> +<!-- label="鍙戣捣鍗曚綅"--> +<!-- >--> +<!-- </el-table-column>--> +<!-- <el-table-column--> +<!-- prop="promoterName"--> +<!-- label="鍙戣捣浜�"--> +<!-- >--> +<!-- </el-table-column>--> +<!-- <el-table-column--> +<!-- align="center"--> +<!-- prop="handlerType"--> +<!-- label="澶勭悊鏂圭被鍨�"--> +<!-- >--> +<!-- <template slot-scope="scope">--> +<!-- <el-tag v-if="scope.row.handlerType === 'USER'">浜哄憳璐﹀彿</el-tag>--> +<!-- <el-tag type="success" v-else-if="scope.row.handlerType === 'DEPT'">鍗曚綅</el-tag>--> +<!-- <el-tag type="info" v-else-if="scope.row.handlerType === 'ROLE'">瑙掕壊</el-tag>--> +<!-- </template>--> +<!-- </el-table-column>--> +<!-- <el-table-column--> +<!-- prop="handlerUnitName"--> +<!-- label="澶勭悊鍗曚綅"--> +<!-- :formatter="unitFormatter"--> +<!-- >--> +<!-- </el-table-column>--> +<!-- <el-table-column--> +<!-- prop="handlerName"--> +<!-- label="鍊欓�夊鐞嗕汉"--> +<!-- :formatter="candidateFormatter"--> +<!-- >--> +<!-- </el-table-column>--> +<!-- <el-table-column--> +<!-- prop="handlerName"--> +<!-- label="瀹為檯澶勭悊浜�"--> +<!-- :formatter="finalFinishedFormatter"--> +<!-- >--> +<!-- </el-table-column>--> <el-table-column align="center" prop="taskStatus" @@ -99,10 +121,12 @@ <el-table-column fixed="right" label="鎿嶄綔" - width="100"> + align="center" + width="140"> <template slot-scope="scope"> <el-button v-if="scope.row.taskStatus !== '鏈紑濮�'" @click="goToProcessDetail(scope.row)" type="text" size="small">鏌ョ湅</el-button> <el-button v-if="showHandle(scope.row)" @click="goToDo(scope.row)" type="text" size="small">鍔炵悊</el-button> + <el-button v-if = "scope.row.taskStatus === '寰呭姙'" @click="openSupervise(scope.row)" type="text" size="small">鐫e姙</el-button> </template> </el-table-column> </el-table> @@ -187,7 +211,17 @@ </div> </div> </el-dialog> - + <el-dialog :visible.sync="superviseShow" width="1000px" title="鐫e姙" append-to-body> + <el-form ref="superviseForm" :model="superviseForm" :rules="superviseRules" label-width="80px"> + <el-form-item label="鐫e姙鍐呭" prop="content"> + <el-input type="textarea" v-model="superviseForm.content"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="superviseShow = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitSupervise">纭� 瀹�</el-button> + </div> + </el-dialog> </div> </template> @@ -195,11 +229,12 @@ import { getProjectProcessDetail, getProjectProcessDetailTaskList, - getTaskIsAuditing + getTaskIsAuditing, taskSupervise } from "@/api/projectProcess/projectProcess"; import {flowXmlAndNode} from "@/api/flowable/definition"; import BpmnViewer from '@/components/Process/viewer'; import {flowRecord} from "@/api/flowable/finished"; +import {editProject} from "@/api/projectEngineering/projectInfo"; export default { name: "Detail", @@ -216,11 +251,21 @@ processImgShow: false, // 娴佺▼鍥炬樉绀� imgLoading: false, // 娴佺▼鍥惧姞杞� loading: false, + superviseShow: false, tableLoading: false, detailData: {}, taskList: [], total: 0, selectTabId: 2, + superviseForm: { + taskId: null, + projectId: null, + processInsId: null, + receiverIds: null, + receiverType: null, + superviseType: null, + content: '', + }, queryParams: { taskName: '', taskType: 'todo', @@ -231,6 +276,9 @@ processInsId: null, deployId: null, processName: '' // 娴佺▼鍚嶇О + }, + superviseRules: { + content: [{required: true, message: '鐫e姙鍐呭涓嶈兘涓虹┖', trigger: 'blur'}] } } }, @@ -252,6 +300,32 @@ this.getProjectProcessInfo() }, methods: { + submitSupervise() { + this.$refs["superviseForm"].validate(valid => { + if (valid) { + taskSupervise(this.superviseForm).then((res) => { + this.superviseShow = false; + this.$message.success("鎿嶄綔鎴愬姛"); + }) + } + }); + }, + openSupervise(row){ + this.superviseForm.content =''; + this.superviseForm.taskId = row.taskId; + this.superviseForm.projectId = this.$route.query.projectId; + this.superviseForm.processInsId = row.taskId; + this.superviseForm.superviseType = "SUPERVISE"; + this.superviseForm.receiverType = row.handlerType; + if (row.handlerType === 'USER') { + this.superviseForm.receiverIds = row.handlerId; + } else if (row.handlerType === 'DEPT') { + this.superviseForm.receiverIds = row.handlerUnitId; + } else if (row.handlerType === 'ROLE') { + this.superviseForm.receiverIds = row.handlerUnitId; + } + this.superviseShow = true + }, setIcon(val) { if (val) { return "el-icon-check"; @@ -403,6 +477,7 @@ let beforeId = this.selectTabId this.selectTabId = id this.queryParams.taskType = event + this.queryParams.currentPage = 1; if (beforeId !== id) { this.getList() } -- Gitblit v1.8.0