From 9f16b5c553b479ea12fe368a7ecc748872ea8b98 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 12 六月 2025 11:11:27 +0800
Subject: [PATCH] 修改配置文件

---
 web_src/src/components/dialog/catalogEdit.vue |  121 +++++++++++++++++++++++++++------------
 1 files changed, 83 insertions(+), 38 deletions(-)

diff --git a/web_src/src/components/dialog/catalogEdit.vue b/web_src/src/components/dialog/catalogEdit.vue
old mode 100644
new mode 100755
index 93d8f8d..9a5e3a3
--- a/web_src/src/components/dialog/catalogEdit.vue
+++ b/web_src/src/components/dialog/catalogEdit.vue
@@ -13,23 +13,11 @@
       <div id="shared" style="margin-top: 1rem;margin-right: 100px;">
         <el-form ref="form" :rules="rules" :model="form" label-width="140px" >
           <el-form-item label="鑺傜偣缂栧彿" prop="id" >
-            <el-tooltip class="item" effect="dark" content="" placement="top-start">
-              <div slot="content">
-                寤鸿鐨勭被鍨嬶細
-                <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锛�
-              </div>
-              <el-input v-model="form.id" :disabled="isEdit"></el-input>
-            </el-tooltip>
+            <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;">
@@ -49,14 +37,60 @@
 export default {
   name: "catalogEdit",
   computed: {},
-  props: ['platformId'],
+  props: ['platformId', 'platformDeviceId'],
   created() {},
   data() {
+    let checkId = (rule, value, callback) => {
+      console.log("checkId")
+      console.log(rule)
+      console.log(value)
+      console.log(value.length)
+      console.log(this.level)
+      if (!value) {
+        return callback(new Error('缂栧彿涓嶈兘涓虹┖'));
+      }
+      if (value.trim().length <= 8) {
+        if (value.trim().length%2 !== 0) {
+          return callback(new Error('琛屾斂鍖哄垝缂栧彿蹇呴』涓�2/4/6/8浣�'));
+        }
+        if (this.form.parentId !== this.platformDeviceId && this.form.parentId.length >= value.trim().length) {
+          if (this.form.parentId.length === 20) {
+            return callback(new Error('涓氬姟鍒嗙粍/铏氭嫙缁勭粐涓嬩笉鍙垱寤鸿鏀垮尯鍒�'));
+          }else {
+            return callback(new Error('琛屾斂鍖哄垝缂栧彿闀垮害搴旇姣忔涓や綅閫掑'));
+          }
+        }
+      }else {
+        if (value.trim().length !== 20) {
+          return callback(new Error('缂栧彿蹇呴』涓�2/4/6/8浣嶇殑琛屾斂鍖哄垝鎴�20浣嶇殑铏氭嫙缁勭粐/涓氬姟鍒嗙粍'));
+        }
+        let catalogType = value.substring(10, 13);
+        console.log(catalogType)
+        if (catalogType !== "215" && catalogType !== "216") {
+          return callback(new Error('缂栧彿閿欒锛屼笟鍔″垎缁�11-13浣嶄负215锛岃櫄鎷熺粍缁�11-13浣嶄负216'));
+        }
+        if (catalogType === "216") {
+
+          if (this.form.parentId !== this.platformDeviceId){
+            if (this.form.parentId.length <= 8) {
+              return callback(new Error('缂栧彿閿欒锛屽缓绔嬭櫄鎷熺粍缁囧墠蹇呴』鍏堝缓绔嬩笟鍔″垎缁勶紙11-13浣嶄负215锛�'));
+            }
+          }
+        }
+        if (catalogType === "215") {
+          if (this.form.parentId.length === "215") {
+            return callback(new Error('缂栧彿閿欒锛屼笟鍔″垎缁勪笅鍙兘寤虹珛铏氭嫙缁勭粐锛�11-13浣嶄负216锛�'));
+          }
+        }
+      }
+      callback();
+    }
     return {
       submitCallback: null,
       showDialog: false,
       isLoging: false,
       isEdit: false,
+      level: 0,
       form: {
         id: null,
         name: null,
@@ -65,13 +99,14 @@
       },
       rules: {
         name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
-        id: [{ required: true, message: "璇疯緭鍏d", trigger: "blur" }]
+        id: [{ required: true, trigger: "blur",validator: checkId  }]
       },
     };
   },
   methods: {
-    openDialog: function (isEdit, id, name, parentId, callback) {
+    openDialog: function (isEdit, id, name, parentId, level, callback) {
       console.log("parentId: " + parentId)
+      console.log(this.form)
       this.isEdit = isEdit;
       this.form.id = id;
       this.form.name = name;
@@ -79,34 +114,44 @@
       this.form.parentId = parentId;
       this.showDialog = true;
       this.submitCallback = callback;
+      this.level = level;
     },
     onSubmit: function () {
-      console.log("onSubmit");
-      console.log(this.form);
-      this.$axios({
-        method:"post",
-        url:`/api/platform/catalog/${!this.isEdit? "add":"edit"}`,
-        data: this.form
-      })
-        .then((res)=> {
-          if (res.data.code === 0) {
-            if (this.submitCallback)this.submitCallback(this.form)
-          }else {
-            this.$message({
-              showClose: true,
-              message: res.data.msg,
-              type: "error",
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          this.$axios({
+            method:"post",
+            url:`/api/platform/catalog/${!this.isEdit? "add":"edit"}`,
+            data: this.form
+          }).then((res)=> {
+            if (res.data.code === 0) {
+              if (this.submitCallback)this.submitCallback(this.form)
+            }else {
+              this.$message({
+                showClose: true,
+                message: res.data.msg,
+                type: "error",
+              });
+            }
+            this.close();
+          })
+            .catch((error)=> {
+              console.log(error);
             });
-          }
-          this.close();
-        })
-        .catch((error)=> {
-          console.log(error);
-        });
+        } else {
+          return false;
+        }
+      });
     },
     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.8.0