From c3055eba8943341f7efed0d6ad77d7bbac208879 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 26 十二月 2025 13:44:40 +0800
Subject: [PATCH] fix: 甲方小程序

---
 apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue |   93 +++++++++++++++++++++++++++++++---------------
 1 files changed, 63 insertions(+), 30 deletions(-)

diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
index a5c9ec9..d19c8d7 100644
--- a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
@@ -60,17 +60,18 @@
         <nut-form-item
           label="鏈嶅姟鏈烘瀯:"
           class="bole-form-item"
-          prop="supplierEnterpriseId"
+          prop="enterpriseEmployeeId"
           label-width="90px"
         >
-          <ChooseInputWithDatePicker
-            v-model="form.endTime"
-            :minDate="endMinTime"
-            :maxDate="endMaxTime"
+          <ChooseInputWithSuppliers
+            v-model:supplierEnterpriseId="form.supplierEnterpriseId"
             placeholder="璇烽�夋嫨"
-            type="datetime"
-            format="YYYY-MM-DD HH:mm:ss"
-          ></ChooseInputWithDatePicker>
+            :serviceId="id"
+            :beginTime="form.beginTime"
+            :endTime="form.endTime"
+            v-model:enterpriseEmployeeId="form.enterpriseEmployeeId"
+            v-model:enterpriseEmployeeName="form.enterpriseEmployeeName"
+          ></ChooseInputWithSuppliers>
         </nut-form-item>
         <nut-form-item
           label="澶囨敞:"
@@ -89,6 +90,10 @@
       </nut-form>
     </ContentScrollView>
     <PageFooter>
+      <div class="addStandardOrder-price-wrapper">
+        <div class="addStandardOrder-price-text">鏀粯锛�</div>
+        <nut-price :price="totlePrice" size="large" />
+      </div>
       <PageFooterBtn type="primary" class="business-card-btn" @click="goConfirm"
         >绔嬪嵆涓嬪崟</PageFooterBtn
       >
@@ -119,6 +124,8 @@
 import * as standardOrderServices from '@12333/services/apiV2/standardOrder';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import dayjs from 'dayjs';
+import { EnumUserBankCardAccess } from '@12333/constants';
+import { Message } from '@12333/utils';
 
 defineOptions({
   name: 'InnerPage',
@@ -136,6 +143,7 @@
   endTime: '',
   supplierEnterpriseId: '',
   enterpriseEmployeeId: '',
+  enterpriseEmployeeName: '',
   remark: '',
 });
 
@@ -158,6 +166,7 @@
 const rules = reactive<FormRules>({
   beginTime: [{ required: true, message: '璇烽�夋嫨鏈嶅姟寮�濮嬫椂闂�' }],
   endTime: [{ required: true, message: '璇烽�夋嫨鏈嶅姟缁撴潫鏃堕棿' }],
+  enterpriseEmployeeId: [{ required: true, message: '璇烽�夋嫨鏈嶅姟鏈烘瀯' }],
 });
 
 const { isLoading, isError, detail, refetch } = useStandardServiceDetail({
@@ -216,12 +225,16 @@
   form.addressId = nowExistAdd.id;
 };
 
+const totlePrice = computed(() => {
+  return (spec.value?.price ?? 0) * specNumber;
+});
+
 const formRef = ref<any>(null);
 function goConfirm() {
   if (!formRef.value) return;
   formRef.value.validate().then(({ valid, errors }: any) => {
     if (valid) {
-      // addStandardOrder();
+      addStandardOrder();
     }
   });
 }
@@ -236,44 +249,51 @@
       specName: spec.value.name,
       specPrice: spec.value.price ?? 0,
       specNumber: specNumber,
-      addressId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
+      addressId: form.addressId,
       name: detail.value.name,
-      contactPhoneNumber: 'string',
-      provinceCode: 'string',
-      provinceContent: 'string',
-      cityCode: 'string',
-      cityContent: 'string',
-      areaCode: 'string',
-      areaContent: 'string',
-      addressName: 'string',
-      addressDetail: 'string',
-      longitude: 0,
-      latitude: 0,
-      beginTime: '2025-12-24T08:25:08.372Z',
-      endTime: '2025-12-24T08:25:08.372Z',
-      supplierEnterpriseId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
-      enterpriseEmployeeIds: ['3fa85f64-5717-4562-b3fc-2c963f66afa6'],
-      remark: 'string',
-      payAccess: 1,
+      contactPhoneNumber: selectedAddress.value.contactPhoneNumber,
+      provinceCode: selectedAddress.value.provinceCode,
+      provinceContent: selectedAddress.value.provinceContent,
+      cityCode: selectedAddress.value.cityCode,
+      cityContent: selectedAddress.value.cityContent,
+      areaCode: selectedAddress.value.areaCode,
+      areaContent: selectedAddress.value.areaContent,
+      addressName: selectedAddress.value.addressName,
+      addressDetail: selectedAddress.value.addressDetail,
+      longitude: selectedAddress.value.longitude,
+      latitude: selectedAddress.value.latitude,
+      beginTime: dayjs(form.beginTime).format('YYYY-MM-DD HH:mm'),
+      endTime: dayjs(form.endTime).format('YYYY-MM-DD HH:mm'),
+      supplierEnterpriseId: form.supplierEnterpriseId,
+      enterpriseEmployeeIds: [form.enterpriseEmployeeId],
+      remark: form.remark,
+      payAccess: EnumUserBankCardAccess.WeChatPay,
     };
     let res = await standardOrderServices.addStandardOrder(params);
+    if (res) {
+      pay(res);
+    }
   } catch (error) {}
 }
 
-async function pay() {
+async function pay(orderId: string) {
   try {
     let params: API.PayStandardOrderCommand = {
-      id: '9e919af2-3d33-4eac-f6dc-08de429676b3',
+      id: orderId,
     };
     let res = await standardOrderServices.payStandardOrder(params);
     if (res) {
-      Taro.requestPayment({
+      await Taro.requestPayment({
         timeStamp: res.timestamp,
         nonceStr: res.nonceStr,
         package: res.package,
         signType: res.signType as any,
         paySign: res.paySign,
       });
+      Message.success('鏀粯鎴愬姛');
+      Taro.redirectTo({
+        url: `${RouterPath.mineOrderDetail}?id=${orderId}`,
+      });
     }
   } catch (error) {}
 }
@@ -293,5 +313,18 @@
       }
     }
   }
+
+  .addStandardOrder-price-wrapper {
+    display: flex;
+    flex: 2;
+    min-width: 0;
+    align-items: center;
+    padding-left: 28px;
+
+    .addStandardOrder-price-text {
+      font-size: 32px;
+      color: boleGetCssVar('text-color', 'primary');
+    }
+  }
 }
 </style>

--
Gitblit v1.10.0