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/services/api/task.ts | 15 ++
src/services/api/index.ts | 24 ++--
.eslintrc-auto-import.json | 1
src/services/api/typings.d.ts | 88 ++++++++++++++
auto-imports.d.ts | 4
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue | 4
src/constants/apiEnum.ts | 10 +
src/views/UserManage/components/ResetOperatorPasswordDialog.vue | 75 ++++++++++++
src/views/UserManage/UserManageList.vue | 51 ++++++++
src/views/UserManage/components/AddOrEditUserDialog.vue | 12 ++
src/services/api/user.ts | 45 +++++++
11 files changed, 315 insertions(+), 14 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 3415596..c597520 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -80,6 +80,7 @@
"EnumTaskReleaseStatus": true,
"EnumTaskReleaseStatusText": true,
"EnumTaskReleaseStatusTextForTip": true,
+ "EnumTaskSettlementAuditStatus": true,
"EnumTaskSettlementOrderStatus": true,
"EnumTaskSettlementOrderStatusText": true,
"EnumTaskSettlementStatus": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index b01b0c1..1b7d547 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -85,6 +85,7 @@
const EnumTaskReleaseStatus: typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']
const EnumTaskReleaseStatusText: typeof import('./src/constants/task')['EnumTaskReleaseStatusText']
const EnumTaskReleaseStatusTextForTip: typeof import('./src/constants/task')['EnumTaskReleaseStatusTextForTip']
+ const EnumTaskSettlementAuditStatus: typeof import('./src/constants/apiEnum')['EnumTaskSettlementAuditStatus']
const EnumTaskSettlementOrderStatus: typeof import('./src/constants/apiEnum')['EnumTaskSettlementOrderStatus']
const EnumTaskSettlementOrderStatusText: typeof import('./src/constants/task')['EnumTaskSettlementOrderStatusText']
const EnumTaskSettlementStatus: typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus']
@@ -281,7 +282,7 @@
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
// @ts-ignore
- export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
+ export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementAuditStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementAuditStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
import('./src/constants/apiEnum')
// @ts-ignore
export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
@@ -393,6 +394,7 @@
readonly EnumTaskReleaseStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']>
readonly EnumTaskReleaseStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskReleaseStatusText']>
readonly EnumTaskReleaseStatusTextForTip: UnwrapRef<typeof import('./src/constants/task')['EnumTaskReleaseStatusTextForTip']>
+ readonly EnumTaskSettlementAuditStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskSettlementAuditStatus']>
readonly EnumTaskSettlementOrderStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskSettlementOrderStatus']>
readonly EnumTaskSettlementOrderStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskSettlementOrderStatusText']>
readonly EnumTaskSettlementStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus']>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index 330d7d5..3d11edb 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -485,6 +485,16 @@
Stopped = 100,
}
+/** 浠诲姟缁撶畻瀹℃牳鐘舵�� */
+export enum EnumTaskSettlementAuditStatus {
+ /**寰呭鏍� */
+ Wait = 10,
+ /**瀹℃牳閫氳繃 */
+ Pass = 20,
+ /**椹冲洖 */
+ Fail = 30,
+}
+
/** 浠诲姟缁撶畻鍗曠姸鎬� */
export enum EnumTaskSettlementOrderStatus {
/**寰呬笂浼� */
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index 15a6047..e99bcae 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -5,46 +5,46 @@
import * as enterpriseEmployee from './enterpriseEmployee';
import * as user from './user';
import * as role from './role';
+import * as enterpriseWallet from './enterpriseWallet';
import * as ocrUtils from './ocrUtils';
import * as task from './task';
import * as enterprise from './enterprise';
+import * as logRecords from './logRecords';
import * as resource from './resource';
-import * as enterpriseWallet from './enterpriseWallet';
import * as dictionary from './dictionary';
import * as codeUrl from './codeUrl';
import * as electronSign from './electronSign';
-import * as taskCheckReceive from './taskCheckReceive';
import * as userResume from './userResume';
import * as auth from './auth';
+import * as taskCheckReceive from './taskCheckReceive';
import * as taskUser from './taskUser';
import * as sms from './sms';
-import * as logRecords from './logRecords';
-import * as menu from './menu';
-import * as fileUtils from './fileUtils';
-import * as userWallet from './userWallet';
import * as settings from './settings';
+import * as menu from './menu';
+import * as userWallet from './userWallet';
+import * as fileUtils from './fileUtils';
import * as syncDatabase from './syncDatabase';
export default {
enterpriseEmployee,
user,
role,
+ enterpriseWallet,
ocrUtils,
task,
enterprise,
+ logRecords,
resource,
- enterpriseWallet,
dictionary,
codeUrl,
electronSign,
- taskCheckReceive,
userResume,
auth,
+ taskCheckReceive,
taskUser,
sms,
- logRecords,
- menu,
- fileUtils,
- userWallet,
settings,
+ menu,
+ userWallet,
+ fileUtils,
syncDatabase,
};
diff --git a/src/services/api/task.ts b/src/services/api/task.ts
index 0f797ab..84167b8 100644
--- a/src/services/api/task.ts
+++ b/src/services/api/task.ts
@@ -2,6 +2,21 @@
// @ts-ignore
import { request } from '@/utils/request';
+/** 瀹℃牳浠诲姟缁撶畻 POST /api/flexjob/task/auditTaskSettlement */
+export async function auditTaskSettlement(
+ body: API.AuditTaskSettlementCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/flexjob/task/auditTaskSettlement', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍒犻櫎浠诲姟 DELETE /api/flexjob/task/deleteTaskInfo */
export async function deleteTaskInfo(body: API.DeleteTaskInfoCommand, options?: API.RequestConfig) {
return request<number>('/api/flexjob/task/deleteTaskInfo', {
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index f0aec44..f63e3b7 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -344,6 +344,16 @@
ids?: string[];
}
+ interface AuditTaskSettlementCommand {
+ /** 缁撶畻璁㈠崟Id */
+ id?: string;
+ auditStatus?: EnumTaskSettlementAuditStatus;
+ /** 瀹℃牳澶囨敞 */
+ auditRemark?: string;
+ /** 鎿嶄綔浠ょ墝 */
+ operatorToken?: string;
+ }
+
interface BaiduOcrBusinessLicenseResultModel {
/** 浼佷笟鍏ㄧО */
enterpriseName?: string;
@@ -397,6 +407,16 @@
sessionKey: string;
}
+ interface BuildOperatorTokenCommand {
+ /** 鎿嶄綔瀵嗙爜 */
+ password?: string;
+ }
+
+ interface BuildOperatorTokenCommandResult {
+ /** 鎿嶄綔浠ょ墝 */
+ operatorToken?: string;
+ }
+
interface ChangePhoneNumberCommand {
/** 鎵嬫満鍙风爜 */
phoneNumber: string;
@@ -415,6 +435,11 @@
}
type CheckHealthQuery = Record<string, any>;
+
+ interface CheckOperatorTokenCommand {
+ /** 鎿嶄綔浠ょ墝 */
+ operatorToken?: string;
+ }
interface CheckReceiveTaskCommand {
/** 鎻愪氦Id */
@@ -498,6 +523,8 @@
interface EditTaskSettlementOrderRosterCommand {
/** 鍚嶅崟Id */
id?: string;
+ /** 绱宸ユ椂 */
+ totalWorkHours?: number;
/** 缁撶畻閲戦 */
settlementAmount: number;
/** 瀹炲彂閲戦 */
@@ -1019,6 +1046,15 @@
Stopped = 100,
}
+ enum EnumTaskSettlementAuditStatus {
+ /**寰呭鏍� */
+ Wait = 10,
+ /**瀹℃牳閫氳繃 */
+ Pass = 20,
+ /**椹冲洖 */
+ Fail = 30,
+ }
+
enum EnumTaskSettlementOrderStatus {
/**寰呬笂浼� */
Wait = 10,
@@ -1318,6 +1354,24 @@
errorCode?: string;
/** 鏁版嵁 */
data?: boolean;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultBuildOperatorTokenCommandResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: BuildOperatorTokenCommandResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -3406,6 +3460,12 @@
/** 鏄惁瀹炲悕 */
isReal?: boolean;
realMethod?: EnumUserRealMethod;
+ /** 绛惧埌鏃堕棿 */
+ checkInTime?: string;
+ /** 绛惧嚭鏃堕棿 */
+ checkOutTime?: string;
+ /** 鎿嶄綔浜� */
+ operator?: string;
/** 鏈�杩戞彁浜ゆ椂闂� */
lastSubmitTime?: string;
checkReceiveStatus?: EnumTaskCheckReceiveStatus;
@@ -5612,10 +5672,21 @@
interface GetSettlementTaskUsersQueryResultDetail {
/** 缁撶畻璁㈠崟Id */
id?: string;
+ /** 鏍¢獙楠屾敹璧峰鏃ユ湡 */
+ checkReceiveBeginDate?: string;
+ /** 鏍¢獙楠屾敹鎴鏃ユ湡 */
+ checkReceiveEndDate?: string;
/** 浠诲姟鍚嶇О */
name?: string;
/** 浠诲姟鍗曞彿 */
code?: string;
+ billingMethod?: EnumBillingMethod;
+ /** 鏈嶅姟璐� */
+ serviceFee?: number;
+ /** 鏍稿畾宸ユ椂 */
+ verifyWorkHours?: number;
+ /** 瓒呮椂鏈嶅姟璐� */
+ timeoutServiceFee?: number;
settlementOrderStatus?: EnumTaskSettlementOrderStatus;
/** 缁撶畻鍗曞悕绉� */
settlementOrderName?: string;
@@ -5635,6 +5706,8 @@
interface GetSettlementTaskUsersQueryResultItem {
/** 缁撶畻鍚嶅崟Id */
id?: string;
+ /** 浠诲姟浜哄憳Id */
+ taskInfoUserId?: string;
/** 鐢ㄦ埛淇℃伅Id */
userId?: string;
/** 濮撳悕 */
@@ -5643,6 +5716,8 @@
identity?: string;
/** 鎵嬫満鍙� */
contactPhoneNumber?: string;
+ /** 绱宸ユ椂 */
+ totalWorkHours?: number;
/** 鎵�灞為摱琛� */
bank?: string;
/** 寮�鎴锋敮琛屽悕绉� */
@@ -6513,6 +6588,8 @@
bankBranch?: string;
/** 鏀舵璐︽埛 */
receiveAccount?: string;
+ /** 绱宸ユ椂 */
+ totalWorkHours?: number;
/** 缁撶畻閲戦 */
settlementAmount?: number;
/** 瀹炲彂閲戦 */
@@ -6783,6 +6860,13 @@
interface ResendResourceCommand {
/** 璧勬簮鏃ュ織Id */
id?: string;
+ }
+
+ interface ResetUserOperatorPasswordsCommand {
+ /** Id */
+ ids?: string[];
+ /** 鎿嶄綔瀵嗙爜 */
+ operatorPassword?: string;
}
interface ResetUserPasswordsCommand {
@@ -7199,8 +7283,10 @@
userName?: string;
/** 鎵嬫満鍙� */
phoneNumber?: string;
- /** 瀵嗙爜 */
+ /** 瀵嗙爜锛堥�夊~ 濉簡灏辨敼涓嶅~灏变笉鏀癸級 */
password?: string;
+ /** 鎿嶄綔瀵嗙爜锛堥�夊~ 濉簡灏辨敼涓嶅~灏变笉鏀癸級 */
+ operatorPassword?: string;
/** 瑙掕壊Id */
roleIds?: string[];
status?: EnumUserStatus;
diff --git a/src/services/api/user.ts b/src/services/api/user.ts
index e62b980..00b2379 100644
--- a/src/services/api/user.ts
+++ b/src/services/api/user.ts
@@ -2,6 +2,36 @@
// @ts-ignore
import { request } from '@/utils/request';
+/** 鐢熸垚鎿嶄綔浠ょ墝 POST /api/user/user/buildOperatorToken */
+export async function buildOperatorToken(
+ body: API.BuildOperatorTokenCommand,
+ options?: API.RequestConfig
+) {
+ return request<API.BuildOperatorTokenCommandResult>('/api/user/user/buildOperatorToken', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏍¢獙鎿嶄綔浠ょ墝 POST /api/user/user/checkOperatorToken */
+export async function checkOperatorToken(
+ body: API.CheckOperatorTokenCommand,
+ options?: API.RequestConfig
+) {
+ return request<boolean>('/api/user/user/checkOperatorToken', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍒犻櫎鐢ㄦ埛閾惰鍗′俊鎭� DELETE /api/user/user/deletePersonalUserBankCard */
export async function deletePersonalUserBankCard(
body: API.DeletePersonalUserBankCardCommand,
@@ -161,6 +191,21 @@
});
}
+/** 閲嶇疆鐢ㄦ埛鎿嶄綔瀵嗙爜 POST /api/user/user/resetUserOperatorPasswords */
+export async function resetUserOperatorPasswords(
+ body: API.ResetUserOperatorPasswordsCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/user/user/resetUserOperatorPasswords', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 閲嶇疆鐢ㄦ埛瀵嗙爜 POST /api/user/user/resetUserPasswords */
export async function resetUserPasswords(
body: API.ResetUserPasswordsCommand,
diff --git a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
index a883928..eb8b548 100644
--- a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
+++ b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -455,6 +455,10 @@
form.timeoutServiceFee = data.timeoutServiceFee;
form.description = data.description;
form.checkReceiveMethod = data.checkReceiveMethod;
+ form.applyTime = [
+ format(data.applyBeginTime, 'YYYY-MM-DD 00:00:00'),
+ format(data.applyEndTime, 'YYYY-MM-DD 23:59:59'),
+ ];
},
enabled: isEdit,
});
diff --git a/src/views/UserManage/UserManageList.vue b/src/views/UserManage/UserManageList.vue
index 898903f..17fec99 100644
--- a/src/views/UserManage/UserManageList.vue
+++ b/src/views/UserManage/UserManageList.vue
@@ -26,6 +26,9 @@
</AppContainer>
<AddOrEditUserDialog v-bind="dialogProps" />
<ResetPasswordDialog v-bind="resetPasswordDialogProps"></ResetPasswordDialog>
+ <ResetOperatorPasswordDialog
+ v-bind="resetOperatorPasswordDialogProps"
+ ></ResetOperatorPasswordDialog>
</LoadingLayout>
</template>
@@ -48,6 +51,7 @@
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',
@@ -73,6 +77,18 @@
},
emits: {
onClick: (role) => openResetPasswordDialog(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'resetOperatorPasswordBtn',
+ name: '閲嶇疆鎿嶄綔瀵嗙爜',
+ },
+ props: {
+ type: 'danger',
+ },
+ emits: {
+ onClick: (role) => openResetOperatorPasswordDialog(role),
},
},
]);
@@ -141,6 +157,7 @@
status: '' as any as EnumUserStatus,
roleIds: [] as string[],
password: '',
+ operatorPassword: '',
},
});
@@ -155,6 +172,7 @@
roleIds: row.roles?.map((x) => x.id) ?? [],
status: row.status,
password: '',
+ operatorPassword: '',
});
} else {
handleAdd();
@@ -174,6 +192,7 @@
};
if (!editForm.id) {
params.password = editForm.password;
+ params.operatorPassword = editForm.operatorPassword;
}
if (editForm.id) {
params.id = editForm.id;
@@ -188,6 +207,38 @@
}
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,
diff --git a/src/views/UserManage/components/AddOrEditUserDialog.vue b/src/views/UserManage/components/AddOrEditUserDialog.vue
index 4282771..64d1da5 100644
--- a/src/views/UserManage/components/AddOrEditUserDialog.vue
+++ b/src/views/UserManage/components/AddOrEditUserDialog.vue
@@ -28,6 +28,17 @@
>
<ProFormText placeholder="璇疯緭鍏ヨ处鍙�" v-model.trim="innerForm.password"></ProFormText>
</ProFormItemV2>
+ <ProFormItemV2
+ v-if="!isEdit"
+ label="鎿嶄綔瀵嗙爜"
+ prop="operatorPassword"
+ :check-rules="[{ message: '璇疯緭鍏ユ搷浣滃瘑鐮�' }]"
+ >
+ <ProFormText
+ placeholder="璇疯緭鍏ヨ处鍙�"
+ v-model.trim="innerForm.operatorPassword"
+ ></ProFormText>
+ </ProFormItemV2>
<ProFormItemV2 label="瑙掕壊" prop="roleIds" :check-rules="[{ message: '璇烽�夋嫨瑙掕壊' }]">
<ProFormCheckbox
v-model="innerForm.roleIds"
@@ -83,6 +94,7 @@
remark: string;
roleIds: string[];
password?: string;
+ operatorPassword?: string;
};
};
diff --git a/src/views/UserManage/components/ResetOperatorPasswordDialog.vue b/src/views/UserManage/components/ResetOperatorPasswordDialog.vue
new file mode 100644
index 0000000..855e9a3
--- /dev/null
+++ b/src/views/UserManage/components/ResetOperatorPasswordDialog.vue
@@ -0,0 +1,75 @@
+<template>
+ <ProDialog
+ :title="form.title"
+ v-model="visible"
+ @close="onDialogClose"
+ destroy-on-close
+ draggable
+ :width="800"
+ >
+ <ProForm :model="form" ref="dialogForm" label-width="120px">
+ <ProFormItemV2
+ label="鎿嶄綔瀵嗙爜:"
+ prop="operatorPassword"
+ :check-rules="[{ message: '璇疯緭鍏ユ搷浣滃瘑鐮�' }]"
+ >
+ <ProFormText
+ placeholder="璇疯緭鍏ユ搷浣滃瘑鐮�"
+ v-model.trim="form.operatorPassword"
+ :maxlength="30"
+ ></ProFormText>
+ </ProFormItemV2>
+ </ProForm>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="emit('onCancel')">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleConfirm">纭� 瀹�</el-button>
+ </span>
+ </template>
+ </ProDialog>
+</template>
+
+<script setup lang="ts">
+import { FormInstance } from 'element-plus';
+import { ProDialog, ProForm, ProFormItemV2, ProFormText } from '@bole-core/components';
+
+defineOptions({
+ name: 'ResetOperatorPasswordDialog',
+});
+
+// type Props = {};
+
+// const props = withDefaults(defineProps<Props>(), {});
+
+const visible = defineModel({ type: Boolean });
+
+type Form = {
+ title?: string;
+ ids: string;
+ operatorPassword: string;
+};
+
+const form = defineModel<Form>('form');
+const emit = defineEmits<{
+ (e: 'onConfirm'): void;
+ (e: 'onCancel'): void;
+}>();
+
+const dialogForm = ref<FormInstance>();
+
+function onDialogClose() {
+ if (!dialogForm.value) return;
+ dialogForm.value.resetFields();
+}
+
+function handleConfirm() {
+ if (!dialogForm.value) return;
+ dialogForm.value.validate((valid) => {
+ if (valid) {
+ emit('onConfirm');
+ } else {
+ return;
+ }
+ });
+}
+</script>
--
Gitblit v1.9.1