From 47047d626ea8fab28c04e6534fe6ffa3dc61de69 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 26 十二月 2025 16:09:22 +0800
Subject: [PATCH] feat: init
---
apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue | 105 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 81 insertions(+), 24 deletions(-)
diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
index 7855001..5732f29 100644
--- a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
@@ -58,6 +58,23 @@
></ChooseInputWithDatePicker>
</nut-form-item>
<nut-form-item
+ label="鏈嶅姟鏈烘瀯:"
+ class="bole-form-item"
+ prop="enterpriseEmployeeId"
+ label-width="90px"
+ >
+ <ChooseInputWithSuppliers
+ v-model:supplierEnterpriseId="form.supplierEnterpriseId"
+ placeholder="璇烽�夋嫨"
+ :serviceId="id"
+ :beginTime="form.beginTime"
+ :endTime="form.endTime"
+ v-model:enterpriseEmployeeId="form.enterpriseEmployeeId"
+ v-model:enterpriseEmployeeName="form.enterpriseEmployeeName"
+ v-model:supplierEnterpriseName="form.supplierEnterpriseName"
+ ></ChooseInputWithSuppliers>
+ </nut-form-item>
+ <nut-form-item
label="澶囨敞:"
class="bole-form-item alignTop"
prop="remark"
@@ -73,7 +90,11 @@
</nut-form-item>
</nut-form>
</ContentScrollView>
- <PageFooter>
+ <PageFooter class="order-settle-bar">
+ <div class="order-settle-price-wrapper">
+ <div class="order-settle-price-label">鏀粯锛�</div>
+ <nut-price :price="totlePrice" size="large" />
+ </div>
<PageFooterBtn type="primary" class="business-card-btn" @click="goConfirm"
>绔嬪嵆涓嬪崟</PageFooterBtn
>
@@ -104,6 +125,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',
@@ -120,7 +143,9 @@
beginTime: '',
endTime: '',
supplierEnterpriseId: '',
- enterpriseEmployeeIds: [] as string[],
+ supplierEnterpriseName: '',
+ enterpriseEmployeeId: '',
+ enterpriseEmployeeName: '',
remark: '',
});
@@ -143,6 +168,7 @@
const rules = reactive<FormRules>({
beginTime: [{ required: true, message: '璇烽�夋嫨鏈嶅姟寮�濮嬫椂闂�' }],
endTime: [{ required: true, message: '璇烽�夋嫨鏈嶅姟缁撴潫鏃堕棿' }],
+ enterpriseEmployeeId: [{ required: true, message: '璇烽�夋嫨鏈嶅姟鏈烘瀯' }],
});
const { isLoading, isError, detail, refetch } = useStandardServiceDetail({
@@ -201,12 +227,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();
}
});
}
@@ -221,44 +251,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) {
+ payStandardOrder(res);
+ }
} catch (error) {}
}
-async function pay() {
+async function payStandardOrder(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) {}
}
@@ -271,6 +308,26 @@
.addStandardOrder-form {
.nut-cell-group__wrap {
box-shadow: none;
+
+ .input-text,
+ .h5-textarea {
+ text-align: right !important;
+ }
+ }
+ }
+
+ .order-settle-bar {
+ .order-settle-price-wrapper {
+ height: 100%;
+ flex: 1;
+ min-width: 0;
+ display: flex;
+ align-items: center;
+ margin-left: 28px;
+
+ .order-settle-price-label {
+ color: boleGetCssVar('text-color', 'primary');
+ }
}
}
}
--
Gitblit v1.10.0