|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <ProTabs | 
|---|
|  |  |  | v-model="queryState.userSignContractStatus" | 
|---|
|  |  |  | v-model="queryState.status" | 
|---|
|  |  |  | name="home-tab" | 
|---|
|  |  |  | :showPaneContent="false" | 
|---|
|  |  |  | class="home-tabs" | 
|---|
|  |  |  | 
|---|
|  |  |  | title-gutter="12" | 
|---|
|  |  |  | title-scroll | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProTabPane :title="`已签约`" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`待签约`" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`已解约`" :pane-key="EnumTaskUserSignContractStatus.Stop"></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 | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template #footerRight> | 
|---|
|  |  |  | <template | 
|---|
|  |  |  | v-if="Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Pass" | 
|---|
|  |  |  | v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <nut-button | 
|---|
|  |  |  | class="flexJobManage-card-plain-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.Stop | 
|---|
|  |  |  | " | 
|---|
|  |  |  | 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="goFlexJobSign(item)" | 
|---|
|  |  |  | >企业签约</nut-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </FlexJobCard> | 
|---|
|  |  |  | 
|---|
|  |  |  | name: 'InnerPage', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const enum Status { | 
|---|
|  |  |  | FlexJobWait = 1, | 
|---|
|  |  |  | EnterpriseWait = 2, | 
|---|
|  |  |  | Pass = 3, | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const queryState = reactive({ | 
|---|
|  |  |  | userSignContractStatus: EnumTaskUserSignContractStatus.Pass, | 
|---|
|  |  |  | status: Status.FlexJobWait, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( | 
|---|
|  |  |  | 
|---|
|  |  |  | 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, | 
|---|
|  |  |  | 
|---|
|  |  |  | }}</BlRadio> | 
|---|
|  |  |  | </nut-radio-group> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | <nut-form-item | 
|---|
|  |  |  | label="结算日期:" | 
|---|
|  |  |  | class="bole-form-item" | 
|---|
|  |  |  | prop="settlementCycleDate" | 
|---|
|  |  |  | label-width="90px" | 
|---|
|  |  |  | required | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ChooseInputWithPicker | 
|---|
|  |  |  | v-model="form.genderLimit" | 
|---|
|  |  |  | placeholder="请设置结算日期" | 
|---|
|  |  |  | :value-enum="[]" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | <nut-form-item label="福利:" class="bole-form-item" prop="benefits" label-width="90px"> | 
|---|
|  |  |  | <ChooseInputWithCheckbox | 
|---|
|  |  |  | v-model="form.benefits" | 
|---|
|  |  |  | 
|---|
|  |  |  | const rules = reactive<FormRules>({ | 
|---|
|  |  |  | name: [{ required: true, message: '请输入任务名称' }], | 
|---|
|  |  |  | genderLimit: [{ required: true, message: '请选择性别要求' }], | 
|---|
|  |  |  | settlementCycleDate: [{ required: true, message: '请设置结算日期' }], | 
|---|
|  |  |  | addressDetail: [{ required: true, message: '请输入详细地址' }], | 
|---|
|  |  |  | billingMethod: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </InfiniteLoading> | 
|---|
|  |  |  | </ContentScrollView> | 
|---|
|  |  |  | <div class="taskCheckDetail-tips-wrapper" v-if="!isBindBankCard"> | 
|---|
|  |  |  | <!-- <div class="taskCheckDetail-tips-wrapper" v-if="!isBindBankCard"> | 
|---|
|  |  |  | <div class="taskCheckDetail-tips-text">您尚未绑定银行卡,暂时无法结算服务费</div> | 
|---|
|  |  |  | <div class="taskCheckDetail-tips-btn" @click="goBindBankCard">立即绑定银行卡信息</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const handleApply = useAccessLogin(async () => { | 
|---|
|  |  |  | const handleApply = useAccessReal( | 
|---|
|  |  |  | async () => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let params: API.ApplyTaskCommand = { | 
|---|
|  |  |  | ids: [id], | 
|---|
|  |  |  | 
|---|
|  |  |  | refetch({ type: 'inactive' }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { message: '实名成功后才可报名,请前往实名认证' } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const handleAttention = useAccessLogin(async () => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | 
|---|
|  |  |  | color: Colors.Warning, | 
|---|
|  |  |  | }" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {{ EnumTaskCheckReceiveStatusText[props.checkReceiveStatus] }} | 
|---|
|  |  |  | {{ EnumTaskUserSubmitCheckReceiveStatusText[props.checkReceiveStatus] }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | Colors, | 
|---|
|  |  |  | EnumTaskUserSubmitCheckReceiveStatus, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatusText, | 
|---|
|  |  |  | EnumTaskUserSubmitCheckReceiveStatusText, | 
|---|
|  |  |  | } from '@12333/constants'; | 
|---|
|  |  |  | import { setOSSLink } from '@12333/utils'; | 
|---|
|  |  |  | import dayjs from 'dayjs'; | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="withdraw-money-card"> | 
|---|
|  |  |  | <div class="withdraw-money-card-value"> | 
|---|
|  |  |  | <div class="withdraw-money-card-value-unit">¥</div> | 
|---|
|  |  |  | <div class="withdraw-money-card-value-num">{{ toThousand(props.money) }}</div> | 
|---|
|  |  |  | <div class="withdraw-money-card-value-num">{{ toThousand(props.money ?? 0) }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="withdraw-money-card-type">{{ props.title }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const props = withDefaults(defineProps<Props>(), {}); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const emit = defineEmits<{ | 
|---|
|  |  |  | (e: 'update:checkedId', value: string): void; | 
|---|
|  |  |  | }>(); | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | 
|---|
|  |  |  | export enum EnumPersonalUserRealStatus { | 
|---|
|  |  |  | /**未实名 */ | 
|---|
|  |  |  | UnReal = 0, | 
|---|
|  |  |  | /**校验中 */ | 
|---|
|  |  |  | /**认证中 */ | 
|---|
|  |  |  | Checking = 10, | 
|---|
|  |  |  | /**实名失败 */ | 
|---|
|  |  |  | /**认证失败 */ | 
|---|
|  |  |  | Fail = 99, | 
|---|
|  |  |  | /**已实名 */ | 
|---|
|  |  |  | Real = 100, | 
|---|
|  |  |  | 
|---|
|  |  |  | GetPersonalHireTaskInfosQueryStatus, | 
|---|
|  |  |  | GetTaskInfoQueryResultHireButton, | 
|---|
|  |  |  | GetTaskInfoQueryResultApplyButton, | 
|---|
|  |  |  | EnumTaskUserSubmitCheckReceiveStatus, | 
|---|
|  |  |  | } from './apiEnum'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export const EnumBillingMethodText = { | 
|---|
|  |  |  | 
|---|
|  |  |  | [EnumTaskCheckReceiveStatus.Completed]: '已验收', | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export const EnumTaskUserSubmitCheckReceiveStatusText = { | 
|---|
|  |  |  | [EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit]: '待提交', | 
|---|
|  |  |  | [EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive]: '待验收', | 
|---|
|  |  |  | [EnumTaskUserSubmitCheckReceiveStatus.Success]: '已验收', | 
|---|
|  |  |  | [EnumTaskUserSubmitCheckReceiveStatus.Fail]: '验收未通过', | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export const EnumPersonalFreeTimeText = { | 
|---|
|  |  |  | [EnumPersonalFreeTime.NoLimit]: '不限', | 
|---|
|  |  |  | [EnumPersonalFreeTime.WinterSummerVacations]: '寒暑假', | 
|---|
|  |  |  | 
|---|
|  |  |  | enum EnumPersonalUserRealStatus { | 
|---|
|  |  |  | /**未实名 */ | 
|---|
|  |  |  | UnReal = 0, | 
|---|
|  |  |  | /**校验中 */ | 
|---|
|  |  |  | /**认证中 */ | 
|---|
|  |  |  | Checking = 10, | 
|---|
|  |  |  | /**实名失败 */ | 
|---|
|  |  |  | /**认证失败 */ | 
|---|
|  |  |  | Fail = 99, | 
|---|
|  |  |  | /**已实名 */ | 
|---|
|  |  |  | Real = 100, | 
|---|
|  |  |  | 
|---|
|  |  |  | /** 钱包Id */ | 
|---|
|  |  |  | id?: string; | 
|---|
|  |  |  | access?: EnumEnterpriseWalletAccess; | 
|---|
|  |  |  | /** 账号 */ | 
|---|
|  |  |  | account?: string; | 
|---|
|  |  |  | /** 商户Id */ | 
|---|
|  |  |  | merchantId?: string; | 
|---|
|  |  |  | /** 协议号 */ | 
|---|
|  |  |  | code?: string; | 
|---|
|  |  |  | /** 通道协议号 */ | 
|---|
|  |  |  | 
|---|
|  |  |  | /** 协议失效时间 */ | 
|---|
|  |  |  | invalidTime?: string; | 
|---|
|  |  |  | signStatus?: EnumEnterpriseWalletSignStatus; | 
|---|
|  |  |  | /** 支付宝姓名 */ | 
|---|
|  |  |  | name?: string; | 
|---|
|  |  |  | /** 支付宝登录账号 */ | 
|---|
|  |  |  | identity?: string; | 
|---|
|  |  |  | scene?: EnumEnterpriseWalletExpandindirectOrderScene; | 
|---|
|  |  |  | /** 转账场景说明 */ | 
|---|
|  |  |  | sceneDirections?: string; | 
|---|
|  |  |  | orderStatus?: EnumEnterpriseWalletExpandindirectOrderStatus; | 
|---|
|  |  |  | /** 进件单任务完结时间 */ | 
|---|
|  |  |  | taskFinishTime?: string; | 
|---|
|  |  |  | /** 进件单审核不通过原因 */ | 
|---|
|  |  |  | riskReviewRemark?: string; | 
|---|
|  |  |  | sitesInfo?: GetEnterpriseWalletExpandindirectOrderQueryResultSites; | 
|---|
|  |  |  | /** 附件 */ | 
|---|
|  |  |  | files?: GetEnterpriseWalletExpandindirectOrderQueryResultFile[]; | 
|---|
|  |  |  | expandindirectOrderStatus?: EnumEnterpriseWalletExpandindirectOrderStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | contactPhoneNumber?: string; | 
|---|
|  |  |  | /** 是否实名 */ | 
|---|
|  |  |  | isReal?: boolean; | 
|---|
|  |  |  | realStatus?: EnumPersonalUserRealStatus; | 
|---|
|  |  |  | /** 实名失败消息 */ | 
|---|
|  |  |  | realFailMessage?: string; | 
|---|
|  |  |  | realMethod?: EnumUserRealMethod; | 
|---|
|  |  |  | /** 我的报名 */ | 
|---|
|  |  |  | taskCount?: number; | 
|---|
|  |  |  | 
|---|
|  |  |  | /** 企业Id */ | 
|---|
|  |  |  | enterpriseId?: string; | 
|---|
|  |  |  | access?: EnumEnterpriseWalletAccess; | 
|---|
|  |  |  | /** 账号 */ | 
|---|
|  |  |  | account?: string; | 
|---|
|  |  |  | /** 商户Id */ | 
|---|
|  |  |  | merchantId?: string; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | interface OpenEnterpriseWalletCommandResult { | 
|---|