From ac08b6c47f693ef37796b3e143a48ac07c04e13c Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Nov 2023 14:38:00 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_web
---
src/views/system/menu.vue | 247 ++++++++++++++++++++++++++-----------------------
1 files changed, 131 insertions(+), 116 deletions(-)
diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue
index 8d70338..fcfd2e1 100644
--- a/src/views/system/menu.vue
+++ b/src/views/system/menu.vue
@@ -1,47 +1,24 @@
<template>
<basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- ref="crud"
- v-model="form"
- :permission="permissionList"
- :before-open="beforeOpen"
- :before-close="beforeClose"
- @row-del="rowDel"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- @tree-load="treeLoad">
+ <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
+ :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @row-del="rowDel"
+ @row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad">
<template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- v-if="permission.menu_delete"
- plain
- @click="handleDelete">删 除
+ <el-button type="danger" size="small" icon="el-icon-delete" v-if="permission.menu_delete" plain
+ @click="handleDelete">删 除
</el-button>
</template>
<template slot-scope="scope" slot="menu">
- <el-button
- type="text"
- icon="el-icon-circle-plus-outline"
- size="small"
+ <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') && scope.row.category === 1"
- >新增子项
+ v-if="userInfo.role_name.includes('admin') && scope.row.category === 1">新增子项
</el-button>
</template>
- <template slot-scope="{row}"
- slot="source">
+ <template slot-scope="{row}" slot="source">
<div style="text-align:center">
- <i :class="row.source"/>
+ <i :class="row.source" />
</div>
</template>
</avue-crud>
@@ -49,11 +26,26 @@
</template>
<script>
- import {getLazyList, remove, update, add, getMenu} from "@/api/system/menu";
- import {mapGetters} from "vuex";
+ import {
+ getLazyList,
+ remove,
+ update,
+ add,
+ getMenu
+ } from "@/api/system/menu";
+ import {
+ mapGetters
+ } from "vuex";
import iconList from "@/config/iconList";
import func from "@/util/func";
- import {getMenuTree} from "@/api/system/menu";
+ import {
+ getMenuTree
+ } from "@/api/system/menu";
+
+
+ import {
+ getTreeList
+ } from "@/api/label/label";
export default {
data() {
@@ -82,29 +74,24 @@
viewBtn: true,
menuWidth: 300,
dialogClickModal: false,
- column: [
- {
+ column: [{
label: "菜单名称",
prop: "name",
search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单名称",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请输入菜单名称",
+ trigger: "blur"
+ }]
},
{
label: "路由地址",
prop: "path",
- rules: [
- {
- required: true,
- message: "请输入路由地址",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请输入路由地址",
+ trigger: "blur"
+ }]
},
{
label: "上级菜单",
@@ -114,15 +101,14 @@
hide: true,
addDisabled: false,
props: {
- label: "title"
+ label: "title",
+ value: 'id'
},
- rules: [
- {
- required: false,
- message: "请选择上级菜单",
- trigger: "click"
- }
- ]
+ rules: [{
+ required: false,
+ message: "请选择上级菜单",
+ trigger: "click"
+ }]
},
{
label: "菜单图标",
@@ -130,32 +116,27 @@
type: "icon",
slot: true,
iconList: iconList,
- rules: [
- {
- required: true,
- message: "请输入菜单图标",
- trigger: "click"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请输入菜单图标",
+ trigger: "click"
+ }]
},
{
label: "菜单编号",
prop: "code",
search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单编号",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请输入菜单编号",
+ trigger: "blur"
+ }]
},
{
label: "菜单类型",
prop: "category",
type: "radio",
- dicData: [
- {
+ dicData: [{
label: "菜单",
value: 1
},
@@ -165,25 +146,21 @@
}
],
hide: true,
- rules: [
- {
- required: true,
- message: "请选择菜单类型",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请选择菜单类型",
+ trigger: "blur"
+ }]
},
{
label: "菜单别名",
prop: "alias",
search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单别名",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请输入菜单别名",
+ trigger: "blur"
+ }]
},
{
label: "新窗口",
@@ -191,8 +168,7 @@
type: "radio",
disabled: false,
display: false,
- dicData: [
- {
+ dicData: [{
label: "否",
value: 1
},
@@ -202,25 +178,21 @@
}
],
value: 1,
- rules: [
- {
- required: true,
- message: "请选择新窗口打开",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请选择新窗口打开",
+ trigger: "blur"
+ }]
},
{
label: "菜单排序",
prop: "sort",
type: "number",
- rules: [
- {
- required: true,
- message: "请输入菜单排序",
- trigger: "blur"
- }
- ]
+ rules: [{
+ required: true,
+ message: "请输入菜单排序",
+ trigger: "blur"
+ }]
},
{
label: "菜单备注",
@@ -229,10 +201,39 @@
span: 24,
minRows: 2,
hide: true
+ },
+ {
+ label: "背景色",
+ prop: "background",
+ span: 12,
+ minRows: 2,
+ hide: true
+ },
+ {
+ label: "图片地址",
+ prop: "pictureImg",
+ span: 12,
+ minRows: 2,
+ hide: true
+ },
+ {
+ label: "标签权限",
+ prop: "labelList",
+ span: 12,
+ minRows: 2,
+ type: "cascader",
+ dicData: [],
+ props: {
+ label: "name",
+ value: 'id'
+ },
+ multiple: true,
+ hide: true
}
]
},
- data: []
+ data: [],
+ labelList: [],
};
},
watch: {
@@ -272,6 +273,12 @@
const column = this.findObject(this.option.column, "parentId");
column.dicData = res.data.data;
});
+
+ // getTreeList().then(res => {
+ // console.log(JSON.stringify(res.data.data))
+ const column = this.findObject(this.option.column, "labelList");
+ column.dicData =this.labelList;
+ // });
},
handleAdd(row) {
this.parentId = row.id;
@@ -311,10 +318,10 @@
},
rowDel(row, index, done) {
this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
.then(() => {
return remove(row.id);
})
@@ -333,10 +340,10 @@
return;
}
this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
.then(() => {
return remove(this.ids);
})
@@ -407,12 +414,20 @@
this.loading = false;
this.selectionClear();
});
+ getTreeList().then(res => {
+ this.labelList =res.data.data;
+ });
},
treeLoad(tree, treeNode, resolve) {
const parentId = tree.id;
getLazyList(parentId).then(res => {
resolve(res.data.data);
});
+ // getTreeList().then(res => {
+ // console.log(JSON.stringify(res.data.data))
+ const column = this.findObject(this.option.column, "labelList");
+ column.dicData = this.labelList;
+ // });
}
}
};
--
Gitblit v1.9.3