From bc90fb7e0c6c8313e7d5fcf3aba57e3a1f975c93 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 15 八月 2024 17:39:45 +0800
Subject: [PATCH] 对象建模模块,保存统一先进行正则校验(之间是失焦才进行校验)

---
 Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js                    |    9 +
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue    |   23 +-
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue |   74 ++++---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue      |   30 +-
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue      |  122 +++++++------
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue  |  222 ++++++++++++++---------
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue    |   47 +++--
 7 files changed, 309 insertions(+), 218 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js b/Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js
index 1b64d2b..f5ef82f 100644
--- a/Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js
+++ b/Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js
@@ -8,3 +8,12 @@
     params
   });
 }
+
+// 鍒楄〃鏌ヨ
+export function addLifeCycle(params) {
+  return request({
+    url: "/api/btmTypeController/addBtmType",
+    method: "post",
+    data:params
+  });
+}
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
index 2fdceb0..ad7dfe9 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -737,8 +737,12 @@
         row,
         this.$refs.userCrud,
         this.lastIndex,
-        (newIndex) => { this.lastIndex = newIndex; },
-        () => { this.selectList = []; }
+        (newIndex) => {
+          this.lastIndex = newIndex;
+        },
+        () => {
+          this.selectList = [];
+        }
       );
     },
 
@@ -1213,38 +1217,44 @@
         linkTypeName: "",
         rangeValue: ""
       };
-      if (this.dialogTitle === 'add') {
-        this.form.range = this.form.rangeValue.replace(/\n/g, ';');
-        if (this.form.attributeSelectType === 'business') {
-          this.form.btmTypeId = this.form.referValue;
-        } else {
-          this.form.linkTypeName = this.form.referValue;
-        }
-        addAttribute(this.form).then(res => {
-          if (res.data.code === 200) {
-            this.$message.success(res.data.obj);
-            this.getTableList();
-            this.form = form;
-            this.addVisible = false;
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          if (this.dialogTitle === 'add') {
+            this.form.range = this.form.rangeValue.replace(/\n/g, ';');
+            if (this.form.attributeSelectType === 'business') {
+              this.form.btmTypeId = this.form.referValue;
+            } else {
+              this.form.linkTypeName = this.form.referValue;
+            }
+            addAttribute(this.form).then(res => {
+              if (res.data.code === 200) {
+                this.$message.success(res.data.obj);
+                this.getTableList();
+                this.form = form;
+                this.addVisible = false;
+              }
+            })
           }
-        })
-      }
-      if (this.dialogTitle === 'edit') {
-        this.form.range = this.form.rangeValue.replace(/\n/g, ';');
-        if (this.form.attributeSelectType === 'business') {
-          this.form.btmTypeId = this.form.referValue;
-        } else {
-          this.form.linkTypeName = this.form.referValue;
-        }
-        updateAttribute(this.form).then(res => {
-          if (res.data.code === 200) {
-            this.$message.success(res.data.obj);
-            this.getTableList();
-            this.form = form;
-            this.addVisible = false;
+          if (this.dialogTitle === 'edit') {
+            this.form.range = this.form.rangeValue.replace(/\n/g, ';');
+            if (this.form.attributeSelectType === 'business') {
+              this.form.btmTypeId = this.form.referValue;
+            } else {
+              this.form.linkTypeName = this.form.referValue;
+            }
+            updateAttribute(this.form).then(res => {
+              if (res.data.code === 200) {
+                this.$message.success(res.data.obj);
+                this.getTableList();
+                this.form = form;
+                this.addVisible = false;
+              }
+            })
           }
-        })
-      }
+        } else {
+          return false;
+        }
+      });
     },
 
     // 瀵煎叆
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
index 5506afe..c5bcb1c 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -168,10 +168,10 @@
       class="avue-dialog"
       width="75%"
       @close="addDialogClose">
-      <el-form ref="form" :model="form" :rules="rules" label-width="90px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="95px">
         <div class="dialogForm">
           <div class="leftForm">
