From 82c04031fc7129826d7401a3687a79f34a813f6b Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 28 Feb 2025 18:24:41 +0800 Subject: [PATCH] add logic for tid1509 --- src/subpackage/account/components/user_info.vue | 18 +++- src/subpackage/account/js/api.js | 7 ++ src/subpackage/account/js/server.js | 2 +- src/subpackage/account/pages/list/index.vue | 110 ++++++++++++++++++--- src/subpackage/account/pages/list/modules/item.vue | 21 +++- src/subpackage/account/pages/manage/add.vue | 8 +- .../pages/manage/modules/apply/success_modal.vue | 44 +++++++-- src/subpackage/account/pages/permission/info.vue | 41 +++++++- 8 files changed, 217 insertions(+), 34 deletions(-) create mode 100644 src/subpackage/account/js/api.js diff --git a/src/subpackage/account/components/user_info.vue b/src/subpackage/account/components/user_info.vue index fdc5dce..a092d89 100644 --- a/src/subpackage/account/components/user_info.vue +++ b/src/subpackage/account/components/user_info.vue @@ -2,21 +2,21 @@ - 周小舞 + {{ name || "-" }} - 登录账号: liuhuo2524 + 登录账号: {{ account || "-" }} 密码: 修改密码 - 创建时间: 2024-12-09 11:21:40 + 创建时间: {{ time || "-" }} @@ -31,6 +31,18 @@ export default { edit: { type: Boolean, default: false + }, + name: { + type: String, + default: '' + }, + account: { + type: String, + default: '' + }, + time: { + type: String, + default: '' } } } diff --git a/src/subpackage/account/js/api.js b/src/subpackage/account/js/api.js new file mode 100644 index 0000000..c86265f --- /dev/null +++ b/src/subpackage/account/js/api.js @@ -0,0 +1,7 @@ +import { ORIGIN } from '@/js/api'; + +export const ACCOUNT_API = { + userRest:`${ORIGIN}/admin/user/rest`, // 权限管理-获取管理员 + userDelete:`${ORIGIN}/admin/user/delete`, // 权限管理-删除权限组 + userGet:`${ORIGIN}/admin/user/get`, // B会员管理-小程序用户管理-用户信息列表-用户信息详情 +} \ No newline at end of file diff --git a/src/subpackage/account/js/server.js b/src/subpackage/account/js/server.js index 1ad6f7f..1e25627 100644 --- a/src/subpackage/account/js/server.js +++ b/src/subpackage/account/js/server.js @@ -1,4 +1,4 @@ -import { Server } from '../../../js/server'; +import { Server } from '@/js/server'; class AccountServer extends Server { constructor(props){ diff --git a/src/subpackage/account/pages/list/index.vue b/src/subpackage/account/pages/list/index.vue index c0f7783..63b4e3f 100644 --- a/src/subpackage/account/pages/list/index.vue +++ b/src/subpackage/account/pages/list/index.vue @@ -5,11 +5,17 @@ - + + + + @@ -18,7 +24,10 @@ import inputBar from './modules/input_bar.vue'; import checkStatusBar from './modules/check_status_bar.vue'; import listItem from './modules/item.vue'; -import { routeTo, showModal } from "@/utils/util.js"; +import { routeTo, showModal, showLoad, hideLoad, showNone } from "@/utils/util.js"; +import { ACCOUNT_API } from "../../js/api.js"; +import server from "../../js/server.js"; + export default { components: { 'input-bar': inputBar, @@ -27,25 +36,100 @@ export default { }, data(){ return { - brand_id: '', + brand_id: '', + userLs: [], + page: 1 } }, onLoad(options){ - this.brand_id = options?.brand_id || ''; + let _bid = options?.brand_id ?? ''; + this.getUserLs({ brand_id: _bid }); + this.brand_id = _bid; + }, + onReachBottom(){ + this.getUserLs({ brand_id: this.brand_id, page: this.page + 1 }); }, methods: { messageSubscription(){ routeTo(`/subpackage/account/pages/message/info?brand_id=${this.brand_id}`, 'nT'); }, - accountAuthority(){ - routeTo(`/subpackage/account/pages/permission/info?brand_id=${this.brand_id}`, 'nT'); + accountAuthority(e){ + routeTo(`/subpackage/account/pages/permission/info?brand_id=${this.brand_id}&id=${e.id}`, 'nT'); }, accountCheck(){ routeTo(`/subpackage/account/pages/manage/check?brand_id=${this.brand_id}`, 'nT'); }, - itemDeleteBtn(){ - showModal({ content: '是否删除该账号?', }); - } + itemDeleteBtn(e, idx){ + showModal({ + content: '是否删除该账号?', + showCancel: true, + success: async res => { + if(res.confirm){ + let _delRes = await this.userDelete({ id: e?.id ?? '' }); + if(_delRes === 'success'){ + showNone('操作成功!'); + this.userLs.splice(idx, 1); + } + } + } + }); + }, + // 权限管理-获取管理员 + getUserLs({ brand_id, page = 1, limit = 20 }){ + showLoad(); + return server.post({ + url: ACCOUNT_API.userRest, + data: { 'filter[role]': `ADMIN-BRAND-${brand_id}`, page, limit }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + let _ls = _data?.data?.data ?? []; + if(page === 1)return this.userLs = _ls; + if(_ls.length <= 0)return showNone('暂无更多!'); + this.page = page; + return this.userLs = [ ...this.userLs, ..._ls ]; + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + showModal({ + title: '提示', + content: err.message || '加载用户失败!' + }) + console.warn('subpackage account pages list index getUserLs err --->', err); + // return Promise.reject(err); + }) + }, + // 权限管理-删除权限组 + userDelete({ id }){ + showLoad(); + return server.post({ + url: ACCOUNT_API.userDelete, + data: { id }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + return 'success'; + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + showModal({ + title: '提示', + content: err.message || '操作失败!' + }) + console.warn('subpackage account pages list index userDelete err --->', err); + // return Promise.reject(err); + }) + }, } } diff --git a/src/subpackage/account/pages/list/modules/item.vue b/src/subpackage/account/pages/list/modules/item.vue index d211921..dde3fbd 100644 --- a/src/subpackage/account/pages/list/modules/item.vue +++ b/src/subpackage/account/pages/list/modules/item.vue @@ -1,8 +1,8 @@