From 8e93a889280064483b901959e3b42f966d0ad371 Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期二, 24 十二月 2024 14:30:13 +0800
Subject: [PATCH] 图标管理,图标选择组件,图标显示组件
---
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/iconShow.vue | 41 +++++
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue | 236 +++++++++++++++++++++++----------
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue | 72 ++++++---
Source/plt-web/plt-web-ui/src/main.js | 3
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 7
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue | 9
6 files changed, 259 insertions(+), 109 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/iconShow.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/iconShow.vue
new file mode 100644
index 0000000..f40d2b9
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/iconShow.vue
@@ -0,0 +1,41 @@
+<template>
+ <div :style="'width:'+fontSize+';height:'+fontSize+';font-size: '+fontSize+';'+style" v-html="svgHtml"></div>
+</template>
+
+<script>
+import func from "@/util/func";
+export default {
+name: "iconShow",
+ props: {
+ name: {
+ type: String,
+ default: ''
+ },
+ fontSize: {
+ type: String,
+ default:'20px'
+ },
+ style:{
+ type: String,
+ default:''
+ }
+ },
+ computed:{
+ svgHtml() {
+ return func.getSVGByName(this.name);
+ },
+ },
+ methods:{
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+::v-deep {
+ svg{
+ font-size: inherit;
+ height: 100%;
+ width:auto;
+ }
+}
+</style>
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 156d397..6c25d75 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
@@ -2,7 +2,7 @@
<div>
<el-input :width="width" :class="inputClass" :style="inputStyle" :clearable="true" :value="value"
:disabled="disabled" :placeholder="placeholder" type="text" :size="size" @clear="clearValue" @focus="handleFocus">
- <span slot="append" v-html="svgHtml"></span>
+ <span slot="append" v-html="svgHtml" style="font-size: 18px;height:18px;display: block"></span>
</el-input>
<el-dialog v-dialogDrag
v-dialog-resize
@@ -17,10 +17,10 @@
<span class="tag-group__title">鍒嗙被</span>
<el-tag
v-for="item in types"
- :key="item.value"
- :type="checkedTypes.includes(item.value)?'success':'info'" size="small"
- effect="plain" @click="changeType(item.value)">
- {{ item.label }}
+ :key="item.key"
+ :type="checkedTypes.includes(item.key)?'success':'info'" size="small"
+ effect="plain" @click="changeType(item.key)">
+ {{ item.value }}
</el-tag>
</div>
<avue-input v-model="searchText" @change="handleSearch" placeholder="鏌ヨ" size="mini" prefixIcon="el-icon-search" style="width: 300px;max-width: 30%"></avue-input>
@@ -30,8 +30,8 @@
<el-tab-pane v-for="item in iconList" :label="item.lable" :name="item.lable" style="height: calc(60vh - 80px);;overflow: auto ">
<div class="iconList">
<div class="iconItem" v-for="svg in item.list" :data-value="svg.name" @click="checkSvg(svg,item.lable)">
- <div v-html="svg.content"></div>
- <!--<span>{{svg.name.split(':')[1]}}</span>-->
+ <div class="svgContent" v-html="svg.content"></div>
+ <span>{{svg.name.split(':')[1]}}</span>
</div>
</div>
</el-tab-pane>
@@ -47,6 +47,7 @@
import func from "@/util/func";
import store from "@/store";
import {getIcons} from "@/api/UI/Icons";
+import {getDicts} from "@/api/system/dict";
export default {
name: "input-icon",
@@ -79,16 +80,7 @@
data(){
return {
visible: false,
- types: [{
- label:'鎸夐挳',
- value:0
- },{
- label:'鏍囩浜�',
- value:1
- },{
- label:'鏍囩涓�',
- value:2
- }],
+ types: [],
checkedTypes:[],
searchText:'',
activeName:'',
@@ -105,6 +97,7 @@
}
},
created(){
+ this.getGroups();
if (!validatenull(this.$store.state.icons)) {
this.iconList = this.$store.state.icons;
} else {
@@ -115,16 +108,31 @@
this.activeName=this.iconList[0].lable;
}else {
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].lable;
+ if (res.data.success) {
+ this.iconList = res.data.data;
+ this.allIconList = this.iconList;
+ store.dispatch("setIcons", this.iconList);
+ if (this.iconList.length > 0) {
+ this.activeName = this.iconList[0].lable;
+ }
+ } else {
+ this.$message.error(res.data.msg);
}
})
}
+
+ this.svgHtml=func.getSVGByName(this.value);
},
methods:{
+ getGroups() {
+ getDicts('EnumIconGroups').then(res => {
+ if (res.data.success) {
+ this.types = res.data.obj;
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ })
+ },
dialogClose() {
this.visible = false;
},
@@ -148,9 +156,16 @@
this.iconList=this.allIconList
}else{
const checkedTypes=JSON.stringify(this.checkedTypes);
- this.iconList=this.allIconList.filter(item=> {
- return checkedTypes.indexOf(JSON.stringify(item.groups))!=-1;
+ const iconList=[];
+ this.allIconList.forEach(item=>{
+ iconList.push({
+ lable:item.lable,
+ list:item.list.filter(iconitem=> {
+ return checkedTypes.indexOf(iconitem.groups)!=-1;
+ })
+ })
})
+ this.iconList=iconList;
}
this.activeName=this.iconList[0].lable;
},
@@ -197,11 +212,14 @@
flex-wrap: wrap;
}
.iconList .iconItem{
- width: 65px;
- margin: 6px;
+ width: 85px;
+ margin: 6px 5px 10px 5px;
text-align: center;
}
-.iconList .iconItem div:hover{
+.iconList .iconItem .svgContent{
+ font-size: 24px;
+}
+.iconList .iconItem .svgContent:hover{
transform: scale(1.5);
}
.iconList .iconItem span{
diff --git a/Source/plt-web/plt-web-ui/src/main.js b/Source/plt-web/plt-web-ui/src/main.js
index 1b720c9..b301bd9 100644
--- a/Source/plt-web/plt-web-ui/src/main.js
+++ b/Source/plt-web/plt-web-ui/src/main.js
@@ -46,6 +46,8 @@
import transfer from "@/components/PLT-basic-component/transfer";
//鍥炬爣閫夋嫨鍣ㄧ粍浠�
import inputIcon from "@/components/PLT-basic-component/input-icon";
+//鍥炬爣鏄剧ず缁勪欢
+import iconShow from "@/components/PLT-basic-component/iconShow";
// 娉ㄥ唽鍏ㄥ眬瀹瑰櫒
Vue.component('basicContainer', basicContainer);
Vue.component('basicBlock', basicBlock);
@@ -63,6 +65,7 @@
Vue.component('Divider', Divider);
Vue.component('transfer', transfer);
Vue.component('inputIcon', inputIcon);
+Vue.component('iconShow', iconShow);
import ECharts from 'vue-echarts'
Vue.component('v-chart', ECharts)
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 0eb440a..edef882 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
@@ -55,8 +55,8 @@
<template slot="label">
鍥炬爣
</template>
- <span class="avue-icon avue-icon--small" style="display: block">
- <span v-html="svgHtml(nodeRow.imageName )"></span>
+ <span class="avue-icon">
+ <icon-show :name="nodeRow.imageName"></icon-show>
</span>
</el-descriptions-item>
<el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
@@ -829,9 +829,6 @@
}
},
methods: {
- svgHtml(svgName){
- return func.getSVGByName(svgName);
- },
//鏍戣〃鏌ヨ
getTreeList() {
this.treeLoading = true;
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 93f1e2b..5552afc 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,7 +33,9 @@
</template>
<template #icon="{ row }">
- <span v-html="svgHtml(row.imagePath )"></span>
+ <span class="avue-icon">
+ <icon-show :name="row.imagePath"></icon-show>
+ </span>
</template>
</avue-crud>
@@ -108,14 +110,12 @@
import {gridStatus, addSave, editSave, deleteStatus, exportStatus, listUsed} from "@/api/modeling/statusPool/api";
import func from "@/util/func";
import basicOption from "@/util/basic-option";
-import iconList from "@/config/iconList";
import {mapGetters} from "vuex";
export default {
name: "index",
data() {
return {
- iconList: iconList,
loading: false,
data: [],
option: {
@@ -219,9 +219,6 @@
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/ui/Icons/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
index 228d56c..0f4c415 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
@@ -4,20 +4,21 @@
<basic-container>
<div style="display: flex;justify-content: space-between;flex-wrap: wrap">
<div class="tag-group">
- <span class="tag-group__title">鍒嗙被</span>
+ <span class="tag-group__title">鍒嗙粍</span>
<el-tag
v-for="item in types"
- :key="item.value"
- :type="checkedTypes.includes(item.value)?'success':'info'" size="small"
- effect="plain" @click="changeType(item.value)">
- {{ item.label }}
+ :key="item.key"
+ :type="checkedTypes.includes(item.key)?'success':'info'" size="small"
+ effect="plain" @click="changeType(item.key)">
+ {{ item.value }}
</el-tag>
</div>
<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)">
<div>
- <el-button icon="el-icon-plus" type="primary" size="mini" @click="uploadHandler">娣诲姞</el-button>
+ <el-button icon="el-icon-plus" type="primary" size="mini" @click="addHandler">娣诲姞</el-button>
+ <el-button icon="el-icon-upload" type="primary" size="mini" @click="uploadHandler">涓婁紶</el-button>
</div>
<el-tabs v-model="activeName" @tab-click="handleClick">
@@ -25,8 +26,8 @@
<div class="iconList">
<div class="iconItem" v-for="svg in item.list"
:data-value="svg.name" v-right-click="{action:checkSvg,data:svg}">
- <div v-html="svg.content"></div>
- <!--<span>{{svg.name.split(':')[1]}}</span>-->
+ <div class="svgContent" v-html="svg.content"></div>
+ <span>{{svg.name.split(':')[1]}}</span>
</div>
</div>
<div v-if="menuVisible" class="el-cascader-panel is-bordered iconList__menu" :style="menuPosition">
@@ -39,19 +40,31 @@
<!-- 涓婁紶 -->
<el-dialog
v-dialogDrag
- title="娣诲姞鍥炬爣"
+ title="涓婁紶鍥炬爣"
:visible.sync="visible"
append-to-body="true"
class="avue-dialog"
- width="500px"
+ width="600px"
@close="visibleCloseHandler"
>
- <avue-form ref="form" :option="option" v-model="form" :upload-after="uploadAfter"> </avue-form>
+ <avue-form ref="form" :option="option" v-model="form" :upload-after="uploadAfter" style="margin-bottom: 0;height:90px;overflow: hidden"> </avue-form>
+ <pre style="font-size: 12px;color: #b3b3b3;margin-top: 0;padding:5px;background-color: #f5f5f5">涓婁紶鏂囦欢涓簀son鏂囦欢锛岀ず渚嬪涓�
+[
+ {
+ "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涓哄浘鏍囧簱鍚�+鍥炬爣鍚嶇О锛屼互鈥�:鈥濆垎闅旓紝svg涓哄浘鏍噃tml浠g爜</pre>
</el-dialog>
- <!-- 淇敼 -->
+ <!-- 娣诲姞銆佷慨鏀� -->
<el-dialog
v-dialogDrag
- title="淇敼鍥炬爣"
+ :title="editType=='add'?'娣诲姞鍥炬爣':'淇敼鍥炬爣'"
:visible.sync="editVisible"
append-to-body="true"
class="avue-dialog"
@@ -71,6 +84,7 @@
<script>
import {getIcons,addIcon,updateIcon,deleteIcon} from "@/api/UI/Icons";
+import {getDicts} from "@/api/system/dict";
import {validatenull} from "@/util/validate";
import {getStore} from "@/util/store";
import store from "@/store";
@@ -91,16 +105,7 @@
},
data() {
return {
- types: [{
- label:'鎸夐挳',
- value:0
- },{
- label:'鏍囩浜�',
- value:1
- },{
- label:'鏍囩涓�',
- value:2
- }],
+ types: [],
checkedTypes:[],
searchText:'',
activeName:'',
@@ -113,12 +118,16 @@
submitBtn:false,
emptyBtn:false,
column: [{
- label: '鍒嗙被',
+ label: '鍒嗙粍',
prop: 'groups',
type: 'select',
span: 24,
multiple:true,
- dicData:this.types
+ dicData:[],
+ props:{
+ label:'value',
+ value:'key'
+ }
}, {
label: "闄勪欢涓婁紶",
prop: "file",
@@ -137,27 +146,51 @@
groups:[],
file:null
},
+ editType:'edit',
editVisible:false,
editOption:{
- labelWidth: 80,
+ labelWidth: 90,
submitBtn:false,
emptyBtn:false,
column: [{
- label: 'name',
- prop: 'name',
+ label: '鍥炬爣搴撳悕',
+ prop: 'libname',
type: 'input',
disabled:true,
span: 24,
rules: [{
required: true,
- message: "璇疯緭鍏ュ浘鏍噉ame",
+ message: "璇疯緭鍏ュ浘鏍囧簱鍚�",
trigger: "blur"
}]
+ },{
+ label: '鍚嶇О',
+ prop: 'iconname',
+ type: 'input',
+ disabled:true,
+ span: 24,
+ rules: [{
+ required: true,
+ message: "璇疯緭鍏ュ浘鏍囧悕绉�",
+ trigger: "blur"
+ }]
+ },{
+ label: '鍒嗙粍',
+ prop: 'groups',
+ type: 'select',
+ span: 24,
+ multiple:true,
+ dicData:[],
+ props:{
+ label:'value',
+ value:'key'
+ }
}, {
- label: "svg",
+ label: "svg浠g爜",
prop: "content",
type: "textarea",
span: 24,
+ placeholder:'璇疯緭鍏ュ浘鏍噑vg浠g爜锛屾牸寮忕ず渚�<svg xmlns=\"http://www.w3.org/2000/svg\" ></svg>',
rules: [{
required: true,
message: "璇疯緭鍏ュ浘鏍噑vg浠g爜",
@@ -167,7 +200,8 @@
},
editForm:{
oid:'',
- name:'',
+ libname:'',
+ iconname:'',
content:''
},
menuVisible:false,
@@ -193,20 +227,35 @@
}
},
created() {
- this.initList();
- this.option.column[0].dicData=this.types;
- },
+ this.getGroups();
+ this.initList(); },
methods:{
+ getGroups() {
+ getDicts('EnumIconGroups').then(res => {
+ if (res.data.success) {
+ this.types = res.data.obj;
+ this.option.column[0].dicData = res.data.obj;
+ this.editOption.column[2].dicData =res.data.obj;
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ })
+ },
initList(reload){
- if(reload){
+ if(reload) {
getIcons().then(res => {
- this.iconList = res.data.data;
- this.allIconList = this.iconList;
- store.dispatch("setIcons", this.iconList);
- if (this.iconList.length > 0) {
- this.activeName = this.iconList[0].lable;
+ if (res.data.success) {
+ this.iconList = res.data.data;
+ this.allIconList = this.iconList;
+ store.dispatch("setIcons", this.iconList);
+ if (this.iconList.length > 0) {
+ this.activeName = this.iconList[0].lable;
+ }
+ } else {
+ this.$message.error(res.data.msg);
}
})
+
return;
}
if (!validatenull(this.$store.state.icons)) {
@@ -219,25 +268,29 @@
this.activeName=this.iconList[0].lable;
}else {
getIcons().then(res => {
- this.iconList = [{
- lable: 'iconoir',
- list: [{
- oid: '',
- groups: '0',
- "name": "iconoir:accessibility",
- "content": "<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>"
+ if (res.data.success) {
+ this.iconList = [{
+ lable: 'iconoir',
+ list: [{
+ oid: '',
+ groups: '1',
+ "name": "iconoir:accessibility",
+ "content": "<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>"
+ }]
}]
- }]
- this.iconList = res.data.data;
- this.allIconList = this.iconList;
- store.dispatch("setIcons", this.iconList);
- if (this.iconList.length > 0) {
- this.activeName = this.iconList[0].lable;
+ this.iconList = res.data.data;
+ this.allIconList = this.iconList;
+ store.dispatch("setIcons", this.iconList);
+ if (this.iconList.length > 0) {
+ this.activeName = this.iconList[0].lable;
+ }
+ } else {
+ this.$message.error(res.data.msg);
}
})
}
},
- changeType(type){debugger;
+ changeType(type){
if(this.checkedTypes.includes(type)){
this.checkedTypes=this.checkedTypes.filter(item=> item!=type)
}else {
@@ -248,9 +301,16 @@
this.iconList=this.allIconList
}else{
const checkedTypes=JSON.stringify(this.checkedTypes);
- this.iconList=this.allIconList.filter(item=> {
- return checkedTypes.indexOf(JSON.stringify(item.groups))!=-1;
+ const iconList=[];
+ this.allIconList.forEach(item=>{
+ iconList.push({
+ lable:item.lable,
+ list:item.list.filter(iconitem=> {
+ return checkedTypes.indexOf(iconitem.groups)!=-1;
+ })
+ })
})
+ this.iconList=iconList;
}
this.activeName=this.iconList[0].lable;
},
@@ -327,24 +387,49 @@
}
});
},
+ addHandler(){
+ this.editOption.column[0].disabled=false;
+ this.editOption.column[1].disabled=false;
+ this.editType='add';
+ this.editVisible=true;
+ },
editHandler(){
+ this.editType='edit';
+ this.editOption.column[0].disabled=true;
+ this.editOption.column[1].disabled=true;
this.editForm=this.checkItem;
+ this.editForm.libname=this.checkItem.name.split(':')[0]
+ this.editForm.iconname=this.checkItem.name.split(':')[1]
this.editVisible=true;
},
editSaveHandler(){
this.$refs.editForm.validate((valid,done) => {
if (valid) {
done()
- updateIcon(this.editForm).then(res => {
- if (res.data.code === 200) {
- this.$message.success(res.data.msg);
- this.initList(true);
- done();
- this.closeHandler();
- } else {
- this.$message.error(res.data.msg);
- }
- })
+ this.editForm.name= this.editForm.libname+':'+ this.editForm.iconname;
+ if(this.editType=='edit'){
+ updateIcon(this.editForm).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.msg);
+ this.initList(true);
+ done();
+ this.closeHandler();
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ })
+ }else {
+ addIcon(this.editForm).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.msg);
+ this.initList(true);
+ done();
+ this.closeHandler();
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ })
+ }
} else {
return false;
}
@@ -352,11 +437,17 @@
},
closeHandler(){
this.editForm={
+ type:'svg',
oid:'',
- name:'',
+ libname:'',
+ iconname:'',
+ groups:[],
content:''
- }
+ };
+ this.editOption.column[0].disabled=false;
+ this.editOption.column[1].disabled=false;
this.editVisible=false;
+ this.$refs.editForm.clearValidate();
},
delHandler(){
this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎璇ュ浘鏍囧悧锛�', '鎻愮ず', {
@@ -395,11 +486,14 @@
flex-wrap: wrap;
}
.iconList .iconItem{
- width: 35px;
- margin: 6px 12px;
+ width: 85px;
+ margin: 6px 5px 10px 5px;
text-align: center;
}
-.iconList .iconItem div:hover{
+.iconList .iconItem .svgContent{
+ font-size: 26px;
+}
+.iconList .iconItem .svgContent:hover{
transform: scale(1.5);
}
.iconList .iconItem span{
--
Gitblit v1.9.3