优化字典模块,增加新增下级功能

dev
smallchill 6 years ago
parent dc9ffffc1e
commit 3c7954b8ec
  1. 3
      src/const/system/dict.js
  2. 3
      src/const/system/dictbiz.js
  3. 39
      src/views/system/dict.vue
  4. 39
      src/views/system/dictbiz.vue

@ -99,7 +99,7 @@ export const optionChild = {
index: true,
selection: true,
viewBtn: true,
menuWidth: 150,
menuWidth: 220,
dialogWidth: 880,
dialogClickModal: false,
column: [
@ -107,7 +107,6 @@ export const optionChild = {
label: "字典编号",
prop: "code",
addDisabled: true,
editDisabled: true,
search: true,
span: 24,
rules: [

@ -99,7 +99,7 @@ export const optionChild = {
index: true,
selection: true,
viewBtn: true,
menuWidth: 150,
menuWidth: 220,
dialogWidth: 880,
dialogClickModal: false,
column: [
@ -107,7 +107,6 @@ export const optionChild = {
label: "字典编号",
prop: "code",
addDisabled: true,
editDisabled: true,
search: true,
span: 24,
rules: [

@ -63,6 +63,7 @@
v-model="formChild"
:permission="permissionList"
:before-open="beforeOpenChild"
:before-close="beforeCloseChild"
@row-del="rowDelChild"
@row-update="rowUpdateChild"
@row-save="rowSaveChild"
@ -85,6 +86,16 @@
>
</el-button>
</template>
<template slot-scope="scope" slot="menu">
<el-button
type="text"
icon="el-icon-circle-plus-outline"
size="small"
@click.stop="handleAdd(scope.row,scope.index)"
v-if="userInfo.role_name.includes('admin')"
>新增子项
</el-button>
</template>
<template slot-scope="{row}" slot="isSealed">
<el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
</template>
@ -139,7 +150,7 @@
};
},
computed: {
...mapGetters(["permission"]),
...mapGetters(["userInfo", "permission"]),
permissionList() {
return {
addBtn: this.vaildData(this.permission.dict_add, false),
@ -157,12 +168,24 @@
}
},
mounted() {
this.initData();
},
methods: {
initData() {
getDictTree().then(res => {
const column = this.findObject(this.optionChild.column, "parentId");
column.dicData = res.data.data;
});
},
methods: {
handleAdd(row) {
this.$refs.crudChild.value.parentId = row.id;
this.$refs.crudChild.option.column.filter(item => {
if (item.prop === "parentId") {
item.value = row.id;
}
});
this.$refs.crudChild.rowAdd();
},
rowSave(row, done, loading) {
const form = {
...row,
@ -365,6 +388,9 @@
});
},
beforeOpenChild(done, type) {
if (["add", "edit"].includes(type)) {
this.initData();
}
if (["edit", "view"].includes(type)) {
getDict(this.formChild.id).then(res => {
this.formChild = res.data.data;
@ -372,6 +398,15 @@
}
done();
},
beforeCloseChild(done) {
this.$refs.crudChild.value.parentId = this.parentId;
this.$refs.crudChild.option.column.filter(item => {
if (item.prop === "parentId") {
item.value = this.parentId;
}
});
done();
},
currentChangeChild(currentPage) {
this.pageChild.currentPage = currentPage;
},

@ -63,6 +63,7 @@
v-model="formChild"
:permission="permissionList"
:before-open="beforeOpenChild"
:before-close="beforeCloseChild"
@row-del="rowDelChild"
@row-update="rowUpdateChild"
@row-save="rowSaveChild"
@ -85,6 +86,16 @@
>
</el-button>
</template>
<template slot-scope="scope" slot="menu">
<el-button
type="text"
icon="el-icon-circle-plus-outline"
size="small"
@click.stop="handleAdd(scope.row,scope.index)"
v-if="userInfo.role_name.includes('admin')"
>新增子项
</el-button>
</template>
<template slot-scope="{row}" slot="isSealed">
<el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
</template>
@ -139,7 +150,7 @@
};
},
computed: {
...mapGetters(["permission"]),
...mapGetters(["userInfo", "permission"]),
permissionList() {
return {
addBtn: this.vaildData(this.permission.dictbiz_add, false),
@ -157,12 +168,24 @@
}
},
mounted() {
this.initData();
},
methods: {
initData() {
getDictTree().then(res => {
const column = this.findObject(this.optionChild.column, "parentId");
column.dicData = res.data.data;
});
},
methods: {
handleAdd(row) {
this.$refs.crudChild.value.parentId = row.id;
this.$refs.crudChild.option.column.filter(item => {
if (item.prop === "parentId") {
item.value = row.id;
}
});
this.$refs.crudChild.rowAdd();
},
rowSave(row, done, loading) {
const form = {
...row,
@ -365,6 +388,9 @@
});
},
beforeOpenChild(done, type) {
if (["add", "edit"].includes(type)) {
this.initData();
}
if (["edit", "view"].includes(type)) {
getDict(this.formChild.id).then(res => {
this.formChild = res.data.data;
@ -372,6 +398,15 @@
}
done();
},
beforeCloseChild(done) {
this.$refs.crudChild.value.parentId = this.parentId;
this.$refs.crudChild.option.column.filter(item => {
if (item.prop === "parentId") {
item.value = this.parentId;
}
});
done();
},
currentChangeChild(currentPage) {
this.pageChild.currentPage = currentPage;
},

Loading…
Cancel
Save