From 19aff1ac87030b21d2b01cdca5d5604c840ba7c0 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期一, 21 七月 2025 21:36:31 +0800
Subject: [PATCH] 维修工单

---
 src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue |  364 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 218 insertions(+), 146 deletions(-)

diff --git a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
index cd3bea5..183bbde 100644
--- a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
+++ b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
@@ -1,62 +1,62 @@
 <template>
-  <j-modal
-    :title="title"
-    fullscreen
-    :visible="visible"
-    centered
-    :confirmLoading="confirmLoading"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
+  <j-modal :title="title" fullscreen :visible="visible" :confirmLoading="confirmLoading"
+           :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk" @cancel="handleCancel"
+           cancelText="鍏抽棴">
     <a-spin :spinning="confirmLoading">
       <j-form-container :disabled="disableSubmit">
         <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol"
                       :wrapperCol="wrapperCol" slot="detail">
           <a-row>
             <a-col :span="customSpan">
-              <a-form-model-item prop="equipmentId" label="璁惧缂栧彿">
-                <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="鏄惁鍔犲伐">
-                <j-dict-select-tag dict-code="is_processed" type="radio" v-model="model.isProcessed"
-                                   @change="handleRadioChange($event,'faultStartTime,breakdownFlag,' +
-                                    'faultDescription,batchNumber,processingPart,quantity')"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="鏁呴殰寮�濮嬫椂闂�">
-                <a-date-picker :disabled="!Boolean(+model.isProcessed)" v-model="model.faultStartTime" value-format="YYYY-MM-DD" style="width:100%"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="鏄惁鍋滄満">
-                <j-dict-select-tag :disabled="!Boolean(+model.isProcessed)" dict-code="yn" placeholder="璇烽�夋嫨鏄惁鍋滄満" v-model="model.breakdownFlag"/>
+              <a-form-model-item prop="equipmentId" label="缁熶竴缂栫爜">
+                <lx-search-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="model.equipmentId" :allowClear="false"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
           <a-row>
             <a-col :span="customSpan">
-              <a-form-model-item label="鏁呴殰鐜拌薄">
-                <a-input  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ユ晠闅滅幇璞�" v-model="model.faultDescription"/>
+              <a-form-model-item label="鏄惁鍋滄満">
+                <j-dict-select-tag type="radio" dict-code="yn" placeholder="璇烽�夋嫨鏄惁鍋滄満" v-model="model.breakdownFlag"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="鎵规鍙�">
-                <a-input  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ユ壒娆″彿" v-model="model.batchNumber"/>
+              <a-form-model-item label="鏁呴殰寮�濮嬫椂闂�" prop="faultStartTime">
+                <a-date-picker v-model="model.faultStartTime" :allowClear="false" value-format="YYYY-MM-DD"
+                               style="width:100%"/>
+              </a-form-model-item>
+            </a-col>
+
+            <a-col :span="12">
+              <a-form-model-item label="鏁呴殰鐜拌薄" prop="faultDescription" :labelCol="labelColLong"
+                                 :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ユ晠闅滅幇璞�" v-model="model.faultDescription"/>
+              </a-form-model-item>
+            </a-col>
+          </a-row>
+
+          <a-row>
+            <a-col :span="customSpan">
+              <a-form-model-item label="鏄惁鍔犲伐">
+                <j-dict-select-tag dict-code="yn" type="radio" v-model="model.isProcessed"
+                                   @change="handleRadioChange($event,'batchNumber,processingPart,quantity')"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="鍔犲伐闆朵欢鍙�">
-                <a-input  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ュ姞宸ラ浂浠跺彿" v-model="model.processingPart"/>
+              <a-form-model-item label="鎵规鍙�" prop="batchNumber">
+                <a-input :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ユ壒娆″彿" v-model="model.batchNumber"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="浠舵暟">
-                <a-input-number  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ヤ欢鏁�" v-model="model.quantity" :min="0" style="width: 100%"/>
+              <a-form-model-item label="鍔犲伐闆朵欢鍙�" prop="processingPart">
+                <a-input :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ュ姞宸ラ浂浠跺彿"
+                         v-model="model.processingPart"/>
+              </a-form-model-item>
+            </a-col>
+            <a-col :span="customSpan">
+              <a-form-model-item label="浠舵暟" prop="quantity">
+                <a-input-number :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ヤ欢鏁�" v-model="model.quantity"
+                                :min="0" style="width: 100%"/>
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -64,22 +64,28 @@
           <a-row>
             <a-col :span="customSpan">
               <a-form-model-item label="璁惧浜嬫晠">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨璁惧浜嬫晠" v-model="model.isAccidentsRegister"/>
