From bc7755a160fcf15aef13fcd1fb8b92f0bc2b20bf Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Mon, 12 Oct 2026 14:47:23 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=94=AF=E6=8C=81=E9=87=8D=E7=BD=AE=E5=AF=86?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E5=88=97=E8=A1=A8=E9=9A=90=E8=97=8F=20openid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- src/option/system/mpUser.js | 4 +++- src/option/system/user.js | 2 +- src/views/system/mp-user.vue | 34 ++++++++++++++++++++++++++++++++++ src/views/system/user.vue | 2 +- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/option/system/mpUser.js b/src/option/system/mpUser.js index a5b4b9a..994f76f 100644 --- a/src/option/system/mpUser.js +++ b/src/option/system/mpUser.js @@ -56,7 +56,7 @@ export default { addBtn: false, selection: true, dialogClickModal: false, - menuWidth: 280, + menuWidth: 320, column: [ { label: '手机号', @@ -140,8 +140,10 @@ export default { prop: 'openid', minWidth: 180, overHidden: true, + hide: true, addDisplay: false, editDisplay: true, + viewDisplay: true, order: 40, placeholder: '可清空以解绑微信', }, diff --git a/src/option/system/user.js b/src/option/system/user.js index f3956d7..93e3152 100644 --- a/src/option/system/user.js +++ b/src/option/system/user.js @@ -97,7 +97,7 @@ export const userOption = safe => { { label: '账号名', prop: 'account', - span: 12, + span: 6, rules: [ { required: true, diff --git a/src/views/system/mp-user.vue b/src/views/system/mp-user.vue index bf66361..a67fd36 100644 --- a/src/views/system/mp-user.vue +++ b/src/views/system/mp-user.vue @@ -77,6 +77,13 @@ > {{ row.status === 1 ? '停用' : '启用' }} + + 重置密码 + + @@ -105,6 +121,7 @@ export default { data() { return { form: {}, + dialogType: '', query: {}, loading: true, page: { @@ -160,6 +177,7 @@ export default { return payload; }, beforeOpen(done, type) { + this.dialogType = type; if (['edit', 'view'].includes(type) && this.form.id) { getDetail(this.form.id).then(res => { const detail = res.data.data || {}; @@ -258,6 +276,22 @@ export default { this.$refs.crud.toggleSelection(); }); }, + handleResetForRow(row) { + if (!row || !row.id) { + this.$message.warning('请先保存用户后再重置密码'); + return; + } + const account = row.account || row.phone || row.id; + this.$confirm(`确定将账号【${account}】的密码重置为随机密码?`, '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then(() => resetPassword(row.id)) + .then(res => { + this.showResetPassword(res.data.data); + }); + }, showResetPassword(passwordMap) { const passwordList = Object.keys(passwordMap || {}).map(account => h('div', null, `${account}:${passwordMap[account]}`) diff --git a/src/views/system/user.vue b/src/views/system/user.vue index 533db3e..7aeee32 100644 --- a/src/views/system/user.vue +++ b/src/views/system/user.vue @@ -139,7 +139,7 @@ - +