宴席2.0
Some checks are pending
deploy / deploy (push) Waiting to run

This commit is contained in:
sjeam 2025-08-15 10:36:08 +08:00
parent 45ead1dd41
commit 01886bf729
4 changed files with 82 additions and 103 deletions

View File

@ -225,8 +225,8 @@
message: '请输入详细地址'
}
]" />
<wd-textarea label="备注" v-model="orderInfo.remark" placeholder="请填写备注" />
<wd-textarea label="备注" auto-height v-model="orderInfo.remark" placeholder="请填写备注" />
<view class="pb-4" />
<wd-button plain hairline custom-style="width: calc(100vw - 100rpx);"
@click="handleSubmit(1)">确定预定做席后再支付</wd-button>
<wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="handleSubmit(1)">付定金锁定订单</wd-button>

View File

@ -534,11 +534,11 @@ export default defineComponent({
console.log(item);
if (item.type === 1) {
uni.navigateTo({
url: `/pages/banquet/combo/dishes?id=${item.id}&is_add=1`
url: `/pages/banquet/combo/dishes?id=${item.id}`
});
} else {
uni.navigateTo({
url: `/pages/banquet/combo/dishes_combo?id=${item.id}&is_add=1`
url: `/pages/banquet/combo/dishes_combo?id=${item.id}`
});
}

View File

@ -66,9 +66,9 @@
prefixIcon="weixin-fill" customStyle="font-weight:bold"
iconStyle="font-size:64rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none">
</up-text>
<!-- <u-icon size="48rpx" slot="right" label-color="red" :label="`¥2000.00元`"></u-icon> -->
<!-- <u-icon size="48rpx" slot="right" label-color="red" readonly:label="`¥2000.00元`"></u-icon> -->
<view style="display: inline-block; float:right">
<u-radio iconSize="36rpx" size="36rpx" activeColor="#59CB56" label=""></u-radio>
<u-radio iconSize="36rpx" size="36rpx" activeColor="#59CB56" readonly label=""></u-radio>
</view>
</view>
@ -84,6 +84,9 @@
</wd-cell-group>
</u-popup>
<view v-for="(matchedItems, index) in matchedItems_sp" :key="index">
<wd-card>
<template #title>
@ -115,17 +118,16 @@
:show="true" prefixIcon="" customStyle="font-weight:bold"
iconStyle="font-size:28rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none">
</up-text>
<u-icon slot="right" label-color="red" :label="`¥${item.dishes.price}元`"></u-icon>
<u-icon slot="right" label-color="red" readonly:label="`¥${item.dishes.price}元`"></u-icon>
</view>
</template>
<template #label>
<view class="h-60 flex color-gray">
<up-text size="26rpx" :text="`${item.dishes.intro}`" :flex1="true" align="left" wordWrap="normal"
:show="true" prefixIcon="" customStyle=""
iconStyle="font-size:28rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none">
</up-text>
<u-icon slot="right" label-color="red" :label="`X${item.number}`"></u-icon>
<u-icon slot="right" label-color="red" readonly:label="`X${item.number}`"></u-icon>
</view>
</template>
</u-cell>
@ -133,36 +135,42 @@
</up-cell-group>
</view>
<!-- <template #footer>
<view>
<template #footer>
<!-- <view>
<wd-button size="small" style="margin-right: 8px;">评价</wd-button>
<wd-button size="small" plain>立即使用</wd-button>
</view> -->
<view class="title font-size-32">
<view>费用合计</view>
<view class="title-tip">
<text class="font-size-32 color-red ">{{ orderInfo.final_price }}</text>
</view>
</view>
</template> -->
</template>
</wd-card>
</view>
<wd-card>
<template #title>
<view class="title font-size-32">
<view>费用合计</view>
<view class="title-tip">
<text class="font-size-32 color-red ">{{ totalPrice }}</text>
</view>
</view>
</template>
</wd-card>
<wd-card title="厨师信息">
<view>厨师姓名{{ server_user.public_name }}</view>
<view>厨师联系方式{{ server_user.phone }}</view>
<view class="pt-2">厨师联系方式{{ server_user.phone }}</view>
<template #footer>
<wd-button size="small" plain @click="cookDetail(server_user.id)">查看详情</wd-button>
</template>
</wd-card>
<wd-card>
<wd-card title="订单信息">
<view>订单编号{{ orderInfo.order_sn }}</view>
<view class="pt-2">下单时间{{ orderInfo.create_time }}</view>
<view class="pt-2">支付方式 微信</view>
<view class="pt-2">支付金额<text class="color-red">{{ orderInfo.final_price }}</text></view>
<view class="pt-2">预付金额<text class="color-red">{{ orderInfo.prepay_price }}</text></view>
<view class="pt-2">联系人{{ orderInfo.customer_name }}</view>
<view class="pt-2">联系电话{{ orderInfo.phone }}</view>
<view class="pt-2">宴席类型{{ orderInfo.banquet_type }}</view>
<view class="pt-2">宴席地址{{ orderInfo.address }}</view>
<view class="pt-2">备注{{ orderInfo.remark }}</view>
<view class="pt-4" />
<template #title>
</template>
<view>1.(不交定金)如若厨师接到更高价订单可能会将您的订单取消</view>
@ -172,62 +180,19 @@
<wd-form ref="form" :model="orderInfo" errorType="message">
<wd-cell-group border>
<!--
<view class="pb-4" />
<wd-input readonly label="联系姓名" prop="customer_name" clearable v-model="orderInfo.customer_name"
placeholder="请填写联系姓名" />
<wd-input readonly label="联系电话" prop="phone" clearable v-model="orderInfo.phone" placeholder="请填写联系电话" />
<wd-input readonly label="宴席类型" prop="banquet_type" clearable v-model="orderInfo.banquet_type"
placeholder="请填写详细地址" />
<wd-textarea readonly auto-height label="详细地址" prop="address" clearable v-model="orderInfo.address"
placeholder="请填写详细地址" />
<wd-textarea readonly auto-height label="备注" v-model="orderInfo.remark" placeholder="请填写备注" /> -->
<view class="pb-4" />
<!-- <wd-input label="联系姓名" prop="customer_name" clearable v-model="orderInfo.customer_name" placeholder="请填写联系姓名"
:rules="[
{
required: false,
validator: (value: string) => {
return /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(value)
},
message: '请输入姓名'
}
]" />
<wd-input label="联系电话" prop="phone" clearable v-model="orderInfo.phone" placeholder="请填写联系电话"
:rules="[{ required: false, pattern: /^1[3-9]\d{9}$/, message: '请输入有效手机号码' }]" />
<wd-select-picker label="宴席类型" prop="banquet_type" v-model="orderInfo.banquet_type" :columns="banquetType"
type="radio" :rules="[
{
required: false,
validator: (value: string) => {
return /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(value)
},
message: '请选择宴席类型'
}
]"></wd-select-picker>
<wd-col-picker label="做宴地址" v-model="orderInfo.district_name" prop="district_name" :columns="area"
:column-change="columnChange" placeholder="请填写做宴地址" @confirm="handleConfirm" :rules="[
{
required: false,
validator: (value: string) => {
if (value.length > 0) {
return true;
}
return false;
},
message: '做宴地址不能为空,请填写'
}
]"></wd-col-picker>
<wd-input label="详细地址" prop="street_name" clearable v-model="orderInfo.street_name" placeholder="请填写详细地址"
:rules="[
{
required: false,
validator: (value: string) => {
return /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(value)
},
message: '请输入详细地址'
}
]" />
<wd-textarea label="备注" v-model="orderInfo.remark" placeholder="请填写备注" /> -->
<wd-button plain hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(1)">确定支付</wd-button>
<wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(2)">取消支付</wd-button>
<wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(2)">取消订单</wd-button>
</wd-cell-group>
</wd-form>
@ -248,30 +213,31 @@ export default defineComponent({
return {
totalPrice: 0,
server_user: {
id: 0,
phone: '',
public_name: '',
},
order_id: 0,
address_string: '',
banquetType: this.getBanquetType(),
propShowOrder: false,
area: [],
value: [],
orderInfo: {
district_name: [],
street_name: '',
// cart_ids: [],
customer_name: '',
phone: '',
address: '',
remark: '',
banquet_type: '1',
reservation_type: 1,
order_id: 0,
// table_number: 0,
// banquet_date: '',
},
// area: [],
// value: [],
orderInfo: [],
// orderInfo: {
// district_name: [],
// street_name: '',
// // cart_ids: [],
// customer_name: '',
// phone: '',
// address: '',
// remark: '',
// banquet_type: '1',
// reservation_type: 1,
// order_id: 0,
// // table_number: 0,
// // banquet_date: '',
// },
matchedItems_sp: [],
};
@ -323,7 +289,7 @@ export default defineComponent({
//
payOrder (type) {
if (type === 1) {
//
//
CommonApi.commonPost('/api/banquet/order/pay', { order_id: this.order_id }).catch((res) => {
if (res.code === 1) {
// this.payOrder(res.data.order_id);
@ -337,7 +303,17 @@ export default defineComponent({
}
});
} else {
//
//
CommonApi.commonPost('/api/banquet/order/cancel', { order_id: this.order_id }).catch((res) => {
if (res.code === 1) {
// this.payOrder(res.data.order_id);
// this.propShowOrder = true;
console.log(res.data);
// this.close();
} else {
uni.$u.toast(res.msg);
}
});
}
@ -391,10 +367,13 @@ export default defineComponent({
CommonApi.commonGet('/api/banquet/order/detail', { order_id: this.order_id }).catch((res) => {
if (res.code === 1) {
console.log(res)
// this.matchedItems_sp = res.data.cart_list;
this.matchedItems_sp = res.data.order_info;
// this.totalPrice = res.data.total_price;
// this.server_user.phone = res.data.server_user.certification.phone;
// this.server_user.public_name = res.data.server_user.certification.public_name;
this.orderInfo = res.data.order;
this.server_user.phone = res.data.server_info.certification.phone;
this.server_user.public_name = res.data.server_info.certification.public_name;
this.server_user.id = res.data.server_info.id;
// this.$refs.pagingRefSP?.complete(res.data);
// console.log(res);
} else {

View File

@ -184,7 +184,7 @@ export default defineComponent({
goodsDetail (id: number) {
console.log(id);
uni.navigateTo({
url: `/pages/common/goods/detail?id=${id}&is_add=1`
url: `/pages/common/goods/detail?id=${id}`
});
},