From 0231109223d2ab5995d0d6e721ef4ea1ad8cccfd Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 14 二月 2025 09:13:57 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 209 insertions(+), 0 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue new file mode 100644 index 0000000..e30e4ca --- /dev/null +++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue @@ -0,0 +1,209 @@ +<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> + <nut-form-item + label="鏈嶅姟璐�:" + class="bole-form-item" + prop="salaryTimeType" + 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">{{ + val + }}</BlRadio> + </nut-radio-group> + </nut-form-item> + <nut-form-item label=" " class="bole-form-item" prop="welfare" label-width="90px"> + <div class="bole-form-input-wrapper"> + <nut-input + v-model.trim="form.welfare" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ユ湇鍔¤垂" + type="text" + /> + <div class="form-input-unit">{{ SalaryTimeTypeEnumUnit[form.salaryTimeType] }}</div> + </div> + </nut-form-item> + <nut-form-item + label="缁撶畻鏂瑰紡:" + class="bole-form-item" + prop="salaryType" + 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> + </nut-form-item> + <nut-form-item label="绂忓埄:" class="bole-form-item" prop="welfare" label-width="90px"> + <ChooseInputWithPicker + v-model="form.welfare" + placeholder="璇烽�夋嫨绂忓埄" + :value-enum="TaskStatusText" + /> + </nut-form-item> + <nut-form-item + label="骞撮緞鑼冨洿:" + class="bole-form-item" + prop="ageStart" + required + label-width="90px" + > + <div class="bole-form-input-wrapper"> + <NumberInput + v-model.trim="form.ageStart" + class="nut-input-text bole-input-text" + placeholder="璇烽�夋嫨骞撮緞鑼冨洿" + :min="1" + /> + <div class="form-input-separator">鑷�</div> + <NumberInput + v-model.trim="form.ageEnd" + class="nut-input-text bole-input-text" + placeholder="璇烽�夋嫨骞撮緞鑼冨洿" + :min="1" + /> + </div> + </nut-form-item> + <nut-form-item label="鎬у埆:" class="bole-form-item" prop="welfare" label-width="90px"> + <ChooseInputWithPicker + v-model="form.welfare" + placeholder="璇烽�夋嫨鎬у埆瑕佹眰" + :value-enum="TaskStatusText" + /> + </nut-form-item> + <nut-form-item label="璧勬牸璇佷功:" class="bole-form-item" prop="welfare" label-width="90px"> + <ChooseInputWithPicker + v-model="form.welfare" + placeholder="璇烽�夋嫨瑕佹眰鐨勮祫鏍艰瘉涔�" + :value-enum="TaskStatusText" + /> + </nut-form-item> + <nut-form-item label="浠诲姟鍦扮偣" class="bole-form-item" prop="weMapInfo" required> + <ChooseLocationInput placeholder="璇烽�夋嫨浠诲姟鎵�鍦ㄥ湴" v-model="form.weMapInfo" /> + </nut-form-item> + <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> + <nut-form-item + label="浠诲姟寮�濮嬫棩鏈�:" + class="bole-form-item" + prop="startDate" + label-width="90px" + > + <ChooseInputWithDatePicker v-model="form.startDate"></ChooseInputWithDatePicker> + </nut-form-item> + <nut-form-item label="浠诲姟缁撴潫鏃ユ湡:" class="bole-form-item" prop="endDate" label-width="90px"> + <ChooseInputWithDatePicker v-model="form.endDate"></ChooseInputWithDatePicker> + </nut-form-item> + </nut-form> + </ContentScrollView> + <PageFooter> + <PageFooterBtn type="primary" plain @click="handleCancel">鍙栨秷</PageFooterBtn> + <PageFooterBtn type="primary" @click="handleConfirm">鍙戝竷</PageFooterBtn> + </PageFooter> +</template> + +<script setup lang="ts"> +import { + TaskStatus, + TaskStatusText, + SalaryTypeText, + SalaryType, + SalaryTimeTypeEnum, + SalaryTimeTypeEnumText, + SalaryTimeTypeEnumUnit, +} from '@/constants/task'; +import { useUser } from '@/hooks'; +import { + ChooseInputWithPicker, + ChooseInputWithDatePicker, + NumberInput, + ChooseLocationInput, + Radio as BlRadio, +} from '@12333/components'; +import { FormValidator } from '@12333/utils'; +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'InnerPage', +}); + +const { userDetail } = useUser(); + +const form = reactive({ + name: '', + welfare: TaskStatus.All, + salaryTimeType: SalaryTimeTypeEnum.Month, + salaryType: SalaryType.month, + startDate: '', + endDate: '', + ageStart: '', + ageEnd: '', + weMapInfo: {} as WeMapModel, +}); + +const rules = reactive<FormRules>({ + name: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }], + + weMapInfo: [ + { required: true, message: '璇疯缃伐浣滃湴鐐�', validator: FormValidator.validatorWeMap }, + ], + + ageStart: [ + { + required: true, + message: '璇疯緭鍏ュ勾榫勮姹�', + validator: () => { + if (!form.ageStart) { + return Promise.reject('璇疯緭鍏ュ勾榫勮姹�'); + } + if (!form.ageEnd) { + return Promise.reject('璇疯緭鍏ュ勾榫勮姹�'); + } + if (Number(form.ageEnd) <= Number(form.ageStart)) { + return Promise.reject('鏈�澶у勾榫勪笉鑳藉皬浜庢渶灏忓勾榫�'); + } + return Promise.resolve(true); + }, + }, + ], +}); +const formRef = ref<any>(null); +function handleConfirm() { + if (!formRef.value) return; + formRef.value.validate().then(({ valid, errors }: any) => { + if (valid) { + confirm(); + } + }); +} + +function confirm() {} + +function handleCancel() { + Taro.navigateBack(); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.publishTask-page-wrapper { + .bole-form-input-wrapper { + display: flex; + align-items: center; + } + + .form-input-unit { + margin-left: 10px; + color: boleGetCssVar('text-color', 'primary'); + flex-shrink: 0; + } +} +</style> -- Gitblit v1.9.1