From 08740aaf0861ee8c11a8bf6a97a1219f7d198043 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 25 八月 2025 09:39:08 +0800 Subject: [PATCH] feat: 签约 --- apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue | 52 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 41 insertions(+), 11 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue index da05e70..30a32f4 100644 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue @@ -14,49 +14,62 @@ v-bind="infiniteLoadingProps" > <template #renderItem="{ item }"> - <SignCard @click="handleCheck(item)" v-model:checked-id="checkedId" :id="item.id"></SignCard> + <SignCard + :templateId="item.templateId" + :name="item.name" + @click="handleCheck(item)" + v-model:checked-id="checkedId" + :id="item.id" + ></SignCard> </template> </InfiniteLoading> <PageFooter> - <PageFooterBtn type="primary">閭�璇风绾�</PageFooterBtn> + <PageFooterBtn type="primary" @click="handleInvite">閭�璇风绾�</PageFooterBtn> </PageFooter> </template> <script setup lang="ts"> import { useInfiniteLoading } from '@12333/hooks'; -import { OrderInputType } from '@12333/constants'; -import * as flexWorkerServices from '@12333/services/api/FlexWorker'; +import { EnumPagedListOrder } from '@12333/constants'; +import * as electronSignServices from '@12333/services/apiV2/electronSign'; +import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; import _ from 'lodash'; -import { trim } from '@12333/utils'; +import { Message, trim } from '@12333/utils'; import { SignCard } from '@12333/components'; +import Taro from '@tarojs/taro'; +import { goBack } from '@/utils'; defineOptions({ name: 'InnerPage', }); +const router = Taro.useRouter(); +const enterpriseEmployeeId = router.params?.enterpriseEmployeeId ?? ''; + const searchValue = ref(''); const queryState = reactive({ - searchValueTrim: '', + keywords: '', }); const checkedId = ref(''); const handleSearch = _.debounce(function () { - queryState.searchValueTrim = trim(searchValue.value); + queryState.keywords = trim(searchValue.value); }, 300); const { infiniteLoadingProps } = useInfiniteLoading( ({ pageParam }) => { - let params: API.GetFlexTaskListInput = { + let params: API.GetEnterpriseContractTemplatesQuery = { pageModel: { rows: 20, page: pageParam, - orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, + keywords: queryState.keywords, }; - return flexWorkerServices.getFlexTaskByArrange(params, { + return electronSignServices.getEnterpriseContractTemplates(params, { showLoading: false, }); }, @@ -65,9 +78,26 @@ } ); -function handleCheck(item: API.OrderInfoDto) { +function handleCheck(item: API.GetEnterpriseContractTemplatesQueryResultItem) { checkedId.value = item.id; } + +async function handleInvite() { + try { + let params: API.InviteElectronSignCommand = { + id: enterpriseEmployeeId, + contractTemplateId: checkedId.value, + }; + let res = await enterpriseEmployeeServices.inviteElectronSign(params); + if (res) { + Message.success('绛剧害鎴愬姛', { + onClosed() { + goBack(); + }, + }); + } + } catch (error) {} +} </script> <style lang="scss"> -- Gitblit v1.9.1