From f1d079f9c0b3d384090477ca54e0548373d62b57 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:56:39 +0800
Subject: [PATCH] 配置修改

---
 web_src/src/components/dialog/catalogEdit.vue |   61 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 6 deletions(-)

diff --git a/web_src/src/components/dialog/catalogEdit.vue b/web_src/src/components/dialog/catalogEdit.vue
index 20b2168..e1cd8d2 100644
--- a/web_src/src/components/dialog/catalogEdit.vue
+++ b/web_src/src/components/dialog/catalogEdit.vue
@@ -12,12 +12,22 @@
     >
       <div id="shared" style="margin-top: 1rem;margin-right: 100px;">
         <el-form ref="form" :rules="rules" :model="form" label-width="140px" >
+<!--          <el-form-item >-->
+<!--            建议的类型:-->
+<!--            <br/>-->
+<!--            &emsp;&emsp;行政区划(可选2位/4位/6位/8位/10位数字,例如:130432,表示河北省邯郸市广平县)-->
+<!--            <br/>-->
+<!--            &emsp;&emsp;业务分组(第11、12、13位215,例如:34020000002150000001)-->
+<!--            <br/>-->
+<!--            &emsp;&emsp;虚拟组织(第11、12、13位216,例如:34020000002160000001)-->
+<!--          </el-form-item>-->
           <el-form-item label="节点编号" prop="id" >
-            <el-input v-model="form.id" :disabled="isEdit"></el-input>
+            <el-input v-model="form.id" :disabled="isEdit" clearable></el-input>
           </el-form-item>
           <el-form-item label="节点名称" prop="name">
             <el-input v-model="form.name" clearable></el-input>
           </el-form-item>
+
           <el-form-item>
             <div style="float: right;">
               <el-button type="primary" @click="onSubmit" >确认</el-button>
@@ -39,11 +49,42 @@
   props: ['platformId'],
   created() {},
   data() {
+    let checkId = (rule, value, callback) => {
+      console.log("checkId")
+      console.log(this.treeType)
+      console.log(rule)
+      console.log(value)
+      console.log(value.length)
+      console.log(this.level)
+      if (!value) {
+        return callback(new Error('编号不能为空'));
+      }
+      if (this.treeType === "BusinessGroup" && value.length !== 20) {
+        return callback(new Error('编号必须由20位数字组成'));
+      }
+      if (this.treeType === "CivilCode" && value.length <= 8 && value.length%2 !== 0) {
+        return callback(new Error('行政区划必须是八位以下的偶数个数字组成'));
+      }
+      if (this.treeType === "BusinessGroup") {
+        let catalogType = value.substring(10, 13);
+        console.log(catalogType)
+        // 216 为虚拟组织 215 为业务分组;目录第一级必须为业务分组, 业务分组下为虚拟组织,虚拟组织下可以有其他虚拟组织
+        if (this.level === 1 && catalogType !== "215") {
+          return callback(new Error('业务分组模式下第一层目录的编号11到13位必须为215'));
+        }
+        if (this.level > 1 && catalogType !== "216") {
+          return callback(new Error('业务分组模式下第一层以下目录的编号11到13位必须为216'));
+        }
+      }
+      callback();
+    }
     return {
       submitCallback: null,
       showDialog: false,
       isLoging: false,
       isEdit: false,
+      treeType: null,
+      level: 0,
       form: {
         id: null,
         name: null,
@@ -52,13 +93,14 @@
       },
       rules: {
         name: [{ required: true, message: "请输入名称", trigger: "blur" }],
-        id: [{ required: true, message: "请输入id", trigger: "blur" }]
+        id: [{ required: true, trigger: "blur",validator: checkId  }]
       },
     };
   },
   methods: {
-    openDialog: function (isEdit, id, name, parentId, callback) {
+    openDialog: function (isEdit, id, name, parentId, treeType, level, callback) {
       console.log("parentId: " + parentId)
+      console.log(this.form)
       this.isEdit = isEdit;
       this.form.id = id;
       this.form.name = name;
@@ -66,6 +108,8 @@
       this.form.parentId = parentId;
       this.showDialog = true;
       this.submitCallback = callback;
+      this.treeType = treeType;
+      this.level = level;
     },
     onSubmit: function () {
       console.log("onSubmit");
@@ -74,8 +118,7 @@
         method:"post",
         url:`/api/platform/catalog/${!this.isEdit? "add":"edit"}`,
         data: this.form
-      })
-        .then((res)=> {
+      }).then((res)=> {
           if (res.data.code === 0) {
             if (this.submitCallback)this.submitCallback(this.form)
           }else {
@@ -92,8 +135,14 @@
         });
     },
     close: function () {
+      this.isEdit = false;
+      this.form.id = null;
+      this.form.name = null;
+      this.form.platformId = null;
+      this.form.parentId = null;
+      this.callback = null;
       this.showDialog = false;
-      this.$refs.form.resetFields();
+      console.log(this.form)
     },
   },
 };

--
Gitblit v1.9.3