-            <el-form-item label="绫诲瀷鍚嶇О锛�" prop="name">
+            <el-form-item label="绫诲瀷鍚嶇О锛�" prop="id">
               <el-input v-model="form.id" :readOnly="title === 'edit'"></el-input>
             </el-form-item>
             <el-form-item label="鏍囩锛�">
@@ -188,44 +188,48 @@
             </el-form-item>
           </div>
           <div class="centerForm">
-            <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="100px" prop="revLevel">
+            <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="110px" prop="revLevel">
               <el-select v-model="form.revLevel">
                 <el-option label="涓嶅彲淇" value="0"></el-option>
                 <el-option label="閲囩敤涓�绾х増鏈鐞�" value="1"></el-option>
                 <el-option label="閲囩敤浜岀骇鐗堟湰绠$悊" value="2"></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="100px" prop="revisionRuleName">
+            <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="110px" prop="revisionRuleName">
               <div style="display: flex;gap: 5px;align-items: center">
                 <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input>
-                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="versionAddHandler">娣诲姞</el-button>
+                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
+                           @click="versionAddHandler">娣诲姞
+                </el-button>
                 <el-switch
-                  style="width: 300px"
                   v-model="form.inputRevisionFlag"
-                  active-text="鎵嬪伐杈撳叆">
+                  active-text="鎵嬪伐杈撳叆"
+                  style="width: 300px">
                 </el-switch>
               </div>
             </el-form-item>
-            <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="100px" prop="delimiter">
+            <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="110px" prop="delimiter">
               <el-select v-model="form.delimiter" clearable>
                 <el-option label="." value="."></el-option>
                 <el-option label="-" value="-"></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="鐗堟鍙疯鍒欙細" label-width="100px"
+            <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="鐗堟鍙疯鍒欙細" label-width="110px"
                           prop="revLevel">
               <el-select v-model="form.versionRule" clearable>
-                <el-option label="1.2.3..." value="1.2.3..."></el-option>
-                <el-option label="a.b.c..." value="a.b.c..."></el-option>
-                <el-option label="0.1.2..." value="0.1.2..."></el-option>
+                <el-option label="1.2.3..." value="0"></el-option>
+                <el-option label="a.b.c..." value="1"></el-option>
+                <el-option label="0.1.2..." value="2"></el-option>
               </el-select>
             </el-form-item>
           </div>
           <div class="rightForm">
-            <el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="revLevel">
+            <el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="lifeCycleId">
               <div style="display: flex;gap: 5px;align-items: center">
                 <el-input v-model="form.lifeCycleId" :readOnly="true"></el-input>
-                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="lifeAddHandler('input')">娣诲姞</el-button>
+                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
+                           @click="lifeAddHandler('input')">娣诲姞
+                </el-button>
               </div>
             </el-form-item>
 
@@ -373,7 +377,7 @@
 
 <script>
 import basicOption from '@/util/basic-option'
-import {getBizTypes} from "@/api/modeling/businessType/api"
+import {getBizTypes, addLifeCycle} from "@/api/modeling/businessType/api"
 import {gridAttribute} from "@/api/modeling/attributePool/api";
 import func from "@/util/func";
 import {getVersionRuleAllList} from "@/api/modeling/version/api";
