From a969670a0924bcc4a08eb20330239ff11afd2755 Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期一, 08 九月 2025 14:49:33 +0800 Subject: [PATCH] 故障报修流程审批节点字段调整 --- src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue | 613 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 519 insertions(+), 94 deletions(-) diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue index 4384150..01f35e9 100644 --- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue +++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue @@ -57,45 +57,367 @@ </a-col> </a-row> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏄惁闇�瑕侀鐢ㄥ浠�</a-divider> - <a-tabs v-model="activeTabKey"> - <a-tab-pane key="1" tab="棰嗙敤澶囦欢"> - <a-row> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="鏄惁闇�瑕侀鐢ㄥ浠�" prop="isUseSpare"> - <a-radio-group v-model="tableRowRecord.isUseSpare" - :disabled="isDisableUseSpare"> - <a-radio :value="1">鏄�</a-radio> - <a-radio :value="0">鍚�</a-radio> - </a-radio-group> - </a-form-model-item> - </a-col> + <a-tab-pane key="1" tab="缁翠慨澶勭悊"> - <template v-if="tableRowRecord.isUseSpare===0"> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason"> - <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_REPAIR'" - v-model="tableRowRecord.faultReason" rows="4" - placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> + <div v-if="repairConfirm"> + <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="repairConfirm" label="鏄惁鍐呴儴鍙淮淇�"> + <j-dict-select-tag type='radio' v-model='tableRowRecord.repairConfirm' dictCode='yn' + placeholder="璇烽�夋嫨" :disabled="disableSubmit || tableRowRecord.repairStatus !== 'WAIT_INTERNAL_CONFIRM'"/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmComment" label="缁翠慨纭鎰忚"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.repairConfirmComment" + :readOnly="disableSubmit || tableRowRecord.repairStatus !== 'WAIT_INTERNAL_CONFIRM'"/> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="underInternalRepair && tableRowRecord.repairConfirm === '1'"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉</a-divider> + <a-row> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type" + placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultPart" + :data-source="faultPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滈儴浣�" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultPartList" + @input="fetchFaultPartList" + /> + + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultChildPart" + :data-source="faultChildPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultChildPartList" + @input="fetchFaultChildPartList" + /> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity" + placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <a-auto-complete + :data-source="repairDescriptionPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + :filter-option="filterOption" + :allowClear="true" + v-model="tableRowRecord.repairDescription" + > + <a-textarea + placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�" + class="custom" + @focus="fetchRepairDescList" + @input="fetchRepairDescList" + /> + </a-auto-complete> </a-form-model-item> </a-col> <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription"> - <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_REPAIR'" - v-model="tableRowRecord.repairDescription" - placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨鍥剧墖"> + <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" - :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_REPAIR'" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" v-model="tableRowRecord.imageFiles"/> </a-form-model-item> </a-col> - </template> - </a-row> + </a-row> + </div> + <div v-if="leaderConfirm && tableRowRecord.repairConfirm === '0'"> + <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="leaderConfirm" label="鏄惁鍚屾剰澶栭儴缁翠慨"> + <j-dict-select-tag type='radio' v-model='tableRowRecord.leaderConfirm' dictCode='approved_rejected' + placeholder="璇烽�夋嫨" :disabled="disableSubmit || tableRowRecord.repairStatus!=='WAIT_LEADER_CONFIRM'"/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaderConfirmComment" label="纭鎰忚"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.leaderConfirmComment" + :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_LEADER_CONFIRM'"/> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="underInternalRepair && tableRowRecord.leaderConfirm === '2'"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉</a-divider> + <a-row> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type" + placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultPart" + :data-source="faultPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滈儴浣�" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultPartList" + @input="fetchFaultPartList" + /> + + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultChildPart" + :data-source="faultChildPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultChildPartList" + @input="fetchFaultChildPartList" + /> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity" + placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <a-auto-complete + :data-source="repairDescriptionPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + :filter-option="filterOption" + :allowClear="true" + v-model="tableRowRecord.repairDescription" + > + <a-textarea + placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�" + class="custom" + @focus="fetchRepairDescList" + @input="fetchRepairDescList" + /> + </a-auto-complete> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan*2"> + <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" + v-model="tableRowRecord.imageFiles"/> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="externalConfirm && tableRowRecord.leaderConfirm === '1'"> + <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="externalConfirm" label="鏈哄姩鍔炴槸鍚﹀彲缁翠慨"> + <j-dict-select-tag type='radio' v-model='tableRowRecord.externalConfirm' dictCode='yn' + placeholder="璇烽�夋嫨" :disabled="disableSubmit||tableRowRecord.repairStatus!=='WAIT_EXTERNAL_CONFIRM'"/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="externalConfirmComment" label="纭鎰忚"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.externalConfirmComment" + :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_EXTERNAL_CONFIRM'"/> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="underExternalRepair && tableRowRecord.externalConfirm === '1'"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏈哄姩鍔炵淮淇粨鏋�</a-divider> + <a-row> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" + v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type" + placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultPart" + :data-source="faultPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滈儴浣�" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultPartList" + @input="fetchFaultPartList" + /> + + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultChildPart" + :data-source="faultChildPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultChildPartList" + @input="fetchFaultChildPartList" + /> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" + v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity" + placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <a-auto-complete + :data-source="repairDescriptionPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" + :filter-option="filterOption" + :allowClear="true" + v-model="tableRowRecord.repairDescription" + > + <a-textarea + placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�" + class="custom" + @focus="fetchRepairDescList" + @input="fetchRepairDescList" + /> + </a-auto-complete> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan*2"> + <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" + v-model="tableRowRecord.imageFiles"/> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="underOutsideRepair && tableRowRecord.externalConfirm === '0'"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">濮斿缁翠慨缁撴灉</a-divider> + <a-row> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" + v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type" + placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultPart" + :data-source="faultPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滈儴浣�" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultPartList" + @input="fetchFaultPartList" + /> + + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-auto-complete + v-model="tableRowRecord.faultChildPart" + :data-source="faultChildPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" + placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅" + :filter-option="filterOption" + :allowClear="true" + @focus="fetchFaultChildPartList" + @input="fetchFaultChildPartList" + /> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan"> + <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" + v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity" + placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <a-auto-complete + :data-source="repairDescriptionPartDataList" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" + :filter-option="filterOption" + :allowClear="true" + v-model="tableRowRecord.repairDescription" + > + <a-textarea + placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�" + class="custom" + @focus="fetchRepairDescList" + @input="fetchRepairDescList" + /> + </a-auto-complete> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan*2"> + <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong"> + <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" + :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" + v-model="tableRowRecord.imageFiles"/> + </a-form-model-item> + </a-col> + </a-row> + </div> + <div v-if="operatorConfirm"> + <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="labelColLong" :wrapperCol="wrapperColLong" prop="confirmComment" label="纭鎰忚"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.confirmComment" + :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_CONFIRM'"/> + </a-form-model-item> + </a-col> + </a-row> + </div> </a-tab-pane> <template v-if="selectShenpiData.procInstId"> @@ -116,56 +438,10 @@ </a-tab-pane> <a-tab-pane key='3' tab='娴佺▼鍥�'> - <img :src="imageSrc" alt="Fetched Image"/>--> + <img :src="imageSrc" alt="Fetched Image"/> </a-tab-pane> </template> </a-tabs> - - <template v-if="tableRowRecord.isUseSpare===1&&isDisableUseSpare"> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">绠$悊鍛橀鐢ㄥ浠� - </a-divider> - - <a-row> - <a-col :span="twoColSpan*2"> - <a-form-model-item prop="sparePartDescription" label="澶囦欢鎻忚堪"> - <a-textarea placeholder="璇疯緭鍏ュ浠舵弿杩�" :readOnly="disableSubmit||tableRowRecord.repairStatus!=='WAIT_SPARES'" - v-model="tableRowRecord.sparePartDescription"></a-textarea> - </a-form-model-item> - </a-col> - </a-row> - </template> - - <template v-if="Boolean(tableRowRecord.sparePartDescription)&&isDisplayRepairResult"> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉涓婃姤</a-divider> - <a-row> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason"> - <a-input :readOnly="disableSubmit||isDisableSubmitRepairResult" v-model="tableRowRecord.faultReason" - rows="4" placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> - </a-form-model-item> - </a-col> - </a-row> - - <a-row> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription"> - <a-textarea :readOnly="disableSubmit||isDisableSubmitRepairResult" - v-model="tableRowRecord.repairDescription" - placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - </a-row> - - <a-row> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨鍥剧墖"> - <lx-upload :disabled="disableSubmit||isDisableSubmitRepairResult" :returnUrl="false" :isMultiple="true" - file-type="image" :number="3" - v-model="tableRowRecord.imageFiles"/> - </a-form-model-item> - </a-col> - </a-row> - </template> </a-form-model> </a-spin> </j-modal> @@ -173,8 +449,8 @@ <script> import '@assets/less/TableExpand.less' - import { getAction, deleteAction, postAction, downFile, httpAction } from '@api/manage' - import LxSearchEquipmentSelect from '../../../eam/equipment/modules/LxSearchEquipmentSelect' + import { getAction, downFile, httpAction } from '@api/manage' + import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect' export default { name: 'RepairOrderApprovalModal', @@ -189,6 +465,9 @@ return { title: '', threeColSpan: 8, + faultPartDataList: [], + faultChildPartDataList: [], + repairDescriptionPartDataList: [], twoColSpan: 12, inputReadOnly: true, disableSubmit: false, @@ -215,14 +494,41 @@ sm: { span: 20 } }, validatorRules: { - isUseSpare: [ - { required: true, message: '璇烽�夋嫨鏄惁闇�瑕侀鐢ㄥ浠�' } + repairConfirm: [ + { required: true, message: '璇烽�夋嫨鏄惁鍐呴儴鍙淮淇紒' } ], - sparePartDescription: [ - { required: true, message: '璇疯緭鍏ュ浠舵弿杩�' } + repairConfirmComment: [ + { required: true, message: '璇疯緭鍏ョ淮淇‘璁ゆ剰瑙�' } + ], + leaderConfirm: [ + { required: true, message: '璇烽�夋嫨鏄惁鍚屾剰澶栭儴缁翠慨锛�' } + ], + leaderConfirmComment: [ + { required: true, message: '璇疯緭鍏ラ瀵肩‘璁ゆ剰瑙�' } + ], + externalConfirm: [ + { required: true, message: '璇烽�夋嫨鏈哄姩鍔炴槸鍚﹀彲缁翠慨锛�' } + ], + externalConfirmComment: [ + { required: true, message: '璇疯緭鍏ユ満鍔ㄥ姙纭鎰忚' } + ], + confirmComment: [ + { required: true, message: '璇疯緭鍏ユ搷浣滃伐纭鎰忚' } ], faultReason: [ { required: true, message: '璇疯緭鍏ユ晠闅滃師鍥�' } + ], + faultType: [ + { required: true, message: '璇烽�夋嫨鏁呴殰绫诲瀷' } + ], + faultPart: [ + { required: true, message: '璇疯緭鍏ユ晠闅滈儴浣�' } + ], + faultChildPart: [ + { required: true, message: '璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅' } + ], + severity: [ + { required: true, message: '璇烽�夋嫨涓ラ噸绋嬪害' } ], repairDescription: [ { required: true, message: '璇疯緭鍏ョ淮淇粨鏋滄弿杩�' } @@ -235,26 +541,135 @@ queryBomDataById: '/eam/eamRepairOrder/queryById', diagramView: '/assign/flow/diagramView', queryHisTaskList: '/assign/flow/queryHisTaskList', - approve: '/eam/eamRepairOrder/perform' + approve: '/eam/eamRepairOrder/perform', + getColumnDateList: '/repairWarehouse/repairWarehouse/getColumnDateList' } } }, computed: { - isDisableUseSpare() { - return this.disableSubmit || this.tableRowRecord.repairStatus !== 'UNDER_REPAIR' || Boolean(this.tableRowRecord.sparePartDescription) + repairConfirm() { + return ['WAIT_INTERNAL_CONFIRM', 'UNDER_INTERNAL_REPAIR', 'WAIT_LEADER_CONFIRM', 'WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) }, - isDisplayRepairResult() { - return ['UNDER_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) + underInternalRepair() { + return ['UNDER_INTERNAL_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) }, - isDisableSubmitRepairResult() { + leaderConfirm() { + return ['UNDER_INTERNAL_REPAIR', 'WAIT_LEADER_CONFIRM', 'WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) + }, + externalConfirm() { + return ['WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) + }, + underExternalRepair() { + return ['UNDER_EXTERNAL_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) + }, + underOutsideRepair() { + return ['UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) + }, + operatorConfirm() { return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus) } }, + + watch: { + }, + methods: { /** - * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘 - * @param record 寰呭姙璁板綍淇℃伅 + * 1. 鏌ヨ鏁呴殰閮ㄤ綅鍒楄〃锛堟牴鎹晠闅滅被鍨嬬瓫閫夛級 */ + fetchFaultPartList() { + const that = this + // 绛涢�夊弬鏁帮細浠呮惡甯﹀凡閫変腑鐨勬晠闅滅被鍨嬶紙鏈�変腑鍒欏弬鏁颁负绌猴級 + const params = { + faultType: that.tableRowRecord.faultType || '', + column: "fault_part" + } + + // 璋冪敤鎺ュ彛锛堜娇鐢ㄩ」鐩皝瑁呯殑 getAction锛� + getAction(this.url.getColumnDateList, params) + .then(res => { + if (res.success) { + // 鎺ュ彛杩斿洖鏍煎紡鍋囪涓猴細[{ label: "閮ㄤ綅1", value: "1" }, ...] + // 鑻ユ帴鍙h繑鍥炴槸绾暟缁勶紙濡� ["閮ㄤ綅1", "閮ㄤ綅2"]锛夛紝鍒欑洿鎺ヨ祴鍊硷細that.faultPartDataList = res.result + that.faultPartDataList = res.result + } else { + that.$message.warning('鏁呴殰閮ㄤ綅鏌ヨ澶辫触锛�' + res.message) + that.faultPartDataList = [] // 澶辫触鏃舵竻绌烘暟鎹簮 + } + }) + .catch(err => { + that.$message.error('鏁呴殰閮ㄤ綅鏌ヨ寮傚父锛�' + err.message) + that.faultPartDataList = [] + }) + }, + + /** + * 2. 鏌ヨ鏁呴殰瀛愰儴浣嶅垪琛紙鏍规嵁鏁呴殰绫诲瀷 + 鏁呴殰閮ㄤ綅绛涢�夛級 + */ + fetchFaultChildPartList() { + const that = this + const { faultType, faultPart } = that.tableRowRecord + // 绛涢�夊弬鏁帮細浠呭綋鏁呴殰绫诲瀷銆佹晠闅滈儴浣嶅潎闈炵┖鏃舵墠鎼哄甫 + const params = {} + if (faultType) params.faultType = faultType + if (faultPart) params.faultPart = faultPart + params.column = "fault_child_part" + + // 璋冪敤鎺ュ彛 + getAction(this.url.getColumnDateList, params) + .then(res => { + if (res.success) { + that.faultChildPartDataList = res.result + } else { + that.$message.warning('鏁呴殰瀛愰儴浣嶆煡璇㈠け璐ワ細' + res.message) + that.faultChildPartDataList = [] + } + }) + .catch(err => { + that.$message.error('鏁呴殰瀛愰儴浣嶆煡璇㈠紓甯革細' + err.message) + that.faultChildPartDataList = [] + }) + }, + + /** + * 3. 鏌ヨ鏁呴殰鎻忚堪鍒楄〃锛堟牴鎹晠闅滅被鍨� + 鏁呴殰閮ㄤ綅 + 鏁呴殰瀛愰儴浣嶇瓫閫夛級 + */ + fetchRepairDescList() { + const that = this + const { faultType, faultPart, faultChildPart } = that.tableRowRecord + // 绛涢�夊弬鏁帮細浠呭綋涓変釜鏉′欢鍧囬潪绌烘椂鎵嶆惡甯� + const params = {} + if (faultType) params.faultType = faultType + if (faultPart) params.faultPart = faultPart + if (faultChildPart) params.faultChildPart = faultChildPart + params.column = "repair_description" + // 璋冪敤鎺ュ彛 + getAction(this.url.getColumnDateList, params) + .then(res => { + if (res.success) { + that.repairDescriptionPartDataList = res.result + } else { + that.$message.warning('鏁呴殰鎻忚堪鏌ヨ澶辫触锛�' + res.message) + that.repairDescriptionPartDataList = [] + } + }) + .catch(err => { + that.$message.error('鏁呴殰鎻忚堪鏌ヨ寮傚父锛�' + err.message) + that.repairDescriptionPartDataList = [] + }) + }, + /** + * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳� + * @param input 杈撳叆鐨勫唴瀹� + * @param option 閰嶇疆 + * @returns {boolean} 鍒ゆ柇鏄惁绛涢�� + */ + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 + ) + }, + getAllApproveData(record) { if (!record.procInstId) return console.log('record----->', record) @@ -313,14 +728,24 @@ this.$refs.form.validate(valid => { if (valid) { that.confirmLoading = that.spinning = true - const { isUseSpare, faultReason, repairDescription, sparePartDescription, imageFiles, equipmentId } = that.tableRowRecord + const { confirmComment, externalConfirm, externalConfirmComment, repairConfirm, repairConfirmComment, leaderConfirm, leaderConfirmComment, faultReason, faultType, faultPart, faultChildPart, severity, repairDescription, imageFiles, equipmentId } = that.tableRowRecord const { dataId, id, procInstId, taskDefKey, variables } = that.selectShenpiData const flowTaskVo = {} - flowTaskVo.isUseSpare = isUseSpare + flowTaskVo.repairConfirm = repairConfirm + flowTaskVo.repairConfirmComment = repairConfirmComment + flowTaskVo.leaderConfirm = leaderConfirm + flowTaskVo.leaderConfirmComment = leaderConfirmComment + flowTaskVo.externalConfirm = externalConfirm + flowTaskVo.externalConfirmComment = externalConfirmComment + flowTaskVo.confirmComment = confirmComment + flowTaskVo.faultReason = faultReason + flowTaskVo.faultType = faultType + flowTaskVo.faultPart = faultPart + flowTaskVo.faultChildPart = faultChildPart + flowTaskVo.severity = severity flowTaskVo.repairDescription = repairDescription - flowTaskVo.sparePartDescription = sparePartDescription flowTaskVo.imageFilesResult = imageFiles flowTaskVo.equipmentId = equipmentId flowTaskVo.id = dataId -- Gitblit v1.9.3