From e5d8ebe25ca452b18a0e2630049df3314e86d6a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=99=E5=90=8C=E5=AD=A6?= <2495967527@qq.com> Date: Mon, 20 Jan 2025 17:42:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/role.js | 18 +- src/router/index.js | 8 +- src/utils/index.js | 10 +- .../accountNumber/popup/add-or-update.vue | 157 ++++++++++++++---- .../operation-management/commodity/index.vue | 24 ++- .../commodity/popup/add-discount.vue | 3 +- .../operation-management/role/index.vue | 99 ++++++++--- 7 files changed, 245 insertions(+), 74 deletions(-) diff --git a/src/api/modules/role.js b/src/api/modules/role.js index c32c8b9..65a1797 100644 --- a/src/api/modules/role.js +++ b/src/api/modules/role.js @@ -25,8 +25,16 @@ export const role = { data, }); }, + //删除角色列表 + deleteRoleList: (data) => { + return $http.request({ + url: `/merchant-api/role/delete`, + method: "post", + data, + }); + }, //更新角色权限 - updateRoleList: (data) => { + updatePermissionUpdate: (data) => { return $http.request({ url: `/merchant-api/role/permission/update`, method: "put", @@ -34,11 +42,11 @@ export const role = { }); }, //获取角色权限列表 - updateRoleList: (data) => { + getRoleList: (data) => { return $http.request({ - url: `/merchant-api/role/permission/update`, - method: "put", - data, + url: `/merchant-api/role/permission/list`, + method: "get", + params: data, }); }, }; diff --git a/src/router/index.js b/src/router/index.js index 02cd369..d15856b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -102,8 +102,12 @@ router.beforeEach((to, from, next) => { }); $api .getUserInfo() - .then(({ data }) => { + .then(async ({ data }) => { let permissionsData = getMenu(data.data.role); + if (permissionsData === null) { + let res = await $api.role.getRoleList({ roleId: data.data.role }); + permissionsData = res.data.data; + } const filterTreeData = (data, permissions) => { console.log(data); @@ -167,7 +171,7 @@ router.beforeEach((to, from, next) => { // FULL_ROUTERS.menuList, // data.data.permissions // ); - console.log(permissionsData); + console.log(permissionsData, "11111111111111111111111111111"); let _menu = filterTreeData(FULL_ROUTERS.menuList, permissionsData); fnAddDynamicMenuRoutes(_menu); diff --git a/src/utils/index.js b/src/utils/index.js index 674a891..a9d1351 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -180,7 +180,7 @@ export function getMenu(role) { "operation-management/brand-store/index", // "operation-management/order/index", "operation-management/brand-order/index", - "operation-management/role/index", + // "operation-management/role/index", "datacenter", "datacenter/customer-analysis/index", "datacenter/product-analysis/index", @@ -189,7 +189,7 @@ export function getMenu(role) { "brand/config/index", "local-course/resources", "wallet/index", - "operation-management/accountNumber/index", + // "operation-management/accountNumber/index", ]; } else if (role == "ROLE_AGENT") { return [ @@ -198,15 +198,17 @@ export function getMenu(role) { "operation-management/market-list/index", // "operation-management/order/index", "operation-management/brand-order/index", - "operation-management/role/index", + // "operation-management/role/index", "datacenter", "datacenter/customer-analysis/index", "datacenter/product-analysis/index", "datacenter/order-analysis/index", "local-course/resources", "wallet/index", - "operation-management/accountNumber/index", + // "operation-management/accountNumber/index", ]; + } else { + return null; } } diff --git a/src/views/modules/operation-management/accountNumber/popup/add-or-update.vue b/src/views/modules/operation-management/accountNumber/popup/add-or-update.vue index 53d6321..d2c3ac4 100644 --- a/src/views/modules/operation-management/accountNumber/popup/add-or-update.vue +++ b/src/views/modules/operation-management/accountNumber/popup/add-or-update.vue @@ -70,41 +70,117 @@ export default { }, computed: { modalCols() { - return [ - { - label: "姓名", - prop: "username", - type: "Input", - required: true, - rules: { + if (this.isAdd) { + return [ + { + label: "姓名", + prop: "username", + type: "Input", required: true, - message: "请输入姓名", - trigger: "blur", + rules: { + required: true, + message: "请输入姓名", + trigger: "blur", + }, }, - }, - { - label: "账号", - prop: "mobile", - type: "Input", - required: true, - rules: { + { + label: "账号", + prop: "mobile", + type: "Input", required: true, - message: "请输入角色编码", - trigger: "blur", + rules: { + required: true, + message: "请输入角色编码", + trigger: "blur", + }, }, - }, - { - label: "密码", - prop: "password", - type: "Input", - required: true, - rules: { + { + label: "密码", + prop: "password", + type: "Input", required: true, - message: "请输入权限字段", - trigger: "blur", + rules: { + required: true, + message: "请输入权限字段", + trigger: "blur", + }, }, - }, - ]; + { + label: "角色", + prop: "subRole", + rules: { + required: true, + message: "请绑定角色", + trigger: "blur", + }, + type: "jsx", + render: () => { + return ( + + {this.roleList.map((item) => { + return ( + + ); + })} + + ); + }, + }, + ]; + } else { + return [ + { + label: "姓名", + prop: "username", + type: "Input", + required: true, + rules: { + required: true, + message: "请输入姓名", + trigger: "blur", + }, + }, + { + label: "账号", + prop: "mobile", + type: "Input", + required: true, + disabled: true, + rules: { + required: true, + message: "请输入角色编码", + trigger: "blur", + }, + }, + { + label: "角色", + prop: "subRole", + rules: { + required: true, + message: "请绑定角色", + trigger: "blur", + }, + type: "jsx", + render: () => { + return ( + + {this.roleList.map((item) => { + return ( + + ); + })} + + ); + }, + }, + ]; + } }, modalHandles() { return [ @@ -134,17 +210,30 @@ export default { this.$emit("queryList"); }); } else { - this.$api.mer_admin.noticeUpdate(this.modalData).then((res) => { - this.toggle(); - this.$emit("queryList"); - }); + this.$api.accountNumber + .updateAccount(this.modalData) + .then((res) => { + this.toggle(); + this.$emit("queryList"); + }); } }, }, ]; }, }, - asyncComputed: {}, + asyncComputed: { + async roleList() { + let res = await this.$api.role.roleList({ + ownerId: JSON.parse(sessionStorage.getItem("userInfo")).managerId + ? JSON.parse(sessionStorage.getItem("userInfo")).managerId + : JSON.parse(sessionStorage.getItem("userInfo")).merchantId, + }); + console.log(res); + + return res.data.data; + }, + }, };