From 145e82ce09bd73bfe11afabd70a00f01a88d4be6 Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期三, 18 十二月 2024 17:37:00 +0800
Subject: [PATCH] 图标管理

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue |  109 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 80 insertions(+), 29 deletions(-)

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 6885a07..0eb440a 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
@@ -21,22 +21,22 @@
     <el-main>
       <basic-container>
         <div>
-          <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">鍒涘缓</el-button>
-          <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">淇敼</el-button>
-          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button>
-          <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
-          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
-          <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="createViewClickHandler">鍒涘缓瑙嗗浘</el-button>
-          <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="indexClickHandler">鍒涘缓绱㈠紩</el-button>
-          <el-button icon="el-icon-menu" plain size="small" type="primary" @click="checkClickHandler">涓�鑷存�ф鏌�</el-button>
-          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">鍒犻櫎鏁版嵁</el-button>
-          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">鍒犻櫎鍏ㄩ儴绫诲瀷</el-button>
-          <el-button icon="el-icon-view" plain size="small" type="primary" @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿</el-button>
+          <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">鍒涘缓</el-button>
+          <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">淇敼</el-button>
+          <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button>
+          <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
+          <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
+          <el-button v-if="permissionList.createViewBtn" icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="createViewClickHandler">鍒涘缓瑙嗗浘</el-button>
+          <el-button v-if="permissionList.createIndexBtn" icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="indexClickHandler">鍒涘缓绱㈠紩</el-button>
+          <el-button v-if="permissionList.consistencyCheckBtn" icon="el-icon-menu" plain size="small" type="primary" @click="checkClickHandler">涓�鑷存�ф鏌�</el-button>
+          <el-button v-if="permissionList.deleteDataBtn" icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">鍒犻櫎鏁版嵁</el-button>
+          <el-button v-if="permissionList.deleteEveryTypeBtn" icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">鍒犻櫎鍏ㄩ儴绫诲瀷</el-button>
+          <el-button v-if="permissionList.viewTheScopeBtn" icon="el-icon-view" plain size="small" type="primary" @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿</el-button>
         </div>
         <div style="display: flex;justify-content:left;margin-top: 15px;">
           <div class="descBox" style="width: 40%">
-            <el-descriptions :column="1" border class="margin-top" size="medium" title="灞炴�т俊鎭�">
-              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+            <el-descriptions :column="2" border class="margin-top" size="medium" title="灞炴�т俊鎭�">
+              <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
                                     :labelStyle="descriptionOption.labelStyle">
                 <template slot="label">
                   鍚嶇О
@@ -50,7 +50,16 @@
                 </template>
                 <el-tag v-if="nodeRow.name">{{ nodeRow.name }}</el-tag>
               </el-descriptions-item>
-              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+              <el-descriptions-item  :contentStyle="descriptionOption.contentStyle+';min-width: 100px;'"
+                                    :labelStyle="descriptionOption.labelStyle">
+                <template slot="label">
+                  鍥炬爣
+                </template>
+                <span class="avue-icon avue-icon--small" style="display: block">
+                  <span v-html="svgHtml(nodeRow.imageName )"></span>
+                </span>
+              </el-descriptions-item>
+              <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
                                     :labelStyle="descriptionOption.labelStyle">
                 <template slot="label">
                   瀹炵幇绫�
@@ -60,7 +69,7 @@
                   <el-tag style="max-width: 100%;overflow: hidden;display: block">{{ nodeRow.implClass }}</el-tag>
                 </el-tooltip>
               </el-descriptions-item>
-              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+              <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
                                     :labelStyle="descriptionOption.labelStyle">
                 <template slot="label">
                   鎻忚堪
@@ -69,7 +78,7 @@
               </el-descriptions-item>
             </el-descriptions>
           </div>
-          <div class="descBox" style="width: 25%;">
+          <div class="descBox" style="width: 24%;">
             <el-descriptions :column="1" border class="margin-top" size="medium" title="鐗堟湰瑙勫垯">
               <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
                                     :labelStyle="descriptionOption.labelStyle">
@@ -121,7 +130,7 @@
 
             </el-descriptions>
           </div>
-          <div class="descBox" style="width: calc(35% - 40px);margin-right: 0">
+          <div class="descBox" style="width: calc(36% - 40px);margin-right: 0">
             <el-descriptions :column="1" border class="margin-top" size="medium" title="鐢熷懡鍛ㄦ湡">
               <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
                                     :labelStyle="descriptionOption.labelStyle">
@@ -129,6 +138,16 @@
                   鐢熷懡鍛ㄦ湡
                 </template>
                 <el-tag v-if="nodeRow.lifeCycleId">{{ nodeRow.lifeCycleId }}</el-tag>
+              </el-descriptions-item>
+              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+                                    :labelStyle="descriptionOption.labelStyle">
+                <template slot="label">
+                  澶囬�夌敓鍛藉懆鏈�
+                </template>
+                <div v-if="nodeRow.lifeCycleIds">
+                  <el-tag v-for="item in nodeRow.lifeCycleIds.split(',')" style="margin-right: 5px;">{{ item }}</el-tag>
+                </div>
+
               </el-descriptions-item>
             </el-descriptions>
           </div>
