From def88c97c86087175bfd9b9fe82e78d2cd3ef6f0 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 05 九月 2023 17:09:39 +0800
Subject: [PATCH] 保养移交单  精度检验单

---
 src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue |  255 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 183 insertions(+), 72 deletions(-)

diff --git a/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue b/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue
index 413db86..73205d1 100644
--- a/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue
+++ b/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue
@@ -2,20 +2,47 @@
   <a-spin :spinning='confirmLoading'>
     <j-form-container :disabled='formDisabled'>
       <!-- 涓昏〃鍗曞尯鍩� -->
-      <a-form-model ref='form' :model='model' :rules='validatorRules' slot='detail'>
+      <a-form-model
+        ref='form'
+        :model='model'
+        :rules='validatorRules'
+        slot='detail'
+      >
         <a-row>
           <a-col :span='12'>
-            <a-form-model-item label='璁″垝鍗曠紪鍙�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='num'>
-              <a-input v-model='model.num' placeholder='璇疯緭鍏ヨ鍒掑崟缂栧彿'></a-input>
+            <a-form-model-item
+              label='璁″垝鍗曠紪鍙�'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+              prop='num'
+            >
+              <a-input
+                v-model='model.num'
+                placeholder='璇疯緭鍏ヨ鍒掑崟缂栧彿'
+              ></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span='12'>
-            <a-form-model-item label='璁″垝鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='璁″垝鍚嶇О'>
-              <a-input v-model='model.name' rows='4' placeholder='璇疯緭鍏ヨ鍒掑悕绉�' />
+            <a-form-model-item
+              label='璁″垝鍚嶇О'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+              prop='璁″垝鍚嶇О'
+            >
+              <a-input
+                v-model='model.name'
+                rows='4'
+                placeholder='璇疯緭鍏ヨ鍒掑悕绉�'
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span='12'>
-            <a-form-model-item label='璁″垝寮�濮嬫棩鏈�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='planStartTime'>
+            <a-form-model-item
+              label='璁″垝寮�濮嬫棩鏈�'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+              prop='planStartTime'
+            >
               <j-date
                 placeholder='璇烽�夋嫨璁″垝寮�濮嬫棩鏈�'
                 v-model='model.planStartTime'
@@ -26,7 +53,12 @@
             </a-form-model-item>
           </a-col>
           <a-col :span='12'>
-            <a-form-model-item label='璁″垝缁撴潫鏃ユ湡' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='planEndTime'>
+            <a-form-model-item
+              label='璁″垝缁撴潫鏃ユ湡'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+              prop='planEndTime'
+            >
               <j-date
                 placeholder='璇烽�夋嫨璁″垝缁撴潫鏃ユ湡'
                 v-model='model.planEndTime'
@@ -59,16 +91,27 @@
             </a-form-model-item>
           </a-col> -->
           <a-col :span='12'>
-            <a-form-model-item label='闄勪欢' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='annex'>
-              <j-image-upload
-                :isMultiple="false"
-                v-model="model.annex"
-              ></j-image-upload>
+            <a-form-model-item
+              label='闄勪欢'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+              prop='annex'
+            >
+            <j-upload :returnUrl= "false" :isMultiple="false"  v-model="model.file" ></j-upload>
             </a-form-model-item>
           </a-col>
           <a-col :span='12'>
-            <a-form-model-item label='澶囨敞' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='remark'>
-              <a-textarea v-model='model.remark' rows='4' placeholder='璇疯緭鍏ュ娉�' />
+            <a-form-model-item
+              label='澶囨敞'
+              :labelCol='labelCol'
+              :wrapperCol='wrapperCol'
+              prop='remark'
+            >
+              <a-textarea
+                v-model='model.remark'
+                rows='4'
+                placeholder='璇疯緭鍏ュ娉�'
+              />
             </a-form-model-item>
           </a-col>
 
@@ -76,39 +119,68 @@
       </a-form-model>
     </j-form-container>
     <!-- 瀛愯〃鍗曞尯鍩� -->