@@ -383,58 +387,58 @@
   name: "index",
   data() {
     return {
-      dialogLifeDefalutData:[], // 鏌ヨ閲嶇疆榛樿鏁版嵁
-      lifeType:'',
-      dialogLifeTable:[],
-      dialogLifeSaveRow:{},
-      dialogLifeKey:Math.random(),
-      dialogLifeData:[],
-      dialogLifeOption:{
+      dialogLifeDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁
+      lifeType: '',
+      dialogLifeTable: [],
+      dialogLifeSaveRow: {},
+      dialogLifeKey: Math.random(),
+      dialogLifeData: [],
+      dialogLifeOption: {
         ...basicOption,
-        addBtn:false,
-        selection:false,
-        refreshBtn:false,
-        menu:false,
-        height:450,
+        addBtn: false,
+        selection: false,
+        refreshBtn: false,
+        menu: false,
+        height: 450,
         searchMenuSpan: 8,
-        highlightCurrentRow:true,
-        column:[
+        highlightCurrentRow: true,
+        column: [
           {
-            label:'鐢熷懡鍛ㄦ湡妯℃澘鍚�',
-            prop:'id',
-            searchLabelWidth:120,
-            search:true
+            label: '鐢熷懡鍛ㄦ湡妯℃澘鍚�',
+            prop: 'id',
+            searchLabelWidth: 120,
+            search: true
           }
         ]
       },
-      dialogLifeLoading:false,
-      dialogLfeVisible:false,
-      dialogVersionDefalutData:[], // 鏌ヨ閲嶇疆榛樿鏁版嵁
-      dialogSwitchValue:false,
-      dialogVersionSaveRow:{},
-      dialogVersionVisible:false,
-      dialogVersionKey:Math.random(),
-      dialogVersionData:[],
-      dialogVersionOption:{
+      dialogLifeLoading: false,
+      dialogLfeVisible: false,
+      dialogVersionDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁
+      dialogSwitchValue: false,
+      dialogVersionSaveRow: {},
+      dialogVersionVisible: false,
+      dialogVersionKey: Math.random(),
+      dialogVersionData: [],
+      dialogVersionOption: {
         ...basicOption,
-        addBtn:false,
-        selection:false,
-        refreshBtn:false,
-        menu:false,
-        height:450,
+        addBtn: false,
+        selection: false,
+        refreshBtn: false,
+        menu: false,
+        height: 450,
         searchMenuSpan: 8,
-        highlightCurrentRow:true,
+        highlightCurrentRow: true,
         // calcHeight: 100,
-        column:[
+        column: [
           {
-            label:'鐗堟湰鍙疯鍒�',
-            prop:'id',
-            searchLabelWidth:110,
-            search:true
+            label: '鐗堟湰鍙疯鍒�',
+            prop: 'id',
+            searchLabelWidth: 110,
+            search: true
           }
         ]
       },
-      dialogVersionLoading:false,
+      dialogVersionLoading: false,
       dialogAttrSelectList: [],
       searchAttrParams: {},
       dialogAttrLoading: false,
@@ -481,7 +485,18 @@
       },
       dialogAttrSaveData: [],
       attrPollDialogVisible: false,
-      rules: [],
+      rules: {
+        id: [
+          {required: true, message: '璇疯緭绫诲瀷鍚嶇О', trigger: 'blur'},
+          {validator: this.validateEnglishOnly, trigger: 'blur'}
+        ],
+        revLevel: [
+          {required: true, message: '璇烽�夋嫨鐗堟湰瑙勫垯', trigger: 'blur'},
+        ],
+        lifeCycleId: [
+          {required: true, message: '璇烽�夋嫨鐢熷懡鍛ㄦ湡', trigger: 'blur'},
+        ]
+      },
       dialogAttrData: [],
       dialogAttrOption: {
         ...basicOption,
@@ -554,17 +569,18 @@
         ]
       },
       form: {
-        id:'', // 绫诲瀷鍚嶇О
-        name:'', // 鏍囩
-        fName:'', // 缁ф壙鑷�
-        implClass:'', // 瀹炵幇绫�
-        description:'', // 鎻忚堪
-        revLevel:'', // 鐗堟湰瑙勫垯
-        revisionRuleId:'',// 鐗堟湰鍙疯鍒�
-        inputRevisionFlag:'', // 鎵嬪伐杈撳叆
-        versionRule:'', // 鐗堟鍙疯鍒�
-        lifeCycleId:'', // 鐢熷懡鍛ㄦ湡
-        subLifeCycleId:'', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�
+        id: '', // 绫诲瀷鍚嶇О
+        name: '', // 鏍囩
+        fName: '', // 缁ф壙鑷�
+        implClass: '', // 瀹炵幇绫�
+        description: '', // 鎻忚堪
+        revLevel: '', // 鐗堟湰瑙勫垯
+        revisionRuleId: '',// 鐗堟湰鍙疯鍒�
+        inputRevisionFlag: false, // 鎵嬪伐杈撳叆
+        versionRule: '', // 鐗堟鍙疯鍒�
+        lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
+        subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+        apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
       },
       nodeRow: {},
       treeOption: {
@@ -729,14 +745,14 @@
     },
 
     // 鐗堟湰瑙勫垯绠$悊娣诲姞
-    versionAddHandler(){
+    versionAddHandler() {
       this.dialogVersionVisible = true;
       this.dialogVersionKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛�
       this.dialogVersionLoading = true;
       getVersionRuleAllList().then(res => {
         const data = res.data.data.map(item => {
           return {
-            id:item.id
+            id: item.id
           }
         });
         this.dialogVersionData = data;
@@ -748,12 +764,12 @@
     },
 
     // 鐗堟湰瑙勫垯琛岀偣鍑�
-    dialogVersionRowClick(row){
+    dialogVersionRowClick(row) {
       this.dialogVersionSaveRow = row;
     },
 
     // 鐗堟湰瑙勫垯鎼滅储
-    versionHandleSearch(params,done){
+    versionHandleSearch(params, done) {
       const {id} = params;
 
       if (!params.id) {
@@ -771,22 +787,22 @@
     },
 
     // 鐗堟湰绠$悊缃┖
-    versionHandleReset(){
+    versionHandleReset() {
       this.dialogVersionData = this.dialogVersionDefalutData;
     },
 
-    // 鐗堟湰瑙勫垯淇濆瓨
-    dialogVersionAddClickHandler(){
-      if(func.isEmptyObject(this.dialogVersionSaveRow)){
+    // 鐗堟湰鍙疯鍒欎繚瀛�
+    dialogVersionAddClickHandler() {
+      if (func.isEmptyObject(this.dialogVersionSaveRow)) {
         this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
         return;
       }
-      this.form.revRuleName = this.dialogVersionSaveRow.id;
+      this.form.revisionRuleId = this.dialogVersionSaveRow.id;
       this.dialogVersionVisible = false;
     },
 
     // 鐢熷懡鍛ㄦ湡鏂板
-    lifeAddHandler(val){
+    lifeAddHandler(val) {
       this.dialogLfeVisible = true;
       this.dialogLifeKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛�
       this.dialogLifeLoading = true;
@@ -794,7 +810,7 @@
       gridLifeCycle().then(res => {
         const data = res.data.data.map(item => {
           return {
-            id:item.id
+            id: item.id
           }
         });
         this.dialogLifeData = data;
@@ -806,19 +822,19 @@
     },
 
     // 鐢熷懡鍛ㄦ湡琛岀偣鍑�
-    dialogLifeRowClick(row){
+    dialogLifeRowClick(row) {
       this.dialogLifeSaveRow = row;
     },
 
     // 鐢熷懡鍛ㄦ湡淇濆瓨
-    dialogLifeAddClickHandler(){
-      if(func.isEmptyObject(this.dialogLifeSaveRow)){
+    dialogLifeAddClickHandler() {
+      if (func.isEmptyObject(this.dialogLifeSaveRow)) {
         this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
         return;
       }
-      if(this.lifeType === 'input'){
-        this.form.lifeCycle = this.dialogLifeSaveRow.id;
-      }else {
+      if (this.lifeType === 'input') {
+        this.form.lifeCycleId = this.dialogLifeSaveRow.id;
+      } else {
         const flag = this.dialogLifeTable.some(item => item.id === this.dialogLifeSaveRow.id);
 
         if (flag) {
@@ -831,12 +847,12 @@
     },
 
     // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛ㄧЩ闄�
-    dialogDeleteLifeTable(index){
-      this.dialogLifeTable.splice(index,1)
+    dialogDeleteLifeTable(index) {
+      this.dialogLifeTable.splice(index, 1)
     },
 
     // 鐢熷懡鍛ㄦ湡鎼滅储
-    lifeHandleSearch(params,done){
+    lifeHandleSearch(params, done) {
       const {id} = params;
 
       if (!params.id) {
@@ -854,13 +870,41 @@
     },
 
     // 鐢熷懡鍛ㄦ湡閲嶇疆
-    lifeHandleReset(){
+    lifeHandleReset() {
       this.dialogLifeData = this.dialogLifeDefalutData;
     },
 
+    // 鍙兘杈撳叆鑻辨枃姝e垯鏍¢獙
+    validateEnglishOnly(rule, value, callback) {
+      if (!value) {
+        return callback(new Error('璇疯緭鍏ョ被鍨嬪悕绉�'));
+      }
+      if (!/^[A-Za-z]+$/.test(value)) {
+        return callback(new Error('鍙兘杈撳叆鑻辨枃瀛楁瘝'));
+      }
+      callback(); // 楠岃瘉閫氳繃
+    },
+
     // 鏂板缂栬緫淇濆瓨
-    addDialogSavaHandler(){
+    addDialogSavaHandler() {
       console.log(this.form)
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          addLifeCycle(this.form).then(res => {
+            console.log(res);
+          })
+        } else {
+          return false;
+        }
+      });
+
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+        } else {
+          return false;
+        }
+      });
+
     }
 
   }
@@ -869,7 +913,7 @@
 
 <style lang="scss" scoped>
 ::v-deep {
-  .avue-dialog .el-dialog__body{
+  .avue-dialog .el-dialog__body {
     padding: 20px 20px 0px 20px; // 涓婂彸涓嬪乏
     margin-bottom: 10px !important;
   }
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue
index 1fb7931..8ef3a18 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue
@@ -84,9 +84,9 @@
           </el-form>
 
           <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="rowSaveHandler">纭� 瀹�</el-button>
-        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
-      </span>
+            <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="rowSaveHandler">纭� 瀹�</el-button>
+          </span>
         </el-dialog>
 
         <!-- 鏌ョ湅浣跨敤鑼冨洿    -->
@@ -243,7 +243,7 @@
       dialogData: [],
       dialogOption: {
         ...basicOption,
-        calcHeight:50,
+        calcHeight: 50,
         refreshBtn: false,
         selection: false,
         column: [
@@ -377,8 +377,12 @@
         row,
         this.$refs.userCrud,
         this.lastIndex,
-        (newIndex) => { this.lastIndex = newIndex; },
-        () => { this.selectList = []; }
+        (newIndex) => {
+          this.lastIndex = newIndex;
+        },
+        () => {
+          this.selectList = [];
+        }
       );
     },
 
@@ -473,61 +477,67 @@
 
     // 瀵硅瘽妗嗘灇涓句繚瀛�
     rowSaveHandler() {
-      const lengthStatus = this.dialogData.some(item => item.value.length > this.form.length)
-      if (lengthStatus) {
-        this.$message.error('璇锋鏌ユ灇涓惧�兼槸鍚﹁秴杩囨渶澶ч暱搴︼紒')
-        return;
-      }
-
-      if (this.form.enumValueDataType === "Integer") {
-        // 鍒ゆ柇鏄惁鍖呭惈闈炴暟瀛楀瓧绗�
-        const integerStatus = this.dialogData.some(item => {
-          if (!/^\-?\d+$/.test(item.value)) {
-            return true;
+      const lengthStatus = this.dialogData.some(item => item.value.length > this.form.length);
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          if (lengthStatus) {
+            this.$message.error('璇锋鏌ユ灇涓惧�兼槸鍚﹁秴杩囨渶澶ч暱搴︼紒')
+            return;
           }
-        })
 
-        // 鍒ゆ柇鏄惁鏄痠nteger鏍煎紡
-        const integerNumStatus = this.dialogData.some(item => {
-          let numValue = parseInt(item.value);
-          if (isNaN(numValue) || !Number.isInteger(numValue)) {
-            return true;
+          if (this.form.enumValueDataType === "Integer") {
+            // 鍒ゆ柇鏄惁鍖呭惈闈炴暟瀛楀瓧绗�
+            const integerStatus = this.dialogData.some(item => {
+              if (!/^\-?\d+$/.test(item.value)) {
+                return true;
+              }
+            })
+
+            // 鍒ゆ柇鏄惁鏄痠nteger鏍煎紡
+            const integerNumStatus = this.dialogData.some(item => {
+              let numValue = parseInt(item.value);
+              if (isNaN(numValue) || !Number.isInteger(numValue)) {
+                return true;
+              }
+            })
+
+            if (integerStatus || integerNumStatus) {
+              this.$message.error('鏋氫妇鍊煎繀椤绘槸Integer绫诲瀷');
+              return;
+            }
           }
-        })
 
-        if (integerStatus || integerNumStatus) {
-          this.$message.error('鏋氫妇鍊煎繀椤绘槸Integer绫诲瀷');
-          return;
+          if (this.dialogType === 'add') {
+            let params = {
+              ...this.form,
+              items: this.dialogData
+            }
+            addEnumType(params).then(res => {
+              if (res.data.code === 200) {
+                this.$message.success(res.data.obj);
+                this.dialogVisible = false;
+                this.getTableList();
+              }
+            })
+          } else if (this.dialogType === 'edit') {
+            let params = {
+              ...this.form,
+              items: this.dialogData,
+              oid: this.editRow.oid,
+              ts: this.editRow.ts
+            }
+            updateEnumType(params).then(res => {
+              if (res.data.code === 200) {
+                this.$message.success(res.data.obj);
+                this.dialogVisible = false;
+                this.getTableList();
+              }
+            })
+          }
+        } else {
+          return false;
         }
-      }
-
-      if (this.dialogType === 'add') {
-        let params = {
-          ...this.form,
-          items: this.dialogData
-        }
-        addEnumType(params).then(res => {
-          if (res.data.code === 200) {
-            this.$message.success(res.data.obj);
-            this.dialogVisible = false;
-            this.getTableList();
-          }
-        })
-      } else if (this.dialogType === 'edit') {
-        let params = {
-          ...this.form,
-          items: this.dialogData,
-          oid: this.editRow.oid,
-          ts: this.editRow.ts
-        }
-        updateEnumType(params).then(res => {
-          if (res.data.code === 200) {
-            this.$message.success(res.data.obj);
-            this.dialogVisible = false;
-            this.getTableList();
-          }
-        })
-      }
+      });
     },
 
     // 鏋氫妇椤规柊澧�
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
index b4c4e52..aa5e091 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
@@ -445,7 +445,7 @@
         highlightCurrentRow: true,
         searchMenuSpan: 8,
         searchLabelWidth: 100,
-        calcHeight:30,
+        calcHeight: 30,
         column: [
           {
             label: '涓氬姟绫诲瀷鍚�',
@@ -912,8 +912,6 @@
       this.bizFormData = [];
       this.bizToData = [];
       this.dialogBottomData = [];
-      console.log(this.form);
-      console.log('--', this.nodeRow)
     },
 
     // 娣诲姞灞炴�ф睜 淇濆瓨
@@ -1103,16 +1101,22 @@
         this.$message.error('form绔笟鍔$被鍨嬪拰to绔被鍨嬪潎涓嶈兘涓虹┖锛�')
         return;
       }
-      this.form.btmItemsFrom = this.bizFormData.map(item => item.name);
-      this.form.btmItemsTo = this.bizToData.map(item => item.name);
-      this.form.attributes = this.dialogBottomData.map(item => item.id);
-      let flag = this.title === 'add' ? true : false;
-      addAndEditLink(flag, this.form).then(res => {
-        if (res.data.code === 200) {
-          this.visible = false;
-          this.$message.success(res.data.msg);
-          this.resetForm();
-          this.getTreeList();
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          this.form.btmItemsFrom = this.bizFormData.map(item => item.name);
+          this.form.btmItemsTo = this.bizToData.map(item => item.name);
+          this.form.attributes = this.dialogBottomData.map(item => item.id);
+          let flag = this.title === 'add' ? true : false;
+          addAndEditLink(flag, this.form).then(res => {
+            if (res.data.code === 200) {
+              this.visible = false;
+              this.$message.success(res.data.msg);
+              this.resetForm();
+              this.getTreeList();
+            }
+          });
+        } else {
+          return false;
         }
       });
     },
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue
index 41fe5ec..ec3de1a 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue
@@ -2,10 +2,10 @@
   <basic-container>
     <avue-crud
       ref="useCrud"
-      :table-loading="loading"
       :data="data"
       :option="option"
       :page.sync="page"
+      :table-loading="loading"
       @selection-change="selectChange"
       @row-click="rowClickHandler"
       @refresh-change="handleRefresh"
@@ -107,7 +107,7 @@
   name: "index",
   data() {
     return {
-      loading:false,
+      loading: false,
       data: [],
       option: {
         ...basicOption,
@@ -178,8 +178,8 @@
         ]
       },
       visible: false,
-      selectList:[],
-      lastIndex:null,
+      selectList: [],
+      lastIndex: null,
       page: {
         currentPage: 1,
         pageSize: 15,
@@ -205,12 +205,12 @@
     },
 
     // 琛ㄦ牸鍒锋柊
-    handleRefresh(){
+    handleRefresh() {
       this.getTreeList();
     },
 
     // 琛ㄦ牸澶氶��
-    selectChange(row){
+    selectChange(row) {
       this.selectList = row;
     },
 
@@ -232,8 +232,12 @@
         row,
         this.$refs.useCrud,
         this.lastIndex,
-        (newIndex) => { this.lastIndex = newIndex; },
-        () => { this.selectList = []; }
+        (newIndex) => {
+          this.lastIndex = newIndex;
+        },
+        () => {
+          this.selectList = [];
+        }
       );
     },
 
@@ -277,7 +281,7 @@
     },
 
     // 琛屽崟涓垹闄�
-    delRowClickHandler(row){
+    delRowClickHandler(row) {
       this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
@@ -315,18 +319,23 @@
     // 鍒涘缓鎴栫紪杈戜繚瀛�
     addSaveHandler() {
       const saveFunction = this.dialogTitle === 'add' ? addSave : editSave;
-
-      saveFunction(this.form).then(res => {
-        if (res.data.code === 200) {
-          this.$message.success(res.data.obj);
-          this.loading = true;
-          this.getTreeList();
-          this.visible = false;
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          saveFunction(this.form).then(res => {
+            if (res.data.code === 200) {
+              this.$message.success(res.data.obj);
+              this.loading = true;
+              this.getTreeList();
+              this.visible = false;
+            } else {
+              this.$message.error(res.data.obj);
+            }
+          }).catch(error => {
+            this.$message.error(error);
+          });
         } else {
-          this.$message.error(res.data.obj);
+          return false;
         }
-      }).catch(error => {
-        this.$message.error(error);
       });
     },
 
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
index 5b03358..aeb9eea 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
@@ -354,17 +354,22 @@
     // 鏂板 缂栬緫 淇濆瓨
     addSaveHandler() {
       const saveFunction = this.dialogTitle === 'add' ? addVersionRule : updateVersionRule;
-
-      saveFunction(this.form).then(res => {
-        if (res.data.code === 200) {
-          this.$message.success(res.data.obj);
-          this.getTreeList();
-          this.visible = false;
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          saveFunction(this.form).then(res => {
+            if (res.data.code === 200) {
+              this.$message.success(res.data.obj);
+              this.getTreeList();
+              this.visible = false;
+            } else {
+              this.$message.error(res.data.obj);
+            }
+          }).catch(error => {
+            this.$message.error(error);
+          });
         } else {
-          this.$message.error(res.data.obj);
+          return false;
         }
-      }).catch(error => {
-        this.$message.error(error);
       });
     },
 

--
Gitblit v1.9.3