diff --git a/src/subpackage/account/js/api.js b/src/subpackage/account/js/api.js
index 1caaac6..a81511b 100644
--- a/src/subpackage/account/js/api.js
+++ b/src/subpackage/account/js/api.js
@@ -6,4 +6,5 @@ export const ACCOUNT_API = {
userGet:`${ORIGIN}/admin/user/get`, // B会员管理-小程序用户管理-用户信息列表-用户信息详情
userEdit:`${ORIGIN}/admin/user/edit`, // 权限管理-编辑管理员信息
stadiumList:`${ORIGIN}/admin/stadium/list`, // A店铺管理-店铺列表-店铺列表/A首页公告-店铺列表
+ getAllGroup:`${ORIGIN}/admin/permission/getAllGroup`, // 权限管理-获取所有权限组
}
\ No newline at end of file
diff --git a/src/subpackage/account/pages/permission/edit.vue b/src/subpackage/account/pages/permission/edit.vue
index abe9117..760f617 100644
--- a/src/subpackage/account/pages/permission/edit.vue
+++ b/src/subpackage/account/pages/permission/edit.vue
@@ -4,10 +4,10 @@
:name="userInfo.name"
:account="userInfo.account"
>
-
+
-
+
保存
@@ -33,12 +33,6 @@ export default {
userInfo(){
return this.optionsQuery?.userInfo ?? {};
},
- // miniPermissionLs(){
- // return this.optionsQuery?.miniPermissionLs ?? [];
- // },
- stadiumPermissionLs(){
- return this.optionsQuery?.stadiumPermissionLs ?? [];
- },
},
data(){
return {
@@ -47,30 +41,44 @@ export default {
/**
* @param {Array} miniPermissionLs 商家助手小程序权限列表
* @param {Array} stadiumPermissionLs 门店权限列表
+ * @param {Number} admin_permission_id 后台权限
* @param {Object} userInfo 用户信息
* @param {Number} userInfo.id
* @param {String} userInfo.account
* @param {String} userInfo.name
*/
},
+ // 小程序权限列表
miniPermissionLs: [],
+ // 店铺权限列表
+ stadiumPermissionLs: [],
+ //
+ admin_permission_id: -1,
}
},
onReady(){
let { brand_id } = this;
this.$refs.stadiumJurisdiction?.getStadiumLs?.(brand_id);
+ this.$refs.adminJurisdiction?.getAllGroup?.({ 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 ?? '{}');
+ console.warn('edit options =>', optQuery);
+ this.brand_id = brand_id ?? '';
+ this.optionsQuery = optQuery;
this.miniPermissionLs = optQuery?.miniPermissionLs ?? [];
+ this.stadiumPermissionLs = optQuery?.stadiumPermissionLs ?? [];
+ this.admin_permission_id = optQuery?.admin_permission_id ?? -1;
},
methods: {
saveBtn: debounce(function(){
+ let { miniPermissionLs, stadiumPermissionLs, admin_permission_id } = this;
showModal({ content: '是否保存该账号权限?', });
- }, 300, true)
+ console.warn('miniPermissionLs =>', miniPermissionLs);
+ console.warn('stadiumPermissionLs =>', stadiumPermissionLs);
+ console.warn('admin_permission_id =>', admin_permission_id);
+ }, 300, true),
}
}
diff --git a/src/subpackage/account/pages/permission/info.vue b/src/subpackage/account/pages/permission/info.vue
index 845597a..72c3035 100644
--- a/src/subpackage/account/pages/permission/info.vue
+++ b/src/subpackage/account/pages/permission/info.vue
@@ -109,9 +109,10 @@ export default {
account: userInfo?.username ?? '',
},
miniPermissionLs,
- stadiumPermissionLs
+ stadiumPermissionLs,
+ admin_permission_id: userInfo?.extension?.permission?.id ?? '',
}
- routeTo(`/subpackage/account/pages/permission/edit?brand_id=${this.brand_id}&query_json=${jsonStr(_query)}`, 'nT');
+ routeTo(`/subpackage/account/pages/permission/edit?brand_id=${brand_id}&query_json=${jsonStr(_query)}`, 'nT');
},
unbindWXAccount(){
showModal({ content: '是否解绑该账号?', });
diff --git a/src/subpackage/account/pages/permission/modules/edit/admin_jurisdiction.vue b/src/subpackage/account/pages/permission/modules/edit/admin_jurisdiction.vue
index fa9b9bc..7c0a13e 100644
--- a/src/subpackage/account/pages/permission/modules/edit/admin_jurisdiction.vue
+++ b/src/subpackage/account/pages/permission/modules/edit/admin_jurisdiction.vue
@@ -2,14 +2,14 @@
-
+
-
+
-
+
@@ -20,10 +20,84 @@
diff --git a/src/subpackage/account/pages/permission/modules/edit/stadium_jurisdiction.vue b/src/subpackage/account/pages/permission/modules/edit/stadium_jurisdiction.vue
index 0884a97..6ae3e32 100644
--- a/src/subpackage/account/pages/permission/modules/edit/stadium_jurisdiction.vue
+++ b/src/subpackage/account/pages/permission/modules/edit/stadium_jurisdiction.vue
@@ -1,9 +1,10 @@
-
+
{{ e.name || '-' }}
@@ -22,10 +23,29 @@ export default {
},
data(){
return {
- isAll: false,
stadiumLs: [],
}
},
+ props: {
+ value: {
+ type: Array,
+ default: []
+ }
+ },
+ computed: {
+ selectedIds: {
+ get(){
+ return this.value?.map?.(item=>+item);
+ },
+ set(val){
+ this.$emit('input', val);
+ }
+ },
+ isAll(){
+ let { stadiumLs, selectedIds } = this;
+ return stadiumLs.every(item=>selectedIds.includes(+item.id));
+ }
+ },
onLoad(){
},
@@ -34,6 +54,24 @@ export default {
let _res = await getStadiumList({ brand_id: bid });
let _ls = _res?.list ?? [];
this.stadiumLs = _ls;
+ },
+ itemClick(e){
+ let { selectedIds } = this;
+ if(selectedIds.includes(+e.id)){
+ this.selectedIds = selectedIds.filter(item=>item !== +e.id);
+ }else{
+ this.selectedIds = selectedIds.concat(+e.id);
+ }
+ },
+ // 全选
+ allSelectedBtn(){
+ let { stadiumLs, selectedIds, isAll } = this;
+ let _pIds = stadiumLs.map(item => +item.id);
+ if(isAll){
+ this.selectedIds = selectedIds.filter(item => !_pIds.includes(item));
+ }else{
+ this.selectedIds = [ ...new Set([...selectedIds, ..._pIds]) ];
+ }
}
}
}
diff --git a/src/subpackage/account/pages/permission/modules/info/admin_permission.vue b/src/subpackage/account/pages/permission/modules/info/admin_permission.vue
index d8c441b..4116c96 100644
--- a/src/subpackage/account/pages/permission/modules/info/admin_permission.vue
+++ b/src/subpackage/account/pages/permission/modules/info/admin_permission.vue
@@ -16,7 +16,8 @@