-    <a-tabs v-model='activeKey' @change='handleChangeTabs'>
-      <a-tab-pane tab='椤圭洰鎬х淮淇槑缁�' :key='refKeys[0]' :forceRender='true'>
-        <j-vxe-table keep-source :ref='refKeys[0]' :loading='projectMaintenanceOrderDetailTable.loading'
-                     :columns='projectMaintenanceOrderDetailTable.columns'
-                     :dataSource='projectMaintenanceOrderDetailTable.dataSource'
-                     :maxHeight='300'
-                     :disabled='formDisabled' :rowNumber='true' :rowSelection='true' :toolbar='true'
-                     :toolbarConfig='toolbarConfig'
-                     :linkage-config='linkageConfig'>
+    <a-tabs
+      v-model='activeKey'
+      @change='handleChangeTabs'
+    >
+      <a-tab-pane
+        tab='椤圭洰鎬х淮淇槑缁�'
+        :key='refKeys[0]'
+        :forceRender='true'
+      >
+        <j-vxe-table
+          keep-source
+          :ref='refKeys[0]'
+          :loading='projectMaintenanceOrderDetailTable.loading'
+          :columns='projectMaintenanceOrderDetailTable.columns'
+          :dataSource='projectMaintenanceOrderDetailTable.dataSource'
+          :maxHeight='400'
+          :disabled='formDisabled'
+          :rowNumber='true'
+          :rowSelection='true'
+          :alwaysEdit='true'
+          :toolbar='true'
+          :bordered='true'
+          :toolbarConfig='toolbarConfig'
+          :linkage-config='linkageConfig'
+        >
           <template slot='toolbarPrefix'>
-            <a-button type='primary' @click='selectEquipmentList' :disabled='formDisabled'>閫夋嫨璁惧
+            <a-button
+              type='primary'
+              @click='selectEquipmentList'
+              :disabled='formDisabled'
+            >閫夋嫨璁惧
             </a-button>
           </template>
 
           <template v-slot:supplierId='props'>
-            <a-select v-model='props.row.supplierId' :options='supplierVoList'
-                      style='width: 100%'
-                      placeholder='璇烽�夋嫨'
-                      @change='(e) => handleChange(e, props.row)' />
+            <a-select
+              v-model='props.row.supplierId'
+              :options='supplierVoList'
+              style='width: 100%'
+              placeholder='璇烽�夋嫨'
+              @change='(e) => handleChange(e, props.row)'
+            />
 
           </template>
           <template v-slot:teamId='props'>
-            <a-select v-model='props.row.teamId' :options='teamVoList'
-                      style='width: 100%'
-                      placeholder='璇烽�夋嫨'
-                      @change='(e) => handleChange(e, props.row)' />
+            <a-select
+              v-model='props.row.teamId'
+              :options='teamVoList'
+              style='width: 100%'
+              placeholder='璇烽�夋嫨'
+              @change='(e) => handleChange(e, props.row)'
+            />
 
           </template>
           <template v-slot:userId='props'>
-            <a-select v-model='props.row.userId' :options='userVoList'
-                      style='width: 100%'
-                      placeholder='璇烽�夋嫨'
-                      @change='(e) => handleChange(e, props.row)' />
+            <a-select
+              v-model='props.row.userId'
+              :options='userVoList'
+              style='width: 100%'
+              placeholder='璇烽�夋嫨'
+              @change='(e) => handleChange(e, props.row)'
+            />
             <!-- <a-select
                   placeholder="璇烽�夋嫨璐d换浜�"
                   allowClear
@@ -124,8 +196,11 @@
         </j-vxe-table>
       </a-tab-pane>
     </a-tabs>
-    <equipment-select-modal @selectionRows='selectionRows' :equipmentStatus="['2', '3']"
-                            ref='EquipmentSelectModal'></equipment-select-modal>
+    <equipment-select-modal
+      @selectionRows='selectionRows'
+      :equipmentStatus="['2', '3']"
+      ref='EquipmentSelectModal'
+    ></equipment-select-modal>
   </a-spin>
 </template>
 
