<template>
|
<PageLayout
|
class="publishOrder-page-wrapper"
|
:title="`发布订单(${stepperInfo.index.value + 1}/${stepperInfo.steps.value.length})`"
|
hasBorder
|
>
|
<InnerPage />
|
</PageLayout>
|
</template>
|
|
<script setup lang="ts">
|
import { PageLayout } from '@/components';
|
import InnerPage from './innerPage.vue';
|
import { PublishOrderContextKey } from './context';
|
import {
|
OrderStatus,
|
HireType,
|
SexRequirement,
|
SalaryTimeTypeEnum,
|
SalaryType,
|
ExternalcontactType,
|
EmptyRupplierRefund,
|
} from '@12333/constants';
|
import { useStepper } from 'senin-mini/hooks';
|
import Taro from '@tarojs/taro';
|
import {
|
OrderOperateBtnStatus,
|
OrderRebateMode,
|
CycleTypeEnum,
|
SupplierProfitUint,
|
} from '@12333/constants';
|
import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type';
|
|
const router = Taro.useRouter();
|
const orderId = router.params?.id ?? '';
|
const orderOperateBtnStatus = router.params?.orderOperateBtnStatus ?? '';
|
const isEdit = computed(() => {
|
return Number(orderOperateBtnStatus) === OrderOperateBtnStatus.Edit;
|
});
|
|
const DefaultJobIntroduction = `一、工作说明
|
1.工作内容:
|
2.工作时间:
|
二、薪资福利
|
1.工资计算
|
2.工资发放
|
三、食宿介绍
|
1.伙食说明
|
2.住宿说明
|
四、面试说明
|
1.面试要求:
|
2.面试时间:
|
3.面试地点:
|
4.面试材料:
|
5.体检要求:`;
|
|
const form = reactive({
|
name: '',
|
hireType: HireType.hireNumber,
|
hireNumber: '' as any as number,
|
hireEndNumber: '' as any as number,
|
ageStart: '' as any as number,
|
ageEnd: '' as any as number,
|
sexRequirement: SexRequirement.unlimited,
|
salaryTimeType: SalaryTimeTypeEnum.Month,
|
salaryType: SalaryType.month,
|
externalcontactType: ExternalcontactType.platform,
|
externalcontactNumber: '',
|
areaList: [] as number[],
|
src: [] as FileItem[],
|
jobIntroduction: DefaultJobIntroduction,
|
supplierRefundList: [{ ...EmptyRupplierRefund }] as API.SupplierRefundList[],
|
rebateMode: OrderRebateMode.Hour,
|
rebateTime: '' as any as number,
|
supplierProfit: '' as any as number,
|
supplierProfitUint: SupplierProfitUint.Hour,
|
cycleType: CycleTypeEnum.month,
|
manNumber: 0,
|
womanNumber: 0,
|
id: '',
|
industryTypeId: '',
|
integratedSalary: '',
|
provinceCode: '' as any as number,
|
cityCode: '' as any as number,
|
countyCode: '' as any as number,
|
isSyncCircleFriend: true,
|
status: '' as any as OrderStatus,
|
checkRemark: '',
|
});
|
|
const stepperInfo = useStepper(['step1', 'step2', 'step3']);
|
|
provide(PublishOrderContextKey, {
|
form,
|
orderId,
|
orderOperateBtnStatus: Number(orderOperateBtnStatus) as OrderOperateBtnStatus,
|
isEdit,
|
...stepperInfo,
|
});
|
</script>
|