From 986aa62ed00bee39363bab41b4eeb8259d446efd Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期四, 16 一月 2025 18:20:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue |  355 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 227 insertions(+), 128 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..8810633 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
@@ -3,16 +3,15 @@
     <el-aside>
       <basic-container>
         <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
-
           <!-- 宸︿晶鏍� -->
           <div style="height:  calc(100vh - 190px);">
             <avue-tree ref="tree" v-loading="treeLoading" :data="treeData" :option="treeOption" @node-click="nodeClick">
-          <span slot-scope="{ node, data }" class="el-tree-node__label">
-           <span style="font-size: 15px">
-              <i class="el-icon-s-promotion"></i>
-                {{ (node || {}).label }}
-            </span>
-          </span>
+              <span slot-scope="{ node, data }" class="el-tree-node__label">
+               <span>
+                  <icon-show :name="data.icon"></icon-show>
+                    {{ (node || {}).label }}
+                </span>
+              </span>
             </avue-tree>
           </div>
         </div>
@@ -21,23 +20,68 @@
     <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" class="button-custom-icon" plain size="small" type="primary"
+                     @click="addClickHandler">
+            <icon-show :name="permissionList.addBtn.source"></icon-show>
+            鍒涘缓
+          </el-button>
+          <el-button v-if="permissionList.editBtn" class="button-custom-icon" plain size="small" type="primary"
+                     @click="editClickHandler">
+            <icon-show :name="permissionList.editBtn.source"></icon-show>
+            淇敼
+          </el-button>
+          <el-button v-if="permissionList.delBtn" class="button-custom-icon" plain size="small" type="danger"
+                     @click="deleteClickHandler">
+            <icon-show :name="permissionList.delBtn.source"></icon-show>
+            鍒犻櫎
+          </el-button>
+          <el-button v-if="permissionList.importBtn" class="button-custom-icon" plain size="small" type="primary"
+                     @click="upLoadClickHandler">
+            <icon-show :name="permissionList.importBtn.source"></icon-show>
+            瀵煎叆
+          </el-button>
+          <el-button v-if="permissionList.exportBtn" class="button-custom-icon" plain size="small" type="primary"
+                     @click="exportClickHandler">
+            <icon-show :name="permissionList.exportBtn.source"></icon-show>
+            瀵煎嚭
+          </el-button>
+          <el-button v-if="permissionList.createViewBtn" class="button-custom-icon" plain size="small"
+                     type="primary" @click="createViewClickHandler">
+            <icon-show :name="permissionList.createViewBtn.source"></icon-show>
+            鍒涘缓瑙嗗浘
+          </el-button>
+          <el-button v-if="permissionList.createIndexBtn" class="button-custom-icon" plain size="small"
+                     type="primary" @click="indexClickHandler">
+            <icon-show :name="permissionList.createIndexBtn.source"></icon-show>
+            鍒涘缓绱㈠紩
+          </el-button>
+          <el-button v-if="permissionList.consistencyCheckBtn" class="button-custom-icon" plain size="small" type="primary"
+                     @click="checkClickHandler">
+            <icon-show :name="permissionList.consistencyCheckBtn.source"></icon-show>
+            涓�鑷存�ф鏌�
+          </el-button>
+          <el-button v-if="permissionList.deleteDataBtn" class="button-custom-icon" plain size="small" type="danger"
+                     @click="checkClickHandler">
+            <icon-show :name="permissionList.deleteDataBtn.source"></icon-show>
+            鍒犻櫎鏁版嵁
+          </el-button>
+          <el-button v-if="permissionList.deleteEveryTypeBtn" class="button-custom-icon" plain size="small" type="danger"
+                     @click="checkClickHandler">
+            <icon-show :name="permissionList.deleteEveryTypeBtn.source"></icon-show>
+            鍒犻櫎鍏ㄩ儴绫诲瀷
+          </el-button>
+          <el-button v-if="permissionList.viewTheScopeBtn" class="button-custom-icon" plain size="small" type="primary"
+                     @click="checkViewClickHandler">
+            <icon-show :name="permissionList.viewTheScopeBtn.source"></icon-show>
+            鏌ョ湅浣跨敤鑼冨洿
+          </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 :column="2" border class="margin-top" size="medium" title="灞炴�т俊鎭�">
               <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
-                                    :labelStyle="descriptionOption.labelStyle">
+                                    :labelStyle="descriptionOption.labelStyle"
+                                    :span="12">
                 <template slot="label">
                   鍚嶇О
                 </template>
@@ -50,8 +94,18 @@
                 </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">
