| | |
| | | <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 () => { |
| | | try { |
| | | let params: API.ApplyTaskCommand = { |
| | | ids: [id], |
| | | }; |
| | | let res = await taskUserServices.applyTask(params); |
| | | if (res) { |
| | | Message.success('报名成功'); |
| | | refetch({ type: 'inactive' }); |
| | | } |
| | | } catch (error) {} |
| | | }); |
| | | const handleApply = useAccessReal( |
| | | async () => { |
| | | try { |
| | | let params: API.ApplyTaskCommand = { |
| | | ids: [id], |
| | | }; |
| | | let res = await taskUserServices.applyTask(params); |
| | | if (res) { |
| | | Message.success('报名成功'); |
| | | 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 { |