wupengfei
2 天以前 83a43c957729ffdec7ca8eb4f8ebd62a1c6b4abc
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -20,11 +20,11 @@
      </nut-form-item>
      <nut-form-item label=" " class="bole-form-item" prop="serviceFee" label-width="0">
        <div class="bole-form-input-wrapper">
          <nut-input
          <NumberInput
            v-model.trim="form.serviceFee"
            class="nut-input-text bole-input-text"
            placeholder="请输入服务费"
            type="text"
            :min="0"
          />
          <div class="form-input-unit">{{ BillingMethodEnumUnit[form.billingMethod] }}</div>
        </div>
@@ -83,7 +83,7 @@
        <ChooseInputWithPicker
          v-model="form.genderLimit"
          placeholder="请选择性别要求"
          :value-enum="EnumUserGenderText"
          :value-enum="EnumUserGenderTextOptions"
        />
      </nut-form-item>
      <nut-form-item
@@ -122,10 +122,18 @@
        prop="beginTime"
        label-width="90px"
      >
        <ChooseInputWithDatePicker v-model="form.beginTime"></ChooseInputWithDatePicker>
        <ChooseInputWithDatePicker
          v-model="form.beginTime"
          :minDate="nowDate"
          placeholder="请选择任务开始日期"
        ></ChooseInputWithDatePicker>
      </nut-form-item>
      <nut-form-item label="任务结束日期:" class="bole-form-item" prop="endTime" label-width="90px">
        <ChooseInputWithDatePicker v-model="form.endTime"></ChooseInputWithDatePicker>
        <ChooseInputWithDatePicker
          v-model="form.endTime"
          :minDate="nowDate"
          placeholder="请选择任务结束日期"
        ></ChooseInputWithDatePicker>
      </nut-form-item>
    </nut-form>
  </ContentScrollView>
@@ -146,6 +154,7 @@
  EnumUserGenderText,
  EnumSettlementCycleText,
  BillingMethodEnumUnit,
  EnumUserGenderTextOptions,
} from '@12333/constants';
import {
  ChooseInputWithPicker,
@@ -173,10 +182,12 @@
const { userDetail } = useUser();
const { findAreaNameFromCode } = useAllAreaList();
const router = Taro.useRouter();
const taskId = router.params?.taskId ?? '';
const taskId = router.params?.id ?? '';
const isEdit = !!taskId;
const isCopy = router.params?.isCopy === 'true';
console.log('isCopy: ', router.params?.isCopy);
const nowDate = dayjs().toDate();
const { dictionaryDataList: WelfareTypeList } = useDictionaryDataSelect({
  categoryCode: CategoryCode.Welfare,
@@ -191,9 +202,9 @@
  serviceFee: '' as any as number,
  settlementCycle: EnumSettlementCycle.Month,
  benefits: [] as string[],
  ageMinLimit: 0,
  ageMaxLimit: 0,
  genderLimit: '' as any as EnumUserGender,
  ageMinLimit: '' as any as number,
  ageMaxLimit: '' as any as number,
  genderLimit: 0 as any as EnumUserGender,
  credentialLimits: [] as string[],
  // address: '',
  beginTime: '',
@@ -208,7 +219,21 @@
  name: [{ required: true, message: '请输入任务名称' }],
  genderLimit: [{ required: true, message: '请选择性别要求' }],
  addressDetail: [{ required: true, message: '请输入详细地址' }],
  billingMethod: [
    {
      required: true,
      message: '请选择收费方式',
      validator: () => {
        if (!form.billingMethod) {
          return Promise.reject('请选择服务费类型');
        }
        if (!form.serviceFee) {
          return Promise.reject('请输入服务费');
        }
        return Promise.resolve(true);
      },
    },
  ],
  weMapInfo: [
    { required: true, message: '请设置工作地点', validator: FormValidator.validatorWeMap },
  ],
@@ -221,10 +246,10 @@
      required: true,
      message: '请输入年龄要求',
      validator: () => {
        if (!form.ageMinLimit) {
        if (!form.ageMinLimit && form.ageMinLimit > 0) {
          return Promise.reject('请输入年龄要求');
        }
        if (!form.ageMaxLimit) {
        if (!form.ageMaxLimit && form.ageMaxLimit > 0) {
          return Promise.reject('请输入年龄要求');
        }
        if (Number(form.ageMaxLimit) <= Number(form.ageMinLimit)) {
@@ -247,7 +272,8 @@
      message: '请选择结束日期',
      validator(value) {
        if (!value) return Promise.reject('请选择结束日期');
        if (value <= form.beginTime) return Promise.reject('结束日期不能小于开始日期');
        if (dayjs(value).isBefore(dayjs(form.beginTime)))
          return Promise.reject('结束日期需大于开始日期');
        return Promise.resolve(true);
      },
    },
@@ -276,17 +302,17 @@
    form.billingMethod = data.billingMethod;
    form.serviceFee = data.serviceFee;
    form.settlementCycle = data.settlementCycle;
    form.benefits = (data.benefits ?? []).map((item) => item.code);
    form.benefits = (data.benefits ?? []).map((item) => item.benefitCode);
    form.ageMinLimit = data.ageMinLimit;
    form.ageMaxLimit = data.ageMaxLimit;
    form.genderLimit = data.genderLimit;
    form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.code);
    form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.typeCode);
    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: findAreaNameFromCode(data.provinceCode),
      cityName: findAreaNameFromCode(data.cityCode),
      provinceName: data.provinceContent,
      cityName: data.cityContent,
      provinceCode: data.provinceCode,
      cityCode: data.cityCode,
      latitude: data.latitude,
@@ -324,8 +350,8 @@
      addressDetail: form.addressDetail,
      longitude: form.weMapInfo.longitude,
      latitude: form.weMapInfo.latitude,
      beginTime: form.beginTime,
      endTime: form.endTime,
      beginTime: dayjs(form.beginTime).format('YYYY-MM-DD 00:00:00'),
      endTime: dayjs(form.endTime).format('YYYY-MM-DD 23:59:59'),
    };
    if (isEdit) {
      params.id = taskId;
@@ -345,7 +371,7 @@
}
function handleCancel() {
  Taro.navigateBack();
  goBack();
}
</script>