+                  <icon-show :name="nodeRow.imageName"></icon-show>
+                </span>
+              </el-descriptions-item>
+              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+                                    :labelStyle="descriptionOption.labelStyle"
+                                    :span="12">
                 <template slot="label">
                   瀹炵幇绫�
                 </template>
@@ -61,7 +115,8 @@
                 </el-tooltip>
               </el-descriptions-item>
               <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
-                                    :labelStyle="descriptionOption.labelStyle">
+                                    :labelStyle="descriptionOption.labelStyle"
+                                    :span="12">
                 <template slot="label">
                   鎻忚堪
                 </template>
@@ -69,7 +124,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 +176,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 +184,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,36 +223,48 @@
             <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="缁ф壙鑷細">
-              <avue-input-tree :disabled="title === 'add'"
-                               v-model="form.fName"
-                               placeholder="璇烽�夋嫨涓氬姟绫诲瀷"
+            <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 v-model="form.fName"
+                               :dic="inheritTreeData"
+                               :disabled="title === 'add'"
                                :props="{label: 'id', value: 'id',children: 'children'}"
-                               :dic="inheritTreeData"></avue-input-tree>
+                               placeholder="璇烽�夋嫨涓氬姟绫诲瀷"></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>
           <div class="centerForm" style="width: 26%">
             <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="100px" prop="revLevel" style="margin-bottom: 10px;">
-              <el-radio v-model="form.revLevel" label="0" @input="revLevelChange">涓嶅彲淇</el-radio><br>
-              <el-radio v-model="form.revLevel" label="1" @input="revLevelChange">閲囩敤涓�绾х増鏈鐞�</el-radio><br>
+              <el-radio v-model="form.revLevel" label="0" @input="revLevelChange">涓嶅彲淇</el-radio>
+              <br>
+              <el-radio v-model="form.revLevel" label="1" @input="revLevelChange">閲囩敤涓�绾х増鏈鐞�</el-radio>
+              <br>
               <el-radio v-model="form.revLevel" label="2" @input="revLevelChange">閲囩敤浜岀骇鐗堟湰绠$悊</el-radio>
             </el-form-item>
-            <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="100px" prop="revisionRuleId" style="margin-bottom: 5px;">
+            <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="100px" prop="revisionRuleId"
+                          style="margin-bottom: 5px;">
               <avue-select v-model="form.revisionRuleId"
+                           :dic="versionData"
                            :disabled="form.inputRevisionFlag"
-                           placeholder="璇烽�夋嫨鐗堟湰鍙疯鍒�"
                            :filterable="true"
                            :props="{label: 'id', value: 'id'}"
-                           :dic="versionData"></avue-select>
+                           placeholder="璇烽�夋嫨鐗堟湰鍙疯鍒�"></avue-select>
               <el-switch
                 v-model="form.inputRevisionFlag"
                 active-text="鎵嬪伐杈撳叆"
@@ -195,7 +272,8 @@
                 @change="form.revisionRuleId = ''">
               </el-switch>
             </el-form-item>
-            <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="100px" prop="delimiter" style="margin-bottom: 5px;">
+            <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="100px" prop="delimiter"
+                          style="margin-bottom: 5px;">
               <el-radio v-model="form.delimiter" label="">&nbsp;&nbsp;</el-radio>
               <el-radio v-model="form.delimiter" label=".">.</el-radio>
               <el-radio v-model="form.delimiter" label="-">-</el-radio>
@@ -210,19 +288,19 @@
           <div class="rightForm" style="width: 25%">
             <el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="lifeCycleId">
               <avue-select v-model="form.lifeCycleId"
-                           placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
+                           :dic="lifeData"
                            :filterable="true"
                            :props="{label: 'id', value: 'id'}"
-                           :dic="lifeData"></avue-select>
+                           placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"></avue-select>
             </el-form-item>
-            <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px">
-              <avue-select multiple
-                           :filterable="true"
-                           v-model="form.subLifeCycleIdList"
-                           placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
-                           :props="{label: 'id', value: 'id'}"
-                           type="tree"
+            <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px" prop="subLifeCycleIdList">
+              <avue-select v-model="form.subLifeCycleIdList"
                            :dic="subLifeData"
+                           :filterable="true"
+                           :props="{label: 'id', value: 'id'}"
+                           multiple
+                           placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
+                           type="tree"
                            @change="subLifeChange"></avue-select>
             </el-form-item>
           </div>
@@ -230,9 +308,9 @@
       </el-form>
       <div class="bottomForm">
         <avue-crud
-          size="mini"
           :data="dialogAttrData"
           :option="dialogAttrOption"
