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 | 416 +++++++++++++++++++++++++---- src/views/eam/base/RepairWarehouseList.vue | 195 +++++++++++++ src/views/eam/base/modules/RepairWarehouseForm.vue | 132 +++++++++ src/views/eam/base/modules/RepairWarehouseModal.vue | 60 ++++ 4 files changed, 747 insertions(+), 56 deletions(-) diff --git a/src/views/eam/base/RepairWarehouseList.vue b/src/views/eam/base/RepairWarehouseList.vue new file mode 100644 index 0000000..ca37253 --- /dev/null +++ b/src/views/eam/base/RepairWarehouseList.vue @@ -0,0 +1,195 @@ +<template> + <a-card :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鏁呴殰绫诲瀷"> + <j-dict-select-tag dict-code="repair_warehouse_fault_type" v-model="queryParam.faultType" + placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鏁呴殰閮ㄤ綅"> + <a-input placeholder="璇疯緭鍏ユ晠闅滈儴浣�" v-model="queryParam.faultPart"></a-input> + </a-form-item> + </a-col> + <template v-if="toggleSearchStatus"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="鏁呴殰瀛愰儴浣�"> + <a-input placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅" v-model="queryParam.faultChildPart"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="缁翠慨鎻忚堪"> + <a-input placeholder="璇疯緭鍏ョ淮淇弿杩�" v-model="queryParam.repairDescription"></a-input> + </a-form-item> + </a-col> + </template> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + <a @click="handleToggleSearch" style="margin-left: 8px"> + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> + </a> + </span> + </a-col> + </a-row> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('缁翠慨鐭ヨ瘑搴�')">瀵煎嚭</a-button> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + </a-dropdown> + </div> + + <!-- table鍖哄煙-begin --> + <div style="height: auto"> + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + :scroll="{x:true}" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + class="j-table-force-nowrap" + @change="handleTableChange"> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="handleDetail(record)">璇︽儏</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + + <repair-warehouse-modal ref="modalForm" @ok="modalFormOk"></repair-warehouse-modal> + </a-card> +</template> + +<script> + + import '@/assets/less/TableExpand.less' + import { mixinDevice } from '@/utils/mixin' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import RepairWarehouseModal from './modules/RepairWarehouseModal' + + export default { + name: 'RepairWarehouseList', + mixins:[JeecgListMixin, mixinDevice], + components: { + RepairWarehouseModal + }, + data () { + return { + description: 'eam_repair_warehouse绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title:'鏁呴殰绫诲瀷', + align:"center", + dataIndex: 'faultType_dictText' + }, + { + title:'鏁呴殰閮ㄤ綅', + align:"center", + dataIndex: 'faultPart' + }, + { + title:'鏁呴殰瀛愰儴浣�', + align:"center", + dataIndex: 'faultChildPart' + }, + { + title:'缁翠慨鎻忚堪', + align:"center", + dataIndex: 'repairDescription' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align:"center", + fixed:"right", + width:147, + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: "/repairWarehouse/repairWarehouse/list", + delete: "/repairWarehouse/repairWarehouse/delete", + deleteBatch: "/repairWarehouse/repairWarehouse/deleteBatch", + exportXlsUrl: "/repairWarehouse/repairWarehouse/exportXls", + }, + dictOptions:{}, + superFieldList:[], + } + }, + created() { + this.getSuperFieldList(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + }, + }, + methods: { + initDictConfig(){ + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'faultType',text:'鏁呴殰绫诲瀷',dictCode:''}) + fieldList.push({type:'string',value:'faultPart',text:'鏁呴殰閮ㄤ綅',dictCode:''}) + fieldList.push({type:'string',value:'faultChildPart',text:'鏁呴殰瀛愰儴浣�',dictCode:''}) + fieldList.push({type:'string',value:'repairDescription',text:'缁翠慨鎻忚堪',dictCode:''}) + this.superFieldList = fieldList + } + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/eam/base/modules/RepairWarehouseForm.vue b/src/views/eam/base/modules/RepairWarehouseForm.vue new file mode 100644 index 0000000..7fe4485 --- /dev/null +++ b/src/views/eam/base/modules/RepairWarehouseForm.vue @@ -0,0 +1,132 @@ +<template> + <a-spin :spinning="confirmLoading"> + <j-form-container :disabled="formDisabled"> + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> + <a-row> + <a-col :span="24"> + <a-form-model-item label="鏁呴殰绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="faultType"> + <j-dict-select-tag dict-code="repair_warehouse_fault_type " v-model="model.faultType" + placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="鏁呴殰閮ㄤ綅" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="faultPart"> + <a-input v-model="model.faultPart" placeholder="璇疯緭鍏ユ晠闅滈儴浣�" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="鏁呴殰瀛愰儴浣�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="faultChildPart"> + <a-input v-model="model.faultChildPart" placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="缁翠慨鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDescription"> + <a-input v-model="model.repairDescription" placeholder="璇疯緭鍏ョ淮淇弿杩�" ></a-input> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </j-form-container> + </a-spin> +</template> + +<script> + + import { httpAction, getAction } from '@/api/manage' + import { validateDuplicateValue } from '@/utils/util' + + export default { + name: 'RepairWarehouseForm', + components: { + }, + props: { + //琛ㄥ崟绂佺敤 + disabled: { + type: Boolean, + default: false, + required: false + } + }, + data () { + return { + model:{ + }, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + faultType: [ + { required: true, message: '璇疯緭鍏ユ晠闅滅被鍨�!'}, + ], + faultPart: [ + { required: true, message: '璇疯緭鍏ユ晠闅滈儴浣�!'}, + ], + faultChildPart: [ + { required: true, message: '璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅!'}, + ], + repairDescription: [ + { required: true, message: '璇疯緭鍏ョ淮淇弿杩�!'}, + ], + }, + url: { + add: "/repairWarehouse/repairWarehouse/add", + edit: "/repairWarehouse/repairWarehouse/edit", + queryById: "/repairWarehouse/repairWarehouse/queryById" + } + } + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + created () { + //澶囦唤model鍘熷鍊� + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + }, + methods: { + add () { + this.edit(this.modelDefault); + }, + edit (record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + submitForm () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if(!this.model.id){ + httpurl+=this.url.add; + method = 'post'; + }else{ + httpurl+=this.url.edit; + method = 'put'; + } + httpAction(httpurl,this.model,method).then((res)=>{ + if(res.success){ + that.$message.success(res.message); + that.$emit('ok'); + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + } + + }) + }, + } + } +</script> \ No newline at end of file diff --git a/src/views/eam/base/modules/RepairWarehouseModal.vue b/src/views/eam/base/modules/RepairWarehouseModal.vue new file mode 100644 index 0000000..e6c3dab --- /dev/null +++ b/src/views/eam/base/modules/RepairWarehouseModal.vue @@ -0,0 +1,60 @@ +<template> + <j-modal + :title="title" + :width="width" + :visible="visible" + switchFullscreen + @ok="handleOk" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + @cancel="handleCancel" + cancelText="鍏抽棴"> + <repair-warehouse-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></repair-warehouse-form> + </j-modal> +</template> + +<script> + + import RepairWarehouseForm from './RepairWarehouseForm' + export default { + name: 'RepairWarehouseModal', + components: { + RepairWarehouseForm + }, + data () { + return { + title:'', + width:800, + visible: false, + disableSubmit: false + } + }, + methods: { + add () { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.add(); + }) + }, + edit (record) { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.edit(record); + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + this.$refs.realForm.submitForm(); + }, + submitCallback(){ + this.$emit('ok'); + this.visible = false; + }, + handleCancel () { + this.close() + } + } + } +</script> \ No newline at end of file diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue index 50aebc3..01f35e9 100644 --- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue +++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue @@ -81,22 +81,69 @@ <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*2"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" - v-model="tableRowRecord.faultReason" rows="4" - placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> + <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" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" - v-model="tableRowRecord.repairDescription" - placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <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"/> @@ -125,22 +172,69 @@ <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*2"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" - v-model="tableRowRecord.faultReason" rows="4" - placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> + <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" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'" - v-model="tableRowRecord.repairDescription" - placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <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"/> @@ -169,22 +263,69 @@ <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*2"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" - v-model="tableRowRecord.faultReason" rows="4" - placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> + <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="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'" - v-model="tableRowRecord.repairDescription" - placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <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"/> @@ -195,22 +336,69 @@ <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*2"> - <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" - v-model="tableRowRecord.faultReason" rows="4" - placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/> + <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="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> - <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'" - v-model="tableRowRecord.repairDescription" - placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/> - </a-form-model-item> - </a-col> - <a-col :span="twoColSpan*2"> - <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <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"/> @@ -277,6 +465,9 @@ return { title: '', threeColSpan: 8, + faultPartDataList: [], + faultChildPartDataList: [], + repairDescriptionPartDataList: [], twoColSpan: 12, inputReadOnly: true, disableSubmit: false, @@ -327,6 +518,18 @@ faultReason: [ { required: true, message: '璇疯緭鍏ユ晠闅滃師鍥�' } ], + faultType: [ + { required: true, message: '璇烽�夋嫨鏁呴殰绫诲瀷' } + ], + faultPart: [ + { required: true, message: '璇疯緭鍏ユ晠闅滈儴浣�' } + ], + faultChildPart: [ + { required: true, message: '璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅' } + ], + severity: [ + { required: true, message: '璇烽�夋嫨涓ラ噸绋嬪害' } + ], repairDescription: [ { required: true, message: '璇疯緭鍏ョ淮淇粨鏋滄弿杩�' } ] @@ -338,7 +541,8 @@ queryBomDataById: '/eam/eamRepairOrder/queryById', diagramView: '/assign/flow/diagramView', queryHisTaskList: '/assign/flow/queryHisTaskList', - approve: '/eam/eamRepairOrder/perform' + approve: '/eam/eamRepairOrder/perform', + getColumnDateList: '/repairWarehouse/repairWarehouse/getColumnDateList' } } }, @@ -365,11 +569,107 @@ 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) @@ -428,7 +728,7 @@ this.$refs.form.validate(valid => { if (valid) { that.confirmLoading = that.spinning = true - const { confirmComment, externalConfirm, externalConfirmComment, repairConfirm, repairConfirmComment, leaderConfirm, leaderConfirmComment, faultReason, repairDescription, 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 = {} @@ -441,6 +741,10 @@ flowTaskVo.confirmComment = confirmComment flowTaskVo.faultReason = faultReason + flowTaskVo.faultType = faultType + flowTaskVo.faultPart = faultPart + flowTaskVo.faultChildPart = faultChildPart + flowTaskVo.severity = severity flowTaskVo.repairDescription = repairDescription flowTaskVo.imageFilesResult = imageFiles flowTaskVo.equipmentId = equipmentId -- Gitblit v1.9.3