From 6887129e91d32557c2b57178180329f46df09d12 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 10 三月 2025 13:23:49 +0800 Subject: [PATCH] feat: api --- apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue | 75 +++++++++++++++++++++++++++---------- 1 files changed, 54 insertions(+), 21 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue index e30e4ca..0b3ad58 100644 --- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue @@ -1,47 +1,52 @@ <template> <ContentScrollView :paddingH="false"> <nut-form :model-value="form" ref="formRef" :rules="rules"> - <nut-form-item label="浠诲姟鍚嶇О:" class="bole-form-item" prop="name" label-width="90px"> - <nut-input v-model="form.name" placeholder="璇疯緭鍏ヤ换鍔″悕绉�"> </nut-input> + <nut-form-item label="浠诲姟鍚嶇О:" class="bole-form-item" prop="taskName" label-width="90px"> + <nut-input v-model="form.taskName" placeholder="璇疯緭鍏ヤ换鍔″悕绉�"> </nut-input> </nut-form-item> <nut-form-item label="鏈嶅姟璐�:" class="bole-form-item" - prop="salaryTimeType" + prop="feeType" required label-width="90px" > - <nut-radio-group v-model="form.salaryTimeType" direction="horizontal"> - <BlRadio :label="Number(key)" v-for="(val, key) in SalaryTimeTypeEnumText" :key="key">{{ + <nut-radio-group v-model="form.feeType" direction="horizontal"> + <BlRadio :label="Number(key)" v-for="(val, key) in FlexTaskFeeTypeEnumText" :key="key">{{ val }}</BlRadio> </nut-radio-group> </nut-form-item> - <nut-form-item label=" " class="bole-form-item" prop="welfare" label-width="90px"> + <nut-form-item label=" " class="bole-form-item" prop="fee" label-width="90px"> <div class="bole-form-input-wrapper"> <nut-input - v-model.trim="form.welfare" + v-model.trim="form.fee" class="nut-input-text bole-input-text" placeholder="璇疯緭鍏ユ湇鍔¤垂" type="text" /> - <div class="form-input-unit">{{ SalaryTimeTypeEnumUnit[form.salaryTimeType] }}</div> + <div class="form-input-unit">{{ SalaryTimeTypeEnumUnit[form.feeType] }}</div> </div> </nut-form-item> <nut-form-item label="缁撶畻鏂瑰紡:" class="bole-form-item" - prop="salaryType" + prop="settleType" required label-width="90px" > - <nut-radio-group v-model="form.salaryType" direction="horizontal"> - <BlRadio :label="Number(key)" v-for="(val, key) in SalaryTypeText">{{ val }}</BlRadio> + <nut-radio-group v-model="form.settleType" direction="horizontal"> + <BlRadio + :label="Number(key)" + v-for="(val, key) in FlexTaskSettleTypeEnumText" + :key="key" + >{{ val }}</BlRadio + > </nut-radio-group> </nut-form-item> - <nut-form-item label="绂忓埄:" class="bole-form-item" prop="welfare" label-width="90px"> + <nut-form-item label="绂忓埄:" class="bole-form-item" prop="listAideIds" label-width="90px"> <ChooseInputWithPicker - v-model="form.welfare" + v-model="form.listAideIds" placeholder="璇烽�夋嫨绂忓埄" :value-enum="TaskStatusText" /> @@ -112,10 +117,10 @@ import { TaskStatus, TaskStatusText, - SalaryTypeText, - SalaryType, - SalaryTimeTypeEnum, - SalaryTimeTypeEnumText, + FlexTaskSettleTypeEnum, + FlexTaskSettleTypeEnumText, + FlexTaskFeeTypeEnum, + FlexTaskFeeTypeEnumText, SalaryTimeTypeEnumUnit, } from '@/constants/task'; import { useUser } from '@/hooks'; @@ -126,18 +131,28 @@ ChooseLocationInput, Radio as BlRadio, } from '@12333/components'; -import { FormValidator } from '@12333/utils'; +import { FormValidator, Message } from '@12333/utils'; +import * as flexWorkerServices from '@12333/services/api/FlexWorker'; import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; import Taro from '@tarojs/taro'; +import { goBack } from '@/utils'; defineOptions({ name: 'InnerPage', }); const { userDetail } = useUser(); +const router = Taro.useRouter(); +const taskId = router.params?.taskId ?? ''; +const isEdit = computed(() => !!taskId); const form = reactive({ - name: '', + taskName: '', + feeType: FlexTaskFeeTypeEnum.OfMonth, + fee: 0, + settleType: FlexTaskSettleTypeEnum.OfMonth, + listAideIds: [] as string[], + welfare: TaskStatus.All, salaryTimeType: SalaryTimeTypeEnum.Month, salaryType: SalaryType.month, @@ -149,7 +164,7 @@ }); const rules = reactive<FormRules>({ - name: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }], + taskName: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }], weMapInfo: [ { required: true, message: '璇疯缃伐浣滃湴鐐�', validator: FormValidator.validatorWeMap }, @@ -184,7 +199,25 @@ }); } -function confirm() {} +async function confirm() { + try { + let params: API.AddEidtFlexTaskInput = { + taskName: form.taskName, + feeType: form.salaryType, + }; + if (isEdit.value) { + params.taskId = taskId; + } + let res = await flexWorkerServices.addEidtFlexTask(params); + if (res) { + Message.success(isEdit.value ? '缂栬緫鎴愬姛' : '鍙戝竷鎴愬姛', { + onClosed() { + goBack(); + }, + }); + } + } catch (error) {} +} function handleCancel() { Taro.navigateBack(); -- Gitblit v1.9.1