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 @@
-
+
-
+
+ :active='selectedIds.includes(+e.key)'
+ @click="itemClick(e)"
+ >{{ e.name || '' }}
@@ -15,21 +16,52 @@
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 70ec0bf..0884a97 100644
--- a/src/subpackage/account/pages/permission/modules/edit/stadium_jurisdiction.vue
+++ b/src/subpackage/account/pages/permission/modules/edit/stadium_jurisdiction.vue
@@ -1,10 +1,10 @@
-
+
+ >{{ e.name || '-' }}
@@ -14,6 +14,7 @@
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 be307d1..d8c441b 100644
--- a/src/subpackage/account/pages/permission/modules/info/admin_permission.vue
+++ b/src/subpackage/account/pages/permission/modules/info/admin_permission.vue
@@ -4,7 +4,7 @@
修改需前往后台定义权限组
-
+
@@ -33,10 +33,7 @@ export default {
},
methods: {
- switchClick(e){
- console.log(e);
- showModal({ content: '请前往后台定义权限组!' });
- },
+
}
}
@@ -50,6 +47,6 @@ export default {
}
.ap-content{
padding: 0upx 20upx;
- @include flcw(28upx, 40 px, #1A1A1A);
+ @include flcw(28upx, 40upx, #1A1A1A);
}
\ No newline at end of file
diff --git a/src/subpackage/account/pages/permission/modules/info/min_permission.vue b/src/subpackage/account/pages/permission/modules/info/min_permission.vue
index a7620f6..cc48754 100644
--- a/src/subpackage/account/pages/permission/modules/info/min_permission.vue
+++ b/src/subpackage/account/pages/permission/modules/info/min_permission.vue
@@ -3,8 +3,15 @@
- 已绑定(微信用户)
- 解绑
+
+ 已绑定({{ nickName || '-' }})
+ 解绑
+
+
+
+ 去绑定
+
+
@@ -34,6 +41,14 @@ export default {
obtainedPermissionArr: {
type: Array,
default: () => []
+ },
+ isBindWx: {
+ type: Boolean,
+ default: false
+ },
+ nickName: {
+ type: String,
+ default: ''
}
},
onLoad(){
@@ -55,6 +70,9 @@ export default {
margin-left: 10upx;
flex-shrink: 0;
@include flcw(24upx, 34upx, #EA5061);
+ &.green{
+ color: $mColor;
+ }
}
}
.mp-content{
diff --git a/src/subpackage/account/pages/permission/modules/info/stadium_permission.vue b/src/subpackage/account/pages/permission/modules/info/stadium_permission.vue
index 23a6348..6b3c882 100644
--- a/src/subpackage/account/pages/permission/modules/info/stadium_permission.vue
+++ b/src/subpackage/account/pages/permission/modules/info/stadium_permission.vue
@@ -4,7 +4,7 @@
- {{ e.name || '-' }}
+ {{ e.name || '-' }}
@@ -17,19 +17,29 @@
import infoContainer from '../../../../components/info_container.vue';
import permissionItem from '../../../../components/permission_item.vue';
import { getStadiumList } from "../../../../js/handle";
+import { showLoad, hideLoad } from "@/utils/util.js";
export default {
components: {
'info-container': infoContainer,
'permission-item': permissionItem
},
+ props: {
+ permissionList: {
+ type: Array,
+ default: () => []
+ }
+ },
data(){
return {
- stadiumLs: []
+ stadiumLs: [],
+
}
},
methods: {
async getStadiumLs(bid){
+ showLoad();
let _res = await getStadiumList({ brand_id: bid });
+ hideLoad();
let _ls = _res?.list ?? [];
this.stadiumLs = _ls;
}
diff --git a/src/utils/util.js b/src/utils/util.js
index 11d2ae1..68660df 100644
--- a/src/utils/util.js
+++ b/src/utils/util.js
@@ -158,7 +158,7 @@ export function jsonStr(data){
return encodeURIComponent(JSON.stringify(data))
}
export function jsonPar(json){
- return JSON.parse(decodeURIComponent(json))
+ return JSON.parse(decodeURIComponent(decodeURIComponent(json)))
}
export let promisify = api => {