From 8905bdd0a74c4bd6cabc206c36a299341488041e Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期四, 11 九月 2025 11:00:26 +0800 Subject: [PATCH] 合并设备借出与归还流程,增加借出归还列表详情功能 --- src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue | 288 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 246 insertions(+), 42 deletions(-) diff --git a/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue b/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue index c0f5b68..1f19d3f 100644 --- a/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue +++ b/src/views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue @@ -9,70 +9,258 @@ @ok="handleOk" @cancel="handleCancel" centered - cancelText="鍏抽棴"> + cancelText="鍏抽棴" + > <a-spin :spinning="spinning"> - <a-form-model ref="form" :model="model" :rules="validatorRules"> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 褰掑睘淇℃伅 + <a-form-model + ref="form" + :model="model" + :rules="validatorRules" + > + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 璋冩嫧淇℃伅 </a-divider> <a-row :gutter="24"> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code" label="鍗曟嵁鍙�"> - <a-input v-model="model.code" disabled /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="code" + label="鍗曟嵁鍙�" + > + <a-input + v-model="model.code" + disabled + /> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栫爜"> - <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" - v-model="model.equipmentId" disabled></lx-search-equipment-select> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="equipmentId" + label="璁惧缂栫爜" + > + <lx-search-equipment-select + placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" + v-model="model.equipmentId" + disabled + ></lx-search-equipment-select> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="newDepartId_dictText" label="璋冨叆閮ㄩ棬"> - <a-input v-model="model.newDepartId_dictText" disabled /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="newDepartId_dictText" + label="璋冨叆閮ㄩ棬" + > + <a-input + v-model="model.newDepartId_dictText" + disabled + /> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oldDepartId_dictText" label="璋冨嚭閮ㄩ棬"> - <a-input v-model="model.oldDepartId_dictText" disabled /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="oldDepartId_dictText" + label="璋冨嚭閮ㄩ棬" + > + <a-input + v-model="model.oldDepartId_dictText" + disabled + /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportUser_dictText" label="鐢宠浜�"> - <a-input v-model="model.reportUser_dictText" disabled /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="reportUser_dictText" + label="鐢宠浜�" + > + <a-input + v-model="model.reportUser_dictText" + disabled + /> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transferReason" label="鍙樺姩鍘熷洜"> - <a-input v-model="model.transferReason" disabled /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="transferReason" + label="鍙樺姩鍘熷洜" + > + <a-input + v-model="model.transferReason" + disabled + /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> <a-col :span="24"> - <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞"> - <a-textarea v-model="model.remark" disabled /> + <a-form-model-item + :labelCol="labelColLong" + :wrapperCol="wrapperColLong" + prop="remark" + label="澶囨敞" + > + <a-textarea + v-model="model.remark" + disabled + /> </a-form-model-item> </a-col> </a-row> - <div v-if="approvalDisable"> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 绠$悊鍛樺皝瀛樺鏍� + <div v-if="useApprovalDisable"> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 浣跨敤鍗曚綅棰嗗瀹℃壒 </a-divider> <a-row :gutter="24"> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalDealType" label="瀹℃壒绫诲瀷"> - <j-dict-select-tag type="radio" v-model="model.approvalDealType" dictCode="approved_rejected" - placeholder="璇烽�夋嫨澶勭悊绫诲瀷" :disabled="disableSubmit || initialAcceptanceDisable" /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="useLeaderApprovalDealType" + label="瀹℃壒绫诲瀷" + > + <j-dict-select-tag + type="radio" + v-model="model.useLeaderApprovalDealType" + dictCode="approved_rejected" + placeholder="璇烽�夋嫨澶勭悊绫诲瀷" + :disabled="disableSubmit || leanOutApprovalDisable" + /> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalComment" label="瀹℃壒鎰忚"> - <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.approvalComment" - :disabled="disableSubmit || returnDisable" /> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="useLeaderApprovalComment" + label="瀹℃壒鎰忚" + > + <a-textarea + placeholder="璇疯緭鍏ユ剰瑙�" + v-model="model.useLeaderApprovalComment" + :disabled="disableSubmit || leanOutApprovalDisable" + /> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="leanOutApprovalDisable"> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 璋冨叆鍗曚綅棰嗗瀹℃壒 + </a-divider> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="transferLeaderApprovalDealType" + label="瀹℃壒绫诲瀷" + > + <j-dict-select-tag + type="radio" + v-model="model.transferLeaderApprovalDealType" + dictCode="approved_rejected" + placeholder="璇烽�夋嫨澶勭悊绫诲瀷" + :disabled="disableSubmit || externalConfirmDisable" + /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="transferLeaderApprovalComment" + label="瀹℃壒鎰忚" + > + <a-textarea + placeholder="璇疯緭鍏ユ剰瑙�" + v-model="model.transferLeaderApprovalComment" + :disabled="disableSubmit || externalConfirmDisable" + /> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="externalConfirmDisable"> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 鏈哄姩鍔炵‘璁� + </a-divider> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="companyLeaderCheck" + label="鏄惁闇�瑕佸叕鍙搁瀵煎鎵�" + > + <j-dict-select-tag + type="radio" + v-model="model.companyLeaderCheck" + dictCode="yn" + placeholder="璇烽�夋嫨鏄惁" + :disabled="disableSubmit || companyApprovalDisable" + /> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="companyApprovalDisable"> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 鍏徃棰嗗瀹℃壒 + </a-divider> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="companyLeaderApprovalDealType" + label="瀹℃壒绫诲瀷" + > + <j-dict-select-tag + type="radio" + v-model="model.companyLeaderApprovalDealType" + dictCode="approved_rejected" + placeholder="璇烽�夋嫨澶勭悊绫诲瀷" + :disabled="disableSubmit" + /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="companyLeaderApprovalComment" + label="瀹℃壒鎰忚" + > + <a-textarea + placeholder="璇疯緭鍏ユ剰瑙�" + v-model="model.companyLeaderApprovalComment" + :disabled="disableSubmit" + /> </a-form-model-item> </a-col> </a-row> @@ -105,41 +293,44 @@ treeData: [], labelCol: { xs: { span: 24 }, - sm: { span: 5 } + sm: { span: 6 } }, wrapperCol: { xs: { span: 24 }, - sm: { span: 18 } + sm: { span: 16 } }, labelColLong: { xs: { span: 24 }, - sm: { span: 2 } + sm: { span: 3 } }, wrapperColLong: { xs: { span: 24 }, - sm: { span: 21 } + sm: { span: 20 } }, confirmLoading: false, spinning: false, imageSrc: null, validatorRules: { - approvalDealType: [ + useLeaderApprovalDealType: [ { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } ], - unsealApprovalDealType: [ + transferLeaderApprovalDealType: [ { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } ], - approvalComment: [ + companyLeaderCheck: [ + { required: true, message: '璇烽�夋嫨鏄垨鍚�!' } + ], + companyLeaderApprovalDealType: [ + { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } + ], + useLeaderApprovalComment: [ { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } ], - unsealApprovalComment: [ + transferLeaderApprovalComment: [ { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } ], - returnComment: [ - { required: true, message: '璇疯緭鍏ュ綊杩樺娉�!' } - ], - confirmComment: [ - { required: true, message: '璇疯緭鍏ョ‘璁ゆ剰瑙�!' } + companyLeaderApprovalComment: [ + { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } ] }, url: { @@ -154,8 +345,21 @@ this.loadAllProductionTree() }, computed: { - approvalDisable: function() { - return ['WAIT_CHECK'].includes(this.model.transferStatus) + //浣跨敤鍗曚綅棰嗗瀹℃壒 + useApprovalDisable: function () { + return ['WAIT_SUBMIT', 'WAIT_USE_LEADER_CHECK', 'WAIT_TRANSFER_LEADER_CHECK', 'WAIT_EXTERNAL_CONFIRM', 'WAIT_COMPANY_LEADER_CHECK', 'REJECT', 'COMPLETE'].includes(this.model.transferStatus) + }, + //璋冨叆鍗曚綅棰嗗瀹℃壒WAIT_USE_LEADER_CHECK + leanOutApprovalDisable: function () { + return ['WAIT_TRANSFER_LEADER_CHECK', 'WAIT_EXTERNAL_CONFIRM', 'WAIT_COMPANY_LEADER_CHECK', 'REJECT', 'COMPLETE'].includes(this.model.transferStatus) + }, + //鏈哄姩鍔炵‘璁� + externalConfirmDisable: function () { + return ['WAIT_EXTERNAL_CONFIRM', 'WAIT_COMPANY_LEADER_CHECK', 'REJECT', 'COMPLETE'].includes(this.model.transferStatus) + }, + // 鍏徃棰嗗瀹℃壒 + companyApprovalDisable: function () { + return ['WAIT_COMPANY_LEADER_CHECK', 'REJECT', 'COMPLETE'].includes(this.model.transferStatus) }, }, methods: { @@ -176,6 +380,7 @@ console.log('record', record) this.initParams() this.model = Object.assign({}, record) + this.spinning = false }, initParams() { @@ -231,5 +436,4 @@ </script> <style lang="less" scoped> - </style> \ No newline at end of file -- Gitblit v1.9.3