+                <j-dict-select-tag dict-code="yn" type="radio" placeholder="璇烽�夋嫨璁惧浜嬫晠"
+                                   v-model="model.isAccidentsRegister" @change="handleRadioChange($event,'scrapPartNumber,scrapPartQuantity,' +
+                                    'scrapPartValue,operationCertificate,powerOffRestart,batchFirstPiece,variableFactors,variableFactorsValue,'+
+                                    'executeNc,accidentPhenomenon,measure,causingResults')"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="搴熷搧浠跺彿">
-                <a-input placeholder="璇疯緭鍏ュ簾鍝佷欢鍙�" v-model="model.scrapPartNumber"/>
+              <a-form-model-item label="搴熷搧浠跺彿" prop="scrapPartNumber">
+                <a-input placeholder="璇疯緭鍏ュ簾鍝佷欢鍙�" :disabled="!Boolean(+model.isAccidentsRegister)"
+                         v-model="model.scrapPartNumber"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="搴熷搧浠舵暟">
-                <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷欢鏁�" v-model="model.scrapPartQuantity" :min="0" style="width: 100%"/>
+              <a-form-model-item label="搴熷搧浠舵暟" prop="scrapPartQuantity">
+                <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷欢鏁�" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                v-model="model.scrapPartQuantity" :min="0" style="width: 100%"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="搴熷搧浠峰��">
-                <a-input placeholder="璇疯緭鍏ュ簾鍝佷环鍊�" v-model="model.scrapPartValue"/>
+              <a-form-model-item label="搴熷搧浠峰��" prop="scrapPartValue">
+                <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷环鍊�" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                v-model="model.scrapPartValue" style="width: 100%"/>
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -87,63 +93,79 @@
           <a-row>
             <a-col :span="customSpan">
               <a-form-model-item label="鏄惁鏈夎澶囨搷浣滆瘉">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鏄惁鏈夎澶囨搷浣滆瘉" v-model="model.operationCertificate"/>
+                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鏄惁鏈夎澶囨搷浣滆瘉"
+                                   v-model="model.operationCertificate"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
               <a-form-model-item label="鏄惁鏂數閲嶅惎">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鏄惁鏂數閲嶅惎" v-model="model.powerOffRestart"/>
+                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鏄惁鏂數閲嶅惎" v-model="model.powerOffRestart"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
               <a-form-model-item label="鏄惁涓烘壒娆¢浠�">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鏄惁涓烘壒娆¢浠�" v-model="model.batchFirstPiece"/>
+                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鏄惁涓烘壒娆¢浠�"
+                                   v-model="model.batchFirstPiece"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="鍙樺姩鍥犵礌">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鍙樺姩鍥犵礌" v-model="model.variableFactors"/>
+              <a-form-model-item label="鍙樺姩鍥犵礌" prop="variableFactors">
+                <j-dict-select-tag type="radio" dict-code="yn" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鍙樺姩鍥犵礌" v-model="model.variableFactors"
+                                   @change="handleRadioChange($event,'variableFactorsValue')"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
           <a-row>
             <a-col :span="customSpan">
-              <a-form-model-item label="鍙樺姩鍥犵礌鍐呭">
-                <j-dict-select-tag dict-code="variable_factors_value" placeholder="璇烽�夋嫨鍙樺姩鍥犵礌鍐呭" v-model="model.variableFactorsValue"/>
+              <a-form-model-item label="鍙樺姩鍥犵礌鍐呭" prop="variableFactorsValue">
+                <j-dict-select-tag dict-code="variable_factors_value" :disabled="!Boolean(+model.variableFactors)"
+                                   placeholder="璇烽�夋嫨鍙樺姩鍥犵礌鍐呭"
+                                   v-model="model.variableFactorsValue"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
               <a-form-model-item label="鎵ц绋嬪簭">
-                <a-input placeholder="璇疯緭鍏ユ墽琛岀▼搴�" v-model="model.executeNc"/>
+                <a-input placeholder="璇疯緭鍏ユ墽琛岀▼搴�" v-model="model.executeNc"
+                         :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="浜嬫晠鐜拌薄">
-                <a-input placeholder="璇疯緭鍏ヤ簨鏁呯幇璞�" v-model="model.accidentPhenomenon"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="閲囧彇鎺柦">
-                <a-input placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.measure"/>
+            <a-col :span="12">
+              <a-form-model-item label="浜嬫晠鐜拌薄" prop="accidentPhenomenon" :labelCol="labelColLong"
+                                 :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ヤ簨鏁呯幇璞�" v-model="model.accidentPhenomenon"
+                            :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
           <a-row>
