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