From c2463c02a17f92df55ec77ed2da3fb724290c072 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 20 十月 2025 17:34:30 +0800
Subject: [PATCH] fix: bug
---
apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue | 100 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 77 insertions(+), 23 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
index 3f72bab..ad7ae54 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.userSignContractStatus"
+ v-model="queryState.signContractStatus"
name="home-tab"
:showPaneContent="false"
class="home-tabs"
@@ -8,14 +8,24 @@
title-gutter="12"
title-scroll
>
- <ProTabPane :title="`宸茬绾" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane>
- <ProTabPane :title="`寰呯绾" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane>
- <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Refuse"></ProTabPane>
+ <ProTabPane
+ :title="`鐏靛伐寰呯绾"
+ :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait"
+ ></ProTabPane>
+ <ProTabPane
+ :title="`浼佷笟寰呯绾"
+ :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.EnterpriseWait"
+ ></ProTabPane>
+ <ProTabPane
+ :title="`宸茬绾"
+ :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.Pass"
+ ></ProTabPane>
+ <!-- <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> -->
</ProTabs>
<InfiniteLoading
scrollViewClassName="common-infinite-scroll-list home-list"
v-bind="infiniteLoadingProps"
- :key="queryState.userSignContractStatus"
+ :key="queryState.signContractStatus"
>
<template #renderItem="{ item }">
<FlexJobCard
@@ -25,28 +35,42 @@
: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>
- <span></span>
- <!-- <template
- v-if="queryState.userSignContractStatus === EnumTaskUserSignContractStatus.Pass"
+ <template
+ v-if="item.enterpriseSignContractStatus === 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-if="queryState.userSignContractStatus === EnumTaskUserSignContractStatus.Wait"
+ v-if="
+ item.userSignContractStatus === EnumTaskUserSignContractStatus.Wait ||
+ !item.userSignContractStatus
+ "
type="primary"
- @click.stop="goSignContract(item)"
- >绛剧害</nut-button
- > -->
+ @click.stop="goFlexJobSign(item)"
+ >閭�璇风绾�</nut-button
+ >
+ <nut-button
+ v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait"
+ type="primary"
+ @click.stop="goEnterpriseSign(item)"
+ >浼佷笟绛剧害</nut-button
+ >
</template>
</FlexJobCard>
</template>
@@ -61,19 +85,21 @@
EnumTaskUserHireStatus,
EnumTaskUserSignContractStatus,
EnumPagedListOrder,
+ EnumGetEnterpriseEmployeesQuerySignContractStatus,
} 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({
- userSignContractStatus: EnumTaskUserSignContractStatus.Pass,
+ signContractStatus: EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait,
});
-const { infiniteLoadingProps } = useInfiniteLoading(
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
({ pageParam }) => {
let params: API.GetEnterpriseEmployeesQuery = {
pageModel: {
@@ -82,9 +108,8 @@
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
hireStatus: EnumTaskUserHireStatus.Pass,
- userSignContractStatus: queryState.userSignContractStatus,
+ signContractStatus: queryState.signContractStatus,
};
-
return enterpriseEmployeeServices.getEnterpriseEmployees(params, {
showLoading: false,
});
@@ -94,19 +119,48 @@
}
);
+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}?userId=${item.id}`,
+ url: `${RouterPath.flexJobDetailFromManage}?enterpriseEmployeeId=${item.id}`,
});
}
-function checkContract() {}
-function handleUnContract() {}
-function goSignContract(item: API.GetNewestWorkerListOutput) {
+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}`,
});
}
+
+async function goEnterpriseSign(item: API.GetEnterpriseEmployeesQueryResultItem) {
+ try {
+ let res = await enterpriseEmployeeServices.enterpriseUserElectronSign({ id: item.id });
+ if (res) {
+ const encodedUrl = encodeURIComponent(res.signContractLongUrl);
+ Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` });
+ }
+ } catch (error) {}
+}
</script>
<style lang="scss">
--
Gitblit v1.9.1