From 7160d176c51807c4cdda631edacf366731556969 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期一, 14 四月 2025 17:33:29 +0800 Subject: [PATCH] 1、工作流我的待办页面 设备维修 分类详情弹窗样式调整完成100% 2、工作流我的待办页面 设备点检 分类详情弹窗样式与功能逻辑调整 3、工作流我的待办页面 设备点检 分类详情弹窗保养明细列表增加异常选项是否禁用由点检结果选中项决定 4、工作流我的待办页面 设备点检 分类详情弹窗保养明细列表增加批量选择点检结果功能 --- src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue | 209 +++++++++++++++++++++++----------------------------- 1 files changed, 92 insertions(+), 117 deletions(-) diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue index 98b7bea..76c6210 100644 --- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue +++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue @@ -3,6 +3,7 @@ :width="1000" :visible="visible" @cancel="handCancel" + @ok="submitForm" :mask-closable="false" centered > @@ -23,118 +24,106 @@ <div v-if="imageSrc&&isDisplayBmp"> <img :src="imageSrc" alt="Fetched Image"/> </div> - <hr class="shallow-hr"/> + <!--<hr class="shallow-hr"/>--> </div> - <div> - <b>鎸囨淳璇︽儏</b> - <br> - <a-form :form='form'> - <a-spin :spinning="spinning"> - <a-tabs default-active-key='1'> - <a-tab-pane key='1' tab='鍩烘湰淇℃伅'> - <a-form-model ref='form' :model='tableRowRecord' :rules='validatorRules' :labelCol='labelCol' - :wrapperCol='wrapperCol'> - <a-row> - <a-col :span='span'> - <a-form-model-item label='宸ュ崟缂栧彿'> - <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairCode'/> - </a-form-model-item> - </a-col> - <a-col :span='span'> - <a-form-model-item label='璁惧缂栧彿'> - <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.equipmentId_dictText'/> - </a-form-model-item> - </a-col> - <a-col :span='span'> - <a-form-model-item label='鍗曟嵁鐘舵��'> - <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairStatus_dictText'/> - </a-form-model-item> - </a-col> - <a-col :span='span'> - <a-form-model-item label='缁翠慨璐熻矗浜�'> - <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairer'/> - </a-form-model-item> - </a-col> - </a-row> - </a-form-model> - </a-tab-pane> - <a-tab-pane key='2' tab='娴佺▼鑺傜偣'> - <a-card> - <a-timeline style="padding:0 1% 0 12%"> - <a-timeline-item color='white' v-for="(item,index1) in hitaskDataSource" :key="index1"> - <div class="bottom"> - <p>寮�濮嬫椂闂达細{{item.startTime}}</p> - <p>缁撴潫鏃堕棿锛歿{item.endTime}}</p> - <p>澶勭悊浜猴細{{item.assignee}}</p> - <p>鍔炵悊绫诲瀷锛歿{item.bllx_dictText}}</p> - <p v-if="item.name == '鎻愪氦鐢宠'">鎸囨淳鍘熷洜锛歿{item.cause}}</p> - <p v-else>澶勭悊鎰忚锛歿{item.cause}}</p> - <div class="left_qiu"><span>{{item.name}}</span></div> - </div> - </a-timeline-item> - </a-timeline> - </a-card> - </a-tab-pane> - </a-tabs> - </a-spin> - </a-form> - </div> <div> - <hr class="shallow-hr"> - <br> - <b>瀹℃壒璇︽儏</b> - <br> - <br> - <a-form-model ref="form" :model="approveData" :rules="validatorRules" :labelCol='labelCol' - :wrapperCol='wrapperCol'> - <a-row> - <a-col :span="24"> - <a-form-model-item label="鏄惁闇�瑕侀鐢ㄥ浠�" prop="status"> - <a-radio-group v-model="approveData.status"> - <a-radio :value="1">鏄�</a-radio> - <a-radio :value="0">鍚�</a-radio> - </a-radio-group> - </a-form-model-item> - </a-col> + <a-spin :spinning="spinning"> + <a-tabs default-active-key='1'> + <a-tab-pane key='1' tab='鍩烘湰淇℃伅'> + <a-form-model :model='tableRowRecord' :rules='validatorRules' :labelCol='labelCol' + :wrapperCol='wrapperCol'> + <a-row> + <a-col :span='span'> + <a-form-model-item label='宸ュ崟缂栧彿'> + <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairCode'/> + </a-form-model-item> + </a-col> + <a-col :span='span'> + <a-form-model-item label='璁惧缂栧彿'> + <lx-search-equipment-select disabled v-model='tableRowRecord.equipmentId'/> + </a-form-model-item> + </a-col> + <a-col :span='span'> + <a-form-model-item label='鍗曟嵁鐘舵��'> + <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairStatus_dictText'/> + </a-form-model-item> + </a-col> + <a-col :span='span'> + <a-form-model-item label='缁翠慨璐熻矗浜�'> + <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairer'/> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </a-tab-pane> - <template v-if="approveData.status===0"> - <a-col :span="24"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason"> - <a-input v-model="approveData.faultReason" rows="4" placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> - </a-form-model-item> - </a-col> - <a-col :span="24"> - <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairResultDescription"> - <a-textarea v-model="approveData.repairResultDescription" placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - <a-col :span="24"> - <a-form-model-item label="缁翠慨鍥剧墖"> - <j-image-upload v-model="approveData.imageFiles" :is-multiple="true" :number="3"/> - </a-form-model-item> - </a-col> - </template> - </a-row> - </a-form-model> + <a-tab-pane key='2' tab='娴佺▼鑺傜偣'> + <a-card :bordered="false"> + <a-timeline> + <a-timeline-item v-for="(item,index) in hitaskDataSource" :key="index"> + <div> + <h3 style="font-weight: bold">{{item.taskName}}</h3> + <div>澶勭悊浜猴細{{item.assignee_dictText}}</div> + <div v-if="index !==0">澶勭悊鏃堕暱锛歿{item.duration}}</div> + <div v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</div> + <div v-if="item.description">澶勭悊鎰忚锛歿{item.description}}</div> + </div> + </a-timeline-item> + </a-timeline> + </a-card> + </a-tab-pane> + </a-tabs> + </a-spin> </div> + + <a-tabs default-active-key='1'> + <a-tab-pane key="1" tab="瀹℃壒璇︽儏"> + <a-form-model ref="form" :model="approveData" :rules="validatorRules" :labelCol='labelCol' + :wrapperCol='wrapperCol'> + <a-row> + <a-col :span="24"> + <a-form-model-item label="鏄惁闇�瑕侀鐢ㄥ浠�" prop="status"> + <a-radio-group v-model="approveData.status"> + <a-radio :value="1">鏄�</a-radio> + <a-radio :value="0">鍚�</a-radio> + </a-radio-group> + </a-form-model-item> + </a-col> + + <template v-if="approveData.status===0"> + <a-col :span="24"> + <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason"> + <a-input v-model="approveData.faultReason" rows="4" placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairResultDescription"> + <a-textarea v-model="approveData.repairResultDescription" placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨鍥剧墖"> + <j-image-upload v-model="approveData.imageFiles" :is-multiple="true" :number="3"/> + </a-form-model-item> + </a-col> + </template> + </a-row> + </a-form-model> + </a-tab-pane> + </a-tabs> </a-card> - - <template slot="footer"> - <div> - <a-button @click="handCancel">鍙栨秷</a-button> - <a-button @click="submitForm" type="primary">鎻� 浜�</a-button> - </div> - </template> </a-modal> </template> <script> import '@assets/less/TableExpand.less' import { getAction, deleteAction, postAction, downFile, httpAction } from '@api/manage' + import LxSearchEquipmentSelect from '../../../eam/equipment/modules/LxSearchEquipmentSelect' export default { name: 'RepairOrderApprovalModal', + components: { LxSearchEquipmentSelect }, props: { selectShenpiData: { type: Object, @@ -148,12 +137,11 @@ inputReadOnly: true, spinning: false, tableRowRecord: {}, - assignFileStream: {}, hitaskDataSource: [], imageSrc: null, labelCol: { xs: { span: 24 }, - sm: { span: 5 } + sm: { span: 6 } }, wrapperCol: { xs: { span: 24 }, @@ -171,7 +159,6 @@ ] }, approveData: {}, - flowData: {}, visible: false, // 琛ㄥご url: { @@ -184,16 +171,13 @@ showBmpButtonLoading: false } }, - created() { - }, methods: { /** - * 鑾峰彇寰呭姙璁板綍鐨勫熀鏈俊鎭� + * 鑾峰彇娴佺▼鑺傜偣 * @param record 寰呭姙璁板綍淇℃伅 */ getAllApproveData(record) { console.log('selectShenpiData----->', this.selectShenpiData) - this.flowData = Object.assign({}, record) const param = { 'procInstId': record.dataId } getAction(this.url.queryHisTaskList, param) .then(res => { @@ -209,7 +193,8 @@ this.spinning = true const that = this const param = { id: record.dataId } - this.tableRowRecord = this.approveData = {} + this.tableRowRecord = {} + this.approveData = { status: 0 } getAction(this.url.queryBomDataById, param) .then((res => { if (res.success) { @@ -226,13 +211,10 @@ fetchAndShowBmp() { this.isDisplayBmp = !this.isDisplayBmp if (!this.imageSrc) { + const { processDefinitionId, processInstanceId, processDefinitionKey } = this.selectShenpiData + let param = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey } this.showBmpButtonLoading = true const that = this - let param = { - processDefinitionId: this.flowData.processDefinitionId, - processInstanceId: this.flowData.processInstanceId, - TaskDefinitionKey: this.flowData.processDefinitionKey - } downFile(this.url.diagramView, param, 'get') .then((res => { const urlObject = window.URL.createObjectURL(new Blob([res])) @@ -292,13 +274,6 @@ } </script> <style scoped> - .shallow-hr { - border: 0; - height: 1px; /* 鍒嗙晫绾跨殑楂樺害 */ - background-color: rgba(0, 0, 0, 0.1); /* 浣跨敤 RGBA 棰滆壊锛屽苟璁剧疆杈冧綆鐨勯�忔槑搴� */ - margin: 20px 0; /* 鍒嗙晫绾夸笂涓嬬殑澶栬竟璺� */ - } - .btn-custom { background-color: #4CAF50; /* 缁胯壊鑳屾櫙 */ color: #fff; /* 鐧借壊鏂囧瓧 */ -- Gitblit v1.9.3