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

---
 Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-uiParse.vue  |  134 +++++++++++++
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue              |  371 +++++++++++++++++++++++++------------
 Source/plt-web/plt-web-ui/src/components/dynamic-components/index.vue            |   20 +
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue   |    1 
 Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue            |    2 
 Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue      |   42 +++
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue    |    1 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue |    8 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue   |   18 -
 9 files changed, 452 insertions(+), 145 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
index 2617ce8..cd445af 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
@@ -23,7 +23,7 @@
             {{ item }}
           </el-tag>
         </div>
-        <avue-input v-model="searchText" placeholder="鏌ヨ" size="mini" prefixIcon="el-icon-search" style="width: 300px;max-width: 30%"></avue-input>
+        <avue-input v-model="searchText" @change="handleSearch" placeholder="鏌ヨ" size="mini" prefixIcon="el-icon-search" style="width: 300px;max-width: 30%"></avue-input>
       </div>
       <div style="height: 60vh">
         <el-tabs v-model="activeName" @tab-click="handleTabClick">
@@ -84,6 +84,7 @@
       searchText:'',
       activeName:'',
       svgHtml:'',
+      allIconList:[],
       iconList:[]
     }
   },
@@ -100,23 +101,25 @@
     } else {
       this.iconList = getStore({ name:'icons'});
     }
