From 9c8b6d1cf6b43c6652b5183cd0183e8e257001f7 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 11 九月 2025 17:41:31 +0800 Subject: [PATCH] feat: 页面 --- apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue | 82 ++++++++++++++++++++++++++++++---------- 1 files changed, 61 insertions(+), 21 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue index c47dcb3..601974b 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.status" name="home-tab" :showPaneContent="false" class="home-tabs" @@ -8,14 +8,15 @@ 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="Status.FlexJobWait"></ProTabPane> + <ProTabPane :title="`浼佷笟寰呯绾" :pane-key="Status.EnterpriseWait"></ProTabPane> + <ProTabPane :title="`宸茬绾" :pane-key="Status.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.status" > <template #renderItem="{ item }"> <FlexJobCard @@ -34,25 +35,30 @@ @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" 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="goFlexJobSign(item)" + >浼佷笟绛剧害</nut-button + > </template> </FlexJobCard> </template> @@ -70,16 +76,23 @@ } 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 enum Status { + FlexJobWait = 1, + EnterpriseWait = 2, + Pass = 3, +} + const queryState = reactive({ - userSignContractStatus: EnumTaskUserSignContractStatus.Pass, + status: Status.FlexJobWait, }); -const { infiniteLoadingProps } = useInfiniteLoading( +const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( ({ pageParam }) => { let params: API.GetEnterpriseEmployeesQuery = { pageModel: { @@ -88,8 +101,16 @@ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, hireStatus: EnumTaskUserHireStatus.Pass, - userSignContractStatus: queryState.userSignContractStatus, }; + if (Number(queryState.status) === Status.FlexJobWait) { + params.userSignContractStatus = EnumTaskUserSignContractStatus.Wait; + } + if (Number(queryState.status) === Status.EnterpriseWait) { + params.enterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; + } + if (Number(queryState.status) === Status.Pass) { + params.userSignContractStatus = EnumTaskUserSignContractStatus.Pass; + } return enterpriseEmployeeServices.getEnterpriseEmployees(params, { showLoading: false, @@ -100,17 +121,36 @@ } ); +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}?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}`, }); } </script> -- Gitblit v1.9.1