From d8ef10a07b7b32a05be40cb77f629a6f9b8a0966 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 13:48:48 +0800
Subject: [PATCH] feat: 1.2.0.1

---
 src/views/UserManage/UserManageList.vue |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 insertions(+), 1 deletions(-)

diff --git a/src/views/UserManage/UserManageList.vue b/src/views/UserManage/UserManageList.vue
index 3ea919e..17fec99 100644
--- a/src/views/UserManage/UserManageList.vue
+++ b/src/views/UserManage/UserManageList.vue
@@ -25,6 +25,10 @@
       </ProTableV2>
     </AppContainer>
     <AddOrEditUserDialog v-bind="dialogProps" />
+    <ResetPasswordDialog v-bind="resetPasswordDialogProps"></ResetPasswordDialog>
+    <ResetOperatorPasswordDialog
+      v-bind="resetOperatorPasswordDialogProps"
+    ></ResetOperatorPasswordDialog>
   </LoadingLayout>
 </template>
 
@@ -46,6 +50,8 @@
 import { ModelValueType } from 'element-plus';
 import { Message } from '@bole-core/core';
 import AddOrEditUserDialog from './components/AddOrEditUserDialog.vue';
+import ResetPasswordDialog from './components/ResetPasswordDialog.vue';
+import ResetOperatorPasswordDialog from './components/ResetOperatorPasswordDialog.vue';
 
 defineOptions({
   name: 'UserManageList',
@@ -59,6 +65,30 @@
     },
     emits: {
       onClick: (role) => openDialog(role),
+    },
+  },
+  {
+    data: {
+      enCode: 'resetPasswordBtn',
+      name: '閲嶇疆瀵嗙爜',
+    },
+    props: {
+      type: 'danger',
+    },
+    emits: {
+      onClick: (role) => openResetPasswordDialog(role),
+    },
+  },
+  {
+    data: {
+      enCode: 'resetOperatorPasswordBtn',
+      name: '閲嶇疆鎿嶄綔瀵嗙爜',
+    },
+    props: {
+      type: 'danger',
+    },
+    emits: {
+      onClick: (role) => openResetOperatorPasswordDialog(role),
     },
   },
 ]);
@@ -124,8 +154,10 @@
     userName: '',
     phoneNumber: '',
     remark: '',
+    status: '' as any as EnumUserStatus,
     roleIds: [] as string[],
     password: '',
+    operatorPassword: '',
   },
 });
 
@@ -138,7 +170,9 @@
       phoneNumber: row.phoneNumber,
       remark: row.remark,
       roleIds: row.roles?.map((x) => x.id) ?? [],
+      status: row.status,
       password: '',
+      operatorPassword: '',
     });
   } else {
     handleAdd();
@@ -152,10 +186,14 @@
       name: editForm.name,
       userName: editForm.userName,
       phoneNumber: editForm.phoneNumber,
-      password: editForm.password,
       roleIds: editForm.roleIds,
       remark: editForm.remark,
+      status: editForm.status ? editForm.status : EnumUserStatus.Normal,
     };
+    if (!editForm.id) {
+      params.password = editForm.password;
+      params.operatorPassword = editForm.operatorPassword;
+    }
     if (editForm.id) {
       params.id = editForm.id;
     }
@@ -167,4 +205,69 @@
     }
   } catch (error) {}
 }
+
+const {
+  dialogProps: resetOperatorPasswordDialogProps,
+  handleAdd: handleResetOperatorPasswordAdd,
+  editForm: resetOperatorPasswordEditForm,
+} = useFormDialog({
+  onConfirm: resetOperatorPassword,
+  defaultFormParams: {
+    ids: '',
+    operatorPassword: '',
+  },
+});
+
+function openResetOperatorPasswordDialog(row: API.GetOperationUserInfosQueryResultItem) {
+  handleResetOperatorPasswordAdd({
+    ids: row.id,
+    operatorPassword: '',
+  });
+}
+
+async function resetOperatorPassword() {
+  try {
+    let params: API.ResetUserOperatorPasswordsCommand = {
+      ids: [resetOperatorPasswordEditForm.ids],
+      operatorPassword: resetOperatorPasswordEditForm.operatorPassword,
+    };
+    let res = await userServices.resetUserOperatorPasswords(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
+const {
+  dialogProps: resetPasswordDialogProps,
+  handleAdd: handleResetPasswordAdd,
+  editForm: resetPasswordEditForm,
+} = useFormDialog({
+  onConfirm: resetPassword,
+  defaultFormParams: {
+    ids: '',
+    password: '',
+  },
+});
+
+function openResetPasswordDialog(row: API.GetOperationUserInfosQueryResultItem) {
+  handleResetPasswordAdd({
+    ids: row.id,
+    password: '',
+  });
+}
+
+async function resetPassword() {
+  try {
+    let params: API.ResetUserPasswordsCommand = {
+      ids: [resetPasswordEditForm.ids],
+      password: resetPasswordEditForm.password,
+    };
+    let res = await userServices.resetUserPasswords(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
 </script>

--
Gitblit v1.9.1