-            <a-col :span="customSpan">
-              <a-form-model-item label="閫犳垚缁撴灉">
-                <a-input placeholder="璇疯緭鍏ラ�犳垚缁撴灉" v-model="model.causingResults"/>
+            <a-col :span="12">
+              <a-form-model-item label="閲囧彇鎺柦" prop="measure" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.measure"
+                            :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
-
-            <a-col :span="customSpan">
-              <a-form-model-item label="澶囨敞">
-                <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.measure"/>
+            <a-col :span="12">
+              <a-form-model-item label="閫犳垚缁撴灉" prop="causingResults" :labelCol="labelColLong"
+                                 :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ラ�犳垚缁撴灉" v-model="model.causingResults"
+                            :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
+          <a-row>
+            <a-col :span="12">
+              <a-form-model-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/>
+              </a-form-model-item>
+            </a-col>
+          </a-row>
         </a-form-model>
       </j-form-container>
     </a-spin>
@@ -153,19 +175,10 @@
 <script>
   import { httpAction } from '@/api/manage'
   import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
-  import moment from 'moment'
 
   export default {
     name: 'EamReportRepairModal',
     components: { LxSearchEquipmentSelect },
-    props: {
-      breakdownFlagList: {
-        type: Array
-      },
-      faultReasonList: {
-        type: Array
-      }
-    },
     data() {
       return {
         title: '鎿嶄綔',
@@ -192,21 +205,60 @@
         },
         confirmLoading: false,
         validatorRules: {
-          faultStartTime: [
-            { required: true, message: '璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�' }
-          ],
-          breakdownFlag: [
-            { required: true, message: '璇烽�夋嫨鏄惁鍋滄満' }
-          ],
-          equipmentId: [
-            { required: true, message: '璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储' }
-          ],
-          faultName: [
-            { required: true, message: '璇烽�夋嫨鏁呴殰绠�绉�' }
-          ],
-          faultDescription: [
-            { required: true, message: '璇疯緭鍏ユ晠闅滄弿杩�' }
-          ]
+          equipmentId: [{ required: true, message: '璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�', trigger: 'change' }],
+          faultStartTime: [{ required: true, message: '璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�', trigger: 'change' }],
+          faultDescription: [{ required: true, message: '璇疯緭鍏ユ晠闅滅幇璞�', trigger: 'change' }],
+          batchNumber: [{
+            validator: this.isProcessedRelatedValidator,
+            message: '璇疯緭鍏ユ壒娆″彿',
+            trigger: 'change'
+          }],
+          processingPart: [{
+            validator: this.isProcessedRelatedValidator,
+            message: '璇疯緭鍏ュ姞宸ラ浂浠跺彿',
+            trigger: 'change'
+          }],
+          quantity: [{
+            validator: this.isProcessedRelatedValidator,
+            message: '璇疯緭鍏ヤ欢鏁�',
+            trigger: 'change'
+          }],
+          scrapPartNumber: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ュ簾鍝佷欢鍙�',
+            trigger: 'change'
+          }],
+          scrapPartQuantity: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ュ簾鍝佷欢鏁�',
+            trigger: 'change'
+          }],
+          scrapPartValue: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ュ簾鍝佷环鍊�',
+            trigger: 'change'
+          }],
+          variableFactors: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇烽�夋嫨鍙樺姩鍥犵礌',
+            trigger: 'change'
+          }],
+          variableFactorsValue: [{
+            validator: this.variableFactorsValueValidator,
+            message: '璇烽�夋嫨鍙樺姩鍥犵礌鍐呭',
+            trigger: 'change'
+          }],
+          accidentPhenomenon: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ヤ簨鏁呯幇璞�',
+            trigger: 'change'
+          }],
+          measure: [{ validator: this.isAccidentsRegisterRelatedValidator, message: '璇疯緭鍏ラ噰鍙栨帾鏂�', trigger: 'change' }],
+          causingResults: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ラ�犳垚缁撴灉',
+            trigger: 'change'
+          }]
         },
         url: {
           add: '/eam/eamReportRepair/add',
@@ -219,21 +271,16 @@
         this.editable = true
         //鍒濆鍖栭粯璁ゅ��
         this.model = {
-          isProcessed: 0,
+          breakdownFlag: '1',
+          isProcessed: '0',
+          isAccidentsRegister: '0'
         }
         this.visible = true
       },
 
       edit(record) {
-        this.model = Object.assign({}, record, { imageFilesResult: record.imageFiles && this.isJSON(record.imageFiles) ? JSON.parse(record.imageFiles) : null })
+        this.model = Object.assign({}, record)
         this.visible = true
-      },
-
-      handleFaultNameChange(value) {
-        const faultReasonItem = this.faultReasonList.find(item => item.faultName === value)
-        this.model.faultType = faultReasonItem.faultCategory
-        this.model.faultType_dictText = faultReasonItem.faultCategory_dictText
-        this.model.faultDescription = faultReasonItem.faultDescription
       },
 
       handleOk() {
@@ -252,31 +299,29 @@
               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
-              that.close()
-            })
+            httpAction(httpUrl, this.model, method)
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.$emit('ok')
+                  that.close()
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.confirmLoading = false
+              })
           } else {
             return false
           }
         })