@@ -137,10 +212,10 @@
 
 import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
 import { JVXETypes } from '@comp/jeecg/JVxeTable'
-import { getRefPromise, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
 
 import JFormContainer from '@/components/jeecg/JFormContainer'
 import { getAction } from '@api/manage'
+import { VALIDATE_FAILED, getRefPromise, validateFormAndTables,validateFormModelAndTables} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
 
 export default {
   name: 'ProjectMaintenanceOrderForm',
@@ -222,7 +297,8 @@
             title: '浠诲姟缂栫爜',
             key: 'taskNum',
             type: JVXETypes.input,
-            width: '120px',
+            width: '180px',
+            align: "center",
             fixed: 'left',
             validateRules: [
               {
@@ -234,15 +310,16 @@
             title: '璁惧缂栫爜',
             key: 'equipmentNum',
             type: JVXETypes.normal,
-            width: '120px',
-            // placeholder: '璇疯緭鍏�${title}',
+            width: '140px',
+            align: "center",
             fixed: 'left'
           },
           {
             title: '璧勪骇缂栫爜',
             key: 'assetNumber',
             type: JVXETypes.normal,
-            width: '120px',
+            width: '140px',
+            align: "center",
             fixed: 'left',
             defaultValue: ''
           },
@@ -251,7 +328,8 @@
             key: 'supplierId',
             type: JVXETypes.slot,
             disabled: true,
-            width: '100px',
+            width: '140px',
+            align: "center",
             slotName: 'supplierId',
             defaultValue: ''
           },
@@ -270,7 +348,8 @@
                 required: true, // 蹇呭~
                 message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
               }],
-            width: '100px',
+            width: '140px',
+            align: "center",
             defaultValue: ''
           },
           // {
@@ -294,8 +373,8 @@
             key: 'equipmentName',
             type: JVXETypes.normal,
             disabled: true,
-            width: '120px',
-
+            width: '140px',
+            align: "center",
             defaultValue: ''
           },
           {
@@ -303,7 +382,8 @@
             key: 'model',
             type: JVXETypes.normal,
             disabled: true,
-            width: '120px',
+            width: '140px',
+            align: "center",
             defaultValue: ''
           },
           {
@@ -311,7 +391,8 @@
             key: 'specification',
             type: JVXETypes.normal,
             disabled: true,
-            width: '120px',
+            width: '140px',
+            align: "center",
             placeholder: '璇疯緭鍏�${title}',
             defaultValue: ''
           },
@@ -320,7 +401,8 @@
             key: 'equipmentStatus_dictText',
             type: JVXETypes.normal,
             disabled: true,
-            width: '100px',
+            width: '140px',
+            align: "center",
             // placeholder: '璇疯緭鍏�${title}',
             defaultValue: ''
           },
@@ -330,7 +412,8 @@
             key: 'technologyStatus_dictText',
             type: JVXETypes.normal,
             disabled: true,
-            width: '100px',
+            width: '140px',
+            align: "center",
             defaultValue: ''
           },
           {
@@ -338,12 +421,12 @@
             key: 'itemName',
             type: JVXETypes.input,
             placeholder: '璇疯緭鍏�${title}',
-            width: '100px',
-            validateRules: [
-              {
-                required: true, // 蹇呭~
-                message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
-              }],
+            width: '240px',
+            validateRules: [{
+              required: true, // 蹇呭~
+              message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
+            }],
+            align: "center",
             defaultValue: ''
           },
           {
@@ -352,7 +435,8 @@
             type: JVXETypes.select,
             dictCode: 'urgency',
             placeholder: '璇疯緭鍏�${title}',
-            width: '100px',
+            width: '140px',
+            align: "center",
             defaultValue: ''
           },
           {
@@ -363,6 +447,7 @@
             width: '150px',
             placeholder: '璇疯緭鍏�${title}',
             defaultValue: '',
+            align: "center",
             slotName: 'teamId'
           },
           {
@@ -370,36 +455,36 @@
             key: 'teamId',
             type: JVXETypes.hidden
           },