+    this.allIconList=this.iconList;
     if(this.iconList && this.iconList.length>0){
       this.activeName=this.iconList[0].label;
     }else {
-      getIcons().then(res => {
+      /*getIcons().then(res => {
         this.iconList=res.data.data;
+        this.allIconList=this.iconList;
         store.dispatch("setIcons", this.iconList);
         if(this.iconList&&this.iconList.length>0) {
           this.activeName=this.iconList[0].label;
         }
-      })
+      })*/
     }
   },
   methods:{
     dialogClose() {
       this.visible = false;
     },
-    handleFocus() {debugger;
+    handleFocus() {
       if (!this.disabled) {
         if(this.iconList&&this.iconList.length>0) {
           this.activeName=this.iconList[0].label;
@@ -126,16 +129,18 @@
           } else {
             this.iconList = getStore({ name:'icons'});
           }
+          this.allIconList=this.iconList;
           if(this.iconList && this.iconList.length>0){
             this.activeName=this.iconList[0].label;
           }else {
-            getIcons().then(res => {
+            /*getIcons().then(res => {
               this.iconList=res.data.data;
+                 this.allIconList=this.iconList;
               store.dispatch("setIcons", this.iconList);
               if(this.iconList&&this.iconList.length>0) {
                 this.activeName=this.iconList[0].label;
               }
-            })
+            })*/
           }
         }
         this.visible = true;
@@ -148,10 +153,35 @@
       }else {
         this.checkedTypes.push(type)
       }
+      //鎸夌収鍒嗙被杩囨护鍥炬爣
+      if(this.checkedTypes.length==0){
+        this.iconList=this.allIconList
+      }else{
+        this.iconList=this.allIconList.filter(item=> {
+          return this.checkedTypes.includes(item.type);
+        })
+      }
+      this.activeName=this.iconList[0].label;
     },
     handleTabClick(tab, event){
 
     },
+    handleSearch(data){
+      if(data.value==''){
+        this.iconList=this.allIconList;
+      }
+      let iconList=[]
+      this.allIconList.forEach(item=> {
+        iconList.push({
+          label:item.label,
+          type:item.type,
+          list: item.list.filter(iconItem=>{
+            return iconItem.name.replace(item.label,'').indexOf(data.value)!=-1;
+          })
+        })
+      })
+      this.iconList=iconList;
+    },
     clearValue(){
       this.svgHtml='';
       this.$emit('input','')
diff --git a/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-uiParse.vue b/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-uiParse.vue
new file mode 100644
index 0000000..5d19986
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-uiParse.vue
@@ -0,0 +1,134 @@
+<template>
+  <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid">
+    <u-i-content-viewer-in-dialog
+      :btmType="btmType"
+      :context="context"
+      :inDialog="true"
+      :key="areasName+'customCom-'+componentVO.oid"
+      :componentVO="componentVO"
+      :sourceData="sourceData"
+      :dataStore="dataStore"
+      :areasName="areasName"
+      :paramVOS="urlParams"
+      @setData="setData"
+      @setDataStore="setDataStore">
+    </u-i-content-viewer-in-dialog>
+  </div>
+</template>
+
+<script>
+import {queryStringToObject} from '@/util/util'
+import UIContentViewerInDialog from "@/views/base/UIContentViewerInDialog";
+export default {
+  name: "dynamic-uiParse",
+  components: {UIContentViewerInDialog},
+  props: {
+    //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+    uiBtmType: {
+      type: String
+    },
+    //ui涓婁笅鏂�
+    uiContext:{
+      type: String
+    },
+    componentVO: {
+      type: Object,
+      default: {}
+    },
+    inDialog: {
+      type: Boolean,
+      default: false
+    },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
+    areasName: {
+      type: String,
+      default: ''
+    },
+    sourceData: {
+      //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+      type: Object,
+      default: {}
+    },
+    dataStore: {
+      //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
+      type: Array,
+      default: []
+    },
+    paramVOS: {
+      type: Object,
+      default: {}
+    },
+    isShow: {
+      //鎵�鍦ㄥ尯鍩熸槸鍚﹀凡鏄剧ず锛岄拡瀵箃ab鍜宑ollapse
+      type: Boolean,
+      default: true
+    },
+  },
+  data() {
+    return {
+      btmType: '',
+      context: '',
+      urlParams: {},
+      height: '300px',
+      uiParseClass: '', //?type=xxx&context=yyy&param=zzz
+      isError: false, //璺緞瑙f瀽澶辫触
+      ComponentUrl:'base/UIContentViewerInDialog',
+      currentComponent: null
+    }
+  },
+  watch: {
+    sourceData:{
+      handler(newval) {
+        //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹�
+        this.sourceDataMap();
+      },
+      deep: true,
+      immediate: true
+    }
+  },
+  computed: {},
+  created() {
+    this.sourceDataMap();
+  },
+  mounted() {
+    //this.getHeight(this.$parent);
+  },
+  methods: {
+    sourceDataMap: function () {
+      this.uiParseClass=this.componentVO.uiParseClass;
+      let urlParams = {};
+      // 濡傛灉璺緞涓瓨鍦� '?'
+      if (this.uiParseClass.includes('?')) {
+        urlParams = queryStringToObject(this.customClass);
+      }
+
+      this.btmType = urlParams.type;
+      this.context = urlParams.context;
+      this.urlParams = Object.assign({},this.paramVOS, urlParams)
+    },
+    getHeight(el) {
+      if (el.$el.clientHeight > 50) {
+        this.height = el.$el.clientHeight + 'px';
+      } else {
+        this.getHeight(el.$parent);
+      }
+    },
+    setDataStore(value) {
+      this.$emit("setDataStore", value);
+      this.dataStore = value.dataStore;
+    },
+    setData(value) {
+      this.$emit("setData", value);
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>
+
diff --git a/Source/plt-web/plt-web-ui/src/components/dynamic-components/index.vue b/Source/plt-web/plt-web-ui/src/components/dynamic-components/index.vue
index 1394ac1..5531dcc 100644
--- a/Source/plt-web/plt-web-ui/src/components/dynamic-components/index.vue
+++ b/Source/plt-web/plt-web-ui/src/components/dynamic-components/index.vue
@@ -70,6 +70,23 @@
                   :isShow="isShow">
 
   </dynamic-custom>
+  <dynamic-ui-parse v-else-if="componentVO.uiComponentType=='uiParse'"
+                    :uiBtmType="uiBtmType"
+                    :uiContext="uiContext"
+                    :inDialog="inDialog"
+                    :canEdit="canEdit"
+                    :actionType="actionType"
+                    :key="areasName+'uiParse-'+componentVO.oid"
+                    :componentVO="componentVO"
+                    :sourceData="sourceData"
+                    :sourceBtmType="sourceBtmType"
+                    :dataStore="dataStore"
+                    :areasName="areasName"
+                    :paramVOS="paramVOS"
+                    @setData="setData"
+                    @setDataStore="setDataStore"
+                    :isShow="isShow">
+  </dynamic-ui-parse>
 </template>
 
 <script>
@@ -77,9 +94,10 @@
 import dynamicForm from "@/components/dynamic-components/dynamic-form"
 import dynamicTree from "@/components/dynamic-components/dynamic-tree"
 import dynamicCustom from "@/components/dynamic-components/dynamic-custom"
+import DynamicUiParse from "@/components/dynamic-components/dynamic-uiParse";
 export default {
   name: "dynamicIndex",
-  components:{dynamicCustom, dynamicTree, dynamicForm, dynamicTable  },
+  components:{DynamicUiParse, dynamicCustom, dynamicTree, dynamicForm, dynamicTable  },
   props:{
     //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
     uiBtmType: {
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 017e6d4..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
@@ -56,10 +56,7 @@
                   鍥炬爣
                 </template>
                 <span class="avue-icon avue-icon--small" style="display: block">
-                  <svg v-if="nodeRow.imageName && nodeRow.imageName.indexOf('#')==0" aria-hidden="true">
-                    <use :xlink:href="nodeRow.imageName"></use>
-                  </svg>
-                  <i v-else :class="nodeRow.imageName"></i>
+                  <span v-html="svgHtml(nodeRow.imageName )"></span>
                 </span>
               </el-descriptions-item>
               <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
@@ -832,6 +829,9 @@
     }
   },
   methods: {
+    svgHtml(svgName){
+      return func.getSVGByName(svgName);
+    },
     //鏍戣〃鏌ヨ
     getTreeList() {
       this.treeLoading = true;
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
index 75fa956..75107ac 100644
--- 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
@@ -328,7 +328,6 @@
         this.checkViewData = this.checkViewDataSearch;
         return done();
       }
-      ;
 
       this.checkViewData = this.checkViewData.filter(item => {
         return item.source && item.source.includes(source);
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
index 2d695d7..93f1e2b 100644
--- 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
@@ -33,12 +33,7 @@
       </template>
 
       <template #icon="{ row }">
-          <span class="avue-icon avue-icon--small" style="display: block">
-            <svg v-if="row.imagePath && row.imagePath.indexOf('#')==0" aria-hidden="true">
-              <use :xlink:href="row.imagePath"></use>
-            </svg>
-            <i v-else :class="row.imagePath"></i>
-          </span>
+        <span v-html="svgHtml(row.imagePath )"></span>
       </template>
     </avue-crud>
 
@@ -66,8 +61,8 @@
           </el-col>
           <el-col :span="24">
             <el-form-item label="鍥炬爣锛�" prop="imagePath">
-              <avue-input-icon v-model="form.imagePath" :icon-list="iconList" placeholder="璇烽�夋嫨鍥炬爣">
-              </avue-input-icon>
+              <input-icon v-model="form.imagePath" placeholder="璇烽�夋嫨鍥炬爣">
+              </input-icon>
             </el-form-item>
           </el-col>
           <el-col :span="24">
@@ -78,8 +73,8 @@
         </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
-         <el-button type="primary" @click="addSaveHandler">纭� 瀹�</el-button>
-         <el-button @click="visibleCloseHandler">鍙� 娑�</el-button>
+         <el-button size="small" type="primary" @click="addSaveHandler">纭� 瀹�</el-button>
+         <el-button size="small" @click="visibleCloseHandler">鍙� 娑�</el-button>
         </span>
     </el-dialog>
 
@@ -224,6 +219,9 @@
     this.getList();
   },
   methods: {
+    svgHtml(svgName){
+      return func.getSVGByName(svgName);
+    },
     getList() {
       gridStatus(this.page.currentPage, this.page.pageSize).then(res => {
         const data = res.data.data;
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
index c400747..dd55764 100644
--- 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
@@ -431,7 +431,6 @@
         this.checkViewData = this.checkViewDataSearch;
         return done();
       }
-      ;
 
       this.checkViewData = this.checkViewDataSearch.filter(item => {
         return item.source && item.source.includes(source);
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
index f78570a..3571f42 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
@@ -13,10 +13,12 @@
               {{ item }}
             </el-tag>
           </div>
-          <avue-input v-model="form" placeholder="鏌ヨ" size="mini" prefixIcon="el-icon-search" style="width: 300px;max-width: 30%"></avue-input>
+          <avue-input v-model="searchText" @change="handleSearch" placeholder="鏌ヨ" size="mini" prefixIcon="el-icon-search" style="width: 300px;max-width: 30%"></avue-input>
         </div>
         <div style="height: calc(100vh - 190px)">
-          <input-icon v-model="iconValue"></input-icon>
+          <div>
+            <el-button icon="el-icon-upload" type="primary" size="mini" @click="uploadHandler">涓婁紶</el-button>
+          </div>
           <el-tabs v-model="activeName" @tab-click="handleClick">
             <el-tab-pane v-for="item in iconList" :label="item.label" :name="item.label">
               <div class="iconList">
@@ -28,6 +30,22 @@
             </el-tab-pane>
           </el-tabs>
         </div>
+        <!-- 涓婁紶 -->
+        <el-dialog
+          v-dialogDrag
+          title="鍥炬爣涓婁紶"
+          :visible.sync="visible"
+          append-to-body="true"
+          class="avue-dialog"
+          width="500px"
+          @close="visibleCloseHandler"
+        >
+          <avue-form ref="form" :option="option" v-model="form"> </avue-form>
+          <span slot="footer" class="dialog-footer">
+           <el-button size="small" type="primary" @click="uploadSaveHandler">纭� 瀹�</el-button>
+           <el-button size="small" @click="visibleCloseHandler">鍙� 娑�</el-button>
+          </span>
+        </el-dialog>
       </basic-container>
     </el-main>
   </el-container>
@@ -38,6 +56,8 @@
 import {validatenull} from "@/util/validate";
 import {getStore} from "@/util/store";
 import store from "@/store";
+import {addSave, editSave} from "@/api/modeling/statusPool/api";
+import {getToken} from "@/util/auth";
 
 export default {
 name: "index",
@@ -45,140 +65,249 @@
     return {
       types: ['鏍囩涓�' , '鏍囩浜�' ,  '鏍囩涓�' , '鏍囩鍥�','鏍囩浜�'  ],
       checkedTypes:[],
-      form:'',
+      searchText:'',
       activeName:'',
       iconValue:'iconoir2:adobe-illustrator',
-      iconList:[]
+      allIconList:[],
+      iconList:[],
+      visible: false,
+      option: {
+        labelWidth: 80,
+        submitBtn:false,
+        emptyBtn:false,
+        column: [{
+          label: '鍒嗙被',
+          prop: 'type',
+          type: 'select',
+          span: 24,
+          multiple:true,
+          dicData:[{
+            label:'鏍囩涓�',
+            value:0
+          },{
+            label:'鏍囩浜�',
+            value:1
+          },{
+            label:'鏍囩涓�',
+            value:2
+          }]
+        }, {
+            label: "闄勪欢涓婁紶",
+            prop: "file",
+            dataType: "object",
+            type: "upload",
+            accept:'.json',
+            data:{},
+            headers:this.uploadHeaders,
+            propsHttp: {
+              res: "data",
+            },
+            span: 24,
+            action: "",
+          }
+        ]
+      },
+      form:{
+        type:[]
+      }
     }
   },
-  created() {debugger;
-    if (!validatenull(this.$store.state.icons)) {
-      this.iconList = this.$store.state.icons;
-    } else {
-      this.iconList = getStore({ name:'icons'});
-    }
-    if(this.iconList && this.iconList.length>0){
-      this.activeName=this.iconList[0].label;
-    }else {
-      getIcons().then(res => {
-        this.iconList=res.data.data;
-        this.iconList=[{
-          label:'iconoir',
-          type:'鏍囩涓�',
-          list:[{
-            "name": "iconoir:accessibility",
-            "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2S2 6.477 2 12s4.477 10 10 10M7 9l5 1m5-1l-5 1m0 0v3m0 0l-2 5m2-5l2 5\"/><path fill=\"currentColor\" d=\"M12 7a.5.5 0 1 1 0-1a.5.5 0 0 1 0 1\"/></g></svg>"
-          },
-            {
-              "name": "iconoir:accessibility-sign",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"m11.5 12.5l7-.5l-1.5 6.5m-5.5-6l4.5-5L12.5 5L10 7.5m8.5-1a2 2 0 1 1 0-4a2 2 0 0 1 0 4\"/><path d=\"M5.5 12.5a5 5 0 0 1 7.584 6M3.729 15A5 5 0 0 0 11 20.831\"/></g></svg>"
-            },
-            {
-              "name": "iconoir:accessibility-tech",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M3 19V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m12.5 12.16l4-.16l-.5 4.5M11.833 12L13.5 9.538L10.833 8L9.5 9.846\"/><path fill=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.5 7.5a.5.5 0 1 1 0-1a.5.5 0 0 1 0 1\"/><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 18a3 3 0 1 1 0-6a3 3 0 0 1 0 6\"/></g></svg>"
-            },
-            {
-              "name": "iconoir:activity",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M3 12h3l3-9l6 18l3-9h3\"/></svg>"
-            },
-            {
-              "name": "iconoir:adobe-after-effects",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4\"/><path d=\"M14 13v-1a2 2 0 0 1 2-2v0a2 2 0 0 1 2 2v1zm0 0v1a2 2 0 0 0 2 2h1.5M6 16l1.125-3M12 16l-1.125-3m-3.75 0L9 8l1.875 5m-3.75 0h3.75\"/></g></svg>"
-            },
-            {
-              "name": "iconoir:adobe-after-effects-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zm-3.5-1a.75.75 0 0 1-.75.75H16A2.75 2.75 0 0 1 13.25 14v-2a2.75 2.75 0 1 1 5.5 0v1a.75.75 0 0 1-.75.75h-3.25V14c0 .69.56 1.25 1.25 1.25h1.5a.75.75 0 0 1 .75.75m-1-3.75V12a1.25 1.25 0 1 0-2.5 0v.25zM5.298 15.736a.75.75 0 1 0 1.404.527l.943-2.513h2.71l.943 2.513a.75.75 0 1 0 1.404-.527l-3-8a.75.75 0 0 0-1.404 0zm4.495-3.486H8.207L9 10.136z\" clip-rule=\"evenodd\"/></svg>"
-            },
-            {
-              "name": "iconoir:adobe-illustrator",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4m-5 5v4m0-7v.01\"/><path d=\"m7 16l1.125-3M13 16l-1.125-3m-3.75 0L10 8l1.875 5m-3.75 0h3.75\"/></g></svg>"
-            },
-            {
-              "name": "iconoir:adobe-illustrator-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M17 21.75A4.75 4.75 0 0 0 21.75 17V7A4.75 4.75 0 0 0 17 2.25H7A4.75 4.75 0 0 0 2.25 7v10A4.75 4.75 0 0 0 7 21.75zM15.25 16a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0zM16 9.76a.75.75 0 0 1-.75-.75V9a.75.75 0 0 1 1.5 0v.01a.75.75 0 0 1-.75.75m-9.702 5.977a.75.75 0 1 0 1.404.526l.943-2.513h2.71l.943 2.513a.75.75 0 1 0 1.404-.527l-3-8a.75.75 0 0 0-1.404 0zM10 10.136l.793 2.114H9.207z\" clip-rule=\"evenodd\"/></svg>"
-            }]
-        },{
-          label:'iconoir2',
-          type:'鏍囩浜�',
-          list:[{
-            "name": "iconoir2:adobe-illustrator",
-            "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4m-5 5v4m0-7v.01\"/><path d=\"m7 16l1.125-3M13 16l-1.125-3m-3.75 0L10 8l1.875 5m-3.75 0h3.75\"/></g></svg>"
-          },
-            {
-              "name": "iconoir2:adobe-illustrator-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M17 21.75A4.75 4.75 0 0 0 21.75 17V7A4.75 4.75 0 0 0 17 2.25H7A4.75 4.75 0 0 0 2.25 7v10A4.75 4.75 0 0 0 7 21.75zM15.25 16a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0zM16 9.76a.75.75 0 0 1-.75-.75V9a.75.75 0 0 1 1.5 0v.01a.75.75 0 0 1-.75.75m-9.702 5.977a.75.75 0 1 0 1.404.526l.943-2.513h2.71l.943 2.513a.75.75 0 1 0 1.404-.527l-3-8a.75.75 0 0 0-1.404 0zM10 10.136l.793 2.114H9.207z\" clip-rule=\"evenodd\"/></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-indesign",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4M8.5 8v8\"/><path d=\"M15.5 12v3.4a.6.6 0 0 1-.6.6h-1.4a2 2 0 0 1-2-2v0a2 2 0 0 1 2-2zm0 0V9\"/></g></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-indesign-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zM8.5 16.75a.75.75 0 0 1-.75-.75V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75m5-4h1.25v2.5H13.5a1.25 1.25 0 1 1 0-2.5m0 4a2.75 2.75 0 1 1 0-5.5h1.25V9a.75.75 0 0 1 1.5 0v6.4a1.35 1.35 0 0 1-1.35 1.35z\" clip-rule=\"evenodd\"/></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-lightroom",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4\"/><path d=\"M7 8v8h4m3-5.5V13m0 3v-3m0 0s0-2.5 3-2.5\"/></g></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-lightroom-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zM7 16.75a.75.75 0 0 1-.75-.75V8a.75.75 0 0 1 1.5 0v7.25H11a.75.75 0 0 1 0 1.5zm6.25-.75a.75.75 0 0 0 1.5 0v-2.998l.003-.045a2 2 0 0 1 .265-.82c.235-.392.736-.887 1.982-.887a.75.75 0 0 0 0-1.5c-.973 0-1.713.232-2.268.586a.75.75 0 0 0-1.482.164z\" clip-rule=\"evenodd\"/></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-photoshop",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4\"/><path d=\"M7 16v-4m0 0V8h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2zm10-1c-.306-.613-.933-1-1.618-1H15a1.5 1.5 0 0 0-1.5 1.5v0A1.5 1.5 0 0 0 15 13h.5a1.5 1.5 0 0 1 1.5 1.5v0a1.5 1.5 0 0 1-1.5 1.5h-.382a1.81 1.81 0 0 1-1.618-1v0\"/></g></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-photoshop-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zM7 16.75a.75.75 0 0 1-.75-.75V8A.75.75 0 0 1 7 7.25h2a2.75 2.75 0 1 1 0 5.5H7.75V16a.75.75 0 0 1-.75.75m.75-5.5H9a1.25 1.25 0 1 0 0-2.5H7.75zm8.579.085a.75.75 0 1 0 1.342-.67a2.56 2.56 0 0 0-2.29-1.415H15a2.25 2.25 0 0 0 0 4.5h.5a.75.75 0 0 1 0 1.5h-.382a1.06 1.06 0 0 1-.947-.585a.75.75 0 0 0-1.342.67a2.56 2.56 0 0 0 2.289 1.415h.382a2.25 2.25 0 1 0 0-4.5H15a.75.75 0 0 1 0-1.5h.382c.4 0 .768.227.947.585\" clip-rule=\"evenodd\"/></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-xd",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4M7 8l4 8m-4 0l4-8\"/><path d=\"M17 12v3.4a.6.6 0 0 1-.6.6H15a2 2 0 0 1-2-2v0a2 2 0 0 1 2-2zm0 0V9\"/></g></svg>"
-            },
-            {
-              "name": "iconoir2:adobe-xd-solid",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zm-15.085-.33a.75.75 0 0 1-.336-1.006L8.162 12L6.329 8.335a.75.75 0 0 1 1.342-.67l1.33 2.658l1.328-2.659a.75.75 0 0 1 1.342.671L9.839 12l1.832 3.664a.75.75 0 0 1-1.342.671L9 13.677l-1.329 2.658a.75.75 0 0 1-1.006.336M15 12.75h1.25v2.5H15a1.25 1.25 0 1 1 0-2.5m0 4a2.75 2.75 0 1 1 0-5.5h1.25V9a.75.75 0 0 1 1.5 0v6.4a1.35 1.35 0 0 1-1.35 1.35z\" clip-rule=\"evenodd\"/></svg>"
-            },
-            {
-              "name": "iconoir2:african-tree",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M12 22V12m0-4v4m0 0l3-3m-2.576 9.576l6.169-6.169a5.502 5.502 0 0 0-.513-8.234a9.904 9.904 0 0 0-12.16 0a5.502 5.502 0 0 0-.513 8.234l6.169 6.169a.6.6 0 0 0 .848 0\"/></svg>"
-            },
-            {
-              "name": "iconoir2:agile",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M17.5 19H22m0 0l-2.5-2.5M22 19l-2.5 2.5M12 2L9.5 4.5L12 7\"/><path d=\"M10.5 4.5a7.5 7.5 0 0 1 0 15H2\"/><path d=\"M6.756 5.5A7.5 7.5 0 0 0 3 12c0 1.688.558 3.246 1.5 4.5\"/></g></svg>"
-            },
-            {
-              "name": "iconoir2:air-conditioner",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M22 3.6V11H2V3.6a.6.6 0 0 1 .6-.6h18.8a.6.6 0 0 1 .6.6M18 7h1M2 11l.79 2.584A2 2 0 0 0 4.702 15H6m16-4l-.79 2.584A2 2 0 0 1 19.298 15H18m-8.5-.5s0 7-3.5 7m8.5-7s0 7 3.5 7m-6-7v7\"/></svg>"
-            },
-            {
-              "name": "iconoir2:airplane",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M10.5 4.5v4.667a.6.6 0 0 1-.282.51l-7.436 4.647a.6.6 0 0 0-.282.508v.9a.6.6 0 0 0 .746.582l6.508-1.628a.6.6 0 0 1 .746.582v2.96a.6.6 0 0 1-.205.451l-2.16 1.89c-.458.402-.097 1.151.502 1.042l3.256-.591a.6.6 0 0 1 .214 0l3.256.591c.599.11.96-.64.502-1.041l-2.16-1.89a.6.6 0 0 1-.205-.452v-2.96a.6.6 0 0 1 .745-.582l6.51 1.628a.6.6 0 0 0 .745-.582v-.9a.6.6 0 0 0-.282-.508l-7.436-4.648a.6.6 0 0 1-.282-.509V4.5a1.5 1.5 0 0 0-3 0\"/></svg>"
-            },
-            {
-              "name": "iconoir2:airplane-helix",
-              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"1.5\" stroke-width=\"1.5\"><path d=\"M12 15a3 3 0 1 0 0-6a3 3 0 0 0 0 6\"/><path d=\"M12 9s-1.988-1.975-2-4c.001-1.993-.05-4.001 2-4c1.948.001 1.997 1.976 2 4c.003 1.985-2 4-2 4m3 3s1.975-1.988 4-2c1.993.001 4.001-.05 4 2c-.001 1.948-1.976 1.997-4 2c-1.985.003-4-2-4-2m-6 0s-1.975 1.988-4 2c-1.993-.001-4.001.05-4-2c.001-1.948 1.976-1.997 4-2c1.985-.003 4 2 4 2m3 3s1.988 1.975 2 4c-.001 1.993.05 4.001-2 4c-1.948-.001-1.997-1.976-2-4c-.003-1.985 2-4 2-4\" clip-rule=\"evenodd\"/></g></svg>"
-            }]
-        }]
-        store.dispatch("setIcons", this.iconList);
-        if(this.iconList.length>0) {
-          this.activeName=this.iconList[0].label;
-        }
-      })
-    }
+  computed: {
+    uploadHeaders() {
+      return {
+        "Authorizationtoken":getToken(),
+      };
+    },
+  },
+  created() {
+    this.initList();
   },
   methods:{
+    initList(){
+      if (!validatenull(this.$store.state.icons)) {
+        this.iconList = this.$store.state.icons;
+      } else {
+        this.iconList = getStore({ name:'icons'});
+      }
+      this.allIconList=this.iconList;
+      if(this.iconList && this.iconList.length>0){
+        this.activeName=this.iconList[0].label;
+      }else {
+        getIcons().then(res => {
+          this.iconList=res.data.data;
+          this.iconList=[{
+            label:'iconoir',
+            type:'鏍囩涓�',
+            list:[{
+              "name": "iconoir:accessibility",
+              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2S2 6.477 2 12s4.477 10 10 10M7 9l5 1m5-1l-5 1m0 0v3m0 0l-2 5m2-5l2 5\"/><path fill=\"currentColor\" d=\"M12 7a.5.5 0 1 1 0-1a.5.5 0 0 1 0 1\"/></g></svg>"
+            },
+              {
+                "name": "iconoir:accessibility-sign",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"m11.5 12.5l7-.5l-1.5 6.5m-5.5-6l4.5-5L12.5 5L10 7.5m8.5-1a2 2 0 1 1 0-4a2 2 0 0 1 0 4\"/><path d=\"M5.5 12.5a5 5 0 0 1 7.584 6M3.729 15A5 5 0 0 0 11 20.831\"/></g></svg>"
+              },
+              {
+                "name": "iconoir:accessibility-tech",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M3 19V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m12.5 12.16l4-.16l-.5 4.5M11.833 12L13.5 9.538L10.833 8L9.5 9.846\"/><path fill=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.5 7.5a.5.5 0 1 1 0-1a.5.5 0 0 1 0 1\"/><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 18a3 3 0 1 1 0-6a3 3 0 0 1 0 6\"/></g></svg>"
+              },
+              {
+                "name": "iconoir:activity",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M3 12h3l3-9l6 18l3-9h3\"/></svg>"
+              },
+              {
+                "name": "iconoir:adobe-after-effects",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4\"/><path d=\"M14 13v-1a2 2 0 0 1 2-2v0a2 2 0 0 1 2 2v1zm0 0v1a2 2 0 0 0 2 2h1.5M6 16l1.125-3M12 16l-1.125-3m-3.75 0L9 8l1.875 5m-3.75 0h3.75\"/></g></svg>"
+              },
+              {
+                "name": "iconoir:adobe-after-effects-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zm-3.5-1a.75.75 0 0 1-.75.75H16A2.75 2.75 0 0 1 13.25 14v-2a2.75 2.75 0 1 1 5.5 0v1a.75.75 0 0 1-.75.75h-3.25V14c0 .69.56 1.25 1.25 1.25h1.5a.75.75 0 0 1 .75.75m-1-3.75V12a1.25 1.25 0 1 0-2.5 0v.25zM5.298 15.736a.75.75 0 1 0 1.404.527l.943-2.513h2.71l.943 2.513a.75.75 0 1 0 1.404-.527l-3-8a.75.75 0 0 0-1.404 0zm4.495-3.486H8.207L9 10.136z\" clip-rule=\"evenodd\"/></svg>"
+              },
+              {
+                "name": "iconoir:adobe-illustrator",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4m-5 5v4m0-7v.01\"/><path d=\"m7 16l1.125-3M13 16l-1.125-3m-3.75 0L10 8l1.875 5m-3.75 0h3.75\"/></g></svg>"
+              },
+              {
+                "name": "iconoir:adobe-illustrator-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M17 21.75A4.75 4.75 0 0 0 21.75 17V7A4.75 4.75 0 0 0 17 2.25H7A4.75 4.75 0 0 0 2.25 7v10A4.75 4.75 0 0 0 7 21.75zM15.25 16a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0zM16 9.76a.75.75 0 0 1-.75-.75V9a.75.75 0 0 1 1.5 0v.01a.75.75 0 0 1-.75.75m-9.702 5.977a.75.75 0 1 0 1.404.526l.943-2.513h2.71l.943 2.513a.75.75 0 1 0 1.404-.527l-3-8a.75.75 0 0 0-1.404 0zM10 10.136l.793 2.114H9.207z\" clip-rule=\"evenodd\"/></svg>"
+              }]
+          },{
+            label:'iconoir2',
+            type:'鏍囩浜�',
+            list:[{
+              "name": "iconoir2:adobe-illustrator",
+              "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4m-5 5v4m0-7v.01\"/><path d=\"m7 16l1.125-3M13 16l-1.125-3m-3.75 0L10 8l1.875 5m-3.75 0h3.75\"/></g></svg>"
+            },
+              {
+                "name": "iconoir2:adobe-illustrator-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M17 21.75A4.75 4.75 0 0 0 21.75 17V7A4.75 4.75 0 0 0 17 2.25H7A4.75 4.75 0 0 0 2.25 7v10A4.75 4.75 0 0 0 7 21.75zM15.25 16a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0zM16 9.76a.75.75 0 0 1-.75-.75V9a.75.75 0 0 1 1.5 0v.01a.75.75 0 0 1-.75.75m-9.702 5.977a.75.75 0 1 0 1.404.526l.943-2.513h2.71l.943 2.513a.75.75 0 1 0 1.404-.527l-3-8a.75.75 0 0 0-1.404 0zM10 10.136l.793 2.114H9.207z\" clip-rule=\"evenodd\"/></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-indesign",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4M8.5 8v8\"/><path d=\"M15.5 12v3.4a.6.6 0 0 1-.6.6h-1.4a2 2 0 0 1-2-2v0a2 2 0 0 1 2-2zm0 0V9\"/></g></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-indesign-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zM8.5 16.75a.75.75 0 0 1-.75-.75V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75m5-4h1.25v2.5H13.5a1.25 1.25 0 1 1 0-2.5m0 4a2.75 2.75 0 1 1 0-5.5h1.25V9a.75.75 0 0 1 1.5 0v6.4a1.35 1.35 0 0 1-1.35 1.35z\" clip-rule=\"evenodd\"/></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-lightroom",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4\"/><path d=\"M7 8v8h4m3-5.5V13m0 3v-3m0 0s0-2.5 3-2.5\"/></g></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-lightroom-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zM7 16.75a.75.75 0 0 1-.75-.75V8a.75.75 0 0 1 1.5 0v7.25H11a.75.75 0 0 1 0 1.5zm6.25-.75a.75.75 0 0 0 1.5 0v-2.998l.003-.045a2 2 0 0 1 .265-.82c.235-.392.736-.887 1.982-.887a.75.75 0 0 0 0-1.5c-.973 0-1.713.232-2.268.586a.75.75 0 0 0-1.482.164z\" clip-rule=\"evenodd\"/></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-photoshop",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4\"/><path d=\"M7 16v-4m0 0V8h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2zm10-1c-.306-.613-.933-1-1.618-1H15a1.5 1.5 0 0 0-1.5 1.5v0A1.5 1.5 0 0 0 15 13h.5a1.5 1.5 0 0 1 1.5 1.5v0a1.5 1.5 0 0 1-1.5 1.5h-.382a1.81 1.81 0 0 1-1.618-1v0\"/></g></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-photoshop-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zM7 16.75a.75.75 0 0 1-.75-.75V8A.75.75 0 0 1 7 7.25h2a2.75 2.75 0 1 1 0 5.5H7.75V16a.75.75 0 0 1-.75.75m.75-5.5H9a1.25 1.25 0 1 0 0-2.5H7.75zm8.579.085a.75.75 0 1 0 1.342-.67a2.56 2.56 0 0 0-2.29-1.415H15a2.25 2.25 0 0 0 0 4.5h.5a.75.75 0 0 1 0 1.5h-.382a1.06 1.06 0 0 1-.947-.585a.75.75 0 0 0-1.342.67a2.56 2.56 0 0 0 2.289 1.415h.382a2.25 2.25 0 1 0 0-4.5H15a.75.75 0 0 1 0-1.5h.382c.4 0 .768.227.947.585\" clip-rule=\"evenodd\"/></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-xd",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4M7 8l4 8m-4 0l4-8\"/><path d=\"M17 12v3.4a.6.6 0 0 1-.6.6H15a2 2 0 0 1-2-2v0a2 2 0 0 1 2-2zm0 0V9\"/></g></svg>"
+              },
+              {
+                "name": "iconoir2:adobe-xd-solid",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M21.75 17A4.75 4.75 0 0 1 17 21.75H7A4.75 4.75 0 0 1 2.25 17V7A4.75 4.75 0 0 1 7 2.25h10A4.75 4.75 0 0 1 21.75 7zm-15.085-.33a.75.75 0 0 1-.336-1.006L8.162 12L6.329 8.335a.75.75 0 0 1 1.342-.67l1.33 2.658l1.328-2.659a.75.75 0 0 1 1.342.671L9.839 12l1.832 3.664a.75.75 0 0 1-1.342.671L9 13.677l-1.329 2.658a.75.75 0 0 1-1.006.336M15 12.75h1.25v2.5H15a1.25 1.25 0 1 1 0-2.5m0 4a2.75 2.75 0 1 1 0-5.5h1.25V9a.75.75 0 0 1 1.5 0v6.4a1.35 1.35 0 0 1-1.35 1.35z\" clip-rule=\"evenodd\"/></svg>"
+              },
+              {
+                "name": "iconoir2:african-tree",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M12 22V12m0-4v4m0 0l3-3m-2.576 9.576l6.169-6.169a5.502 5.502 0 0 0-.513-8.234a9.904 9.904 0 0 0-12.16 0a5.502 5.502 0 0 0-.513 8.234l6.169 6.169a.6.6 0 0 0 .848 0\"/></svg>"
+              },
+              {
+                "name": "iconoir2:agile",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M17.5 19H22m0 0l-2.5-2.5M22 19l-2.5 2.5M12 2L9.5 4.5L12 7\"/><path d=\"M10.5 4.5a7.5 7.5 0 0 1 0 15H2\"/><path d=\"M6.756 5.5A7.5 7.5 0 0 0 3 12c0 1.688.558 3.246 1.5 4.5\"/></g></svg>"
+              },
+              {
+                "name": "iconoir2:air-conditioner",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M22 3.6V11H2V3.6a.6.6 0 0 1 .6-.6h18.8a.6.6 0 0 1 .6.6M18 7h1M2 11l.79 2.584A2 2 0 0 0 4.702 15H6m16-4l-.79 2.584A2 2 0 0 1 19.298 15H18m-8.5-.5s0 7-3.5 7m8.5-7s0 7 3.5 7m-6-7v7\"/></svg>"
+              },
+              {
+                "name": "iconoir2:airplane",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M10.5 4.5v4.667a.6.6 0 0 1-.282.51l-7.436 4.647a.6.6 0 0 0-.282.508v.9a.6.6 0 0 0 .746.582l6.508-1.628a.6.6 0 0 1 .746.582v2.96a.6.6 0 0 1-.205.451l-2.16 1.89c-.458.402-.097 1.151.502 1.042l3.256-.591a.6.6 0 0 1 .214 0l3.256.591c.599.11.96-.64.502-1.041l-2.16-1.89a.6.6 0 0 1-.205-.452v-2.96a.6.6 0 0 1 .745-.582l6.51 1.628a.6.6 0 0 0 .745-.582v-.9a.6.6 0 0 0-.282-.508l-7.436-4.648a.6.6 0 0 1-.282-.509V4.5a1.5 1.5 0 0 0-3 0\"/></svg>"
+              },
+              {
+                "name": "iconoir2:airplane-helix",
+                "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"1.5\" stroke-width=\"1.5\"><path d=\"M12 15a3 3 0 1 0 0-6a3 3 0 0 0 0 6\"/><path d=\"M12 9s-1.988-1.975-2-4c.001-1.993-.05-4.001 2-4c1.948.001 1.997 1.976 2 4c.003 1.985-2 4-2 4m3 3s1.975-1.988 4-2c1.993.001 4.001-.05 4 2c-.001 1.948-1.976 1.997-4 2c-1.985.003-4-2-4-2m-6 0s-1.975 1.988-4 2c-1.993-.001-4.001.05-4-2c.001-1.948 1.976-1.997 4-2c1.985-.003 4 2 4 2m3 3s1.988 1.975 2 4c-.001 1.993.05 4.001-2 4c-1.948-.001-1.997-1.976-2-4c-.003-1.985 2-4 2-4\" clip-rule=\"evenodd\"/></g></svg>"
+              }]
+          }]
+          this.allIconList=this.iconList;
+          store.dispatch("setIcons", this.iconList);
+          if(this.iconList.length>0) {
+            this.activeName=this.iconList[0].label;
+          }
+        })
+      }
+    },
     changeType(type){
       if(this.checkedTypes.includes(type)){
         this.checkedTypes=this.checkedTypes.filter(item=> item!=type)
       }else {
         this.checkedTypes.push(type)
       }
+      //鎸夌収鍒嗙被杩囨护鍥炬爣
+      if(this.checkedTypes.length==0){
+        this.iconList=this.allIconList
+      }else{
+        this.iconList=this.allIconList.filter(item=> {
+          return this.checkedTypes.includes(item.type);
+        })
+      }
+      this.activeName=this.iconList[0].label;
+    },
+    handleSearch(data){
+      if(data.value==''){
+        this.iconList=this.allIconList;
+      }
+      let iconList=[]
+      this.allIconList.forEach(item=> {
+        iconList.push({
+          label:item.label,
+          type:item.type,
+          list: item.list.filter(iconItem=>{
+            return iconItem.name.replace(item.label,'').indexOf(data.value)!=-1;
+          })
+        })
+      })
+      this.iconList=iconList;
     },
     handleClick(tab, event){
 
-    }
+    },
+    uploadHandler(){
+      this.visible = true;
+    },
+    // 鍏抽棴瀵硅瘽妗�
+    visibleCloseHandler() {
+      const form = {}
+      this.form = form;
+      this.visible = false;
+      this.$refs.form.clearValidate();
+    },
+
+    // 涓婁紶淇濆瓨
+    uploadSaveHandler() {debugger;
+      this.$refs.form.validate((valid,done) => {
+        if (valid) {
+          done()
+          saveFunction(this.form).then(res => {
+            if (res.data.code === 200) {
+              this.$message.success(res.data.obj);
+              this.initList();
+              done();
+              this.visibleCloseHandler();
+            } else {
+              this.$message.error(res.data.obj);
+            }
+          })
+        } else {
+          return false;
+        }
+      });
+    },
   }
 }
 </script>
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
index baa8199..c171257 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
@@ -224,7 +224,7 @@
         this.$message.error('鍒悕闀垮害涓嶈兘瓒呰繃255锛�');
         return
       }
-      ;
+
       const params = {
         id: this.form.id,
         name: this.form.name,

--
Gitblit v1.9.3