From 5b01e3e6a695a8c9ba508fb4570b0b66e154ba0f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 02 十二月 2025 14:57:53 +0800
Subject: [PATCH] feat: 页面
---
src/views/EmploymentManage/EmploymentSignList.vue | 100 +++++++++++++++++++++++++++----------------------
1 files changed, 55 insertions(+), 45 deletions(-)
diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index 399ea9f..7f8eee7 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -24,11 +24,7 @@
</QueryFilterItem>
</template>
</ProTableQueryFilterBar>
- <ProTableV2
- v-bind="proTableProps"
- :columns="EmploymentSignColumns"
- :operationBtns="operationBtns"
- >
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
</ProTableV2>
</AppContainer>
<StaffInfoDialog v-bind="dialogStaffInfoProps" />
@@ -45,36 +41,27 @@
QueryFilterItem,
useTable,
FieldRadio,
- defineOperationBtns,
useFormDialog,
UploadUserFile,
} from '@bole-core/components';
-import { EmploymentSignColumns } from './constants/columns';
import { Message } from '@bole-core/core';
import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants';
import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
-import { convertApi2FormUrlOnlyOne } from '@/utils';
+import { convertApi2FormUrlOnlyOne, hiddenIDNumberForEnd4 } from '@/utils';
import * as taskUserServices from '@/services/api/taskUser';
+import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
defineOptions({
name: 'EmploymentSignList',
});
-const operationBtns = defineOperationBtns([
- {
- data: {
- enCode: 'detailBtn',
- name: '璇︽儏',
- },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ detailBtn: {
emits: {
onClick: (role) => openDialog(role),
},
},
- {
- data: {
- enCode: 'recruitBtn',
- name: '褰曠敤',
- },
+ recruitBtn: {
emits: {
onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass),
},
@@ -83,11 +70,16 @@
row.hireStatus === EnumTaskUserHireStatus.Pass,
},
},
- {
- data: {
- enCode: 'refuseBtn',
- name: '璋㈢粷',
+ cancelRecruitBtn: {
+ emits: {
+ onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Cancel),
},
+ extraProps: {
+ hide: (row: API.GetTaskUsersQueryResultItem) =>
+ row.hireStatus !== EnumTaskUserHireStatus.Pass,
+ },
+ },
+ refuseBtn: {
emits: {
onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse),
},
@@ -96,7 +88,11 @@
row.hireStatus !== EnumTaskUserHireStatus.Wait,
},
},
-]);
+};
+
+const { column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
const route = useRoute();
@@ -127,8 +123,9 @@
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- // searchWord: extraParamState.searchWord,
id: id,
+ keywords: extraParamState.searchWord,
+ hireStatus: extraParamState.hireStatus,
};
let res = await taskUserServices.getTaskUsers(params, {
@@ -149,6 +146,11 @@
columnsRenderProps: {
gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+ identity: {
+ formatter: (row: API.GetTaskUsersQueryResultItem) => {
+ return hiddenIDNumberForEnd4(row.identity);
+ },
+ },
},
}
);
@@ -165,8 +167,8 @@
contactPhoneNumber: '',
gender: EnumUserGender.Male,
age: null as any as number,
- idFrontUrl: [] as UploadUserFile[],
- idBackUrl: [] as UploadUserFile[],
+ identityImg: [] as UploadUserFile[],
+ identityBackImg: [] as UploadUserFile[],
contractUrl: [] as UploadUserFile[],
regiterTime: '',
userRealTime: '',
@@ -175,24 +177,29 @@
},
});
-function openDialog(row: API.GetTaskUsersQueryResultItem) {
- handleStaffInfoEdit({
- id: row.id,
- name: row.name,
- identity: row.identity,
- contactPhoneNumber: row.contactPhoneNumber,
- gender: row.gender,
- age: row.age ?? null,
- idFrontUrl: convertApi2FormUrlOnlyOne(row.idFrontUrl),
- idBackUrl: convertApi2FormUrlOnlyOne(row.idBackUrl),
- contractUrl: convertApi2FormUrlOnlyOne(row.contractUrl, {
- fileName: row.contractUrl ? row.contractUrl.split('/').pop() : '鍚堝悓',
- }),
- regiterTime: row.regiterTime ?? '',
- userRealTime: row.userRealTime,
- userSignContractTime: row.userSignContractTime,
- isDetail: true,
- });
+async function openDialog(row: API.GetTaskUsersQueryResultItem) {
+ try {
+ let detail = await enterpriseEmployeeServices.getEnterpriseEmployee({
+ id: row.enterpriseEmployeeId,
+ });
+ handleStaffInfoEdit({
+ id: row.id,
+ name: row.name,
+ identity: row.identity,
+ contactPhoneNumber: row.contactPhoneNumber,
+ gender: detail.gender,
+ age: detail.age ?? null,
+ identityImg: convertApi2FormUrlOnlyOne(detail.identityImg),
+ identityBackImg: convertApi2FormUrlOnlyOne(detail.identityBackImg),
+ contractUrl: convertApi2FormUrlOnlyOne(detail.contractUrl, {
+ fileName: detail.contractUrl ? detail.contractUrl.split('/').pop() : '鍚堝悓',
+ }),
+ regiterTime: detail.applyTime ?? '',
+ userRealTime: detail.userRealTime ?? '',
+ userSignContractTime: detail.userSignContractTime ?? '',
+ isDetail: true,
+ });
+ } catch (error) {}
}
async function setTaskUserHire(
@@ -200,6 +207,9 @@
hireStatus: EnumTaskUserHireStatus
) {
try {
+ await Message.tipMessage(
+ `纭瑕�${hireStatus === EnumTaskUserHireStatus.Pass ? '褰曠敤' : '鍙栨秷褰曠敤'}鍚楋紵`
+ );
let params: API.SetTaskUserHireCommand = {
id: row.id,
hireStatus: hireStatus,
--
Gitblit v1.9.1