+          size="mini"
           @row-del="dialogBottomAttrDel">
           <template slot="menuLeft">
             <h3 style="display: inline-block;margin-right: 20px;margin-bottom: 10px;">灞炴�ф睜鍒楄〃</h3>
@@ -241,8 +319,8 @@
         </avue-crud>
       </div>
       <span slot="footer" class="dialog-footer">
-         <el-button type="primary" @click="addDialogSavaHandler">纭� 瀹�</el-button>
-         <el-button @click="addDialogClose">鍙� 娑�</el-button>
+         <el-button size="small" type="primary" @click="addDialogSavaHandler">纭� 瀹�</el-button>
+         <el-button size="small" @click="addDialogClose">鍙� 娑�</el-button>
         </span>
     </el-dialog>
 
@@ -272,8 +350,8 @@
       >
       </avue-crud>
       <span slot="footer" class="dialog-footer">
-         <el-button type="primary" @click="dialogAttrAddClickHandler">纭� 瀹�</el-button>
-         <el-button @click="dialogAttrClose">鍙� 娑�</el-button>
+         <el-button size="small" type="primary" @click="dialogAttrAddClickHandler">纭� 瀹�</el-button>
+         <el-button size="small" @click="dialogAttrClose">鍙� 娑�</el-button>
         </span>
     </el-dialog>
 
@@ -316,8 +394,8 @@
         :table-loading="conCheckLoading">
       </avue-crud>
       <span slot="footer" class="dialog-footer">
-         <el-button type="primary" @click="repairClickHandler">淇� 澶�</el-button>
-         <el-button @click="conCheckVisible = false">鍙� 娑�</el-button>
+         <el-button size="small" type="primary" @click="repairClickHandler">淇� 澶�</el-button>
+         <el-button size="small" @click="conCheckVisible = false">鍙� 娑�</el-button>
         </span>
     </el-dialog>
 
@@ -381,8 +459,8 @@
         </span>
       </el-dialog>
       <span slot="footer" class="dialog-footer">
-         <el-button type="primary" @click="indexClickAddHandler">淇� 瀛�</el-button>
-         <el-button @click="indexDialogClose">鍙� 娑�</el-button>
+         <el-button size="small" type="primary" @click="indexClickAddHandler">淇� 瀛�</el-button>
+         <el-button size="small" @click="indexDialogClose">鍙� 娑�</el-button>
         </span>
     </el-dialog>
 
@@ -410,6 +488,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",
@@ -497,11 +576,12 @@
         index: false,
         selection: false,
         refreshBtn: false,
-        header:false,
+        header: false,
         column: [
           {
             label: '绫诲瀷鍚�',
             prop: 'id',
+            width: 250,
           },
           {
             label: '鎿嶄綔',
@@ -510,6 +590,7 @@
           {
             label: '鐘舵��',
             prop: 'status',
+            width: 250,
           }
         ]
       },
@@ -526,7 +607,7 @@
         searchMenuSpan: 8,
         refreshBtn: false,
         selection: false,
