<template>
|
<LoadingLayout :loading="isLoading && isEdit" :error="isError" :loadError="refetch">
|
<PublishOrderStep1 v-if="current === 'step1'"></PublishOrderStep1>
|
<PublishOrderStep2 v-else-if="current === 'step2'"></PublishOrderStep2>
|
<PublishOrderStep3 v-else-if="current === 'step3'"></PublishOrderStep3>
|
</LoadingLayout>
|
</template>
|
|
<script setup lang="ts">
|
import { usePublishOrderContext } from './context';
|
import PublishOrderStep1 from './PublishOrderStep1.vue';
|
import PublishOrderStep2 from './PublishOrderStep2.vue';
|
import PublishOrderStep3 from './PublishOrderStep3.vue';
|
import { useQuery } from '@tanstack/vue-query';
|
import * as orderServices from '@12333/services/api/Order';
|
import { convertApiPath2Url } from '@12333/utils';
|
|
defineOptions({
|
name: 'InnerPage',
|
});
|
|
const { current, orderId, form, isEdit } = usePublishOrderContext();
|
|
const { isLoading, isError, refetch } = useQuery({
|
queryKey: ['orderServices/getOrdeForDetail', orderId],
|
queryFn: async () => {
|
return await orderServices.getOrdeForDetail(
|
{ id: orderId },
|
{
|
showLoading: false,
|
}
|
);
|
},
|
initialData: () => ({} as API.OrderInfoDto),
|
enabled: !!orderId,
|
onSuccess(data) {
|
form.name = data.orderName;
|
form.hireType = data.hireType;
|
form.hireNumber = data.hireNumber;
|
form.hireEndNumber = data.hireEndNumber;
|
form.ageStart = data.ageStart;
|
form.ageEnd = data.ageEnd;
|
form.sexRequirement = data.sexRequirement;
|
form.salaryType = data.salaryType;
|
form.salaryTimeType = data.salaryTimeType;
|
form.checkRemark = data.checkRemark;
|
form.externalcontactType = data.externalcontactType;
|
form.externalcontactNumber = data.externalcontactNumber;
|
form.areaList = [data.provinceCode, data.cityCode, data.countyCode];
|
form.src = data.src.map(convertApiPath2Url);
|
form.jobIntroduction = data.jobIntroduction;
|
form.supplierRefundList = data.orderSupplierRefundInfo;
|
if (data.orderSupplierRefundInfo?.length > 0) {
|
let item = data.orderSupplierRefundInfo[0];
|
form.rebateMode = item.rebateMode;
|
form.rebateTime = item.rebateTime;
|
form.supplierProfit = item.supplierProfit;
|
form.supplierProfitUint = item.supplierProfitUint;
|
form.cycleType = item.cycleType;
|
}
|
form.manNumber = data.manNumber;
|
form.womanNumber = data.womanNumber;
|
form.integratedSalary = data.integratedSalary;
|
form.industryTypeId = data.industryTypeId;
|
},
|
});
|
</script>
|