From 48d85187a16a313c5244a830862db5e672e6997d Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 18 七月 2025 17:08:15 +0800 Subject: [PATCH] 1、点检工单预览 2、技术鉴定工单变更 3、调整样式 --- src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue | 494 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 275 insertions(+), 219 deletions(-) diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue index edb6c42..1662efc 100644 --- a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue +++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue @@ -1,23 +1,22 @@ <template> <j-modal :title="title" :width="1200" :visible="visible" - :okButtonProps="{ class:{'jee-hidden': disableSubmit||!hasInspectionDateArrived} }" @ok="submitForm" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="submitForm" @cancel="handleCancel" :mask-closable="false" :confirmLoading="confirmLoading" fullscreen> <a-spin :spinning="spinning"> - <a-form-model ref='form' :model='tableRowRecord' :labelCol="labelCol" :wrapperCol="wrapperCol" - :rules="validatorRules"> - <a-row :gutter="48"> - <a-col :span="8"> + <a-form-model ref='form' :model='model' :labelCol="labelCol" :wrapperCol="wrapperCol" :rules="validatorRules"> + <a-row :gutter="48" id="outer-row"> + <a-col :span="8" class="scroll-col"> <a-tabs> <a-tab-pane tab="鍩虹淇℃伅"> <a-row> <a-col :span='span'> <a-form-model-item label="宸ュ崟鍙�"> - <a-input readOnly v-model="tableRowRecord.orderNum"/> + <a-input readOnly v-model="model.orderNum"/> </a-form-model-item> </a-col> <a-col :span='span'> <a-form-model-item label="璁惧缂栧彿"> - <MaintenanceEquipmentSelect v-model="tableRowRecord.equipmentId" + <MaintenanceEquipmentSelect v-model="model.equipmentId" :maintenanceCategory="'POINT_INSPECTION'" disabled @autocompleteForm="autoCompleteForm"/> </a-form-model-item> @@ -28,12 +27,12 @@ <a-row> <a-col :span='span'> <a-form-model-item label="瑙勮寖鍚嶇О"> - <a-input readOnly v-model="tableRowRecord.standardName"/> + <a-input readOnly v-model="model.standardName"/> </a-form-model-item> </a-col> <a-col :span='span'> <a-form-model-item label="瑙勮寖缂栫爜"> - <a-input readOnly v-model="tableRowRecord.standardCode"/> + <a-input readOnly v-model="model.standardCode"/> </a-form-model-item> </a-col> @@ -42,12 +41,12 @@ <a-row> <a-col :span='span'> <a-form-model-item label="鐐规鏃ユ湡"> - <a-input v-model="tableRowRecord.inspectionDate" readOnly/> + <a-input v-model="model.inspectionDate" readOnly/> </a-form-model-item> </a-col> <a-col :span='span'> - <a-form-model-item label="鐐规杩囨湡鏃堕棿"> - <a-input v-model="tableRowRecord.expirationTime" readOnly/> + <a-form-model-item label="杩囨湡鏃堕棿"> + <a-input v-model="model.expirationTime" readOnly/> </a-form-model-item> </a-col> </a-row> @@ -55,12 +54,12 @@ <a-row> <a-col :span='span'> <a-form-model-item label="淇濆吇鍛ㄦ湡"> - <a-input v-model="tableRowRecord.maintenancePeriod" readOnly/> + <a-input v-model="model.maintenancePeriod" readOnly/> </a-form-model-item> </a-col> <a-col :span='span'> <a-form-model-item label="鐐规浜�"> - <a-input v-model="tableRowRecord.operator_dictText" readOnly/> + <a-input v-model="model.operator_dictText" readOnly/> </a-form-model-item> </a-col> </a-row> @@ -68,7 +67,7 @@ <a-row> <a-col :span="span*2"> <a-form-model-item label="澶囨敞" :labelCol="{span:4}" :wrapperCol="{span:20}"> - <a-textarea v-model="tableRowRecord.remark" rows="3" readOnly/> + <a-textarea v-model="model.remark" rows="3" readOnly/> </a-form-model-item> </a-col> </a-row> @@ -76,13 +75,13 @@ </a-tabs> </a-col> - <a-col :span="disableSubmit||tableRowRecord.inspectionStatus=='UNDER_INSPECTION'?16:10"> - <a-tabs v-model="activeTabKey"> + <a-col :span="!isDisplayConfirm?16:10" class="scroll-col"> + <a-tabs :active-key="activeTabKey" @change="handleTabChange"> <a-tab-pane key="1" tab="鏃ョ偣妫�"> - <j-vxe-table ref="editableDetailTable" :rowNumber="false" rowSelection bordered - alwaysEdit :toolbar="false" keep-source :height="300" :loading="detail.loading" - :dataSource="detail.dataSource" :columns="detail.columns" - @selectRowChange="handleTableSelectRowChange"> + <j-vxe-table ref="editableDetailTable1" :rowNumber="false" rowSelection bordered + alwaysEdit :toolbar="false" keep-source :height="500" + :dataSource="detail.dayInspectionList" :columns="detail.columns" + @selectRowChange="handleTableSelectRowChange($event,'Day')"> <template v-slot:inspectionResult="props"> <j-dict-select-tag v-model="props.row.inspectionResult" dictCode="inspection_project_result" :disabled="isDisableOperation" placeholder="璇烽�夋嫨鐐规缁撴灉" @@ -91,94 +90,80 @@ </template> <template v-slot:exceptionDescription="props"> - <a-textarea style="height: 32px" v-model="props.row.exceptionDescription" - :placeholder="props.row.inspectionResult==='2'?'璇疯緭鍏ュ紓甯告弿杩�':''" - :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult==='1'"/> + <a-textarea :rows="1" style="resize: none" v-model="props.row.exceptionDescription" + :placeholder="props.row.inspectionResult&&props.row.inspectionResult!='NORMAL'?'璇疯緭鍏ュ紓甯告弿杩�':''" + :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult=='NORMAL'"/> </template> <template v-slot:reportFlag="props"> <j-dict-select-tag v-model="props.row.reportFlag" - :placeholder="props.row.inspectionResult==='2'?'璇烽�夋嫨寮傚父鏄惁鎶ヤ慨':''" - :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult==='1'" + :placeholder="props.row.inspectionResult&&props.row.inspectionResult!='NORMAL'?'璇烽�夋嫨寮傚父鏄惁鎶ヤ慨':''" + :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult=='NORMAL'" dictCode="yn" style="width: 100%"/> </template> </j-vxe-table> </a-tab-pane> - <a-tab-pane key="2" tab="鍛ㄧ偣妫�"> - <j-vxe-table ref="editableDetailTable" :rowNumber="false" rowSelection bordered - alwaysEdit :toolbar="false" keep-source :height="300" :loading="detail.loading" + <a-tab-pane key="2" tab="鍛ㄧ偣妫�" forceRender> + <j-vxe-table ref="editableDetailTable2" :rowNumber="false" rowSelection bordered + alwaysEdit :toolbar="false" keep-source :height="500" :dataSource="detail.weekInspectionList" :columns="detail.columns" - @selectRowChange="handleTableSelectRowChange"> + @selectRowChange="handleTableSelectRowChange($event,'Week')"> <template v-slot:inspectionResult="props"> <j-dict-select-tag v-model="props.row.inspectionResult" dictCode="inspection_project_result" - :disabled="isDisableOperation" placeholder="璇烽�夋嫨鐐规缁撴灉" + :disabled="isDisableOperation||detail.weekInspectionFinishedFlag" + placeholder="璇烽�夋嫨鐐规缁撴灉" @change="handleInspectionResultSelectChange($event,props.row)" style="width: 100%"/> </template> <template v-slot:exceptionDescription="props"> - <a-textarea style="height: 32px" v-model="props.row.exceptionDescription" - :placeholder="props.row.inspectionResult==='2'?'璇疯緭鍏ュ紓甯告弿杩�':''" - :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult==='1'"/> + <a-textarea :rows="1" style="resize: none" v-model="props.row.exceptionDescription" + :placeholder="props.row.inspectionResult&&props.row.inspectionResult!='NORMAL'?'璇疯緭鍏ュ紓甯告弿杩�':''" + :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult=='NORMAL'"/> </template> <template v-slot:reportFlag="props"> <j-dict-select-tag v-model="props.row.reportFlag" - :placeholder="props.row.inspectionResult==='2'?'璇烽�夋嫨寮傚父鏄惁鎶ヤ慨':''" - :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult==='1'" + :placeholder="props.row.inspectionResult&&props.row.inspectionResult!='NORMAL'?'璇烽�夋嫨寮傚父鏄惁鎶ヤ慨':''" + :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult=='NORMAL'" dictCode="yn" style="width: 100%"/> </template> </j-vxe-table> </a-tab-pane> <template v-if="selectShenpiData.procInstId"> - <a-tab-pane key='3' 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='4' tab='娴佺▼鍥�'> - <img :src="imageSrc" width="100%" v-if="imageSrc"/> + <a-tab-pane key='3' tab='娴佺▼鍥�'> + <img :src="imageSrc" v-if="imageSrc"/> </a-tab-pane> </template> <a-button - v-if="selectedRowKeys.length>0&&!isDisableOperation&&hasInspectionDateArrived&&activeTabKey==='1'&&activeTabKey==='2'" + v-if="activeTabKey=='1'||activeTabKey=='2'" + :disabled="(activeTabKey=='1'&&selectedDayInspectionRowKeys.length==0)||(activeTabKey=='2'&&selectedWeekInspectionRowKeys.length==0)||(activeTabKey=='2'&&detail.weekInspectionFinishedFlag)||isDisableOperation" slot="tabBarExtraContent" type="primary" @click="handleSelectAllInspectionResult">鎵归噺鐐规姝e父 </a-button> </a-tabs> </a-col> - <a-col v-if="!disableSubmit&&isDisplayConfirm" :span="6"> + <a-col v-if="isDisplayConfirm" :span="6" class="scroll-col"> <a-tabs> <a-tab-pane tab="缁翠慨宸ョ‘璁�"> <a-row> <a-col :span="24"> <a-form-model-item prop="confirmDealType" label="澶勭悊绫诲瀷"> - <j-dict-select-tag type='radio' v-model='tableRowRecord.confirmDealType' + <j-dict-select-tag type='radio' v-model='model.confirmDealType' dictCode='approved_rejected' - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'"/> + :disabled="disableSubmit||model.inspectionStatus!=='WAIT_CONFIRM'"/> </a-form-model-item> </a-col> <a-col :span="24"> - <a-form-model-item prop="confirmComment" label="澶勭悊鎰忚"> - <a-textarea placeholder="璇疯緭鍏ュ鐞嗘剰瑙�" - :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'" - v-model="tableRowRecord.confirmComment"/> + <a-form-model-item label="澶勭悊鎰忚"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" + :disabled="disableSubmit||model.inspectionStatus!=='WAIT_CONFIRM'" + v-model="model.confirmComment"/> </a-form-model-item> </a-col> </a-row> @@ -210,24 +195,20 @@ span: 12, confirmLoading: false, spinning: false, - tableRowRecord: {}, - hitaskDataSource: [], + model: {}, validatorRules: { confirmDealType: [ { required: true, message: '璇烽�夋嫨澶勭悊绫诲瀷' } - ], - confirmComment: [ - { required: true, message: '璇疯緭鍏ュ鐞嗘剰瑙�' } ] }, imageSrc: null, labelCol: { xs: { span: 24 }, - sm: { span: 9 } + sm: { span: 8 } }, wrapperCol: { xs: { span: 30 }, - sm: { span: 15 } + sm: { span: 16 } }, visible: false, // 琛ㄥご @@ -240,8 +221,6 @@ weekInspectionOrderList: '/eam/eamWeekInspectionDetail/queryStandardList' }, detail: { - loading: false, - dataSource: [], columns: [ { title: '搴忓彿', @@ -296,177 +275,100 @@ ] } ], - weekInspectionList: [] + dayInspectionList: [], + weekInspectionList: [], + weekInspectionFinishedFlag: false }, - selectedRowKeys: [], + selectedDayInspectionRowKeys: [], + selectedWeekInspectionRowKeys: [], disableSubmit: false, activeTabKey: '1', title: '' } }, computed: { - hasInspectionDateArrived() { - return moment(this.tableRowRecord.inspectionDate).diff(moment(), 'hours') <= 0 - }, isDisplayConfirm() { - return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.inspectionStatus) + return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.model.inspectionStatus) }, isDisableOperation() { - return this.disableSubmit || this.tableRowRecord.inspectionStatus !== 'UNDER_INSPECTION' + return this.disableSubmit || this.model.inspectionStatus !== 'UNDER_INSPECTION' } }, methods: { + handleApprove(record) { + this.spinning = true + this.activeTabKey = '1' + this.detail.dayInspectionList = this.detail.weekInspectionList = [] + this.getBasicInformationByApi(record) + this.getFlowChartImageByApi(record) + }, + + handleDetail(record) { + this.spinning = true + this.activeTabKey = '1' + this.detail.dayInspectionList = this.detail.weekInspectionList = [] + this.model = Object.assign({}, record) + this.getDayInspectionOrderListByApi(record.id) + this.getWeekInspectionOrderListByApi(record.standardId) + }, + /** - * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘 - * @param record 寰呭姙璁板綍淇℃伅 + * 鑾峰彇鍩虹淇℃伅 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 */ - getAllApproveData(record) { - if (record.procInstId) { - const { processDefinitionId, processInstanceId, processDefinitionKey, procInstId } = record - const param = { procInstId } - const imageParam = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey } - const that = this - - getAction(this.url.queryHisTaskList, param) - .then(res => { - 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({ + getBasicInformationByApi(record) { + const that = this + getAction(this.url.queryById, { id: record.dataId }) + .then(res => { + if (res.success) { + that.model = Object.assign({}, res.result) + that.model.dataId = record.dataId + that.model.taskId = record.id + that.model.userId = record.assignee + that.model.instanceId = record.procInstId + this.getDayInspectionOrderListByApi(record.dataId) + this.getWeekInspectionOrderListByApi(this.model.standardId) + } + else { + that.$notification.warning({ message: '娑堟伅', description: res.message }) + } + }) + }, + + /** + * 鑾峰彇娴佺▼鍥� + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + getFlowChartImageByApi(record) { + const { processDefinitionId, processInstanceId, processDefinitionKey } = record + const imageParam = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey } + const that = this + + downFile(this.url.diagramView, imageParam, 'get') + .then((res => { + that.imageSrc = window.URL.createObjectURL(new Blob([res])) + })) + .catch(err => { + that.$notification.error({ + message: '娑堟伅', + description: err.message }) - } + }) }, /** - * 鑾峰彇寰呭姙璁板綍鐨勫熀鏈俊鎭� - * @param record 寰呭姙璁板綍淇℃伅 + * 鑾峰彇鐐规宸ュ崟涓殑鏃ョ偣妫�鍒楄〃 + * @param orderId 宸ュ崟鍙� */ - async getBasicInformation(record) { - this.activeTabKey = '1' - this.detail.dataSource = [] - this.spinning = true - const param = { id: record.dataId } - let res = await getAction(this.url.queryById, param) - this.tableRowRecord = Object.assign({}, res.result) - this.loadDetail(record.dataId) - console.log('record', record) - this.getWeekInspectionOrderListByApi(this.tableRowRecord.standardId) - }, - - async submitForm() { - let errMap = await this.$refs.editableDetailTable.validateTable() - if (errMap) { - console.log('err', errMap) - return - } - - this.$refs.form.validate(valid => { - if (valid) { - this.confirmLoading = this.spinning = true - const flowTaskVo = {} - flowTaskVo.dataId = this.selectShenpiData.dataId - flowTaskVo.taskId = this.selectShenpiData.id - flowTaskVo.userId = this.selectShenpiData.assignee - flowTaskVo.instanceId = this.selectShenpiData.procInstId - flowTaskVo.values = this.selectShenpiData.variables - flowTaskVo.confirmDealType = this.tableRowRecord.confirmDealType - flowTaskVo.confirmComment = this.tableRowRecord.confirmComment - flowTaskVo.tableDetailList = this.$refs.editableDetailTable.getTableData() - const that = this - postAction(this.url.approve, flowTaskVo) - .then((res) => { - if (res.success) { - that.$message.success(res.message) - //鍒锋柊琛ㄦ牸 - that.$emit('searchReset') - that.handleCancel() - } else { - that.$message.warning(res.message) - } - }) - .finally(() => { - that.confirmLoading = this.spinning = false - }) - } else { - return false - } - }) - }, - - autoCompleteForm({ standardName, maintenancePeriod, standardCode }) { - this.$set(this.tableRowRecord, 'standardName', standardName) - this.$set(this.tableRowRecord, 'maintenancePeriod', maintenancePeriod) - this.$set(this.tableRowRecord, 'standardCode', standardCode) - }, - - // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉 - handleSelectAllInspectionResult() { - this.selectedRowKeys.forEach(key => { - const dataItem = this.detail.dataSource.find(item => item.id === key) - if (dataItem && dataItem.inspectionResult !== '1') { - delete dataItem.exceptionDescription - delete dataItem.reportFlag - dataItem.inspectionResult = '1' - } - }) - this.$refs.editableDetailTable.clearCheckboxRow() - this.selectedRowKeys = [] - }, - - /** - * 琛ㄦ牸澶氶�夋鍙戠敓鏀瑰彉鏃惰Е鍙� - * @param {selectedRowIds} 琛ㄦ牸涓凡閫夋嫨鐨処D鍒楄〃 - */ - handleTableSelectRowChange({ selectedRowIds }) { - this.selectedRowKeys = selectedRowIds - }, - - /** - * 鐐规缁撴灉閫夋嫨鍣ㄥ彂鐢熸敼鍙樻椂瑙﹀彂 - * @param value 鏀瑰彉鍚庣殑鍊� - * @param record 淇濆吇鏄庣粏琛岃褰� - */ - handleInspectionResultSelectChange(value, record) { - if (record.exceptionDescription) delete record.exceptionDescription - if (record.reportFlag) delete record.reportFlag - }, - - customValidator({ cellValue, row }, callback) { - if (row.inspectionResult === '2') { - if (!cellValue) { - callback(false, '${title}涓嶈兘涓虹┖锛�') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀� - } else { - callback(true) // true = 閫氳繃楠岃瘉 - } - } else { - callback(true) - } - }, - - handleCancel() { - this.selectedRowKeys = [] - this.visible = false - }, - - /** - * 鑾峰彇鏃ョ偣妫�鏄庣粏 - * @param orderId - */ - loadDetail(orderId) { + getDayInspectionOrderListByApi(orderId) { if (orderId) { getAction(this.url.detailList, { orderId }) .then(res => { if (res.success) { - this.detail.dataSource = [...res.result] + this.detail.dayInspectionList = res.result } }) .finally(() => { @@ -480,20 +382,174 @@ * @param standardId 瑙勮寖id */ getWeekInspectionOrderListByApi(standardId) { - console.log('standardId-------------------------', standardId) - getAction(this.url.weekInspectionOrderList, { standardId, inspectionDate: this.tableRowRecord.inspectionDate }) + getAction(this.url.weekInspectionOrderList, { standardId, inspectionDate: this.model.inspectionDate }) .then(res => { - if (res.success) this.detail.weekInspectionList = res.result + if (res.success) { + this.detail.weekInspectionList = res.result.list + this.detail.weekInspectionFinishedFlag = res.result.weekInsFlag + } }) .finally(() => { this.spinning = false }) + }, + + /** + * tab鏍忓垏鎹㈡椂瑙﹀彂 + * @param tabKey 鍒囨崲鍚庣殑tabKey + */ + handleTabChange(tabKey) { + if (this.activeTabKey == '1') this.$refs.editableDetailTable1.clearValidate() + this.activeTabKey = tabKey + }, + + // 鎻愪氦浜嬩欢 + async submitForm() { + let errMap = await this.$refs.editableDetailTable1.validateTable() + if (errMap) { + if (this.activeTabKey != '1') { + this.activeTabKey = '1' + // 鍐呴儴鏍¢獙鎻愮ず鍥爐ab鍒囨崲鏃跺畾浣嶅嚭鐜伴棶棰樺洜姝ゅ湪姝ゅ娓呮鍐呴儴鏍¢獙鎻愮ず锛屽鍔爊otification鎻愮ず + this.$refs.editableDetailTable1.clearValidate() + this.$notification.warning({ + message: '娑堟伅', + description: '鏃ョ偣妫�缁撴灉涓嶈兘涓虹┖' + }) + } + return + } + + this.$refs.form.validate(valid => { + if (valid) { + this.confirmLoading = this.spinning = true + this.model.tableDetailList = this.$refs.editableDetailTable1.getTableData() + if (!this.detail.weekInspectionFinishedFlag) this.model.tableWeekDetailList = this.$refs.editableDetailTable2.getTableData() + const that = this + postAction(this.url.approve, this.model) + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + //鍒锋柊琛ㄦ牸 + that.$emit('modalFormOk') + that.handleCancel() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.confirmLoading = this.spinning = false + }) + } else { + return false + } + }) + }, + + autoCompleteForm({ standardName, maintenancePeriod, standardCode }) { + this.$set(this.model, 'standardName', standardName) + this.$set(this.model, 'maintenancePeriod', maintenancePeriod) + this.$set(this.model, 'standardCode', standardCode) + }, + + // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉 + handleSelectAllInspectionResult() { + let selectedRowKeys, prefix + if (this.activeTabKey == '1') { + selectedRowKeys = this.selectedDayInspectionRowKeys + prefix = 'day' + } + else if (this.activeTabKey == '2') { + selectedRowKeys = this.selectedWeekInspectionRowKeys + prefix = 'week' + } + else selectedRowKeys = [] + if (selectedRowKeys.length == 0) return + + selectedRowKeys.forEach(key => { + const dataItem = this.detail[prefix + 'InspectionList'].find(item => item.id === key) + if (dataItem && dataItem.inspectionResult !== 'NORMAL') { + delete dataItem.exceptionDescription + delete dataItem.reportFlag + dataItem.inspectionResult = 'NORMAL' + } + }) + this.$refs['editableDetailTable' + this.activeTabKey].clearCheckboxRow() + this['selected' + prefix.charAt(0).toUpperCase() + prefix.slice(1) + 'InspectionRowKeys'] = [] + }, + + /** + * 琛ㄦ牸澶氶�夋鍙戠敓鏀瑰彉鏃惰Е鍙� + * @param {selectedRowIds} 琛ㄦ牸涓凡閫夋嫨鐨処D鍒楄〃 + * @param key 鐐规鍖哄垎key + */ + handleTableSelectRowChange({ selectedRowIds }, key) { + this['selected' + key + 'InspectionRowKeys'] = selectedRowIds + }, + + /** + * 鐐规缁撴灉閫夋嫨鍣ㄥ彂鐢熸敼鍙樻椂瑙﹀彂 + * @param value 鏀瑰彉鍚庣殑鍊� + * @param record 淇濆吇鏄庣粏琛岃褰� + */ + handleInspectionResultSelectChange(value, record) { + if (record.exceptionDescription) delete record.exceptionDescription + if (record.reportFlag) delete record.reportFlag + }, + + /** + * 寮傚父鎻忚堪涓庡紓甯告槸鍚︿繚淇瓧娈佃嚜瀹氫箟鏍¢獙鏂规硶 + * @param cellValue 鍗曞厓鏍煎唴鐨勫�� + * @param row 褰撳墠琛岃褰� + * @param callback 缁撴灉鍥炶皟鍑芥暟 + */ + customValidator({ cellValue, row }, callback) { + if (this.activeTabKey == '1' && row.inspectionResult != 'NORMAL') { + if (!cellValue) { + callback(false, '璇疯緭鍏�${title}') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀� + } else { + callback(true) // true = 閫氳繃楠岃瘉 + } + } else { + callback(true) + } + }, + + handleCancel() { + this.selectedDayInspectionRowKeys = this.selectedWeekInspectionRowKeys = [] + this.visible = false } } } </script> -<style scoped> +<style scoped lang="less"> /deep/ .ant-select-dropdown-menu { text-align: left; } + + /deep/ .ant-spin-nested-loading { + height: 100%; + + .ant-spin-container { + height: 100%; + + .ant-form { + height: 100%; + + #outer-row { + height: 100%; + + .scroll-col { + height: 100%; + overflow: auto; + } + } + } + } + } </style> \ No newline at end of file -- Gitblit v1.9.3