-        header:false,
+        header: false,
         column: [
           {
             label: '鍚嶇О',
@@ -556,8 +637,8 @@
       versionAddFlag: false,
       inheritTreeData: [],
       lifeData: [],//鐢熷懡鍛ㄦ湡涓嬫媺鏁版嵁
-      subLifeData:[],//澶囬�夌敓鍛藉懆鏈熶笅鎷夋暟鎹�
-      allLifeData:[],
+      subLifeData: [],//澶囬�夌敓鍛藉懆鏈熶笅鎷夋暟鎹�
+      allLifeData: [],
       versionData: [],//鐗堟湰瑙勫垯鏁版嵁
       dialogAttrSelectList: [],
       searchAttrParams: {},
@@ -579,7 +660,7 @@
         height: 450,
         searchMenuSpan: 8,
         header: false,
-        selectable:function(row){
+        selectable: function (row) {
           return row.selectable;
         },
         column: [
@@ -588,13 +669,13 @@
             prop: 'id',
             sortable: true,
             search: true,
-            width:260
+            width: 260
           },
           {
             label: '灞炴�х被鍨�',
             prop: 'attributeDataType',
             sortable: true,
-            width:150,
+            width: 150,
           },
           {
             label: '鍒濆鍊�',
@@ -617,6 +698,9 @@
           {required: true, message: '璇疯緭绫诲瀷鍚嶇О', trigger: 'blur'},
           {validator: this.validateEnglishOnly, trigger: 'blur'}
         ],
+        imageName: [
+          {required: true, message: '璇烽�夋嫨鍥炬爣', trigger: 'submit'},
+        ],
         revLevel: [
           {required: true, message: '璇烽�夋嫨鐗堟湰瑙勫垯', trigger: 'blur'},
         ],
@@ -632,16 +716,16 @@
         selection: false,
         height: 220,
         addBtn: false,
-        gridBtn:false,
-        columnBtn:false,
-        menuWidth:100,
+        gridBtn: false,
+        columnBtn: false,
+        menuWidth: 100,
         // index:false,
         column: [
           {
             label: '灞炴�у悕',
             prop: 'id',
             sortable: true,
-            width:260,
+            width: 260,
           },
           {
 
@@ -654,13 +738,13 @@
             label: '灞炴�х被鍨�',
             prop: 'attributeDataType',
             sortable: true,
-            width:150,
+            width: 150,
           },
           {
             label: '鍒濆鍊�',
             prop: 'defaultValue',
             sortable: true,
-            width:200,
+            width: 200,
           },
           {
             label: '璇存槑',
@@ -685,19 +769,19 @@
             prop: 'id',
             label: '灞炴�у悕',
             sortable: true,
-            width:260
+            width: 260
           },
           {
             prop: 'btmTypeId',
             label: '涓氬姟绫诲瀷',
             sortable: true,
-            width:200
+            width: 200
           },
           {
             prop: 'attributeDataType',
             label: '灞炴�х被鍨�',
             sortable: true,
-            width:150
+            width: 150
           },
           {
             prop: 'defaultValue',
@@ -725,7 +809,7 @@
         versionRule: '0', // 鐗堟鍙疯鍒�
         lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
         subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
-        subLifeCycleIdList:[],
+        subLifeCycleIdList: [],
         apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
       },
       nodeRow: {},
@@ -749,8 +833,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,16 +849,32 @@
     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].USE, false),
+        createViewBtn: this.vaildData(this.permission[this.$route.query.id].ADD2, false),
+        createIndexBtn: this.vaildData(this.permission[this.$route.query.id].ADD3, false),
+        deleteDataBtn: this.vaildData(this.permission[this.$route.query.id].DELETE2, false),
+        deleteEveryTypeBtn: this.vaildData(this.permission[this.$route.query.id].DELETE3, false),
+        viewTheScopeBtn: this.vaildData(this.permission[this.$route.query.id].SEARCH, false),
+      };
+    },
   },
