From f3aaac69a79ce61de3d8b8d674cd4c153c00f38f Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 15 四月 2025 10:06:02 +0800 Subject: [PATCH] art: 生产打包配置 --- src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue | 194 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 146 insertions(+), 48 deletions(-) diff --git a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue index aed2480..503be9c 100644 --- a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue +++ b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue @@ -23,7 +23,8 @@ <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栫爜"> <maintenance-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId" :maintenanceCategory="maintenanceCategory" - @autocompleteForm="autocompleteForm" disabled></maintenance-equipment-select> + @autocompleteForm="autocompleteForm" + disabled></maintenance-equipment-select> </a-form-model-item> </a-col> <a-col :span="8"> @@ -35,7 +36,8 @@ <a-row :gutter="24"> <a-col :span="8"> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceDate" label="淇濆吇鏃ユ湡"> - <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD" disabled + <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD" + disabled style="width: 100%" /> </a-form-model-item> </a-col> @@ -56,31 +58,70 @@ <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" disabled /> </a-form-model-item> </a-row> - + <a-row :gutter="24"> + <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="淇濆吇鍥剧墖"> + <lx-upload :returnUrl="false" + :isMultiple="true" + file-type="image" + v-model="model.fileList" /> + </a-form-model-item> + </a-row> <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 淇濆吇椤逛俊鎭� </a-divider> <a-row :gutter="24"> - <j-vxe-table - ref="editableDetailTable" - :rowNumber="true" - :rowSelection="true" - :bordered="true" - :alwaysEdit="true" - :toolbar="true" - :toolbarConfig="detail.toolbarConfig" - keep-source - :height="300" - :loading="detail.loading" - :dataSource="detail.dataSource" - :columns="detail.columns" - style="margin-top: 8px;" /> + <a-tabs> + <a-tab-pane key="1" tab="淇濆吇椤规槑缁�"> + <j-vxe-table + ref="editableDetailTable" + :rowNumber="false" + :rowSelection="true" + :bordered="true" + :alwaysEdit="true" + :toolbar="false" + keep-source + :height="300" + :loading="detail.loading" + :dataSource="detail.dataSource" + :columns="detail.columns" + @selectRowChange="handleTableSelectRowChange" + > + <template v-slot:maintenanceResult="props"> + <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result" + 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" + :disabled="!props.row.maintenanceResult||props.row.maintenanceResult==='1'" /> + </template> + + <template v-slot:reportFlag="props"> + <j-dict-select-tag v-model="props.row.reportFlag" + :disabled="!props.row.maintenanceResult||props.row.maintenanceResult==='1'" + dictCode="yn" + style="width: 100%" /> + </template> + </j-vxe-table> + </a-tab-pane> + <a-button v-if="selectedRowKeys.length>0" slot="tabBarExtraContent" type="primary" + @click="handleSelectAllInspectionResult">鎵归噺淇濆吇姝e父 + </a-button> + </a-tabs> </a-row> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鐝粍闀跨‘璁や俊鎭� - </a-divider> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鍒濋獙鏀朵俊鎭� - </a-divider> - <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 缁堥獙鏀朵俊鎭� - </a-divider> + <div v-if="['WAIT_CONFIRM', 'WAIT_INITIAL_ACCEPTANCE', 'WAIT_FINAL_ACCEPTANCE', 'COMPLETE'].includes(model.maintenanceStatus)"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鐝粍闀跨‘璁や俊鎭� + </a-divider> + </div> + <div v-if="['WAIT_INITIAL_ACCEPTANCE', 'WAIT_FINAL_ACCEPTANCE', 'COMPLETE'].includes(model.maintenanceStatus)"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鍒濋獙鏀朵俊鎭� + </a-divider> + </div> + <div v-if="['WAIT_FINAL_ACCEPTANCE', 'COMPLETE'].includes(model.maintenanceStatus)"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 缁堥獙鏀朵俊鎭� + </a-divider> + </div> </a-form-model> </a-spin> </j-modal> @@ -104,10 +145,10 @@ visible: false, //鐘舵�佹帶鍒� //淇濆吇涓� 涓嶅彲缂栬緫 - underMaintenanceDisable : false, - confirmDisable : false, - initialAcceptanceDisable : false, - finalAcceptanceDisable : false, + underMaintenanceDisable: false, + confirmDisable: false, + initialAcceptanceDisable: false, + finalAcceptanceDisable: false, editable: false, model: {}, maintenanceCategory: 'WEEK_MAINTENANCE', @@ -129,13 +170,12 @@ sm: { span: 21 } }, confirmLoading: false, - validatorRules: { - }, + validatorRules: {}, url: { queryById: '/eam/weekMaintenanceOrder/queryById', detail: '/eam/weekMaintenanceOrderDetail/queryList', - approval : '/eam/weekMaintenanceOrder/approval', - userSelect: '/eam/user_select/list', + approval: '/eam/weekMaintenanceOrder/approval', + userSelect: '/eam/user_select/list' }, detail: { loading: false, @@ -155,31 +195,63 @@ title: '搴忓彿', key: 'itemCode', type: JVXETypes.normal, - width: '10%', - align: 'center', + width: '5%', + align: 'center' }, { title: '淇濆吇椤�', key: 'itemName', type: JVXETypes.normal, - width: '20%', - align: 'center', + width: '10%', + align: 'center' }, { title: '瀛愪繚鍏婚」', key: 'subItemName', type: JVXETypes.normal, - width: '25%', + width: '10%', align: 'center' }, { title: '淇濆吇瑕佹眰', key: 'itemDemand', type: JVXETypes.normal, - width: '30%', + width: '20%', + align: 'center' + }, + { + title: '淇濆吇缁撴灉', + key: 'maintenanceResult', + type: JVXETypes.selectSearch, + dictCode: 'eam_inspection_result', + width: '10%', align: 'center', + slotName: 'maintenanceResult', + validateRules: [ + { required: true, message: '淇濆吇缁撴灉涓嶈兘涓虹┖锛�' } + ] + }, + { + title: '寮傚父鎻忚堪', + key: 'exceptionDescription', + type: JVXETypes.textarea, + width: '20%', + align: 'center', + slotName: 'exceptionDescription', + }, + { + title: '鏄惁鎶ヤ慨', + key: 'reportFlag', + type: JVXETypes.selectSearch, + dictCode: 'yn', + width: '10%', + align: 'center', + slotName: 'reportFlag', } ], + isDisplayBmp: false, + showBmpButtonLoading: false, + selectedRowKeys: [], toolbarConfig: { // prefix 鍓嶇紑锛泂uffix 鍚庣紑 slot: ['prefix', 'suffix'], @@ -192,14 +264,17 @@ created() { }, methods: { - async handleDetail(dataId) { - this.loading = true; - this.visible = true; + async handleDetail(item) { + this.loading = true + this.visible = true this.detail.dataSource = [] - let res = await getAction(this.url.queryById, {id: dataId}); - this.model = Object.assign({}, res.result); - await this.loadDetail(dataId); - this.loading = false; + let param = { + id: item.dataId + } + let res = await getAction(this.url.queryById, param) + this.model = Object.assign({}, res.result, item) + await this.loadDetail(item.dataId) + this.loading = false }, close() { this.$emit('close') @@ -251,8 +326,7 @@ if (!this.model.id) { this.loadStandardDetail(selectObj.id) } - debugger - this.loadMaintenanceOperatorList(this.model.equipmentId); + this.loadMaintenanceOperatorList(this.model.equipmentId) }, //鏍囧噯閫夋嫨鍙樺寲 loadDetail(orderId) { @@ -279,8 +353,32 @@ })) } }) - } - + }, + handleInspectionResultSelectChange(value, record) { + if (record.exceptionDescription) delete record.exceptionDescription + if (record.reportFlag) delete record.reportFlag + }, + // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉 + handleSelectAllInspectionResult() { + this.selectedRowKeys.forEach(key => { + const dataItem = this.detail.dataSource.find(item => item.id === key) + if (dataItem && dataItem.maintenanceResult !== '1') { + console.log('dataItem', dataItem) + delete dataItem.exceptionDescription + delete dataItem.reportFlag + dataItem.maintenanceResult = '1' + } + }) + this.$refs.editableDetailTable.clearCheckboxRow() + this.selectedRowKeys = [] + }, + /** + * 琛ㄦ牸澶氶�夋鍙戠敓鏀瑰彉鏃惰Е鍙� + * @param {selectedRowIds} 琛ㄦ牸涓凡閫夋嫨鐨処D鍒楄〃 + */ + handleTableSelectRowChange({ selectedRowIds }) { + this.selectedRowKeys = selectedRowIds + }, } } </script> -- Gitblit v1.9.3