| | |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <template v-if="form.billingMethod === EnumBillingMethod.Hour"> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="核定工时:" prop="verifyWorkHours"> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | v-model="form.verifyWorkHours" |
| | | placeholder="请输入核定工时" |
| | | :min="0" |
| | | :max="999999999999" |
| | | unit="小时/天" |
| | | ></ProFormInputNumber> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="超时服务费:" prop="timeoutServiceFee"> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | v-model="form.timeoutServiceFee" |
| | | placeholder="请输入超时服务费" |
| | | :min="0" |
| | | :max="999999999999" |
| | | unit="元/小时" |
| | | ></ProFormInputNumber> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | </template> |
| | | |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 |
| | | label="详细地址:" |
| | | prop="addressDetail" |
| | | :check-rules="[{ message: '请输入详细地址' }]" |
| | | > |
| | | <ProFormText v-model.trim="form.addressDetail" placeholder="请输入详细地址" /> |
| | | <ProFormItemV2 label="地点说明:" prop="addressDetail"> |
| | | <ProFormText v-model.trim="form.addressDetail" placeholder="请输入地点说明" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="任务描述:" prop="description"> |
| | | <ProFormTextArea |
| | | :rows="4" |
| | | v-model.trim="form.description" |
| | | placeholder="请输入任务描述" |
| | | /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | |
| | | end-placeholder="结束日期" |
| | | :disabled-date="disabledDate" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 |
| | | label="报名时间:" |
| | | prop="applyTime" |
| | | :check-rules="[{ message: '请选择报名时间', type: 'array' }]" |
| | | > |
| | | <ProFormDatePicker |
| | | v-model="form.applyTime" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :disabled-date="disabledapplyDate" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 |
| | | label="验收方式:" |
| | | prop="checkReceiveMethod" |
| | | :check-rules="[{ message: '请选择验收方式' }]" |
| | | > |
| | | <ProFormRadio |
| | | v-model="form.checkReceiveMethod" |
| | | :value-enum="EnumTaskCheckReceiveMethodText" |
| | | :button-style="false" |
| | | ></ProFormRadio> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | |
| | | ProFormDatePicker, |
| | | ProFormCheckbox, |
| | | ProFormSelect, |
| | | ProFormTextArea, |
| | | } from '@bole-core/components'; |
| | | import { FormInstance, ModelValueType } from 'element-plus'; |
| | | import { Message } from '@bole-core/core'; |
| | |
| | | import * as taskServices from '@/services/api/task'; |
| | | import { |
| | | EnumUserGenderTextForEdit, |
| | | EnumBillingMethod, |
| | | EnumBillingMethodText, |
| | | EnumBillingMethodUnitText, |
| | | EnumSettlementCycleText, |
| | |
| | | EnumSettlementCycleDateMonthArray, |
| | | EnumSettlementCycleDateWeekArray, |
| | | EnumSettlementCycle, |
| | | EnumTaskCheckReceiveMethodText, |
| | | } from '@/constants'; |
| | | import { format, FormValidator } from '@/utils'; |
| | | import dayjs from 'dayjs'; |
| | |
| | | |
| | | function disabledDate(time: Date) { |
| | | return dayjs(time).isBefore(dayjs(), 'day'); |
| | | } |
| | | |
| | | function disabledapplyDate(time: Date) { |
| | | return dayjs(time).isBefore(form.time[0], 'day'); |
| | | } |
| | | |
| | | const eventContext = useGlobalEventContext(); |
| | |
| | | time: [] as unknown as ModelValueType, |
| | | weMapInfo: {} as WeMapModel, |
| | | addressDetail: '', |
| | | verifyWorkHours: null as number, |
| | | timeoutServiceFee: null as number, |
| | | description: '', |
| | | checkReceiveMethod: '' as any as EnumTaskCheckReceiveMethod, |
| | | applyTime: [] as unknown as ModelValueType, |
| | | }); |
| | | |
| | | const { isLoading } = useQuery({ |
| | |
| | | format(data.beginTime, 'YYYY-MM-DD 00:00:00'), |
| | | format(data.endTime, 'YYYY-MM-DD 23:59:59'), |
| | | ]; |
| | | form.applyTime = [ |
| | | format(data.applyBeginTime, 'YYYY-MM-DD 00:00:00'), |
| | | format(data.applyEndTime, 'YYYY-MM-DD 23:59:59'), |
| | | ]; |
| | | form.weMapInfo = { |
| | | latitude: data.latitude, |
| | | longitude: data.longitude, |
| | |
| | | addressName: data.addressName, |
| | | }; |
| | | form.addressDetail = data.addressDetail; |
| | | form.verifyWorkHours = data.verifyWorkHours; |
| | | form.timeoutServiceFee = data.timeoutServiceFee; |
| | | form.description = data.description; |
| | | form.checkReceiveMethod = data.checkReceiveMethod; |
| | | form.applyTime = [ |
| | | format(data.applyBeginTime, 'YYYY-MM-DD 00:00:00'), |
| | | format(data.applyEndTime, 'YYYY-MM-DD 23:59:59'), |
| | | ]; |
| | | }, |
| | | enabled: isEdit, |
| | | }); |
| | |
| | | latitude: form.weMapInfo.latitude, |
| | | beginTime: dayjs(form.time[0]).format('YYYY-MM-DD 00:00:00'), |
| | | endTime: dayjs(form.time[1]).format('YYYY-MM-DD 23:59:59'), |
| | | applyBeginTime: dayjs(form.applyTime[0]).format('YYYY-MM-DD 00:00:00'), |
| | | applyEndTime: dayjs(form.applyTime[1]).format('YYYY-MM-DD 23:59:59'), |
| | | verifyWorkHours: form.verifyWorkHours, |
| | | timeoutServiceFee: form.timeoutServiceFee, |
| | | description: form.description, |
| | | checkReceiveMethod: form.checkReceiveMethod, |
| | | }; |
| | | if (isEdit) { |
| | | params.id = id; |