From 4abed72d97b7953326cf48d45c4d3a53058df599 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 12 九月 2025 11:06:49 +0800 Subject: [PATCH] feat: 页面 --- apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue | 73 +++++++++++++++++++++++++++--------- 1 files changed, 55 insertions(+), 18 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue index 46982c2..32e45c9 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 @@ -35,7 +45,7 @@ > <template #footerRight> <template - v-if="Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Pass" + v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass" > <nut-button class="flexJobManage-card-plain-button" @@ -44,16 +54,19 @@ @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=" - Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Wait || - Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Refuse - " + v-if="item.userSignContractStatus === EnumTaskUserSignContractStatus.Wait" type="primary" @click.stop="goFlexJobSign(item)" - >绛剧害</nut-button + >閭�璇风绾�</nut-button + > + <nut-button + v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait" + type="primary" + @click.stop="goEnterpriseSign(item)" + >浼佷笟绛剧害</nut-button > </template> </FlexJobCard> @@ -69,20 +82,21 @@ EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumPagedListOrder, + EnumGetEnterpriseEmployeesQuerySignContractStatus, } from '@12333/constants'; import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; import Taro from '@tarojs/taro'; -import { Message } from '@12333/utils'; +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: { @@ -91,9 +105,8 @@ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, hireStatus: EnumTaskUserHireStatus.Pass, - userSignContractStatus: queryState.userSignContractStatus, + signContractStatus: queryState.signContractStatus, }; - return enterpriseEmployeeServices.getEnterpriseEmployees(params, { showLoading: false, }); @@ -103,7 +116,13 @@ } ); -function checkContract() {} +function checkContract(item: API.GetEnterpriseEmployeesQueryResultItem) { + if (!item.contractUrl) { + Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯'); + return; + } + openDocument(setOSSLink(item.contractUrl)); +} function goDetail(item: API.GetEnterpriseEmployeesQueryResultItem) { Taro.navigateTo({ @@ -114,6 +133,14 @@ 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) { @@ -121,6 +148,16 @@ 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