-      },
-
-      // 鍒ゆ柇鏄笉鏄疛SON瀛楃涓�
-      isJSON(str) {
-        try {
-          JSON.parse(str)
-          return true // 濡傛灉杩欓噷娌℃湁鎶涘嚭寮傚父锛岃鏄庢槸JSON鏍煎紡鐨勫瓧绗︿覆
-        } catch (e) {
-          return false // 濡傛灉鎶涘嚭寮傚父锛岃鏄庝笉鏄疛SON鏍煎紡鐨勫瓧绗︿覆
-        }
       },
 
       /**\
@@ -289,39 +334,66 @@
         if (key.includes(',')) {
           const keys = key.split(',')
           keys.forEach(key => {
-            if (value === '0') delete this.model[key]
+            if (value != '1') delete this.model[key]
+            this.$refs.form.clearValidate(key)
           })
-        }else {
-          if (value === '0') delete this.model[key]
+        } else {
+          if (value != '1') delete this.model[key]
+          this.$refs.form.clearValidate(key)
         }
       },
 
       /**
-       * 绂佺敤鏃ユ湡
-       * @params current 琚鐢ㄧ殑鏃堕棿
+       * 鏍规嵁鏄惁鍔犲伐瀛楁鏍¢獙鐩稿叧瀛楁
+       * @param rule
+       * @param value 鐩稿叧瀛楁鍊�
+       * @param callback 缁撴灉鍥炶皟鍑芥暟
        */
-      disabledDate(current) {
-        // Can not select days after today
-        return current > moment().endOf('day')
-      },
-
-      /**
-       * 绂佺敤鏃ユ湡涓殑鏃堕棿
-       * @returns {{disabledHours: (function(): Array), disabledMinutes: (function(): Array)}}
-       */
-      disabledTime() {
-        function range(start, end) {
-          const result = []
-          for (let i = start; i < end; i++) {
-            result.push(i)
+      isProcessedRelatedValidator(rule, value, callback) {
+        if (this.model.isProcessed == '1') {
+          if (!value) {
+            callback(new Error())
+          } else {
+            callback()
           }
-          return result
+        } else {
+          callback()
         }
+      },
 
-        return {
-          disabledHours: () => range(moment().hour() + 1, 24),
-          disabledMinutes: () => range(moment().minute() + 1, 60),
-          disabledSeconds: () => range(moment().second() + 1, 60)
+      /**
+       * 鏍规嵁璁惧浜嬫晠瀛楁鏍¢獙鐩稿叧瀛楁
+       * @param rule
+       * @param value 鐩稿叧瀛楁鍊�
+       * @param callback 缁撴灉鍥炶皟鍑芥暟
+       */
+      isAccidentsRegisterRelatedValidator(rule, value, callback) {
+        if (this.model.isAccidentsRegister == '1') {
+          if (!value) {
+            callback(new Error())
+          } else {
+            callback()
+          }
+        } else {
+          callback()
+        }
+      },
+
+      /**
+       * 鍙樺姩鍥犵礌鍐呭鏍¢獙
+       * @param rule
+       * @param value 鍙樺姩鍥犵礌鍐呭瀛楁鍊�
+       * @param callback 缁撴灉鍥炶皟鍑芥暟
+       */
+      variableFactorsValueValidator(rule, value, callback) {
+        if (this.model.variableFactors == '1') {
+          if (!value) {
+            callback(new Error())
+          } else {
+            callback()
+          }
+        } else {
+          callback()
         }
       },
 
@@ -332,7 +404,7 @@
       },
       handleCancel() {
         this.close()
-      },
+      }
     }
   }
 </script>

--
Gitblit v1.9.3