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