From ca2395220a55946c644d06a9c01cdf04108d4e22 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 03 四月 2025 11:37:37 +0800
Subject: [PATCH] 点检工单,设备搜索保养标准组件

---
 src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue |   51 +++++++++---
 src/views/eam/maintenance/modules/EamInspectionOrderModal.vue  |  151 +++++++++++++++++++------------------
 2 files changed, 117 insertions(+), 85 deletions(-)

diff --git a/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue b/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue
index 9d7d80f..896ac55 100644
--- a/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue
+++ b/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue
@@ -8,6 +8,7 @@
     @search="loadData"
     :placeholder="placeholder"
     v-model="selectedAsyncValue"
+    :maintenanceCategory="maintenanceCategory"
     style="width: 100%"
     :filterOption="false"
     @change="handleAsyncChange"
@@ -19,7 +20,8 @@
       <a-icon type="search" />
     </template>
     <a-spin v-if="loading" slot="notFoundContent" size="small" />
-    <a-select-option v-for="d in options" :key="d.value" :value="d.value">{{ d.text }}</a-select-option>
+    <a-select-option v-for="d in options" :key="d.equipmentId" :value="d.equipmentId">{{ d.equipmentText }}
+    </a-select-option>
   </a-select>
 
 </template>
@@ -32,7 +34,7 @@
   name: 'MaintenanceEquipmentSelect',
   props: {
     disabled: Boolean,
-    value: [String, Number],
+    value: [String, Number, String],
     placeholder: {
       type: String,
       default: '璇烽�夋嫨',
@@ -43,6 +45,11 @@
       default: 20,
       required: false
     },
+    maintenanceCategory: {
+      type: String,
+      default: '',
+      required: false
+    }
   },
   data() {
     this.loadData = debounce(this.loadData, 800)//娑堟姈
@@ -62,7 +69,7 @@
       immediate: true,
       handler(val) {
         if (!val) {
-          this.initDictData();
+          this.initDictData()
         } else {
           this.initSelectValue()
         }
@@ -71,18 +78,23 @@
   },
   methods: {
     initSelectValue() {
-      if(!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key!=this.value){
-        console.log("杩欐墠璇锋眰鍚庡彴")
-        getAction(`/eam/maintenanceStandard/listByUser`, { id: this.value }).then(res=>{
-          if(res.success){
-            if(res.result && res.result.length > 0){
+      if (!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key != this.value || !this.maintenanceCategory) {
+        console.log('ssfs', this.selectedAsyncValue)
+        console.log('ASGasgsgas', this.maintenanceCategory)
+        console.log('杩欐墠璇锋眰鍚庡彴')
+        getAction(`/eam/maintenanceStandard/listByUser`, {
+          id: this.value,
+          maintenanceCategory: this.maintenanceCategory
+        }).then(res => {
+          if (res.success) {
+            if (res.result && res.result.length > 0) {
               let obj = {
-                key : this.value,
+                key: this.value,
                 label: res.result[0].text
               }
-              this.selectedAsyncValue = {...obj};
+              this.selectedAsyncValue = { ...obj }
             }
-            this.options = res.result;
+            this.options = res.result
           }
         })
       }
@@ -93,8 +105,14 @@
       const currentLoad = this.lastLoad
       this.options = []
       this.loading = true
+      console.log('ssfs', this.selectedAsyncValue)
+      console.log('ASGasgsgas', this.maintenanceCategory)
       // 瀛楀吀code鏍煎紡锛歵able,text,code
-      getAction(`/eam/maintenanceStandard/listByUser`, { keyword: value, pageSize: this.pageSize }).then(res => {
+      getAction(`/eam/maintenanceStandard/listByUser`, {
+        keyword: value,
+        maintenanceCategory: this.maintenanceCategory,
+        pageSize: this.pageSize
+      }).then(res => {
         this.loading = false
         if (res.success) {
           if (currentLoad != this.lastLoad) {
@@ -111,8 +129,13 @@
     },
     initDictData() {
       //寮傛涓�寮�濮嬩篃鍔犺浇涓�鐐规暟鎹�
+      console.log('fasfasgasgasgfasg')
       this.loading = true
-      getAction(`/eam/maintenanceStandard/listByUser`, { pageSize: this.pageSize, keyword: '' }).then(res => {
+      getAction(`/eam/maintenanceStandard/listByUser`, {
+        pageSize: this.pageSize,
+        keyword: '',
+        maintenanceCategory: this.maintenanceCategory
+      }).then(res => {
         this.loading = false
         if (res.success) {
           this.options = [...res.result]
@@ -125,11 +148,13 @@
       return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
     },
     handleAsyncChange(selectedObj) {
+      console.log('selectedObj', selectedObj)
       //update-begin-author:scott date:20201222 for:銆愭悳绱€�戞悳绱㈡煡璇㈢粍浠讹紝鍒犻櫎鏉′欢锛岄粯璁や笅鎷夎繕鏄笂娆$殑缂撳瓨鏁版嵁锛屼笉濂� JT-191
       if (selectedObj) {
         this.selectedAsyncValue = selectedObj
         //update-begin---author:wangshuai ---date:20221115  for锛歔issues/4213]JSearchSelectTag鏀归�犳敮鎸佸閫�------------
         this.selectedValue = selectedObj.key
+        this.$emit('autocompleteForm', this.options.find(item => item.equipmentId === selectedObj.key))
         //update-end---author:wangshuai ---date:20221115  for锛歔issues/4213]JSearchSelectTag鏀归�犳敮鎸佸閫�------------
       } else {
         this.selectedAsyncValue = null
diff --git a/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue b/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
index 44dc60d..19b2053 100644
--- a/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
+++ b/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
@@ -19,7 +19,9 @@
           </a-col>
           <a-col :span="8">
             <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿">
-              <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId" :disabled="editable"></MaintenanceEquipmentSelect>
+              <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"
+                                          :maintenanceCategory="maintenanceCategory" :disabled="editable"
+                                          @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect>
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
@@ -31,23 +33,23 @@
         <a-row :gutter="24">
           <a-col :span="8">
             <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
-              <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate"  style="width: 100%" />
+              <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate" style="width: 100%" />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
             <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
-              <a-input-number v-model="model.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%"/>
+              <a-input-number v-model="model.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
-            <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}"   :wrapperCol="{span:15}" prop="expirationTime">
-              <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="model.expirationTime" disabled  style="width: 100%" />
+            <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime">
+              <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="model.expirationTime" disabled style="width: 100%" />
             </a-form-model-item>
           </a-col>
         </a-row>
         <a-row :gutter="24">
           <a-col :span="24">
-            <a-form-model-item label="澶囨敞"  :labelCol="{span:1}"   :wrapperCol="{span:22}" prop="remark">
+            <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark">
               <a-textarea v-model="model.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" />
             </a-form-model-item>
           </a-col>
@@ -65,7 +67,7 @@
             :loading="detail.loading"
             :dataSource="detail.dataSource"
             :columns="detail.columns"
-            style="margin-top: 8px;"/>
+            style="margin-top: 8px;" />
         </a-row>
       </a-form-model>
     </a-spin>
@@ -79,24 +81,24 @@
 import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
 
 export default {
-  name: "EamMaintenanceStandardModal",
+  name: 'EamMaintenanceStandardModal',
   mixins: [JVxeTableModelMixin],
   components: {
-    MaintenanceEquipmentSelect,
+    MaintenanceEquipmentSelect
   },
-  data () {
+  data() {
     return {
-      title:"鎿嶄綔",
+      title: '鎿嶄綔',
       visible: false,
       model: {},
       editable: false,
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 5 },
+        sm: { span: 5 }
       },
       wrapperCol: {
         xs: { span: 24 },
-        sm: { span: 16 },
+        sm: { span: 16 }
       },
       confirmLoading: false,
       validatorRules: {
@@ -117,10 +119,11 @@
         ]
       },
       url: {
-        add: "/eam/maintenanceStandard/add",
-        edit: "/eam/maintenanceStandard/edit",
-        detail: "/eam/eamMaintenanceStandardDetail/queryList",
+        add: '/eam/maintenanceStandard/add',
+        edit: '/eam/maintenanceStandard/edit',
+        detail: '/eam/eamMaintenanceStandardDetail/queryList'
       },
+      maintenanceCategory: 'POINT_INSPECTION',
       detail: {
         loading: false,
         dataSource: [],
@@ -129,100 +132,104 @@
             title: '搴忓彿',
             key: 'itemCode',
             width: '10%',
-            align:"center",
+            align: 'center'
           },
           {
             title: '淇濆吇椤�',
             key: 'itemName',
             width: '20%',
-            align:"center",
+            align: 'center'
           },
           {
             title: '淇濆吇瑕佹眰',
             key: 'itemDemand',
             width: '30%',
-            align:"center",
-          },
-        ],
+            align: 'center'
+          }
+        ]
       }
     }
   },
-  created () {
+  created() {
   },
   methods: {
-    add () {
-      this.model = {};
-      this.visible = true;
-      this.editable = false;
+    add() {
+      this.model = {}
+      this.visible = true
+      this.editable = false
     },
-    edit (record) {
-      this.model = Object.assign({}, record);
-      this.visible = true;
-      this.editable = true;
-      if(record && record.referenceFile) {
-        let obj = JSON.parse(record.referenceFile);
-        this.model.fileList = [obj];
-      }else {
-        this.model.fieldList = [];
+    edit(record) {
+      this.model = Object.assign({}, record)
+      this.visible = true
+      this.editable = true
+      if (record && record.referenceFile) {
+        let obj = JSON.parse(record.referenceFile)
+        this.model.fileList = [obj]
+      } else {
+        this.model.fieldList = []
       }
-      this.loadDetail(record.id);
+      this.loadDetail(record.id)
     },
-    close () {
-      this.$emit('close');
-      this.visible = false;
-      this.$refs.form.clearValidate();
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.clearValidate()
     },
-    async handleOk () {
-      const that = this;
-      let errMap = await that.$refs.editableDetailTable.validateTable();
-      if(errMap){
-        this.$message.warning("鏁版嵁鏍¢獙澶辫触锛�");
-        return;
+    async handleOk() {
+      const that = this
+      let errMap = await that.$refs.editableDetailTable.validateTable()
+      if (errMap) {
+        this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�')
+        return
       }
       // 瑙﹀彂琛ㄥ崟楠岃瘉
       this.$refs.form.validate(valid => {
         if (valid) {
-          let tableData = that.$refs.editableDetailTable.getTableData();
-          let removeData = that.$refs.editableDetailTable.getDeleteData();
-          that.model.tableDetailList = [...tableData];
-          that.model.removeDetailList = [...removeData];
+          let tableData = that.$refs.editableDetailTable.getTableData()
+          let removeData = that.$refs.editableDetailTable.getDeleteData()
+          that.model.tableDetailList = [...tableData]
+          that.model.removeDetailList = [...removeData]
 
-          that.confirmLoading = true;
-          let httpurl = '';
-          let method = '';
-          if(!this.model.id){
-            httpurl+=this.url.add;
-            method = 'post';
-          }else{
-            httpurl+=this.url.edit;
-            method = 'put';
+          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');
-              that.close();
-            }else{
-              that.$message.warning(res.message);
+          httpAction(httpurl, this.model, method).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.$emit('ok')
+              that.close()
+            } else {
+              that.$message.warning(res.message)
             }
           }).finally(() => {
-            that.confirmLoading = false;
+            that.confirmLoading = false
           })
-        }else{
-          return false;
+        } else {
+          return false
         }
       })
     },
-    handleCancel () {
+    handleCancel() {
       this.close()
+    },
+    autocompleteForm(selectObj) {
+      this.model.standardName = selectObj.standardName
+      this.model.maintenancePeriod=selectObj.maintenancePeriod
     },
     //鍔犺浇璇︽儏鏁版嵁
     loadDetail(standardId) {
-      this.detail.dataSource = [];
+      this.detail.dataSource = []
       if (standardId) {
         getAction(this.url.detail, { standardId: standardId }).then(res => {
           if (res.success) {
-            this.detail.dataSource = [...res.result];
+            this.detail.dataSource = [...res.result]
           }
         })
       }

--
Gitblit v1.9.3