From 2a53dc5bab4b5ba06f86031671fc3365050fa3d1 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 31 十二月 2025 10:37:22 +0800
Subject: [PATCH] fix: bug
---
apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue | 151 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 123 insertions(+), 28 deletions(-)
diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
index 7855001..98eced2 100644
--- a/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/addStandardOrder/InnerPage.vue
@@ -58,6 +58,36 @@
></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"
+ prop="payAccess"
+ label-width="90px"
+ required
+ >
+ <ChooseInputWithPicker
+ v-model="form.payAccess"
+ placeholder="璇烽�夋嫨鏀粯閫氶亾"
+ :value-enum="EnumUserBankCardAccessTextFormStandard"
+ />
+ </nut-form-item>
+ <nut-form-item
label="澶囨敞:"
class="bole-form-item alignTop"
prop="remark"
@@ -73,7 +103,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
>
@@ -86,7 +120,13 @@
:is-show-custom-address="false"
@selected="selected"
exist-address-title="閫夋嫨鍦板潃"
- ></nut-address>
+ >
+ <template #bottom v-if="!infiniteLoadingProps?.flattenListData?.length">
+ <div class="select-address-bottom">
+ <nut-button type="primary" @click="goAddAddress">鏂板鍦板潃</nut-button>
+ </div>
+ </template>
+ </nut-address>
</LoadingLayout>
</template>
@@ -97,6 +137,7 @@
List,
ListItem,
ChooseInputWithDatePicker,
+ ChooseInputWithPicker,
} from '@12333/components';
import Taro from '@tarojs/taro';
import { RouterPath } from '@/constants';
@@ -104,6 +145,9 @@
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, EnumUserBankCardAccessTextFormStandard } from '@12333/constants';
+import { Message } from '@12333/utils';
+import { template } from 'lodash';
defineOptions({
name: 'InnerPage',
@@ -120,8 +164,11 @@
beginTime: '',
endTime: '',
supplierEnterpriseId: '',
- enterpriseEmployeeIds: [] as string[],
+ supplierEnterpriseName: '',
+ enterpriseEmployeeId: '',
+ enterpriseEmployeeName: '',
remark: '',
+ payAccess: EnumUserBankCardAccess.WeChatPay,
});
const nowDate = dayjs().toDate();
@@ -143,6 +190,8 @@
const rules = reactive<FormRules>({
beginTime: [{ required: true, message: '璇烽�夋嫨鏈嶅姟寮�濮嬫椂闂�' }],
endTime: [{ required: true, message: '璇烽�夋嫨鏈嶅姟缁撴潫鏃堕棿' }],
+ enterpriseEmployeeId: [{ required: true, message: '璇烽�夋嫨鏈嶅姟鏈烘瀯' }],
+ payAccess: [{ required: true, message: '璇烽�夋嫨鏀粯閫氶亾' }],
});
const { isLoading, isError, detail, refetch } = useStandardServiceDetail({
@@ -158,6 +207,7 @@
const { infiniteLoadingProps } = useEnterpriseAddresses({
rows: 100,
+ refeshDidShow: false,
onSuccess(res) {
const data = res.pages[0].data;
const address = data.find((item) => item.isDefault);
@@ -172,7 +222,7 @@
const existAddress = computed(() => {
return infiniteLoadingProps.value.flattenListData.map((x) => ({
id: x.id,
- addressDetail: x.addressDetail,
+ addressDetail: `${x.addressName}${x.addressDetail}`,
cityName: '',
countyName: '',
provinceName: '',
@@ -197,16 +247,26 @@
form.selectAddressVisible = true;
}
+function goAddAddress() {
+ Taro.navigateTo({
+ url: `${RouterPath.editAddress}`,
+ });
+}
+
const selected = (prevExistAdd, nowExistAdd, arr) => {
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,46 +281,55 @@
specName: spec.value.name,
specPrice: spec.value.price ?? 0,
specNumber: specNumber,
- addressId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
- 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,
+ addressId: form.addressId,
+ name: selectedAddress.value.name,
+ 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('鏀粯鎴愬姛');
}
- } catch (error) {}
+ } catch (error) {
+ } finally {
+ Taro.redirectTo({
+ url: `${RouterPath.serciceDetail}?id=${id}`,
+ });
+ }
}
</script>
@@ -271,7 +340,33 @@
.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');
+ }
+ }
+ }
+
+ .select-address-bottom {
+ display: flex;
+ justify-content: center;
+ padding: 40px 0;
+ }
}
</style>
--
Gitblit v1.10.0