From 4a8d6f9364ebcadd08834dcb37feb97ab83fba78 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 11 九月 2025 15:21:12 +0800
Subject: [PATCH] fix: bug
---
apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue | 98 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 74 insertions(+), 24 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
index 65077aa..9b371ce 100644
--- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
<ProTabs
- v-model="queryState.mineHireType"
+ v-model="queryState.userSignContractStatus"
name="home-tab"
:showPaneContent="false"
class="home-tabs"
@@ -8,28 +8,53 @@
title-gutter="12"
title-scroll
>
- <ProTabPane :title="`宸茬绾" :pane-key="TaskStatus.All"></ProTabPane>
- <ProTabPane :title="`寰呯绾" :pane-key="TaskStatus.WaitSign"></ProTabPane>
- <ProTabPane :title="`宸茶В绾" :pane-key="TaskStatus.Effect"></ProTabPane>
+ <ProTabPane :title="`宸茬绾" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane>
+ <ProTabPane :title="`寰呯绾" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane>
+ <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane>
</ProTabs>
<InfiniteLoading
scrollViewClassName="common-infinite-scroll-list home-list"
v-bind="infiniteLoadingProps"
+ :key="queryState.userSignContractStatus"
>
<template #renderItem="{ item }">
- <FlexJobCard :show-done-detail="false" :show-footer-left="false" @click="goDetail(item)">
+ <FlexJobCard
+ :show-done-detail="false"
+ :show-footer-left="false"
+ :name="item.name"
+ :gender="item.gender"
+ :age="item.age"
+ :isReal="item.userIsReal"
+ :personalIdentityContent="item.personalIdentityContent"
+ :educationalBackgroundContent="item.educationalBackgroundContent"
+ :taskCount="item.taskCount"
+ :avatar="item.avatar"
+ :workExperience="item.workExperience"
+ :workSeniority="item.workSeniority"
+ @click="goDetail(item)"
+ >
<template #footerRight>
- <template v-if="Number(queryState.mineHireType) === TaskStatus.All">
+ <template
+ v-if="Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Pass"
+ >
<nut-button
class="flexJobManage-card-plain-button"
type="default"
plain
- @click.stop="handleUnContract"
+ @click.stop="handleUnsign(item)"
>瑙g害</nut-button
>
- <nut-button type="primary" @click.stop="checkContract">鏌ョ湅鍚堢害</nut-button>
+ <nut-button type="primary" @click.stop="checkContract(item)">鏌ョ湅鍚堢害</nut-button>
</template>
- <nut-button v-else type="primary" @click.stop="goSignContract(item)">绛剧害</nut-button>
+ <nut-button
+ v-else-if="
+ Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Wait ||
+ Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Stop
+ "
+ type="primary"
+ @click.stop="goFlexJobSign(item)"
+ >绛剧害</nut-button
+ >
</template>
</FlexJobCard>
</template>
@@ -40,49 +65,74 @@
import { FlexJobCard, ProTabs, ProTabPane } from '@12333/components';
import { RouterPath } from '@/constants';
import { useInfiniteLoading } from '@12333/hooks';
-import { OrderInputType } from '@12333/constants';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
-import { TaskStatus } from '@/constants/task';
+import {
+ EnumTaskUserHireStatus,
+ EnumTaskUserSignContractStatus,
+ EnumPagedListOrder,
+} from '@12333/constants';
+import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
import Taro from '@tarojs/taro';
+import { Message, openDocument, setOSSLink } from '@12333/utils';
defineOptions({
name: 'InnerPage',
});
const queryState = reactive({
- mineHireType: TaskStatus.All,
+ userSignContractStatus: EnumTaskUserSignContractStatus.Pass,
});
-const { infiniteLoadingProps } = useInfiniteLoading(
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
({ pageParam }) => {
- let params: API.GetFlexTaskListInput = {
+ let params: API.GetEnterpriseEmployeesQuery = {
pageModel: {
rows: 20,
page: pageParam,
- orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
+ hireStatus: EnumTaskUserHireStatus.Pass,
+ userSignContractStatus: queryState.userSignContractStatus,
};
- return flexWorkerServices.getFlexTaskByArrange(params, {
+ return enterpriseEmployeeServices.getEnterpriseEmployees(params, {
showLoading: false,
});
},
{
- queryKey: ['flexWorkerServices/getFlexTaskByArrange'],
+ queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees', queryState],
}
);
-function goDetail(item: API.GetFlexTaskListOutput) {
+function checkContract(item: API.GetEnterpriseEmployeesQueryResultItem) {
+ if (!item.contractUrl) {
+ Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯');
+ return;
+ }
+ openDocument(setOSSLink(item.contractUrl));
+}
+
+function goDetail(item: API.GetEnterpriseEmployeesQueryResultItem) {
Taro.navigateTo({
- url: `${RouterPath.flexJobDetailFromManage}?id=${item.taskId}`,
+ url: `${RouterPath.flexJobDetailFromManage}?enterpriseEmployeeId=${item.id}`,
});
}
-function checkContract() {}
-function handleUnContract() {}
-function goSignContract(item: API.GetFlexTaskListOutput) {
+async function handleUnsign(item: API.GetEnterpriseEmployeesQueryResultItem) {
+ try {
+ await Message.confirm({ message: '纭畾瑕佽В绾﹀悧锛�' });
+ let params: API.StopElectronSignCommand = {
+ ids: [item.id],
+ };
+ let res = await enterpriseEmployeeServices.stopElectronSign(params);
+ if (res) {
+ Message.success('瑙g害鎴愬姛');
+ invalidateQueries();
+ }
+ } catch (error) {}
+}
+function goFlexJobSign(item: API.GetEnterpriseEmployeesQueryResultItem) {
Taro.navigateTo({
- url: `${RouterPath.flexJobSign}`,
+ url: `${RouterPath.flexJobSign}?enterpriseEmployeeId=${item.id}`,
});
}
</script>
--
Gitblit v1.9.1