|
|
|
|
@ -19,6 +19,12 @@ let itemsInfo = ref({});
|
|
|
|
|
let userInfo = ref(""); // 病人信息
|
|
|
|
|
let truePrice = ref(0); // 总价
|
|
|
|
|
let yytjInfo = ref({}); // 预约信息
|
|
|
|
|
let popup = ref(null);
|
|
|
|
|
let save_money = ref(0);
|
|
|
|
|
let integral = ref(0);
|
|
|
|
|
let couponList = ref([]);
|
|
|
|
|
let selectStatus = ref(null);
|
|
|
|
|
let selectIndex = ref(0);
|
|
|
|
|
|
|
|
|
|
const mountedAction = async () => {
|
|
|
|
|
uni.showLoading({
|
|
|
|
|
@ -31,11 +37,91 @@ const mountedAction = async () => {
|
|
|
|
|
: $store.getUser();
|
|
|
|
|
let time = setTimeout(() => {
|
|
|
|
|
getnmrList();
|
|
|
|
|
GetPersonIntegralSaveMoneyCouponInfo();
|
|
|
|
|
clearTimeout(time);
|
|
|
|
|
}, 500);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const GetPersonIntegralSaveMoneyCouponInfo = async () => {
|
|
|
|
|
// 获取个人积分, 预存款, 优惠券
|
|
|
|
|
const response = await $api("GetPersonIntegralSaveMoneyCouponInfo", {
|
|
|
|
|
person_id: $store.getUser()?.person_id,
|
|
|
|
|
});
|
|
|
|
|
$response(response, () => {
|
|
|
|
|
couponList.value = response.data.coupon_list;
|
|
|
|
|
save_money.value = response.data.save_money;
|
|
|
|
|
integral.value = response.data.integral;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const selectDiscount = (status) => {
|
|
|
|
|
// 选择折扣
|
|
|
|
|
if (status == 2) {
|
|
|
|
|
// 优惠券
|
|
|
|
|
if (couponList.value.length) {
|
|
|
|
|
toRouter("/pages/main/coupon/coupon");
|
|
|
|
|
} else {
|
|
|
|
|
uni.$lu.toast("暂无优惠券");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (status == 1) {
|
|
|
|
|
// 积分
|
|
|
|
|
if (integral.value) {
|
|
|
|
|
selectStatus.value = status;
|
|
|
|
|
popup.value.open("bottom");
|
|
|
|
|
if (yytjInfo.value.pointsPrice) {
|
|
|
|
|
selectIndex.value = 1;
|
|
|
|
|
} else {
|
|
|
|
|
selectIndex.value = 0;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
uni.$lu.toast("暂无积分");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (status == 3) {
|
|
|
|
|
// 预付款
|
|
|
|
|
if (save_money.value) {
|
|
|
|
|
selectStatus.value = status;
|
|
|
|
|
if (yytjInfo.value.prepaidPrice) {
|
|
|
|
|
selectIndex.value = 1;
|
|
|
|
|
} else {
|
|
|
|
|
selectIndex.value = 0;
|
|
|
|
|
}
|
|
|
|
|
popup.value.open("bottom");
|
|
|
|
|
} else {
|
|
|
|
|
uni.$lu.toast("暂无预付款");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const comfrimSelect = () => {
|
|
|
|
|
// 确定选择折扣
|
|
|
|
|
if (selectStatus.value == 1) {
|
|
|
|
|
// 积分
|
|
|
|
|
if (selectIndex.value) {
|
|
|
|
|
yytjInfo.value.pointsPrice = integral.value;
|
|
|
|
|
$store.setYytjInfo(yytjInfo.value);
|
|
|
|
|
} else {
|
|
|
|
|
yytjInfo.value.pointsPrice = 0;
|
|
|
|
|
$store.setYytjInfo(yytjInfo.value);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//预存款
|
|
|
|
|
if (selectIndex.value) {
|
|
|
|
|
yytjInfo.value.prepaidPrice = save_money.value;
|
|
|
|
|
$store.setYytjInfo(yytjInfo.value);
|
|
|
|
|
} else {
|
|
|
|
|
yytjInfo.value.prepaidPrice = 0;
|
|
|
|
|
$store.setYytjInfo(yytjInfo.value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
popup.value.close();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const getnmrList = async () => {
|
|
|
|
|
// 获取号源项目
|
|
|
|
|
yytjInfo.value = $store.getYytjInfo();
|
|
|
|
|
console.log(yytjInfo.value);
|
|
|
|
|
const response = await $api("BuyInfo", buyInfo.value);
|
|
|
|
|
@ -188,6 +274,67 @@ const toRouter = (url, status) => {
|
|
|
|
|
</script>
|
|
|
|
|
<template>
|
|
|
|
|
<DraggableButton />
|
|
|
|
|
<uni-popup ref="popup">
|
|
|
|
|
<view
|
|
|
|
|
class="center relative px-10rpx pb-30rpx text-36rpx bg-#fff rounded-t-15rpx box-border col"
|
|
|
|
|
>
|
|
|
|
|
<view
|
|
|
|
|
class="text-28rpx p-[40rpx_50rpx_25rpx_50rpx] between w-full bs b-b-1 b-#DEDEDE box-border"
|
|
|
|
|
>
|
|
|
|
|
<text class="line-height-[1] text-#171717 mr-10rpx">{{
|
|
|
|
|
selectStatus == 1 ? "积分" : "预存款"
|
|
|
|
|
}}</text>
|
|
|
|
|
<view class="mr-auto text-#888787">
|
|
|
|
|
(剩余<text class="text-#FB670E">{{
|
|
|
|
|
selectStatus == 1 ? integral : save_money
|
|
|
|
|
}}</text
|
|
|
|
|
>)
|
|
|
|
|
</view>
|
|
|
|
|
<uni-icons
|
|
|
|
|
@click="popup.close()"
|
|
|
|
|
type="closeempty"
|
|
|
|
|
color="#A6A6A6"
|
|
|
|
|
size="26"
|
|
|
|
|
class=""
|
|
|
|
|
></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="text-#171717 text-28rpx px-40rpx box-border w-full">
|
|
|
|
|
<view
|
|
|
|
|
class="between pl-20rpx pr-10rpx box-border bs b-b-1 b-#E1ECEE h-90rpx"
|
|
|
|
|
@click="selectIndex = 0"
|
|
|
|
|
>
|
|
|
|
|
<text>暂不使用{{ selectStatus == 1 ? "积分" : "预存款" }}</text>
|
|
|
|
|
<uni-icons
|
|
|
|
|
:type="!selectIndex ? 'checkbox-filled' : 'circle'"
|
|
|
|
|
:color="!selectIndex ? '#239EA3' : '#A6A6A6'"
|
|
|
|
|
size="20"
|
|
|
|
|
class=""
|
|
|
|
|
></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
<view
|
|
|
|
|
class="between pl-20rpx pr-10rpx box-border bs b-b-1 b-#E1ECEE h-90rpx"
|
|
|
|
|
@click="selectIndex = 1"
|
|
|
|
|
>
|
|
|
|
|
<text v-if="selectStatus == 1"
|
|
|
|
|
>抵扣¥{{ integral }}使用{{ integral }}积分</text
|
|
|
|
|
>
|
|
|
|
|
<text v-else>抵扣¥{{ save_money }}使用{{ save_money }}积分</text>
|
|
|
|
|
<uni-icons
|
|
|
|
|
:type="selectIndex ? 'checkbox-filled' : 'circle'"
|
|
|
|
|
:color="selectIndex ? '#239EA3' : '#A6A6A6'"
|
|
|
|
|
size="20"
|
|
|
|
|
class=""
|
|
|
|
|
></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view
|
|
|
|
|
@click="comfrimSelect"
|
|
|
|
|
class="text-#fff text-34rpx rounded-full bg-#239EA3 mt-80rpx ma w-520rpx h-100rpx center"
|
|
|
|
|
>
|
|
|
|
|
确定
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-popup>
|
|
|
|
|
<view>
|
|
|
|
|
<view v-if="!!$store.config">
|
|
|
|
|
<view :ref="configRef"></view>
|
|
|
|
|
@ -363,11 +510,15 @@ const toRouter = (url, status) => {
|
|
|
|
|
>
|
|
|
|
|
<text>{{ val.name }}</text>
|
|
|
|
|
<text class="ml-20rpx mr-auto text-#239EA3">{{ val.time }}</text>
|
|
|
|
|
<text class="text-30rpx">{{ val.time ? "重新预约" : "预约时间" }}</text>
|
|
|
|
|
<text class="text-30rpx">{{
|
|
|
|
|
val.time ? "重新预约" : "预约时间"
|
|
|
|
|
}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="mb-20rpx between">
|
|
|
|
|
<text>体检医生</text>
|
|
|
|
|
<text class="text-30rpx">{{ yytjInfo?.doctor_name || "选择医生" }}</text>
|
|
|
|
|
<text class="text-30rpx">{{
|
|
|
|
|
yytjInfo?.doctor_name || "选择医生"
|
|
|
|
|
}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -376,14 +527,19 @@ const toRouter = (url, status) => {
|
|
|
|
|
<view
|
|
|
|
|
style="box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04)"
|
|
|
|
|
class="p-38rpx pr-17rpx rounded-15rpx bg-#fff between text-24rpx line-height-[1] mb-15rpx"
|
|
|
|
|
@click="selectDiscount(1)"
|
|
|
|
|
>
|
|
|
|
|
<view>
|
|
|
|
|
<text class="text-#050505">积分抵扣</text>
|
|
|
|
|
<text class="text-#828383">(共50个)</text>
|
|
|
|
|
<text v-if="integral" class="text-#828383"
|
|
|
|
|
>(共{{ integral }}个)</text
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="ml-auto mr-20rpx">
|
|
|
|
|
<text class="text-#FB4F1A">-¥50.00</text>
|
|
|
|
|
<text class="text-#070707 ml-50rpx">去选择</text>
|
|
|
|
|
<text class="text-#FB4F1A" v-if="yytjInfo.pointsPrice"
|
|
|
|
|
>-¥{{ yytjInfo.pointsPrice }}</text
|
|
|
|
|
>
|
|
|
|
|
<text class="text-#070707" v-else>去选择</text>
|
|
|
|
|
</view>
|
|
|
|
|
<uni-icons type="right" size="12"></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
@ -391,15 +547,19 @@ const toRouter = (url, status) => {
|
|
|
|
|
<view
|
|
|
|
|
style="box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04)"
|
|
|
|
|
class="p-38rpx pr-17rpx rounded-15rpx bg-#fff between text-24rpx line-height-[1] mb-15rpx"
|
|
|
|
|
@click="toRouter('/pages/main/coupon/coupon')"
|
|
|
|
|
@click="selectDiscount(2)"
|
|
|
|
|
>
|
|
|
|
|
<view>
|
|
|
|
|
<text class="text-#050505">优惠券</text>
|
|
|
|
|
<!-- <text class="text-#828383">(共50个)</text> -->
|
|
|
|
|
<text v-if="couponList.length" class="text-#828383"
|
|
|
|
|
>(共{{ couponList.length }}个)</text
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="ml-auto mr-20rpx">
|
|
|
|
|
<text class="text-#FB4F1A">-¥50.00</text>
|
|
|
|
|
<!-- <text class="text-#070707 ml-50rpx">去选择</text> -->
|
|
|
|
|
<text class="text-#FB4F1A" v-if="yytjInfo.couponPrice"
|
|
|
|
|
>-¥{{ yytjInfo.couponPrice }}</text
|
|
|
|
|
>
|
|
|
|
|
<text class="text-#070707" v-else>去选择</text>
|
|
|
|
|
</view>
|
|
|
|
|
<uni-icons type="right" size="12"></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
@ -407,14 +567,19 @@ const toRouter = (url, status) => {
|
|
|
|
|
<view
|
|
|
|
|
style="box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04)"
|
|
|
|
|
class="p-38rpx pr-17rpx rounded-15rpx bg-#fff between text-24rpx line-height-[1] mb-15rpx"
|
|
|
|
|
@click="selectDiscount(3)"
|
|
|
|
|
>
|
|
|
|
|
<view>
|
|
|
|
|
<text class="text-#050505">预存款</text>
|
|
|
|
|
<!-- <text class="text-#828383">(共50个)</text> -->
|
|
|
|
|
<text v-if="save_money" class="text-#828383"
|
|
|
|
|
>(共{{ save_money }}个)</text
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="ml-auto mr-20rpx">
|
|
|
|
|
<text class="text-#FB4F1A">-¥50.00</text>
|
|
|
|
|
<!-- <text class="text-#070707 ml-50rpx">去选择</text> -->
|
|
|
|
|
<text class="text-#FB4F1A" v-if="yytjInfo.prepaidPrice"
|
|
|
|
|
>-¥{{ yytjInfo.prepaidPrice }}</text
|
|
|
|
|
>
|
|
|
|
|
<text class="text-#070707" v-else>去选择</text>
|
|
|
|
|
</view>
|
|
|
|
|
<uni-icons type="right" size="12"></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
|