From da5f2073d5c47225d845eb625abf218348074755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=99=E5=90=8C=E5=AD=A6?= <2495967527@qq.com> Date: Fri, 17 Jan 2025 18:07:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/role.js | 44 ++++++++++ .../operation-management/role/index.vue | 88 +++++-------------- .../role/popup/add-or-update.vue | 58 ++++++------ 3 files changed, 95 insertions(+), 95 deletions(-) create mode 100644 src/api/modules/role.js diff --git a/src/api/modules/role.js b/src/api/modules/role.js new file mode 100644 index 0000000..c32c8b9 --- /dev/null +++ b/src/api/modules/role.js @@ -0,0 +1,44 @@ +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, + }); + }, + //更新角色权限 + updateRoleList: (data) => { + return $http.request({ + url: `/merchant-api/role/permission/update`, + method: "put", + data, + }); + }, + //获取角色权限列表 + updateRoleList: (data) => { + return $http.request({ + url: `/merchant-api/role/permission/update`, + method: "put", + data, + }); + }, +}; diff --git a/src/views/modules/operation-management/role/index.vue b/src/views/modules/operation-management/role/index.vue index cbdf777..3422451 100644 --- a/src/views/modules/operation-management/role/index.vue +++ b/src/views/modules/operation-management/role/index.vue @@ -33,7 +33,7 @@ - + { - let data = [ - { - col: "market_id", - id: null, - name: "市场经营者", - operator: "eq", - role: "ROLE_MANAGER", - }, - { - col: null, - id: null, - name: "商户", - operator: null, - role: "ROLE_MERCHANT", - }, - { - col: null, - id: null, - name: "专员", - operator: null, - role: "ROLE_ASSISTANT", - }, - { - col: null, - id: null, - name: "代理商", - operator: null, - role: "ROLE_AGENT", - }, - { - col: "MarketId", - id: null, - name: "老师", - operator: null, - role: "123", - }, - { - col: "", - id: null, - name: "测试", - operator: "", - role: "ROLE_cheshi", - }, - ]; - this.$refs.oTable.complete(data, Number(5)); - }, 500); - // this.$api.mer_admin - // .noticePage({ - // pageNumber: pageNo, - // pageSize: pageSize, - // ...this.formInline, - // }) - // .then((res) => { - // console.log(res); - // this.$refs.oTable.complete( - // res.data.data.data, - // Number(res.data.data.total) - // ); - // }) - // .catch((err) => { - // this.$refs.oTable.complete(false); - // }); + this.$api.role + .roleList({ + ownerId: JSON.parse(sessionStorage.getItem("userInfo")).managerId + ? JSON.parse(sessionStorage.getItem("userInfo")).managerId + : JSON.parse(sessionStorage.getItem("userInfo")).merchantId, + }) + .then((res) => { + console.log(res); + this.$refs.oTable.complete( + res.data.data, + Number(res.data.total) + ); + }) + .catch((err) => { + this.$refs.oTable.complete(false); + }); }, Reset() { this.formInline = { @@ -209,7 +159,9 @@ export default { let updateBanner = () => { this.$refs.addOrUpdate.toggle(row).update(); }; - let deleteBanner = () => {}; + let deleteBanner = () => { + // this.$api. + } let onCancel = () => {}; return (
diff --git a/src/views/modules/operation-management/role/popup/add-or-update.vue b/src/views/modules/operation-management/role/popup/add-or-update.vue index 788177b..82a095b 100644 --- a/src/views/modules/operation-management/role/popup/add-or-update.vue +++ b/src/views/modules/operation-management/role/popup/add-or-update.vue @@ -56,14 +56,15 @@ export default { add: (row) => { console.log(row); this.modalData = { - targetId: row.targetId, - title: "", - position: row.position, - type: 0, - status: true, - app: 1, + roleCode: "", + name: "", + col: "", + operator: "", + remark: "", + ownerId: JSON.parse(sessionStorage.getItem("userInfo")).managerId + ? JSON.parse(sessionStorage.getItem("userInfo")).managerId + : JSON.parse(sessionStorage.getItem("userInfo")).merchantId, }; - this.fileList = []; this.modalConfig.title = "添加角色"; this.isAdd = true; }, @@ -74,6 +75,8 @@ export default { }; }, init(row) { + console.log(row); + this.modalData = row; }, }, @@ -115,7 +118,7 @@ export default { }, { label: "数据范围", - prop: "range", + prop: "operator", maxlength: "30", rules: { required: true, @@ -126,7 +129,7 @@ export default { render: () => { return ( {[ @@ -158,14 +161,8 @@ export default { label: "备注", prop: "remark", type: "Textarea", - required: true, maxlength: "120", rows: "5", - rules: { - required: true, - message: "请输入备注内容", - trigger: "blur", - }, }, ]; }, @@ -183,18 +180,25 @@ export default { submit: true, handle: () => { console.log(this.modalData); - this.toggle(); - // if (this.isAdd) { - // this.$api.mer_admin.noticeAdd(this.modalData).then((res) => { - // this.toggle(); - // this.$emit("queryList"); - // }); - // } else { - // this.$api.mer_admin.noticeUpdate(this.modalData).then((res) => { - // this.toggle(); - // this.$emit("queryList"); - // }); - // } + if (this.isAdd) { + this.$api.role.addRoleList(this.modalData).then((res) => { + this.toggle(); + this.$emit("queryList"); + }); + } else { + this.$api.role + .updateRoleList({ + ...this.modalData, + ownerId: JSON.parse(sessionStorage.getItem("userInfo")) + .managerId + ? JSON.parse(sessionStorage.getItem("userInfo")).managerId + : JSON.parse(sessionStorage.getItem("userInfo")).merchantId, + }) + .then((res) => { + this.toggle(); + this.$emit("queryList"); + }); + } }, }, ]; 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 2/2] =?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; + }, + }, };