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 | 149 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 149 insertions(+), 0 deletions(-)
diff --git a/web_src/src/components/dialog/catalogEdit.vue b/web_src/src/components/dialog/catalogEdit.vue
new file mode 100644
index 0000000..e1cd8d2
--- /dev/null
+++ b/web_src/src/components/dialog/catalogEdit.vue
@@ -0,0 +1,149 @@
+<template>
+ <div id="catalogEdit" v-loading="isLoging">
+ <el-dialog
+ title="节点编辑"
+ width="40%"
+ top="2rem"
+ :append-to-body="true"
+ :close-on-click-modal="false"
+ :visible.sync="showDialog"
+ :destroy-on-close="true"
+ @close="close()"
+ >
+ <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/>-->
+<!--   行政区划(可选2位/4位/6位/8位/10位数字,例如:130432,表示河北省邯郸市广平县)-->
+<!-- <br/>-->
+<!--   业务分组(第11、12、13位215,例如:34020000002150000001)-->
+<!-- <br/>-->
+<!--   虚拟组织(第11、12、13位216,例如:34020000002160000001)-->
+<!-- </el-form-item>-->
+ <el-form-item label="节点编号" prop="id" >
+ <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>
+ <el-button @click="close">取消</el-button>
+ </div>
+
+ </el-form-item>
+ </el-form>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+
+export default {
+ name: "catalogEdit",
+ computed: {},
+ 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,
+ platformId: null,
+ parentId: null,
+ },
+ rules: {
+ name: [{ required: true, message: "请输入名称", trigger: "blur" }],
+ id: [{ required: true, trigger: "blur",validator: checkId }]
+ },
+ };
+ },
+ methods: {
+ 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;
+ this.form.platformId = this.platformId;
+ this.form.parentId = parentId;
+ this.showDialog = true;
+ this.submitCallback = callback;
+ this.treeType = treeType;
+ 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.close();
+ })
+ .catch((error)=> {
+ console.log(error);
+ });
+ },
+ 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;
+ console.log(this.form)
+ },
+ },
+};
+</script>
--
Gitblit v1.9.3