diff --git a/src/api/modules/role.js b/src/api/modules/role.js new file mode 100644 index 0000000..65a1797 --- /dev/null +++ b/src/api/modules/role.js @@ -0,0 +1,52 @@ +import $http from "@/utils/httpRequest.js"; + +export const role = { + //角色列表 + roleList: (data) => { + return $http.request({ + url: `/merchant-api/role/list`, + method: "get", + params: data, + }); + }, + //新增角色列表 + addRoleList: (data) => { + return $http.request({ + url: `/merchant-api/role/add`, + method: "post", + data, + }); + }, + //编辑角色列表 + updateRoleList: (data) => { + return $http.request({ + url: `/merchant-api/role/update`, + method: "post", + data, + }); + }, + //删除角色列表 + deleteRoleList: (data) => { + return $http.request({ + url: `/merchant-api/role/delete`, + method: "post", + data, + }); + }, + //更新角色权限 + updatePermissionUpdate: (data) => { + return $http.request({ + url: `/merchant-api/role/permission/update`, + method: "put", + data, + }); + }, + //获取角色权限列表 + getRoleList: (data) => { + return $http.request({ + 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; + }, + }, };