@@ -158,20 +177,29 @@
             <el-form-item label="绫诲瀷鍚嶇О锛�" prop="id">
               <el-input v-model="form.id" :readOnly="title === 'edit'"></el-input>
             </el-form-item>
-            <el-form-item label="鏍囩锛�">
-              <el-input v-model="form.name"></el-input>
-            </el-form-item>
-            <el-form-item label="缁ф壙鑷細">
+            <el-row :span="24">
+              <el-col :span="12">
+                <el-form-item label="鏍囩锛�" prop="name">
+                  <el-input v-model="form.name"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="鍥炬爣锛�" prop="imageName">
+                  <input-icon v-model="form.imageName" placeholder="璇烽�夋嫨鍥炬爣"></input-icon>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-form-item label="缁ф壙鑷細" prop="fName">
               <avue-input-tree :disabled="title === 'add'"
                                v-model="form.fName"
                                placeholder="璇烽�夋嫨涓氬姟绫诲瀷"
                                :props="{label: 'id', value: 'id',children: 'children'}"
                                :dic="inheritTreeData"></avue-input-tree>
             </el-form-item>
-            <el-form-item label="瀹炵幇绫伙細">
+            <el-form-item label="瀹炵幇绫伙細" prop="implClass">
               <el-input v-model="form.implClass"></el-input>
             </el-form-item>
-            <el-form-item label="鎻忚堪">
+            <el-form-item label="鎻忚堪" prop="description">
               <el-input v-model="form.description" :rows="2" type="textarea"></el-input>
             </el-form-item>
           </div>
@@ -215,7 +243,7 @@
                            :props="{label: 'id', value: 'id'}"
                            :dic="lifeData"></avue-select>
             </el-form-item>
-            <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px">
+            <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px" prop="subLifeCycleIdList">
               <avue-select multiple
                            :filterable="true"
                            v-model="form.subLifeCycleIdList"
@@ -410,6 +438,7 @@
 import func from "@/util/func";
 import {getUsedVersionRuleList, getVersionRuleAllList} from "@/api/modeling/version/api";
 import {gridLifeCycle} from "@/api/modeling/lifeCycle/api";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -617,6 +646,9 @@
           {required: true, message: '璇疯緭绫诲瀷鍚嶇О', trigger: 'blur'},
           {validator: this.validateEnglishOnly, trigger: 'blur'}
         ],
+        imageName:[
+          {required: true, message: '璇烽�夋嫨鍥炬爣', trigger: 'submit'},
+        ],
         revLevel: [
           {required: true, message: '璇烽�夋嫨鐗堟湰瑙勫垯', trigger: 'blur'},
         ],
@@ -749,8 +781,8 @@
         }
       ],
       descriptionOption: {
-        labelStyle: 'text-align:center;width:100px;',
-        contentStyle: 'max-width:200px;text-align:center;word-break;break-all;'
+        labelStyle: 'text-align:center;width:110px;',
+        contentStyle: 'min-width:200px;text-align:center;word-break:break-all;'
       },
       icons: {
         id: 'el-icon-finished',
@@ -765,7 +797,23 @@
     this.getVersionList();
     this.getLifeCycle();
   },
-  mounted() {
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+        consistencyCheckBtn: this.vaildData(this.permission[this.$route.query.id].consistencyCheck, false),
+        createIndexBtn: this.vaildData(this.permission[this.$route.query.id].createIndex, false),
+        createViewBtn: this.vaildData(this.permission[this.$route.query.id].createView, false),
+        deleteDataBtn: this.vaildData(this.permission[this.$route.query.id].deleteData, false),
+        deleteEveryTypeBtn: this.vaildData(this.permission[this.$route.query.id].deleteEveryType, false),
+        viewTheScopeBtn: this.vaildData(this.permission[this.$route.query.id].viewTheScope, false),
+      };
+    },
   },
   watch:{
     'form.lifeCycleId':{
@@ -781,6 +829,9 @@
     }
   },
   methods: {
+    svgHtml(svgName){
+      return func.getSVGByName(svgName);
+    },
     //鏍戣〃鏌ヨ
     getTreeList() {
       this.treeLoading = true;
@@ -895,7 +946,7 @@
       this.form = {...this.nodeRow};
       this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
       // this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
-      this.form.subLifeCycleIdList = this.nodeRow.lifeCycleIds.split(',');
+      this.form.subLifeCycleIdList = this.nodeRow.lifeCycleIds?this.nodeRow.lifeCycleIds.split(','):[];
       this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : [];
       function  processChildren(item,fName) {
         if (item.children && item.children.length > 0) {
@@ -1411,7 +1462,7 @@
 .dialogForm > div {
   border: 1px solid #EBEEF5;
   border-radius: 2px;
-  padding: 25px 20px 5px 10px; /* 涓� 鍙� 涓� 宸� */
+  padding: 15px 20px 0 10px; /* 涓� 鍙� 涓� 宸� */
   box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* 娣诲姞闃村奖鏁堟灉 */
 }
 

--
Gitblit v1.9.3