-  watch:{
-    'form.lifeCycleId':{
+  watch: {
+    'form.lifeCycleId': {
       handler(newval) {
-        if(this.form.lifeCycleId){
-          this.subLifeData = this.allLifeData.filter(item=>{
-            return item.id!=this.form.lifeCycleId
+        if (this.form.lifeCycleId) {
+          this.subLifeData = this.allLifeData.filter(item => {
+            return item.id != this.form.lifeCycleId
           });
-        }else {
+        } else {
           this.subLifeData = this.allLifeData
         }
       },
@@ -788,6 +888,7 @@
         const data = res.data.data.map(item => {
           this.processChildren(item); // 澶勭悊姣忎釜鑺傜偣
           item.attributes.TreeName = item.attributes.id;
+          item.attributes.icon = item.attributes.imageName;
           return item.attributes; // 杩斿洖澶勭悊鍚庣殑 attributes
         });
         this.treeData[0].children = data;
@@ -801,6 +902,7 @@
       if (item.children && item.children.length > 0) {
         item.attributes.children = item.children.map(child => {
           child.attributes.TreeName = child.attributes.id;
+          child.attributes.icon = child.attributes.imageName;
           this.processChildren(child); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
           return child.attributes; // 鍙繑鍥炲瓙鑺傜偣鐨� attributes
         });
@@ -813,15 +915,15 @@
       this.nodeRow = row;
     },
     //鑾峰彇鐗堟湰瑙勫垯鏁版嵁
-    getVersionList(){
+    getVersionList() {
       getVersionRuleAllList().then(res => {
         this.versionData = res.data.data;
       });
     },
     //鑾峰彇鐢熷懡鍛ㄦ湡鏁版嵁
-    getLifeCycle(){
+    getLifeCycle() {
       gridLifeCycle().then(res => {
-        this.allLifeData=res.data.data;
+        this.allLifeData = res.data.data;
       });
     },
     // 鍒涘缓鎸夐挳
@@ -840,12 +942,12 @@
 
     // 鏂板缂栬緫淇濆瓨
     addDialogSavaHandler() {
-      if (this.form.revLevel !== '0' &&!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
+      if (this.form.revLevel !== '0' && !this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
         this.$message.error('璇锋鏌ョ増鏈彿瑙勫垯涓嶈兘涓虹┖');
         return;
       }
-      this.form.lifeCycleIds=this.form.subLifeCycleIdList.join(',');
-      this.form.subLifeCycleId=this.form.subLifeCycleIdList.join(',');
+      this.form.lifeCycleIds = this.form.subLifeCycleIdList.join(',');
+      this.form.subLifeCycleId = this.form.subLifeCycleIdList.join(',');
       this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : "";
       this.$refs.form.validate((valid) => {
         const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle;
@@ -895,36 +997,37 @@
       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) {
+
+      function processChildren(item, fName) {
         if (item.children && item.children.length > 0) {
           item.children = item.children.map(child => {
-            processChildren(child,fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
-            if(fName==child.id){
-              child.disabled=true;
-            }else {
-              child.disabled=false;
+            processChildren(child, fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
+            if (fName == child.id) {
+              child.disabled = true;
+            } else {
+              child.disabled = false;
             }
             return child;
           });
         }
       };
-      const inheritTreeData=this.inheritTreeData.map(item => {
-        processChildren(item,this.form.id); // 澶勭悊姣忎釜鑺傜偣
-        if(this.form.id==item.id){
-          item.disabled=true;
-        }else {
-          item.disabled=false;
+      const inheritTreeData = this.inheritTreeData.map(item => {
+        processChildren(item, this.form.id); // 澶勭悊姣忎釜鑺傜偣
+        if (this.form.id == item.id) {
+          item.disabled = true;
+        } else {
+          item.disabled = false;
         }
         return item;
       });
-      this.inheritTreeData=inheritTreeData
+      this.inheritTreeData = inheritTreeData
       this.title = 'edit';
       this.visible = true;
     },
 
-    subLifeChange(data){
+    subLifeChange(data) {
       if (data.value.length == 0) {
         this.lifeData = this.allLifeData
       } else {
@@ -944,11 +1047,11 @@
     // 鏌ヨ灞炴�ф睜鍒楄〃鏁版嵁
     getAttrDialogDta() {
       gridAttribute(this.attrPage.currentPage, this.attrPage.pageSize, this.searchAttrParams).then(res => {
-        const data = res.data.data.map(item=>{
-          item.selectable=!this.dialogAttrData.some(existingItem => existingItem.id === item.id);
+        const data = res.data.data.map(item => {
+          item.selectable = !this.dialogAttrData.some(existingItem => existingItem.id === item.id);
           return item;
         });
-        this.dialogAttrSaveData=data;
+        this.dialogAttrSaveData = data;
         this.attrPage.total = res.data.total;
         this.dialogAttrLoading = false;
       }).catch(err => {
@@ -969,7 +1072,7 @@
 
     // 娣诲姞灞炴�ф睜 琛岀偣鍑�
     dialogAttrRowClickHandler(row) {
-      if(!row.selectable){
+      if (!row.selectable) {
         return;
       }
       func.rowClickHandler(
@@ -980,7 +1083,7 @@
           this.attrLastIndex = newIndex;
         },
         () => {
-          this.selectList = [];
+          this.dialogAttrSelectList = [row];
         }
       );
     },
@@ -1061,8 +1164,8 @@
         versionRule: '0', // 鐗堟鍙疯鍒�
         lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
         subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
-        subLifeCycleIdList:[],
-        lifeCycleIds:'',
+        subLifeCycleIdList: [],
+        lifeCycleIds: '',
         apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
       };
       this.dialogAttrData = []; // 灏嗗睘鎬ф睜琛ㄦ牸缃┖
@@ -1204,18 +1307,14 @@
             Object.entries(data).forEach(([id, methods]) => {
               let action;
 
-              switch (methods) {
-                case '_CREATE':
-                  action = '鍒涘缓琛�';
-                  break;
-                case '_ADD':
-                  action = '澧炲姞鍒�';
-                  break;
-                case '_DROP':
-                  action = '绉婚櫎鍒�';
-                  break;
-                default:
-                  action = '鏈煡';
+              if (methods.includes('_CREATE')) {
+                action = methods.replace('_CREATE', '鍒涘缓琛�');
+              } else if (methods.includes('_ADD')) {
+                action = methods.replace('_ADD', '澧炲姞鍒�');
+              } else if (methods.includes('_DROP')) {
+                action = methods.replace('_DROP', '绉婚櫎鍒�');
+              } else {
+                action = '鏈煡';
               }
               outputData.push({
                 id: id,
@@ -1389,12 +1488,12 @@
     width: 100%;
   }
 
-  .el-tag{
-    line-height:22px;
+  .el-tag {
+    line-height: 22px;
     height: 24px;
   }
 
-  .el-radio{
+  .el-radio {
     margin-right: 20px;
   }
 }
@@ -1411,7 +1510,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