-
           {
             title: '璐d换浜�',
             key: 'userId',
             type: JVXETypes.slot,
             disabled: true,
-            width: '100px',
+            width: '160px',
             placeholder: '璇疯緭鍏�${title}',
             defaultValue: '',
+            align: "center",
             slotName: 'userId'
           },
-
           {
             title: '璐d换浜�',
             key: 'userId',
             type: JVXETypes.hidden
           },
-
           {
             title: '璁″垝寮�濮嬫椂闂�',
             key: 'planStartTime',
             type: JVXETypes.datetime,
-            width: '120px',
+            width: '140px',
+            align: "center",
             placeholder: '璇疯緭鍏�${title}',
             defaultValue: ''
           }, {
             title: '璁″垝瀹屾垚鏃堕棿',
             key: 'planEndTime',
             type: JVXETypes.datetime,
-            width: '120px',
+            width: '140px',
+            align: "center",
             placeholder: '璇疯緭鍏�${title}',
             defaultValue: ''
           },
@@ -431,7 +516,7 @@
         projectMaintenanceOrderDetail: {
           list: '/eam/projectMaintenanceOrder/queryProjectMaintenanceOrderDetailByMainId'
         },
-        queryUserByTeamId:'/base/team/queryUserByTeamId'
+        queryUserByTeamId: '/base/team/queryUserByTeamId'
       }
     }
   },
@@ -454,6 +539,32 @@
     this.getUser();
   },
   methods: {
+
+    handleOk() {
+      this.model['annex'] = this.model.file[0].filePath;
+      /** 瑙﹀彂琛ㄥ崟楠岃瘉 */
+      this.getAllTable().then(tables => {
+        /** 涓�娆℃�ч獙璇佷富琛ㄥ拰鎵�鏈夌殑娆¤〃 */
+        return validateFormModelAndTables(this.$refs.form,this.model, tables)
+      }).then(allValues => {
+        /** 涓�娆℃�ч獙璇佷竴瀵逛竴鐨勬墍鏈夊瓙琛� */
+        return this.validateSubForm(allValues)
+      }).then(allValues => {
+        if (typeof this.classifyIntoFormData !== 'function') {
+          throw this.throwNotFunction('classifyIntoFormData')
+        }
+        let formData = this.classifyIntoFormData(allValues)
+        // 鍙戣捣璇锋眰
+        return this.request(formData)
+      }).catch(e => {
+        if (e.error === VALIDATE_FAILED) {
+          // 濡傛灉鏈夋湭閫氳繃琛ㄥ崟楠岃瘉鐨勫瓙琛紝灏辫嚜鍔ㄨ烦杞埌瀹冩墍鍦ㄧ殑tab
+          this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index]
+        } else {
+          console.error(e)
+        }
+      })
+    },
 
     getSuppler() {
       getAction(this.url.supplierVoList).then((res) => {
@@ -500,14 +611,14 @@
         this.$set(data, 'userId', data.userId)
       })
     },
-    getUserVoList(val){
-      getAction(this.url.queryUserByTeamId,{teamId:val}).then(res=>{
-        if(res.success){
+    getUserVoList(val) {
+      getAction(this.url.queryUserByTeamId, { teamId: val }).then(res => {
+        if (res.success) {
           this.userVoList = res.result
         }
-        else{
+        else {
           this.$message.error(res.message);
-       }
+        }
       })
     },
     handleVerify(parent) {
@@ -554,7 +665,7 @@
             supplierVoList: this.supplierVoList,
             userVoList: this.userVoList,
             teamVoList: this.teamVoList,
-            userId:data[i].userId
+            userId: data[i].userId
 
           }
         }
@@ -582,7 +693,7 @@
     },
     //鏍¢獙鎵�鏈変竴瀵逛竴瀛愯〃琛ㄥ崟
     validateSubForm(allValues) {
-      if(this.$refs.projectMaintenanceOrderDetail.getTableData().length == 0){
+      if (this.$refs.projectMaintenanceOrderDetail.getTableData().length == 0) {
         this.$message.warning("璇锋坊鍔犵淮淇槑缁嗭紒")
         return
       }

--
Gitblit v1.9.3