From a751e547d67c4f8e2c6fddf958c1559f792515bd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 27 六月 2025 16:11:50 +0800
Subject: [PATCH] 添加工作流

---
 src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue |   60 ++++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue b/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue
index 89b0747..32f21c1 100644
--- a/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue
+++ b/src/views/eam/modules/projectMaintenanceOrder/ProjectMaintenanceOrderForm.vue
@@ -18,7 +18,8 @@
             >
               <a-input
                 v-model='model.num'
-                placeholder='璇疯緭鍏ヨ鍒掑崟缂栧彿'
+                placeholder='鑷姩鐢熸垚'
+                :disabled="true"
               ></a-input>
             </a-form-model-item>
           </a-col>
@@ -97,10 +98,7 @@
               :wrapperCol='wrapperCol'
               prop='annex'
             >
-              <j-image-upload
-                :isMultiple="false"
-                v-model="model.annex"
-              ></j-image-upload>
+            <j-upload :returnUrl= "false" :isMultiple="false"  v-model="model.file" ></j-upload>
             </a-form-model-item>
           </a-col>
           <a-col :span='12'>
@@ -215,10 +213,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',
@@ -250,10 +248,10 @@
       addDefaultRowNum: 0,
       model: {},
       validatorRules: {
-        num: [
-          { required: true, message: '璇疯緭鍏ヨ鍒掔紪鍙�!' },
-          { validator: (rule, value, callback) => validateDuplicateValue('mom_eam_project_maintenance_order', 'num', value, this.model.id, callback) }
-        ],
+        // num: [
+        //   { required: true, message: '璇疯緭鍏ヨ鍒掔紪鍙�!' },
+        //   { validator: (rule, value, callback) => validateDuplicateValue('mom_eam_project_maintenance_order', 'num', value, this.model.id, callback) }
+        // ],
         remark: [
           { required: false, message: '璇疯緭鍏ュ娉�!' }
         ]
@@ -310,7 +308,7 @@
               }]
           },
           {
-            title: '璁惧缂栫爜',
+            title: '缁熶竴缂栫爜',
             key: 'equipmentNum',
             type: JVXETypes.normal,
             width: '140px',
@@ -318,16 +316,7 @@
             fixed: 'left'
           },
           {
-            title: '璧勪骇缂栫爜',
-            key: 'assetNumber',
-            type: JVXETypes.normal,
-            width: '140px',
-            align: "center",
-            fixed: 'left',
-            defaultValue: ''
-          },
-          {
-            title: '濮斿鍗曚綅',
+            title: '澶栧鍗曚綅',
             key: 'supplierId',
             type: JVXETypes.slot,
             disabled: true,
@@ -337,7 +326,7 @@
             defaultValue: ''
           },
           {
-            title: '濮斿鍗曚綅',
+            title: '澶栧鍗曚綅',
             key: 'supplierId',
             type: JVXETypes.hidden
           },
@@ -543,6 +532,32 @@
   },
   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) => {
         if (res.success) {
@@ -661,6 +676,7 @@
     /** 璋冪敤瀹宔dit()鏂规硶涔嬪悗浼氳嚜鍔ㄨ皟鐢ㄦ鏂规硶 */
     editAfter() {
       this.$nextTick(() => {
+        this.model.file = this.model.annex;
       })
       // 鍔犺浇瀛愯〃鏁版嵁
       if (this.model.id) {

--
Gitblit v1.9.3