Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
| | |
| | | "description": "", |
| | | "setting": { |
| | | "urlCheck": false, |
| | | "es6": false, |
| | | "enhance": false, |
| | | "es6": true, |
| | | "enhance": true, |
| | | "postcss": false, |
| | | "preloadBackgroundData": false, |
| | | "minified": false, |
| | |
| | | "miniprogram": { |
| | | "list": [ |
| | | { |
| | | "name": "应聘管理详情", |
| | | "pathName": "subpackages/jobApplicationManage/jobApplicationDetail/jobApplicationDetail", |
| | | "query": "taskId=04c75425-e783-4dbf-0f16-08ddd626b756", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "设置", |
| | | "pathName": "subpackages/mine/setting/setting", |
| | | "query": "", |
| | |
| | | |
| | | const style = computed(() => { |
| | | return parent.props.direction === 'down' |
| | | ? { top: parent.offset.value + 'px' } |
| | | ? { top: parent.offset.value + 'px', zIndex: 222222222 } |
| | | : { bottom: parent.offset.value + 'px' }; |
| | | }); |
| | | |
| | |
| | | <template> |
| | | <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> |
| | | <ContentScrollView style="background-color: transparent"> |
| | | <Cell :title="detail.taskName" titleSize="large"> |
| | | <Cell :title="detail.name" titleSize="large"> |
| | | <div class="taskDetail-time"> |
| | | {{ |
| | | `${dayjs(detail.startDate).format('YYYY年MM月DD日')}至${dayjs(detail.endDate).format( |
| | | `${dayjs(detail.beginTime).format('YYYY年MM月DD日')}至${dayjs(detail.endTime).format( |
| | | 'YYYY年MM月DD日' |
| | | )}` |
| | | }} |
| | |
| | | <div class="task-card-welfare-wrapper"> |
| | | <div class="task-card-welfare-list"> |
| | | <div class="task-card-welfare-list-item"> |
| | | {{ FlexTaskSettleTypeEnumText[detail.settleType] }} |
| | | {{ EnumSettlementCycleText[detail.settlementCycle] }} |
| | | </div> |
| | | </div> |
| | | <TaskPrice :value="detail.fee" :unit="SalaryTimeTypeEnumUnit[detail.feeType]" /> |
| | | <TaskPrice |
| | | :value="toThousand(detail.serviceFee ?? 0)" |
| | | :unit="BillingMethodEnumUnit[detail.billingMethod]" |
| | | /> |
| | | </div> |
| | | <div class="taskDetail-address-wrapper"> |
| | | <div class="taskDetail-address-title-wrapper"> |
| | | <img :src="IconLocaltion" class="taskDetail-address-title-icon" /> |
| | | <div class="taskDetail-address-title">宁波柏悦酒店</div> |
| | | <div class="taskDetail-address-title">{{ detail?.addressName ?? '' }}</div> |
| | | </div> |
| | | <div class="taskDetail-address-info-wrapper"> |
| | | <div class="taskDetail-address-info">宁波市鄞州区东钱湖大堰路188号宁波柏悦酒店</div> |
| | | <div class="taskDetail-address-info">{{ detail?.addressDetail ?? '' }}</div> |
| | | <RectRight :size="8" class="taskDetail-address-info-icon" /> |
| | | </div> |
| | | </div> |
| | |
| | | <CellChunk title="福利信息"> |
| | | <div class="taskDetail-welfare-list"> |
| | | <TaskDetailWelfareItem |
| | | v-for="item in detail.taskWeals" |
| | | :key="item.id" |
| | | :icon="setOSSLink(item.imageUrl)" |
| | | :text="item.name" |
| | | v-for="benefit in detail.benefits" |
| | | :key="benefit.benefitCode" |
| | | :icon="setOSSLink(benefit.benefitField2)" |
| | | :text="benefit.benefitContent" |
| | | /> |
| | | </div> |
| | | </CellChunk> |
| | |
| | | <script setup lang="ts"> |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import Taro from '@tarojs/taro'; |
| | | import * as flexWorkerServices from '@12333/services/api/FlexWorker'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import IconLocaltion from '@/assets/flexJob/icon-localtion.png'; |
| | | import { TaskPrice, TaskDetailWelfareItem } from '@12333/components'; |
| | | import { SalaryTimeTypeEnumUnit, FlexTaskSettleTypeEnumText } from '@12333/constants/task'; |
| | | import dayjs from 'dayjs'; |
| | | import { setOSSLink } from '@12333/utils'; |
| | | import { setOSSLink, toThousand } from '@12333/utils'; |
| | | import { RectRight } from '@nutui/icons-vue-taro'; |
| | | import { BillingMethodEnumUnit, EnumSettlementCycleText } from '@12333/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'JobDetail', |
| | |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['flexWorkerServices/getFlexTaskDto', taskId], |
| | | queryKey: ['taskServices/getTaskInfo', taskId], |
| | | queryFn: async () => { |
| | | return await flexWorkerServices.getFlexTaskDto( |
| | | return await taskServices.getTaskInfo( |
| | | { id: taskId }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetFlexTaskDtoOutput), |
| | | onSuccess(data) {}, |
| | | placeholderData: () => ({} as API.GetTaskInfoQueryResult), |
| | | }); |
| | | </script> |
| | | |
| | |
| | | @edit="goEdit(item)" |
| | | @copy="goEdit(item, true)" |
| | | @detail="goDetail(item)" |
| | | @click="goDetail(item)" |
| | | @publish="handleChangeStatus(item, EnumTaskReleaseStatus.InProcess)" |
| | | @stop="handleChangeStatus(item, EnumTaskReleaseStatus.Stopped)" |
| | | @delete="handleDelete(item)" |
| | |
| | | message: '请选择结束日期', |
| | | validator(value) { |
| | | if (!value) return Promise.reject('请选择结束日期'); |
| | | if (value <= form.beginTime) return Promise.reject('结束日期不能小于开始日期'); |
| | | if (!dayjs(value).isAfter(dayjs(form.beginTime))) |
| | | return Promise.reject('结束日期需大于开始日期'); |
| | | return Promise.resolve(true); |
| | | }, |
| | | }, |
| | |
| | | form.ageMaxLimit = data.ageMaxLimit; |
| | | form.genderLimit = data.genderLimit; |
| | | form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.typeCode); |
| | | form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD 00:00:00'); |
| | | form.endTime = dayjs(data.endTime).format('YYYY-MM-DD 23:59:59'); |
| | | form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD'); |
| | | form.endTime = dayjs(data.endTime).format('YYYY-MM-DD'); |
| | | form.addressDetail = data.addressDetail; |
| | | form.weMapInfo = { |
| | | provinceName: data.provinceContent, |
| | |
| | | { |
| | | "globals": { |
| | | "AppLocalConfig": true, |
| | | "BackType": true, |
| | | "Component": true, |
| | | "ComponentPublicInstance": true, |
| | | "ComputedRef": true, |
| | | "DirectiveBinding": true, |
| | | "EffectScope": true, |
| | | "ExtractDefaultPropTypes": true, |
| | | "ExtractPropTypes": true, |
| | | "ExtractPublicPropTypes": true, |
| | | "InjectionKey": true, |
| | | "MaybeRef": true, |
| | | "MaybeRefOrGetter": true, |
| | | "OssAssets": true, |
| | | "PropType": true, |
| | | "Ref": true, |
| | | "RouterPath": true, |
| | | "Slot": true, |
| | | "Slots": true, |
| | | "TabBarPageRouter": true, |
| | | "TaskStatus": true, |
| | | "TaskStatusColor": true, |
| | | "TaskStatusText": true, |
| | | "VNode": true, |
| | | "WritableComputedRef": true, |
| | | "acceptHMRUpdate": true, |
| | |
| | | "mapStores": true, |
| | | "mapWritableState": true, |
| | | "markRaw": true, |
| | | "myClient": true, |
| | | "nextTick": true, |
| | | "onActivated": true, |
| | | "onBeforeMount": true, |
| | |
| | | "toValue": true, |
| | | "triggerRef": true, |
| | | "unref": true, |
| | | "useAccessLogin": true, |
| | | "useAccessPersonalInfo": true, |
| | | "useAttrs": true, |
| | | "useAuth": true, |
| | | "useCssModule": true, |
| | | "useCssVars": true, |
| | | "useGoLogin": true, |
| | | "useId": true, |
| | | "useIsLogin": true, |
| | | "useLink": true, |
| | | "useLoginedJump": true, |
| | | "useModel": true, |
| | | "useMyCertificationAuditInfo": true, |
| | | "useRoute": true, |
| | | "useRouter": true, |
| | | "useSlots": true, |
| | | "useSwitchTab": true, |
| | | "useTemplateRef": true, |
| | | "useUser": true, |
| | | "useUserResume": true, |
| | | "watch": true, |
| | | "watchEffect": true, |
| | | "watchPostEffect": true, |
| | | "watchSyncEffect": true, |
| | | "AppLocalConfig": true, |
| | | "BackType": true, |
| | | "HomeOrderType": true, |
| | | "OssAssets": true, |
| | | "TabBarPageRouter": true, |
| | | "TaskStatus": true, |
| | | "TaskStatusColor": true, |
| | | "TaskStatusText": true, |
| | | "myClient": true, |
| | | "useAccessLogin": true, |
| | | "useAccessPersonalInfo": true, |
| | | "useAuth": true, |
| | | "useGoLogin": true, |
| | | "useIsLogin": true, |
| | | "useLoginedJump": true, |
| | | "useMyCertificationAuditInfo": true, |
| | | "useSwitchTab": true, |
| | | "useTaskList": true, |
| | | "useUser": true, |
| | | "useUserResume": true, |
| | | "useUpdateResume": true |
| | | } |
| | | } |
| | |
| | | }); |
| | | |
| | | /** |
| | | * TODO 缺少已报名人数 手机 投诉举报接口 报名接口 |
| | | * TODO 缺少 手机 投诉举报接口 报名接口 |
| | | */ |
| | | |
| | | const router = Taro.useRouter(); |
| | |
| | | modelValue: _modelValue, |
| | | onCancel: onClose, |
| | | onConfirm: ({ selectedValue }) => { |
| | | emit('update:modelValue', dayjs(selectedValue).format('YYYY-MM-DD')); |
| | | emit('update:modelValue', dayjs(selectedValue.join('-')).format('YYYY-MM-DD')); |
| | | onClose(); |
| | | }, |
| | | minDate: props.minDate, |
| | |
| | | direction, |
| | | { fullHeight, noContent: !showPaneContent, flexTitle, noSmile: !showSmile }, |
| | | ]" |
| | | :style="tabsStyle" |
| | | > |
| | | <div :class="['pro-tabs__titles_wrapper', { isTransparent }]"> |
| | | <scroll-view |
| | |
| | | return { marginLeft: px, marginRight: px }; |
| | | }); |
| | | const refRandomId = Math.random().toString(36).slice(-8); |
| | | |
| | | const systemInfo = Taro.getSystemInfoSync(); |
| | | console.log('systemInfo: ', systemInfo); |
| | | |
| | | const tabsStyle = computed(() => { |
| | | if (systemInfo.platform === 'ios') { |
| | | return { overflow: 'visible' }; |
| | | } else { |
| | | return {}; |
| | | } |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |