| | |
| | | v-model="form.settlementCycle" |
| | | :value-enum="EnumSettlementCycleText" |
| | | :button-style="false" |
| | | @change="handleSettlementCycleChange" |
| | | ></ProFormRadio> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12" class="settlement-cycle-date-form-item"> |
| | | <ProFormItemV2 |
| | | label="结算日期:" |
| | | prop="settlementCycle" |
| | | :check-rules="[{ message: '请选择结算日期' }]" |
| | | > |
| | | {{ EnumSettlementCycleDateText[form.settlementCycle] }} |
| | | <ProFormSelect |
| | | v-model="form.settlementDate" |
| | | :value-enum="settlementDateList" |
| | | :button-style="false" |
| | | ></ProFormSelect> |
| | | {{ '结算' }} |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | |
| | | > |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | :min="1" |
| | | :min="0" |
| | | v-model="form.ageMinLimit" |
| | | placeholder="请输入" |
| | | ></ProFormInputNumber> |
| | | <div class="form-input-separator">至</div> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | :min="1" |
| | | :min="0" |
| | | v-model="form.ageMaxLimit" |
| | | placeholder="请输入" |
| | | ></ProFormInputNumber> |
| | | 岁 |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | |
| | | <ProFormRadio |
| | | v-model="form.genderLimit" |
| | | :value-enum="EnumUserGenderTextForEdit" |
| | | show-all-btn |
| | | :all-btn-label="'不限'" |
| | | :allBtnValue="0" |
| | | ></ProFormRadio> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | |
| | | <ProFormItemV2 |
| | | label="任务地点:" |
| | | prop="weMapInfo" |
| | | :check-rules="[ |
| | | { message: '请选择任务地点', validator: FormValidator.validatorWeMap }, |
| | | ]" |
| | | :check-rules="[{ message: '请选择任务地点', type: 'weMap' }]" |
| | | > |
| | | <WeMap v-if="!isDetail" v-model="form.weMapInfo" /> |
| | | <div v-else> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :disabled-date="disabledDate" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | |
| | | ProFormRadio, |
| | | ProFormDatePicker, |
| | | ProFormCheckbox, |
| | | ProFormSelect, |
| | | } from '@bole-core/components'; |
| | | import { FormInstance, ModelValueType } from 'element-plus'; |
| | | import { Message } from '@bole-core/core'; |
| | |
| | | EnumBillingMethodText, |
| | | EnumBillingMethodUnitText, |
| | | EnumSettlementCycleText, |
| | | EnumSettlementCycleDateText, |
| | | EnumSettlementCycleDateMonthArray, |
| | | EnumSettlementCycleDateWeekArray, |
| | | } from '@/constants'; |
| | | import { format, FormValidator } from '@/utils'; |
| | | import dayjs from 'dayjs'; |
| | |
| | | const id = route.params.id as string; |
| | | const isEdit = !!id; |
| | | |
| | | function disabledDate(time: Date) { |
| | | return dayjs(time).isBefore(dayjs(), 'day'); |
| | | } |
| | | |
| | | const eventContext = useGlobalEventContext(); |
| | | |
| | | const { closeViewPush } = useRouteView(); |
| | |
| | | }); |
| | | const { dictionaryDataList: certificateTypeList } = useDictionaryDataSelect({ |
| | | categoryCode: CategoryCode.CertificateType, |
| | | }); |
| | | |
| | | const settlementDateList = computed(() => { |
| | | if (form.settlementCycle === EnumSettlementCycle.Month) { |
| | | return EnumSettlementCycleDateMonthArray; |
| | | } |
| | | if (form.settlementCycle === EnumSettlementCycle.Week) { |
| | | return EnumSettlementCycleDateWeekArray; |
| | | } |
| | | return []; |
| | | }); |
| | | |
| | | const state = reactive({ |
| | |
| | | |
| | | const form = reactive({ |
| | | name: '', |
| | | billingMethod: '' as any as EnumBillingMethod, |
| | | serviceFee: 0, |
| | | settlementCycle: '' as any as EnumSettlementCycle, |
| | | billingMethod: EnumBillingMethod.Day, |
| | | serviceFee: null, |
| | | settlementCycle: EnumSettlementCycle.Day, |
| | | settlementDate: null as number, |
| | | benefits: [] as string[], |
| | | ageMinLimit: 0, |
| | | ageMaxLimit: 0, |
| | | ageMinLimit: null, |
| | | ageMaxLimit: null, |
| | | genderLimit: 0 as any as EnumUserGender, |
| | | credentialLimits: [] as string[], |
| | | time: [] as unknown as ModelValueType, |
| | |
| | | form.billingMethod = data.billingMethod; |
| | | form.serviceFee = data.serviceFee; |
| | | form.settlementCycle = data.settlementCycle; |
| | | form.settlementDate = data.settlementDate; |
| | | form.benefits = data.benefits?.map((x) => x.benefitCode) ?? []; |
| | | form.ageMinLimit = data.ageMinLimit; |
| | | form.ageMaxLimit = data.ageMaxLimit; |
| | |
| | | enabled: isEdit, |
| | | }); |
| | | |
| | | function handleSettlementCycleChange() { |
| | | form.settlementDate = null as number; |
| | | } |
| | | |
| | | function handleBack() { |
| | | closeViewPush(route, { |
| | | name: 'TaskManageList', |
| | |
| | | } |
| | | async function submit() { |
| | | try { |
| | | console.log('form.weMapInfo: ', form.weMapInfo); |
| | | let params: API.SaveTaskInfoCommand = { |
| | | name: form.name, |
| | | billingMethod: form.billingMethod, |
| | | serviceFee: form.serviceFee, |
| | | settlementCycle: form.settlementCycle, |
| | | settlementDate: form.settlementDate, |
| | | benefits: form.benefits, |
| | | ageMinLimit: form.ageMinLimit, |
| | | ageMaxLimit: form.ageMaxLimit, |
| | |
| | | width: auto; |
| | | } |
| | | } |
| | | |
| | | .settlement-cycle-date-form-item { |
| | | color: inherit; |
| | | |
| | | .el-form-item__content { |
| | | flex-wrap: nowrap; |
| | | |
| | | .el-select { |
| | | margin: 0 20px; |
| | | width: auto; |
| | | min-width: 0; |
| | | flex: 1; |
| | | } |
| | | |
| | | .pro-from-item-read-content-wrapper { |
| | | width: auto; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |