From 5a2640dd5dca57ac826c78deedf07b5a805e2012 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 19 七月 2024 16:08:48 +0800
Subject: [PATCH] 对象建模 所有功能处理以及对对象建模下bs端菜单进行配置

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/option.js               |    0 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue             |   13 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue               |   13 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue              |   13 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue |   13 
 Source/plt-web/plt-web-ui/src/api/modeling/enumType/api.js                                 |   59 +++
 Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue       |   13 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue     |   13 
 /dev/null                                                                                  |  303 ----------------
 Source/plt-web/plt-web-ui/src/views/system/user/index.vue                                  |    4 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue          |   13 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue               |  552 ++++++++++++++++++++++++++++++
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue           |   13 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue             |   13 
 14 files changed, 730 insertions(+), 305 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/api/modeling/enumType/api.js b/Source/plt-web/plt-web-ui/src/api/modeling/enumType/api.js
index 2f055eb..b9185ec 100644
--- a/Source/plt-web/plt-web-ui/src/api/modeling/enumType/api.js
+++ b/Source/plt-web/plt-web-ui/src/api/modeling/enumType/api.js
@@ -8,3 +8,62 @@
     params
   });
 }
+
+// 鏋氫妇鍒涘缓
+export function addEnumType(params) {
+  return request({
+    url: "/api/webEnumController/addEnumType",
+    method: "post",
+    data:params
+  });
+}
+
+// 鏋氫妇淇敼
+export function updateEnumType(params) {
+  return request({
+    url: "/api/webEnumController/updateEnumType",
+    method: "put",
+    data:params
+  });
+}
+
+// 鏋氫妇鍒犻櫎
+export function deleteEnumTypes(data) {
+  return request({
+    url: "/api/webEnumController/deleteEnumTypes",
+    method: "delete",
+    data:data
+  });
+}
+
+// 鏌ョ湅浣跨敤鑼冨洿
+export function getUsedEnumList(params) {
+  return request({
+    url: "/api/webEnumController/getUsedEnumList",
+    method: "get",
+    params
+  });
+}
+
+
+// 瀵煎嚭
+export function download  (params) {
+  return request({
+    url: '/api/webEnumController/exportEnumTypes',
+    method: 'get',
+    headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
+    responseType: 'blob',
+    params
+  })
+}
+
+// 涓嬭浇瀵煎叆妯℃澘
+export function downloadEnumTemplate  (params) {
+  return request({
+    url: '/api/webEnumController/downloadEnumTemplate',
+    method: 'get',
+    headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
+    responseType: 'blob',
+    params
+  })
+}
diff --git a/Source/plt-web/plt-web-ui/src/views/modeling/enumType/index.vue b/Source/plt-web/plt-web-ui/src/views/modeling/enumType/index.vue
deleted file mode 100644
index 37c9cc9..0000000
--- a/Source/plt-web/plt-web-ui/src/views/modeling/enumType/index.vue
+++ /dev/null
@@ -1,303 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud
-      ref="userCrud"
-      :data="tableData"
-      :option="option"
-      :table-loading="tableLoading"
-      @on-load="getTableList"
-      @refresh-change="handleRefresh"
-      @search-change="handleSearch"
-      @search-reset="handleReset"
-      @selection-change="selectChange"
-      @row-click="rowClickHandler"
-    >
-
-      <template slot="menuLeft" slot-scope="scope">
-        <el-button icon="el-icon-plus" size="small" type="primary" @click="rowSaveHandlerClick">鍒涘缓</el-button>
-      </template>
-
-    </avue-crud>
-    <el-dialog
-      v-dialogDrag
-      v-loading="dialogLoading"
-      :visible.sync="dialogVisible"
-      append-to-body="true"
-      class="avue-dialog"
-      title="鏂板"
-      width="70%"
-    >
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="鍚嶇О锛�" prop="id">
-              <el-input v-model="form.id"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鏍囩锛�">
-              <el-input v-model="form.name"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="绫诲瀷锛�">
-              <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷">
-                <el-option label="String" value="String"></el-option>
-                <el-option label="Integer" value="Integer"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="闀垮害锛�">
-              <el-input-number v-model="form.num" :max="999" :min="1" label="鎻忚堪鏂囧瓧"></el-input-number>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <avue-crud
-              ref="dialogCrud"
-              :data="dialogData"
-              :option="dialogOption"
-              @row-save="rowSaveDialogHandler"
-              @row-update="rowUpdateDialogHandler"
-              @row-del="rowDeleteDialogHandler"
-            >
-            </avue-crud>
-          </el-col>
-        </el-row>
-      </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-dialog>
-  </basic-container>
-</template>
-
-<script>
-import basicOption from '@/util/basic-option'
-import {getEnumTypeList} from "@/api/modeling/enumType/api";
-
-export default {
-  name: "index",
-  data() {
-    return {
-      dialogData: [],
-      dialogOption: {
-        ...basicOption,
-        refreshBtn: false,
-        selection: false,
-        column: [
-          {
-            label: '鏋氫妇椤瑰悕',
-            prop: 'name',
-            sortable: true,
-            rules: [
-              {
-                required: true,
-                message: '璇疯緭鍏ユ灇涓鹃」鍚�',
-                trigger: 'blur'
-              }
-            ]
-          },
-          {
-            label: '鏋氫妇鍊�',
-            prop: 'value',
-            sortable: true,
-            rules: [
-              {
-                required: true,
-                message: '璇疯緭鍏ユ灇涓惧��',
-                trigger: 'blur'
-              }
-            ]
-          },
-          {
-            label: '鎻忚堪',
-            prop: 'description',
-            sortable: true,
-          },
-        ]
-      },
-      rules: {
-        id: [
-          {required: true, message: '璇疯緭鍏ユ灇涓鹃」鍚�', trigger: 'blur'},
-          {validator: this.validateEnglishOnly, trigger: 'blur'}
-        ],
-      },
-      form: {
-        id: '',
-        name: '',
-        type: 'String',
-        num: 50
-      },
-      dialogLoading: false,
-      dialogVisible: false,
-      tableData: [],
-      option: {
-        ...basicOption,
-        calcHeight: -60,
-        searchMenuSpan: 8,
-        addBtn: false,
-        editBtn: false,
-        column: [
-          {
-            label: '鏋氫妇鍚嶇О',
-            prop: 'id',
-            sortable: true,
-          },
-          {
-            label: '鏍囩',
-            prop: 'name',
-            sortable: true,
-          },
-          {
-            label: '杩斿洖绫诲瀷',
-            prop: 'enumValueDataTypeText',
-            sortable: true,
-          }
-        ]
-      },
-      tableLoading: false,
-    }
-  },
-  methods: {
-    //琛ㄦ牸鏌ヨ璇锋眰
-    getTableList() {
-      this.tableLoading = true;
-      getEnumTypeList().then(res => {
-        const data = res.data.data;
-        this.tableData = data;
-        this.tableLoading = false;
-      }).catch(err => {
-        this.$message.error(err)
-      });
-    },
-
-    // 琛ㄦ牸澶撮儴鍒锋柊
-    handleRefresh() {
-      this.getTableList();
-    },
-
-    // 鎼滅储
-    handleSearch() {
-
-    },
-
-    // 閲嶇疆鎼滅储鏉′欢
-    handleReset() {
-
-    },
-
-    // 閫夋嫨妗�
-    selectChange() {
-
-    },
-
-    // 鐐瑰嚮琛�
-    rowClickHandler() {
-    },
-
-    // 鏂板
-    rowSaveHandlerClick() {
-      this.dialogVisible = true;
-      this.dialogData = [];
-    },
-
-    // 淇敼
-    rowUpdateHandler() {
-
-    },
-
-    // 鏋氫妇椤规柊澧�
-    rowSaveDialogHandler(row, done, loading) {
-      const status = this.dialogData.some(item => item.name === row.name);
-      if (status) {
-        this.$message.error('鏋氫妇椤瑰悕绉颁笉鑳介噸澶嶆坊鍔狅紒')
-        loading();
-      } else {
-
-        if (this.form.type === "Integer") {
-          if (!/^\-?\d+$/.test(row.value)) {
-            // 濡傛灉鍘熷瀛楃涓插寘鍚潪鏁板瓧瀛楃锛屽垯瑙嗕负鏃犳晥
-            this.$message.error('鏋氫妇鍊煎繀椤绘槸Integer绫诲瀷');
-            return loading();
-          }
-
-          let numValue = parseInt(row.value);
-          if (isNaN(numValue) || !Number.isInteger(numValue)) {
-            // 濡傛灉 numValue 鏄� NaN 鎴栬�呬笉鏄疘nteger绫诲瀷锛屽垯瑙嗕负鏃犳晥
-            this.$message.error('鏋氫妇鍊煎繀椤绘槸Integer绫诲瀷');
-            return loading();
-          }
-        }
-
-        if (row.value.length > this.form.num) {
-          this.$message.error('鏋氫妇鍊艰秴杩囨渶澶ч暱搴︼紒')
-          return loading();
-        }
-
-        this.dialogData.push(row);
-        done();
-      }
-    },
-
-    // 鏋氫妇椤逛慨鏀�
-    rowUpdateDialogHandler(row, index, done, loading) {
-      this.dialogData.splice(index, 1, row);
-      done();
-    },
-
-    // 鏋氫妇椤瑰垹闄�
-    rowDeleteDialogHandler(row, index) {
-      this.dialogData.splice(index, 1);
-    },
-
-    // 鏂板淇濆瓨
-    rowSaveHandler() {
-      const lengthStatus = this.dialogData.some(item => item.value > this.form.num)
-      if (lengthStatus) {
-        this.$message.error('璇锋鏌ユ灇涓惧�兼槸鍚﹁秴杩囨渶澶ч暱搴︼紒')
-        return;
-      }
-
-      if(this.form.type === "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;
-        }
-      }
-    },
-
-    // 鍙兘杈撳叆鑻辨枃姝e垯鏍¢獙
-    validateEnglishOnly(rule, value, callback) {
-      if (!value) {
-        return callback(new Error('璇疯緭鍏ユ灇涓鹃」鍚�'));
-      }
-      if (!/^[A-Za-z]+$/.test(value)) {
-        return callback(new Error('鍙兘杈撳叆鑻辨枃瀛楁瘝'));
-      }
-      callback(); // 楠岃瘉閫氳繃
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>
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
new file mode 100644
index 0000000..2da0423
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -0,0 +1,13 @@
+<template>
+<p>灞炴�ф睜</p>
+</template>
+
+<script>
+export default {
+name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
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
new file mode 100644
index 0000000..53e5dd8
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>涓氬姟绫诲瀷</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
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
new file mode 100644
index 0000000..3335d16
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue
@@ -0,0 +1,552 @@
+<template>
+  <basic-container>
+    <avue-crud
+      ref="userCrud"
+      :data="tableData"
+      :option="option"
+      :table-loading="tableLoading"
+      @on-load="getTableList"
+      @refresh-change="handleRefresh"
+      @search-change="handleSearch"
+      @search-reset="handleReset"
+      @selection-change="selectChange"
+      @row-click="rowClickHandler"
+    >
+
+      <template slot="menuLeft" slot-scope="scope">
+        <el-button icon="el-icon-plus" size="small" type="primary" @click="rowSaveHandlerClick">鍒涘缓</el-button>
+        <el-button icon="el-icon-delete" plain size="small" type="danger" @click="allDelHandler">鍒犻櫎</el-button>
+        <el-button icon="el-icon-view" plain size="small" type="primary" @click="chekView">鏌ョ湅浣跨敤鑼冨洿</el-button>
+        <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadTemplateHandler">涓嬭浇瀵煎叆妯℃澘</el-button>
+        <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadHandler">瀵煎嚭</el-button>
+        <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadUser">瀵煎叆</el-button>
+      </template>
+
+      <template slot="menu" slot-scope="scope">
+        <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
+        </el-button>
+        <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+        </el-button>
+      </template>
+
+    </avue-crud>
+    <!-- 鍒涘缓缂栬緫鑷畾涔夊璇濇    -->
+    <el-dialog
+      v-dialogDrag
+      v-loading="dialogLoading"
+      :title="dialogType === 'add' ? ' 鍒涘缓' : '缂栬緫'"
+      :visible.sync="dialogVisible"
+      append-to-body="true"
+      class="avue-dialog"
+      width="70%"
+      @close="dialogClose"
+    >
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍚嶇О锛�" prop="id">
+              <el-input v-model="form.id"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鏍囩锛�">
+              <el-input v-model="form.name"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="绫诲瀷锛�">
+              <el-select v-model="form.enumValueDataType" placeholder="璇烽�夋嫨绫诲瀷">
+                <el-option label="String" value="String"></el-option>
+                <el-option label="Integer" value="Integer"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="闀垮害锛�">
+              <el-input-number v-model="form.length" :max="999" :min="1" label="鎻忚堪鏂囧瓧"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <avue-crud
+              ref="dialogCrud"
+              :data="dialogData"
+              :option="dialogOption"
+              @row-save="rowSaveDialogHandler"
+              @row-update="rowUpdateDialogHandler"
+              @row-del="rowDeleteDialogHandler"
+            >
+            </avue-crud>
+          </el-col>
+        </el-row>
+      </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-dialog>
+
+    <!-- 鏌ョ湅浣跨敤鑼冨洿    -->
+    <el-dialog
+      v-dialogDrag
+      v-loading="checkViewLoading"
+      title="鏌ョ湅浣跨敤鑼冨洿"
+      :visible.sync="checkViewVisible"
+      append-to-body="true"
+      class="avue-dialog"
+      width="70%"
+    >
+    <avue-crud
+      ref="checkViewCrud"
+      :data="checkViewData"
+      :option="checkViewOption"
+      @search-change="checkHandleSearch"
+      @search-reset="checkHandleReset"
+    >
+
+    </avue-crud>
+    </el-dialog>
+
+    <!--瀵煎叆    -->
+    <upload-file ref="upload" :tipList="tipList" :fileType="upFileType" :fileUrl="fileUrl" title="瀵煎叆" @updata="getTableList"></upload-file>
+  </basic-container>
+</template>
+
+<script>
+import basicOption from '@/util/basic-option'
+import {getEnumTypeList, addEnumType, updateEnumType, deleteEnumTypes,getUsedEnumList,download,downloadEnumTemplate} from "@/api/modeling/enumType/api";
+import func from "@/util/func";
+
+export default {
+  name: "index",
+  data() {
+    return {
+      tipList:["瀵煎叆妯℃澘涓爣鏄庣孩鑹插瓧浣撶殑涓哄繀杈撻」","*娉ㄦ剰*:绗簩琛屽紑濮嬬殑鏁版嵁涓虹ず渚嬫暟鎹紝瀵煎叆鍓嶈灏嗗叾鍒犻櫎锛屽綋瀵煎叆鐨勬灇涓句笅鍏峰澶氫釜鏋氫妇椤规椂锛屽簲鎸夌収绀轰緥enum2鐨勫啓娉�",
+        "鏋氫妇椤瑰悕绉�(褰撳墠鏋氫妇涓嬫湁鏋氫妇椤规椂蹇呭~)","鏋氫妇鍊�(褰撳墠鏋氫妇涓嬫湁鏋氫妇椤规椂蹇呭~)"],
+      upFileType: ['xls', 'xlsx'],
+      fileUrl: 'api/webEnumController/importEnumTypes',
+      checkViewOption:{
+        ...basicOption,
+        addBtn:false,
+        menu:false,
+        searchMenuSpan: 8,
+        refreshBtn: false,
+        selection:false,
+        column:[
+          {
+            label: '鍚嶇О',
+            prop: 'enumName',
+            sortable: true,
+          },
+          {
+            label: '鏉ユ簮',
+            prop: 'source',
+            sortable: true,
+            search:true
+          },
+          {
+            label: '璇存槑',
+            prop: 'desc',
+          }
+        ]
+      },
+      checkViewData:[],
+      checkViewDataSearch:[],
+      checkViewVisible:false,
+      checkViewLoading:false,
+      editRow: {},
+      dialogType: '',
+      dialogData: [],
+      dialogOption: {
+        ...basicOption,
+        refreshBtn: false,
+        selection: false,
+        column: [
+          {
+            label: '鏋氫妇椤瑰悕',
+            prop: 'name',
+            sortable: true,
+            rules: [
+              {
+                required: true,
+                message: '璇疯緭鍏ユ灇涓鹃」鍚�',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '鏋氫妇鍊�',
+            prop: 'value',
+            sortable: true,
+            rules: [
+              {
+                required: true,
+                message: '璇疯緭鍏ユ灇涓惧��',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '鎻忚堪',
+            prop: 'description',
+            sortable: true,
+          },
+        ]
+      },
+      rules: {
+        id: [
+          {required: true, message: '璇疯緭鍏ユ灇涓鹃」鍚�', trigger: 'blur'},
+          {validator: this.validateEnglishOnly, trigger: 'blur'}
+        ],
+      },
+      form: {
+        id: '',
+        name: '',
+        enumValueDataType: 'String',
+        length: 50
+      },
+      dialogLoading: false,
+      dialogVisible: false,
+      tableData: [],
+      option: {
+        ...basicOption,
+        calcHeight: -60,
+        searchMenuSpan: 8,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        column: [
+          {
+            label: '鏋氫妇鍚嶇О',
+            prop: 'id',
+            sortable: true,
+            search:true
+          },
+          {
+            label: '鏍囩',
+            prop: 'name',
+            sortable: true,
+          },
+          {
+            label: '杩斿洖绫诲瀷',
+            prop: 'enumValueDataTypeText',
+            sortable: true,
+          }
+        ]
+      },
+      tableLoading: false,
+      selectList: [],
+      searchParams:{}
+    }
+  },
+  methods: {
+    //琛ㄦ牸鏌ヨ璇锋眰
+    getTableList() {
+      this.tableLoading = true;
+      getEnumTypeList(this.searchParams).then(res => {
+        const data = res.data.data;
+        this.tableData = data;
+        this.tableLoading = false;
+      }).catch(err => {
+        this.$message.error(err)
+      });
+    },
+
+    // 琛ㄦ牸澶撮儴鍒锋柊
+    handleRefresh() {
+      this.getTableList();
+    },
+
+    // 鎼滅储
+    handleSearch(params,done) {
+      this.searchParams = {
+        enumName:params.id
+      };
+      this.getTableList()
+      done();
+    },
+
+    // 閲嶇疆鎼滅储鏉′欢
+    handleReset() {
+      this.searchParams = {};
+      this.getTableList();
+    },
+
+    // 閫夋嫨妗�
+    selectChange(row) {
+      this.selectList = row;
+    },
+
+    // 鐐瑰嚮琛�
+    rowClickHandler(row) {
+      this.$refs.userCrud.toggleRowSelection(row);
+    },
+
+    // 鍏抽棴瀵硅瘽妗�
+    dialogClose() {
+      this.dialogData = [];
+      this.form = {
+        id: '',
+        name: '',
+        enumValueDataType: 'String',
+        length: 50
+      }
+    },
+
+    // 鍒涘缓鎸夐挳鐐瑰嚮
+    rowSaveHandlerClick() {
+      this.dialogType = 'add';
+      this.dialogVisible = true;
+      this.dialogData = [];
+      this.form = {
+        id: '',
+        name: '',
+        enumValueDataType: 'String',
+        length: 50
+      }
+    },
+
+    // 缂栬緫鎸夐挳鐐瑰嚮
+    editBtnClick(row) {
+      this.dialogType = 'edit';
+      const {id, name, length, enumValueDataType} = row;
+      this.form = {id, name, length, enumValueDataType};
+      this.dialogData = row.items;
+      this.dialogVisible = true;
+      this.editRow = row;
+      console.log(row);
+    },
+
+    // 鍒犻櫎鎸夐挳鐐瑰嚮
+    rowDeleteHandler(row) {
+      let params = {
+        oid: row.oid,
+        name: row.id,
+        ts: row.ts
+      }
+      let data = [params];
+      deleteEnumTypes(data).then(res => {
+        if (res.data.code === 200) {
+          this.$message.success(res.data.obj);
+          this.getTableList();
+        }
+      })
+    },
+
+    // 澶氶�夊垹闄�
+    allDelHandler() {
+      let data = this.selectList.map(item => {
+        return{
+          oid: item.oid,
+          name: item.id,
+          ts: item.ts
+        }
+      })
+      deleteEnumTypes(data).then(res => {
+        if (res.data.code === 200) {
+          this.$message.success(res.data.obj);
+          this.getTableList();
+        }
+      })
+    },
+
+    // 瀵硅瘽妗嗘灇涓句繚瀛�
+    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;
+          }
+        })
+
+        // 鍒ゆ柇鏄惁鏄痠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 (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();
+          }
+        })
+      }
+    },
+
+    // 鏋氫妇椤规柊澧�
+    rowSaveDialogHandler(row, done, loading) {
+      const status = this.dialogData.some(item => item.name === row.name);
+      if (status) {
+        this.$message.error('鏋氫妇椤瑰悕绉颁笉鑳介噸澶嶆坊鍔狅紒')
+        loading();
+      } else {
+        if (this.form.enumValueDataType === "Integer") {
+          let numValue = parseInt(row.value);
+          // 鍒ゆ柇鍘熷瀛楃涓叉槸鍚﹀寘鍚潪鏁板瓧瀛楃
+          if ((isNaN(numValue) || !Number.isInteger(numValue)) || !/^\-?\d+$/.test(row.value)) {
+            // 鍒ゆ柇 numValue 鏄惁鏄� NaN 鎴栬�呬笉鏄疘nteger绫诲瀷
+            this.$message.error('鏋氫妇鍊煎繀椤绘槸Integer绫诲瀷');
+            return loading();
+          }
+        }
+        if (row.value.length > this.form.num) {
+          this.$message.error('鏋氫妇鍊艰秴杩囨渶澶ч暱搴︼紒')
+          return loading();
+        }
+
+        this.dialogData.push(row);
+        done();
+      }
+    },
+
+    // 鏋氫妇椤逛慨鏀�
+    rowUpdateDialogHandler(row, index, done, loading) {
+      if (this.form.enumValueDataType === "Integer") {
+        let numValue = parseInt(row.value);
+        // 鍒ゆ柇鍘熷瀛楃涓叉槸鍚﹀寘鍚潪鏁板瓧瀛楃
+        if ((isNaN(numValue) || !Number.isInteger(numValue)) || !/^\-?\d+$/.test(row.value)) {
+          // 鍒ゆ柇 numValue 鏄惁鏄� NaN 鎴栬�呬笉鏄疘nteger绫诲瀷
+          this.$message.error('鏋氫妇鍊煎繀椤绘槸Integer绫诲瀷');
+          return loading();
+        }
+      }
+      if (row.value.length > this.form.length) {
+        this.$message.error('鏋氫妇鍊艰秴杩囨渶澶ч暱搴︼紒')
+        return loading();
+      }
+
+      this.dialogData.splice(index, 1, row);
+      done();
+    },
+
+    // 鏋氫妇椤瑰垹闄�
+    rowDeleteDialogHandler(row, index) {
+      this.dialogData.splice(index, 1);
+    },
+
+
+    // 鍙兘杈撳叆鑻辨枃姝e垯鏍¢獙
+    validateEnglishOnly(rule, value, callback) {
+      if (!value) {
+        return callback(new Error('璇疯緭鍏ユ灇涓鹃」鍚�'));
+      }
+      if (!/^[A-Za-z]+$/.test(value)) {
+        return callback(new Error('鍙兘杈撳叆鑻辨枃瀛楁瘝'));
+      }
+      callback(); // 楠岃瘉閫氳繃
+    },
+
+    // 鏌ョ湅浣跨敤鑼冨洿
+    chekView(){
+      if(this.selectList.length <= 0 ){
+        this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
+        return;
+      }
+      if(this.selectList.length >1 ){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹繘琛屾煡鐪�');
+        return;
+      }
+
+      getUsedEnumList({enumName:this.selectList[0].id}).then(res => {
+        if(res.data.code === 200){
+          this.checkViewVisible = true;
+          this.checkViewData = res.data.data;
+          this.checkViewDataSearch = res.data.data;
+        }
+      })
+    },
+
+    // 鏌ョ湅浣跨敤鑼冨洿鏌ヨ
+    checkHandleSearch(params, done) {
+      const { source } = params;
+
+      if(!params.source) {
+        this.checkViewData = this.checkViewDataSearch;
+        return done();
+      };
+
+      this.checkViewData = this.checkViewData.filter(item => {
+        return item.source && item.source.includes(source);
+      });
+
+      done();
+
+    },
+
+    // 鏌ョ湅浣跨敤鑼冨洿閲嶇疆
+    checkHandleReset(){
+      this.checkViewData = this.checkViewDataSearch;
+    },
+
+    // 瀵煎嚭
+    downloadHandler(){
+      if(this.selectList.length <= 0 ){
+        this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹繘琛屽鍑�');
+        return;
+      }
+
+      let enumNames = this.selectList.map(item => item.id).join(',');
+      download({enumNames:enumNames}).then(res => {
+        func.downloadFileByBlobHandler(res);
+        this.$message.success('瀵煎嚭鎴愬姛');
+      }).catch(err => {
+        this.$message.error(err);
+      })
+    },
+
+    // 涓嬭浇瀵煎叆妯℃澘
+    downloadTemplateHandler(){
+      downloadEnumTemplate().then(res => {
+        func.downloadFileByBlobHandler(res);
+        this.$message.success('涓嬭浇鎴愬姛');
+      }).catch(err => {
+        this.$message.error(err);
+      })
+    },
+
+    uploadUser(){
+      this.$refs.upload.visible = true;
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/modeling/enumType/option.js b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/option.js
similarity index 100%
rename from Source/plt-web/plt-web-ui/src/views/modeling/enumType/option.js
rename to Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/option.js
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue
new file mode 100644
index 0000000..d3ee2bc
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>鐢熷懡鍛ㄦ湡</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
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
new file mode 100644
index 0000000..e153ed7
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>閾炬帴绫诲瀷</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
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
new file mode 100644
index 0000000..a894f7f
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>鐘舵�佹睜</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
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
new file mode 100644
index 0000000..a042dbb
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>鐗堟湰绠$悊</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue
new file mode 100644
index 0000000..35e0ed5
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>涓氬姟绫诲瀷鏌ヨ</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
new file mode 100644
index 0000000..c5677bc
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>閾炬帴绫诲瀷鏌ヨ</p>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue
new file mode 100644
index 0000000..00df313
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <p>鏌ヨ妯℃澘瀹氫箟</p>
+</template>
+
+<script>
+export default {
+name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
index 2f29cad..8c09e9e 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
@@ -494,7 +494,7 @@
       download().then(res => {
         console.log(res);
         func.downloadFileByBlobHandler(res);
-        this.$message.success('涓嬭浇鎴愬姛')
+        this.$message.success('涓嬭浇鎴愬姛');
       }).catch(err => {
         this.$message.error(err);
       })
@@ -508,7 +508,7 @@
     // 鍒嗛厤閮ㄩ棬
     departmentHandler() {
       if (this.selectList.length <= 0) {
-        this.$message.warning('娓呭厛閫夋嫨浜哄憳鍐嶈繘琛屾搷浣滐紒')
+        this.$message.warning('娓呭厛閫夋嫨浜哄憳鍐嶈繘琛屾搷浣滐紒');
         return;
       }
       this.departStatus = 'default'; // 鍖哄垎涓嶅悓鏂瑰紡鎵撳紑閮ㄩ棬瀵硅瘽妗�

--
Gitblit v1.9.3