From e4faae7013473a55ed9fef7c5f4359365e2958ff Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期一, 21 四月 2025 11:24:32 +0800 Subject: [PATCH] 1、我的待办页面 设备点检 分类审批新增添加点检照片功能 2、我的待办页面 设备周保流程 分类审批弹窗功能逻辑开发并复用至我的已办页面 3、我的待办页面 设备维修 分类审批弹窗样式与其他保持一致 4、故障保修调整保修图片上传逻辑 5、保养标准页面 调整导入对应的方法名 --- src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue | 2 src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue | 25 +- src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue | 302 ++++++++++++++++++++----------------- src/views/eam/repair/modules/ImagesPreviewModal.vue | 75 +++++---- src/views/flowable/workflow/FlowCompleted.vue | 14 + src/views/flowable/workflow/FlowTodo.vue | 1 src/views/eam/base/EamMaintenanceStandardList.vue | 4 src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue | 10 8 files changed, 238 insertions(+), 195 deletions(-) diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue index ce37ca9..a422f17 100644 --- a/src/views/eam/base/EamMaintenanceStandardList.vue +++ b/src/views/eam/base/EamMaintenanceStandardList.vue @@ -45,12 +45,12 @@ <div class="table-operator"> <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="inspectionImportExcel" - @change="inspectionImportExcel"> + @change="handleImportExcel"> <a-button type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button> </a-upload> <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">鐐规鏍囧噯妯℃澘涓嬭浇</a-button> <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="weekMaintenanceImportExcel" - @change="weekMaintenanceImportExcel"> + @change="handleImportExcel"> <a-button type="primary" icon="import">鍛ㄤ繚鏍囧噯瀵煎叆</a-button> </a-upload> <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.weekMaintenanceXlsDownloadUrl)">鍛ㄤ繚鏍囧噯妯℃澘涓嬭浇</a-button> diff --git a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue index 8fe5db7..657fe80 100644 --- a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue +++ b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue @@ -63,7 +63,7 @@ <a-row> <a-col :span="24"> <a-form-model-item prop="imageFiles" label="鎶ヤ慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <j-image-upload v-model="model.imageFiles" :is-multiple="true" :number="3"/> + <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" v-model="model.imageFilesResult"/> </a-form-model-item> </a-col> </a-row> diff --git a/src/views/eam/repair/modules/ImagesPreviewModal.vue b/src/views/eam/repair/modules/ImagesPreviewModal.vue index 9b017db..37ac715 100644 --- a/src/views/eam/repair/modules/ImagesPreviewModal.vue +++ b/src/views/eam/repair/modules/ImagesPreviewModal.vue @@ -1,56 +1,61 @@ <template> <a-modal title="棰勮" :visible="visible" width="50%" :footer="null" @cancel="visible=false"> - <template v-for="(item,index) in imageListUrl.split(',')"> + <template v-for="(item,index) in imageUrlArr"> <img :src="getImageItemUrl(item)" width="100%;"/> - <a-divider v-if="index+1<imageListUrl.split(',').length" style="margin:20px 0;background-color: #000"></a-divider> + <a-divider v-if="index+1<imageUrlArr.length" style="margin:20px 0;background-color: #000"></a-divider> </template> </a-modal> </template> <script> -export default { - name: 'ImagesPreviewModal', - props: { - imageListUrl: { - type: String, - default: '' - } - }, - data() { - return { - visible: false - } - }, - methods: { - getImageItemUrl(imageItemSrcSuffix) { - return `${window._CONFIG['domianURL']}/${imageItemSrcSuffix}` + export default { + name: 'ImagesPreviewModal', + props: { + imageListUrl: { + type: String, + default: '' + } + }, + data() { + return { + visible: false + } + }, + computed: { + imageUrlArr() { + return JSON.parse(this.imageListUrl).map(item => item.filePath) + } + }, + methods: { + getImageItemUrl(imageItemSrcSuffix) { + return `${window._CONFIG['domianURL']}/${imageItemSrcSuffix}` + } } } -} </script> <style scoped lang="less"> -/deep/ .ant-modal { - height: 70%; - overflow: hidden; - - .ant-modal-content { - height: 100%; - display: flex; - flex-direction: column; + /deep/ .ant-modal { + height: 70%; overflow: hidden; - ::-webkit-scrollbar { - width: 8px; - height: 8px; - } + .ant-modal-content { + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; - .ant-modal-body { - flex: 1; - overflow: auto; + ::-webkit-scrollbar { + width: 8px; + height: 8px; + } + + .ant-modal-body { + flex: 1; + overflow: auto; + } } } -} </style> \ No newline at end of file diff --git a/src/views/flowable/workflow/FlowCompleted.vue b/src/views/flowable/workflow/FlowCompleted.vue index c851a89..abe28c9 100644 --- a/src/views/flowable/workflow/FlowCompleted.vue +++ b/src/views/flowable/workflow/FlowCompleted.vue @@ -80,6 +80,8 @@ </div> <inspection-order-handle ref="modalFormInspectionOrderXq" :selectShenpiData="selectInspectionOrderXqData"/> + + <week-maintenance-approval-modal ref="weekMaintenanceApprovalModal" :selectShenpiData="selectWeekMaintenanceData"/> </a-card> </template> @@ -90,11 +92,13 @@ import { JeecgListMixin } from '@/mixins/JeecgListMixin' import JDictSelectTag from '@/components/dict/JDictSelectTag.vue' import InspectionOrderHandle from './InspectionOrder/InspectionOrderHandle' + import WeekMaintenanceApprovalModal from './weekMaintenance/WeekMaintenanceApprovalModal' export default { name: 'NcDeviceCharactersList', mixins: [JeecgListMixin, mixinDevice], components: { + WeekMaintenanceApprovalModal, InspectionOrderHandle, JDictSelectTag }, @@ -162,8 +166,7 @@ list: '/assign/flow/finishedList' }, dictOptions: {}, - selectShenpiData: {}, - selectDispatchFileXqData: {}, + selectWeekMaintenanceData: {}, selectInspectionOrderXqData: {} } }, @@ -199,8 +202,11 @@ return result }, - handleWeekMaintenance() { - + handleWeekMaintenance(record) { + this.selectWeekMaintenanceData = Object.assign({}, record) + this.$refs.weekMaintenanceApprovalModal.handleDetail(record) + this.$refs.weekMaintenanceApprovalModal.title = '璇︽儏' + this.$refs.weekMaintenanceApprovalModal.disableSubmit = true }, handInspectionOrder(record) { diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue index 24f25ba..b4aacf8 100644 --- a/src/views/flowable/workflow/FlowTodo.vue +++ b/src/views/flowable/workflow/FlowTodo.vue @@ -291,6 +291,7 @@ handleRepairOrder(record) { this.selectRepairOrderData = Object.assign({}, record) this.$refs.repairOrderApprovalModal.visible = true + this.$refs.repairOrderApprovalModal.title = record.name this.$refs.repairOrderApprovalModal.getAllApproveData(record) this.$refs.repairOrderApprovalModal.getBasicInformation(record) } diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue index f70bca9..d0c93c4 100644 --- a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue +++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue @@ -78,8 +78,8 @@ <a-row> <a-form-model-item prop="imageFilesResult" label="鐐规鍥剧墖" :labelCol="{span:2}" :wrapperCol="{span:21}"> <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3" - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='UNDER_INSPECTION'" - v-model="tableRowRecord.imageFiles"/> + :disabled="isDisableOperation||!hasInspectionDateArrived" + v-model="tableRowRecord.fileList"/> </a-form-model-item> </a-row> @@ -105,7 +105,7 @@ > <template v-slot:inspectionResult="props"> <j-dict-select-tag v-model="props.row.inspectionResult" dictCode="eam_inspection_result" - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='UNDER_INSPECTION'" + :disabled="isDisableOperation" placeholder="璇烽�夋嫨鐐规缁撴灉" @change="handleInspectionResultSelectChange($event,props.row)" style="width: 100%"/> @@ -114,13 +114,13 @@ <template v-slot:exceptionDescription="props"> <a-textarea style="height: 32px" v-model="props.row.exceptionDescription" :placeholder="props.row.inspectionResult==='2'?'璇疯緭鍏ュ紓甯告弿杩�':''" - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='UNDER_INSPECTION'||!props.row.inspectionResult||props.row.inspectionResult==='1'"/> + :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult==='1'"/> </template> <template v-slot:reportFlag="props"> <j-dict-select-tag v-model="props.row.reportFlag" :placeholder="props.row.inspectionResult==='2'?'璇烽�夋嫨寮傚父鏄惁淇濅慨':''" - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='UNDER_INSPECTION'||!props.row.inspectionResult||props.row.inspectionResult==='1'" + :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult==='1'" dictCode="yn" style="width: 100%"/> </template> @@ -150,7 +150,7 @@ </template> <a-button - v-if="selectedRowKeys.length>0&&!disableSubmit&&tableRowRecord.inspectionStatus==='UNDER_INSPECTION'&&hasInspectionDateArrived&&activeTabKey==='1'" + v-if="selectedRowKeys.length>0&&!isDisableOperation&&hasInspectionDateArrived&&activeTabKey==='1'" slot="tabBarExtraContent" type="primary" @click="handleSelectAllInspectionResult">鎵归噺鐐规姝e父 </a-button> @@ -175,8 +175,7 @@ <a-col :span="12"> <a-form-model-item prop="confirmDealType" label="澶勭悊绫诲瀷"> <j-dict-select-tag type='radio' v-model='tableRowRecord.confirmDealType' dictCode='approved_rejected' - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'" - placeholder="璇烽�夋嫨澶勭悊绫诲瀷"/> + :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'"/> </a-form-model-item> </a-col> @@ -305,8 +304,6 @@ } ] }, - isDisplayBmp: false, - showBmpButtonLoading: false, selectedRowKeys: [], disableSubmit: false, activeTabKey: '1', @@ -319,11 +316,14 @@ }, isDisplayConfirm() { return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.inspectionStatus) + }, + isDisableOperation() { + return this.disableSubmit || this.tableRowRecord.inspectionStatus !== 'UNDER_INSPECTION' } }, methods: { /** - * 鑾峰彇娴佺▼鑺傜偣 + * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘 * @param record 寰呭姙璁板綍淇℃伅 */ getAllApproveData(record) { @@ -366,7 +366,7 @@ getAction(this.url.queryBomDataById, param) .then((res => { if (res.success) { - that.tableRowRecord = res.result[0] + that.tableRowRecord = { ... res.result[0], fileList: JSON.parse(res.result[0].imageFiles) } if (!this.hasInspectionDateArrived && !this.disableSubmit) this.title += `锛堟湭鍒扮偣妫�鏃ユ湡涓嶈兘鎻愬墠鐐规锛塦 that.detail.dataSource = res.result[0].tableDetailList console.log('that.tableRowRecord----->', that.tableRowRecord) @@ -392,6 +392,7 @@ flowTaskVo.values = this.selectShenpiData.variables flowTaskVo.confirmDealType = this.tableRowRecord.confirmDealType flowTaskVo.confirmComment = this.tableRowRecord.confirmComment + flowTaskVo.fileList = this.tableRowRecord.fileList flowTaskVo.tableDetailList = this.$refs.editableDetailTable.getTableData() const that = this console.log('琛ㄥ崟鎻愪氦鏁版嵁', flowTaskVo) diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue index 76c6210..f158743 100644 --- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue +++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue @@ -1,118 +1,147 @@ <template> <a-modal - :width="1000" + :width="1200" :visible="visible" + :title="title" @cancel="handCancel" @ok="submitForm" :mask-closable="false" centered > - <a-card :bordered="false"> - <div> - <b>{{ selectShenpiData.title }}</b> - <br/> - <br/> - <a-tag color="blue"> - 澶勭悊浜� {{ selectShenpiData.assignee }} - </a-tag> - <a-tag color="blue"> - 鍒涘缓鏃堕棿 {{ selectShenpiData.createTime }} - </a-tag> - <br> - <br> - <a-button @click="fetchAndShowBmp" :loading="showBmpButtonLoading" class="btn-custom">娴佺▼鍥�</a-button> - <div v-if="imageSrc&&isDisplayBmp"> - <img :src="imageSrc" alt="Fetched Image"/> - </div> - <!--<hr class="shallow-hr"/>--> - </div> + <a-spin :spinning="spinning"> + <a-form-model :model='tableRowRecord' :rules='validatorRules' :labelCol='labelCol' + :wrapperCol='wrapperCol'> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鎶ヤ慨鍩虹淇℃伅</a-divider> - <div> - <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> + <a-row> + <a-col :span='threeColSpan'> + <a-form-model-item label='宸ュ崟缂栧彿'> + <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairCode'/> + </a-form-model-item> + </a-col> + <a-col :span='threeColSpan'> + <a-form-model-item label='璁惧缂栧彿'> + <lx-search-equipment-select disabled v-model='tableRowRecord.equipmentId'/> + </a-form-model-item> + </a-col> + <a-col :span='threeColSpan'> + <a-form-model-item label='鍗曟嵁鐘舵��'> + <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairStatus_dictText'/> + </a-form-model-item> + </a-col> + </a-row> - <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-row> + <a-col :span='threeColSpan'> + <a-form-model-item label='缁翠慨璐熻矗浜�'> + <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairer'/> + </a-form-model-item> + </a-col> + <a-col :span="threeColSpan"> + <a-form-model-item label="鏁呴殰寮�濮嬫椂闂�"> + <a-input :readOnly='inputReadOnly' v-model="tableRowRecord.faultStartTime"/> + </a-form-model-item> + </a-col> - <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> + <a-col :span="threeColSpan"> + <a-form-model-item label="鏄惁鍋滄満"> + <j-dict-select-tag type='radio' v-model='tableRowRecord.breakdownFlag' dictCode='breakdown_flag' + disabled/> + </a-form-model-item> + </a-col> + </a-row> - <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-row> + <a-col :span='threeColSpan*3'> + <a-form-model-item label='鎶ヤ慨鍥剧墖' :labelCol='labelColLong' :wrapperCol='wrapperColLong'> + <j-image-upload v-model="tableRowRecord.imageFiles" disabled :is-multiple="true" :number="3"/> + </a-form-model-item> + </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-form-model ref="form" :model="approveData" :rules="validatorRules" :labelCol='labelCol' + :wrapperCol='wrapperCol'> + <a-row> + <a-col :span="twoColSpan*2"> + <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-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 v-if="approveData.status===0"> + <a-col :span="twoColSpan*2"> + <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="twoColSpan*2"> + <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairResultDescription"> + <a-textarea v-model="approveData.repairResultDescription" placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> + </a-form-model-item> + </a-col> + <a-col :span="twoColSpan*2"> + <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-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-tab-pane key='3' tab='娴佺▼鍥�'> + <img :src="imageSrc" alt="Fetched Image"/>--> + </a-tab-pane> + </a-tabs> + + <template> + <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 prop="confirmDealType" label="澶勭悊绫诲瀷"> + <j-dict-select-tag type='radio' v-model='tableRowRecord.confirmDealType' dictCode='approved_rejected' + :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'" + placeholder="璇烽�夋嫨澶勭悊绫诲瀷"/> + </a-form-model-item> + </a-col> + + <a-col :span="twoColSpan"> + <a-form-model-item prop="confirmComment" label="澶勭悊鎰忚"> + <a-textarea placeholder="璇疯緭鍏ュ鐞嗘剰瑙�" + :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'" + v-model="tableRowRecord.confirmComment"/> + </a-form-model-item> + </a-col> + </a-row> + </template> + + </a-form-model> + </a-spin> </a-modal> </template> @@ -132,13 +161,17 @@ }, data() { return { + title: '', form: this.$form.createForm(this), - span: 12, + threeColSpan: 8, + twoColSpan: 12, inputReadOnly: true, + disableSubmit: false, spinning: false, tableRowRecord: {}, hitaskDataSource: [], imageSrc: null, + activeTabKey: '1', labelCol: { xs: { span: 24 }, sm: { span: 6 } @@ -146,6 +179,14 @@ wrapperCol: { xs: { span: 24 }, sm: { span: 16 } + }, + labelColLong: { + xs: { span: 24 }, + sm: { span: 2 } + }, + wrapperColLong: { + xs: { span: 24 }, + sm: { span: 20 } }, validatorRules: { status: [ @@ -166,22 +207,36 @@ diagramView: '/assign/flow/diagramView', queryHisTaskList: '/assign/flow/queryHisTaskList', approve: '/activit/assign/file/approve' - }, - isDisplayBmp: false, - showBmpButtonLoading: false + } } }, methods: { /** - * 鑾峰彇娴佺▼鑺傜偣 + * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘 * @param record 寰呭姙璁板綍淇℃伅 */ getAllApproveData(record) { - console.log('selectShenpiData----->', this.selectShenpiData) - const param = { 'procInstId': record.dataId } + console.log('record----->', record) + const { procInstId, processDefinitionId, processInstanceId, processDefinitionKey } = record + const param = { procInstId } + const imageParam = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey } + const that = this + getAction(this.url.queryHisTaskList, param) .then(res => { - this.hitaskDataSource = res.result + that.hitaskDataSource = res.result + }) + + downFile(this.url.diagramView, imageParam, 'get') + .then((res => { + const urlObject = window.URL.createObjectURL(new Blob([res])) + that.imageSrc = urlObject + })) + .catch(err => { + that.$notification.error({ + message: '娑堟伅', + description: res.message + }) }) }, @@ -195,6 +250,7 @@ const param = { id: record.dataId } this.tableRowRecord = {} this.approveData = { status: 0 } + this.activeTabKey = '1' getAction(this.url.queryBomDataById, param) .then((res => { if (res.success) { @@ -205,31 +261,6 @@ .finally(() => { that.spinning = false }) - }, - - // 鑾峰彇骞跺睍寮�娴佺▼鍥� - 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 - downFile(this.url.diagramView, param, 'get') - .then((res => { - const urlObject = window.URL.createObjectURL(new Blob([res])) - this.imageSrc = urlObject - })) - .catch(err => { - that.$notification.error({ - message: '娑堟伅', - description: res.message - }) - }) - .finally(() => { - this.showBmpButtonLoading = false - }) - } }, submitForm() { @@ -267,8 +298,7 @@ handCancel() { this.visible = false - this.isDisplayBmp = false - this.imageSrc = null + this.$refs.form.clearValidate() } } } diff --git a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue index e853f82..612bc6c 100644 --- a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue +++ b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue @@ -61,11 +61,12 @@ </a-form-model-item> </a-row> <a-row :gutter="24"> - <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="淇濆吇鍥剧墖"> + <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="淇濆吇鍥剧墖"> <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :disabled="confirmDisable" + :number="3" v-model="model.imageFilesResult"/> </a-form-model-item> </a-row> @@ -428,6 +429,7 @@ }, recordDetail(record) { + console.log('record', record) this.initParams() this.model = Object.assign({}, record) if (this.model.imageFiles) { @@ -462,11 +464,9 @@ // 瑙﹀彂琛ㄥ崟楠岃瘉 this.$refs.form.validate(valid => { if (valid) { + that.confirmLoading = that.spinning = true let tableData = that.$refs.editableDetailTable.getTableData() - that.model.tableDetailList = [...tableData] - - that.confirmLoading = spinnning = true let httpurl = this.url.approval let method = 'put' @@ -479,7 +479,7 @@ that.$message.warning(res.message) } }).finally(() => { - that.confirmLoading = spinning = false + that.confirmLoading = that.spinning = false }) } else { return false -- Gitblit v1.9.3