From 4629d5019ada5622403946f302cdaaefbfc6ab0d Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 16:48:15 +0800
Subject: [PATCH] feat: 1.2.0.1
---
src/views/EmploymentManage/EmploymentSignList.vue | 133 ++++++++++++++++++++++++++++++++------------
1 files changed, 97 insertions(+), 36 deletions(-)
diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index 79703e5..cbd0382 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -5,11 +5,8 @@
<template #query>
<QueryFilterItem tip-content="褰曠敤鐘舵��">
<FieldRadio
- v-model="extraParamState.flexEnterpriseSettingStatus"
- :value-enum="[
- { label: '宸插綍鐢�', value: 1 },
- { label: '寰呭綍鐢�', value: 0 },
- ]"
+ v-model="extraParamState.hireStatus"
+ :value-enum="EnumTaskUserHireStatusText"
buttonStyle
showAllBtn
@change="getList()"
@@ -19,7 +16,7 @@
<SearchInput
v-model="extraParamState.searchWord"
style="width: 250px"
- placeholder="浠诲姟鍚嶇О"
+ placeholder="濮撳悕/韬唤璇佸彿/鐢佃瘽"
@on-click-search="getList"
@keyup.enter="getList()"
>
@@ -34,6 +31,7 @@
>
</ProTableV2>
</AppContainer>
+ <StaffInfoDialog v-bind="dialogStaffInfoProps" />
</LoadingLayout>
</template>
@@ -46,16 +44,18 @@
AppContainer,
QueryFilterItem,
useTable,
- FieldDatePicker,
FieldRadio,
defineOperationBtns,
+ useFormDialog,
+ UploadUserFile,
} from '@bole-core/components';
-import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
import { EmploymentSignColumns } from './constants/columns';
-import { OrderInputType, Message } from '@bole-core/core';
-import { useGlobalEventContext } from '@/hooks';
-import { FlexEnterpriseSettingStatus } from '@/constants';
+import { Message } from '@bole-core/core';
+import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants';
import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
+import { convertApi2FormUrlOnlyOne } from '@/utils';
+import * as taskUserServices from '@/services/api/taskUser';
+import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
defineOptions({
name: 'EmploymentSignList',
@@ -77,10 +77,11 @@
name: '褰曠敤',
},
emits: {
- onClick: (role) => handleRecruit(role),
+ onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass),
},
extraProps: {
- hide: (row) => false,
+ hide: (row: API.GetTaskUsersQueryResultItem) =>
+ row.hireStatus === EnumTaskUserHireStatus.Pass,
},
},
{
@@ -89,31 +90,23 @@
name: '璋㈢粷',
},
emits: {
- onClick: (role) => handleRefuse(role),
+ onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse),
},
extraProps: {
- hide: (row) => false,
+ hide: (row: API.GetTaskUsersQueryResultItem) =>
+ row.hireStatus !== EnumTaskUserHireStatus.Wait,
},
},
]);
const router = useRouter();
-
+const route = useRoute();
+const id = route.params.id as string;
const BaseState = {
loading: true,
};
const state = reactive({ ...BaseState });
-
-const eventContext = useGlobalEventContext();
-
-eventContext.addEvent('employment:add', () => {
- getList();
-});
-
-eventContext.addEvent('employment:edit', () => {
- getList(paginationState.pageIndex);
-});
onMounted(async () => {
await getList();
@@ -129,17 +122,18 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetFlexEnterpriseInput = {
+ let params: API.GetTaskUsersQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
- searchWord: extraParamState.searchWord,
+ id: id,
+ keywords: extraParamState.searchWord,
+ hireStatus: extraParamState.hireStatus,
};
- let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ let res = await taskUserServices.getTaskUsers(params, {
showLoading: !state.loading,
});
return res;
@@ -150,14 +144,81 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
- flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ hireStatus: '' as any as EnumTaskUserHireStatus,
},
- queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
- columnsRenderProps: {},
+ queryKey: ['taskUserServices/getTaskUsers'],
+ columnsRenderProps: {
+ gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
+ hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+ },
}
);
-function handleRecruit(row) {}
-function handleRefuse(row) {}
+const {
+ dialogProps: dialogStaffInfoProps,
+ handleEdit: handleStaffInfoEdit,
+ editForm: staffInfoEditForm,
+} = useFormDialog({
+ defaultFormParams: {
+ id: '',
+ name: '',
+ identity: '',
+ contactPhoneNumber: '',
+ gender: EnumUserGender.Male,
+ age: null as any as number,
+ identityImg: [] as UploadUserFile[],
+ identityBackImg: [] as UploadUserFile[],
+ contractUrl: [] as UploadUserFile[],
+ regiterTime: '',
+ userRealTime: '',
+ userSignContractTime: '',
+ isDetail: false,
+ },
+});
+
+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(
+ row: API.GetTaskUsersQueryResultItem,
+ hireStatus: EnumTaskUserHireStatus
+) {
+ try {
+ await Message.tipMessage(
+ `纭瑕�${hireStatus === EnumTaskUserHireStatus.Pass ? '褰曠敤' : '璋㈢粷'}鍚楋紵`
+ );
+ let params: API.SetTaskUserHireCommand = {
+ id: row.id,
+ hireStatus: hireStatus,
+ };
+ let res = await taskUserServices.setTaskUserHire(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
</script>
--
Gitblit v1.9.1