From cc96211b2980773a45abd13c3580fd5397936a3a Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Tue, 4 Mar 2025 18:18:11 +0800 Subject: [PATCH] add logic for tid1509 --- .../account/components/jurisdiction_item.vue | 6 +-- src/subpackage/account/components/user_info.vue | 3 -- src/subpackage/account/js/handle.js | 4 +- src/subpackage/account/pages/permission/edit.vue | 47 ++++++++++++++++--- src/subpackage/account/pages/permission/info.vue | 29 +++++++++--- .../permission/modules/edit/min_jurisdiction.vue | 52 +++++++++++++++++----- .../modules/edit/stadium_jurisdiction.vue | 14 ++++-- .../permission/modules/info/admin_permission.vue | 9 ++-- .../permission/modules/info/min_permission.vue | 22 ++++++++- .../permission/modules/info/stadium_permission.vue | 14 +++++- src/utils/util.js | 2 +- 11 files changed, 154 insertions(+), 48 deletions(-) diff --git a/src/subpackage/account/components/jurisdiction_item.vue b/src/subpackage/account/components/jurisdiction_item.vue index 6fa65ce..cc7900e 100644 --- a/src/subpackage/account/components/jurisdiction_item.vue +++ b/src/subpackage/account/components/jurisdiction_item.vue @@ -1,7 +1,7 @@ diff --git a/src/subpackage/account/components/user_info.vue b/src/subpackage/account/components/user_info.vue index a092d89..939e24d 100644 --- a/src/subpackage/account/components/user_info.vue +++ b/src/subpackage/account/components/user_info.vue @@ -33,15 +33,12 @@ export default { default: false }, name: { - type: String, default: '' }, account: { - type: String, default: '' }, time: { - type: String, default: '' } } diff --git a/src/subpackage/account/js/handle.js b/src/subpackage/account/js/handle.js index a2bc70d..26231b8 100644 --- a/src/subpackage/account/js/handle.js +++ b/src/subpackage/account/js/handle.js @@ -4,14 +4,12 @@ import { showModal, showLoad, hideLoad } from "@/utils/util.js"; // B会员管理-小程序用户管理-用户信息列表-用户信息详情 export function getStadiumList({ brand_id }){ - showLoad(); return server.post({ url: ACCOUNT_API.stadiumList, data: { brand_id }, isDefaultGet: false, }) .then(res => { - hideLoad(); let _data = res?.data || {}; if(_data.code === 0){ console.log('subpackage account js handle stadiumList res --->', _data); @@ -21,7 +19,7 @@ export function getStadiumList({ brand_id }){ } }) .catch(err => { - showModal({ content: err.message || '加载失败!' }); + showModal({ content: err.message || '加载店铺列表失败!' }); console.warn('subpackage account js handle stadiumList err --->', err); // return Promise.reject(err); }) diff --git a/src/subpackage/account/pages/permission/edit.vue b/src/subpackage/account/pages/permission/edit.vue index f878737..abe9117 100644 --- a/src/subpackage/account/pages/permission/edit.vue +++ b/src/subpackage/account/pages/permission/edit.vue @@ -1,10 +1,13 @@ @@ -16,7 +19,7 @@ import min_jurisdiction from "./modules/edit/min_jurisdiction.vue"; import cashier_jurisdiction from "./modules/edit/cashier_jurisdiction.vue"; import stadium_jurisdiction from "./modules/edit/stadium_jurisdiction.vue"; import fixedButton from "../../components/fixed_button.vue"; -import { showModal, debounce } from "@/utils/util.js"; +import { showModal, debounce, jsonPar } from "@/utils/util.js"; export default { components: { 'user-info': user_info, @@ -26,13 +29,43 @@ export default { 'stadium-jurisdiction': stadium_jurisdiction, 'fixed-button': fixedButton }, + computed: { + userInfo(){ + return this.optionsQuery?.userInfo ?? {}; + }, + // miniPermissionLs(){ + // return this.optionsQuery?.miniPermissionLs ?? []; + // }, + stadiumPermissionLs(){ + return this.optionsQuery?.stadiumPermissionLs ?? []; + }, + }, data(){ return { - + brand_id: '', + optionsQuery: { + /** + * @param {Array} miniPermissionLs 商家助手小程序权限列表 + * @param {Array} stadiumPermissionLs 门店权限列表 + * @param {Object} userInfo 用户信息 + * @param {Number} userInfo.id + * @param {String} userInfo.account + * @param {String} userInfo.name + */ + }, + miniPermissionLs: [], } }, - onLoad(){ - + onReady(){ + let { brand_id } = this; + this.$refs.stadiumJurisdiction?.getStadiumLs?.(brand_id); + }, + onLoad(options){ + let { brand_id, query_json } = options; + this.brand_id = brand_id ?? ''; + this.optionsQuery = jsonPar(query_json ?? '{}'); + let optQuery = jsonPar(query_json ?? '{}'); + this.miniPermissionLs = optQuery?.miniPermissionLs ?? []; }, methods: { saveBtn: debounce(function(){ diff --git a/src/subpackage/account/pages/permission/info.vue b/src/subpackage/account/pages/permission/info.vue index 40f1b6d..845597a 100644 --- a/src/subpackage/account/pages/permission/info.vue +++ b/src/subpackage/account/pages/permission/info.vue @@ -15,10 +15,15 @@ > - + 修改权限 @@ -36,7 +41,7 @@ import fixedButton from "../../components/fixed_button.vue"; import editPassword from "./modules/info/edit_password.vue"; import edit_account from "./modules/info/edit_account.vue"; -import { routeTo, showModal, showLoad, hideLoad, showNone } from "@/utils/util.js"; +import { routeTo, showModal, showLoad, hideLoad, showNone, jsonStr } from "@/utils/util.js"; import { ACCOUNT_API } from "../../js/api.js"; import server from "../../js/server.js"; export default { @@ -56,7 +61,7 @@ export default { return this.userInfo?.extension?.permission ?? {}; }, // 商家助手小程序权限 - permissionMenu(){ + miniPermissionLs(){ return this.userInfo?.extension?.assistant_permission?.menu ?? []; }, // 门店权限 @@ -70,9 +75,9 @@ export default { userInfo: {}, } }, - onLoad(options){ + async onLoad(options){ this.brand_id = options?.brand_id || ''; - this.userGet({ id: options?.id }); + await this.userGet({ id: options?.id }); this.$refs.stadiumPermisson?.getStadiumLs?.(options?.brand_id); }, methods: { @@ -96,7 +101,17 @@ export default { showModal({ content: '是否删除该账号?', }); }, editAuthority(){ - routeTo(`/subpackage/account/pages/permission/edit?brand_id=${this.brand_id}`, 'nT'); + let { brand_id, userInfo, miniPermissionLs, stadiumPermissionLs } = this; + let _query = { + userInfo: { + id: userInfo?.id ?? '', + name: userInfo?.actual_name ?? '', + account: userInfo?.username ?? '', + }, + miniPermissionLs, + stadiumPermissionLs + } + routeTo(`/subpackage/account/pages/permission/edit?brand_id=${this.brand_id}&query_json=${jsonStr(_query)}`, 'nT'); }, unbindWXAccount(){ showModal({ content: '是否解绑该账号?', }); diff --git a/src/subpackage/account/pages/permission/modules/edit/min_jurisdiction.vue b/src/subpackage/account/pages/permission/modules/edit/min_jurisdiction.vue index 83c9aaa..97508b3 100644 --- a/src/subpackage/account/pages/permission/modules/edit/min_jurisdiction.vue +++ b/src/subpackage/account/pages/permission/modules/edit/min_jurisdiction.vue @@ -1,11 +1,12 @@