yanzai 1 year ago
commit 1cd4f5d335

@ -0,0 +1,127 @@
<script setup>
/**
* name
* usersa0ChunLuyu
* date2023年3月19日 14:53:06
*/
import {
onMounted,
ref
} from 'vue'
import {
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
const props = defineProps({
option: {
type: Object,
default: {
show: false,
range: [],
min: 0,
max: 0
}
}
});
import * as echarts from 'echarts';
onMounted(() => {
drawChart()
})
const drawChart = () => {
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
let width = 12
let label_arr = []
option = {
series: [{
type: 'gauge',
min: Number(props.option.range[0].value),
max: Number(props.option.range[props.option.range.length - 1].value),
startAngle: 135,
endAngle: -150,
axisLine: {
lineStyle: {
width: width,
color: props.option.range.map((item) => {
return [item.percent, item.color]
})
}
},
pointer: {
width: 5,
length: '80%',
itemStyle: {
color: 'inherit'
}
},
axisTick: {
distance: -width,
length: 3,
lineStyle: {
color: '#fff',
width: 1
}
},
splitLine: {
distance: -width,
length: width,
lineStyle: {
color: '#fff',
width: 1
}
},
axisLabel: {
color: '#333333',
distance: 14,
fontSize: 8,
formatter: (value) => {
let label_str = ''
for (let i in props.option.range) {
if (Number(i) === 0) continue;
if (value >= props.option.range[Number(i) - 1].value && value < props
.option.range[Number(i)].value) {
if (label_arr.length < i) {
label_arr.push(0)
return props.option.label[i - 1]
} else {
continue
}
} else {
continue
}
}
return label_str;
}
},
detail: {
formatter: '{value}',
color: 'inherit',
fontSize: 9
},
data: [{
value: Number(props.option.value)
}]
}]
};
option && myChart.setOption(option);
}
</script>
<template>
<view>
<div class="chart_wrapper" id="main"></div>
</view>
</template>
<style scoped>
.chart_wrapper {
width: 294rpx;
line-height: 294rpx;
height: 338rpx;
text-align: center;
transform: scale(1.3);
}
</style>

@ -0,0 +1,146 @@
<script setup>
/**
* name
* usersa0ChunLuyu
* date2023年3月19日 14:53:22
*/
import {
ref,
onMounted
} from 'vue'
import {
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
const props = defineProps({
option: {
type: Object,
default: {
show: false,
data: [],
min: 0,
max: 0,
unit: '',
}
}
});
import * as echarts from 'echarts';
onMounted(() => {
drawChart()
})
const drawChart = () => {
let chartDom = document.getElementById('line');
let myChart = echarts.init(chartDom);
let option;
let xy_option = {
axisLabel: {
fontWeight: 'bold',
textStyle: {
color: "#333333",
},
},
axisLine: {
show: true,
lineStyle: {
color: "#799abb",
width: 2,
type: "solid"
},
}
}
let data = []
for (let i in props.option.data) {
data.push([i, props.option.data[i].value])
}
option = {
xAxis: {
min: 0,
max: props.option.data.length - 1,
interval: 1,
...xy_option,
axisLabel: {
formatter: function(value) {
return props.option.data[Number(value)]?.datetime.split('-').join('.')
},
}
},
yAxis: {
interval: Number(props.option.step),
min: Number(props.option.min),
max: Number(props.option.max),
...xy_option
},
lineStyle: {
color: '#e13327'
},
grid: {
x: "12%",
y: "7%",
height: "79%" //
},
series: [{
symbol: 'circle',
symbolSize: 6,
itemStyle: {
color: '#e13327',
},
markLine: {
data: [{
symbolSize: 6,
label: {
color: '#b2a4e4'
},
lineStyle: {
color: '#b2a4e4'
},
name: 'yo',
yAxis: Number(props.option.range[0]),
}, {
symbolSize: 6,
label: {
color: '#65c1c2'
},
lineStyle: {
color: '#65c1c2'
},
name: 'yo',
yAxis: Number(props.option.range[1]),
}]
},
data: data,
type: 'line'
}],
};
option && myChart.setOption(option);
}
</script>
<template>
<view>
<view class="unit_wrapper">单位{{ props.option.unit }}</view>
<view class="chart_wrapper" id="line">折线图</view>
</view>
</template>
<style scoped>
.unit_wrapper {
margin-left: 134rpx;
margin-top: 44rpx;
font-size: 22rpx;
font-weight: 500;
color: #939898;
line-height: 1;
}
.chart_wrapper {
width: 591rpx;
height: 392rpx;
line-height: 392rpx;
text-align: center;
margin: 7rpx auto 0;
}
</style>

@ -1,5 +1,6 @@
{
"dependencies": {
"echarts": "^5.5.1",
"weixin-js-sdk": "^1.6.5"
},
"devDependencies": {

@ -194,6 +194,12 @@
"style": {
"navigationBarTitleText": "数据对比"
}
},
{
"path": "pages/main/coupon/coupon",
"style": {
"navigationBarTitleText": "优惠券"
}
}
],
"globalStyle": {

@ -1,59 +1,376 @@
<script setup>
/**
/**
* name
* usersa0ChunLuyu
* date2024年9月11日 19:24:50
* date2023年3月19日 14:25:22
*/
import { ref } from "vue";
import { $api, $response } from "@/api";
import { onShow } from "@dcloudio/uni-app";
import { useStore } from "@/store";
const $store = useStore();
import AnalysisChart1 from '@/components/analysis/chart1.vue'
import AnalysisChart2 from '@/components/analysis/chart2.vue'
import {
onMounted,
ref
} from 'vue'
import {
ReportAnalysisAction,
$image,
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
const analysis_content = ref({
title: '',
result: '',
name: '',
value: '',
date: '',
content: '',
table: {
name: '',
list: []
}
})
const chart1_option = ref({
show: false,
range: [],
min: 0,
max: 0
})
const chart2_option = ref({
show: false,
data: [],
min: 0,
max: 0,
unit: '',
})
onMounted(() => {
GetGreySet()
ReportAnalysis()
})
const date_active = ref(0)
const data_show = ref(false)
const ReportAnalysis = async () => {
uni.showLoading({
title: '加载中...'
});
const response = await ReportAnalysisAction({
id_number: $props.id_number,
id: $props.id,
date: $props.date,
})
$response(response, () => {
uni.hideLoading();
analysis_content.value = response.data.info
response.data.chart1_option.min = Number(response.data.chart1_option.min)
response.data.chart1_option.max = Number(response.data.chart1_option.max)
chart1_option.value = response.data.chart1_option
chart2_option.value = response.data.chart2_option
data_show.value = response.data.show
date_arr.value = response.data.date_list.map((item, key) => {
if (response.data.date === item) {
date_active.value = key
}
return {
label: item,
value: item
}
})
uni.setNavigationBarTitle({
title: analysis_content.value.title
})
})
}
const $props = defineProps({
index: {
const $props = defineProps({
type: {
type: String,
default: '1'
},
id: {
type: String,
default: '1'
},
id_number: {
type: String,
default: ''
},
i: {
date: {
type: String,
default: ''
}
});
let details = ref({});
const mountedAction = () => {
AnalysisTypeGetList();
};
const AnalysisTypeGetList = async () => {
const response = await $api("AnalysisTypeGetList");
$response(response, () => {
details.value = response.data.list[$props.index].list[$props.i];
console.log(details.value);
},
hospital: {
type: String,
default: ''
},
});
};
const config_ref = ref(null);
const configRef = (e) => {
if (!config_ref.value) {
config_ref.value = e;
mountedAction();
const chooseTypeClick = (type) => {
if (Number($props.type) === type) return
let date = $props.date || analysis_content.value.date
uni.redirectTo({
url: `/pages/main/analysis_content/analysis_content?hospital=${$props.hospital}&type=${type}&id=${$props.id}&id_number=${$props.id_number}&date=${date}`
})
}
};
onShow(() => {
if (!!config_ref.value) {
mountedAction();
const date_arr = ref([])
const dateChange = (e) => {
let index = Number(e.detail.value)
let date = date_arr.value[index].value
uni.redirectTo({
url: `/pages/main/analysis_content/analysis_content?hospital=${$props.hospital}&type=${$props.type}&id=${$props.id}&id_number=${$props.id_number}&date=${date}`
})
}
//
const SysGreyType=ref(0)
const GetGreySet=()=>{
uni.getStorage({
key: 'SysGreytype',
success: function (res) {
console.log(res.data);
if(res.data==1){
SysGreyType.value=1
}
}
});
}
});
</script>
<template>
<view>
<view v-if="!!$store.config">
<view :ref="configRef"></view>
<view v-if="data_show" class="info_wrapper" :class="SysGreyType==1? 'grey' :''">
<view v-if="chart1_option.show" class="info_chart_wrapper">
<AnalysisChart1 :option="chart1_option"></AnalysisChart1>
</view>
<view class="info_content_wrapper">
<view class="info_content_result_wrapper">本次体检{{ analysis_content.result }}</view>
<view class="info_content_line_wrapper"></view>
<view class="info_content_content_wrapper">
<view>{{ analysis_content.name }}{{ analysis_content.value }}</view>
<view class="info_content_date_wrapper">
<view>日期</view>
<picker v-if="date_arr.length" @change="dateChange" :value="date_active" :range="date_arr"
range-key="label">
<view>{{ analysis_content.date }}</view>
</picker>
</view>
</view>
</view>
</view>
<view v-if="data_show" class="table_wrapper">
<view class="table_type_group_wrapper" :class="SysGreyType==1? 'grey' :''">
<view @click="chooseTypeClick(1)" class="table_type_group_item_wrapper"
:class="[Number($props.type) === 1 ? 'table_type_group_item_active_wrapper' : '']">趋势图表</view>
<view @click="chooseTypeClick(2)" class="table_type_group_item_wrapper"
:class="[Number($props.type) === 2 ? 'table_type_group_item_active_wrapper' : '']">详细数据</view>
</view>
<view class="table_content_wrapper" :class="SysGreyType==1? 'grey' :''">
<AnalysisChart2 :option="chart2_option" v-if="chart2_option.show && Number($props.type) === 1"></AnalysisChart2>
<view class="table_content_table_wrapper" v-if="Number($props.type) === 2">
<view class="table_content_table_line_wrapper">
<view class="table_content_table_line_item_wrapper table_content_table_title_wrapper">临床意义
</view>
<view
class="table_content_table_line_item_wrapper table_content_table_line_center_wrapper table_content_table_title_wrapper">
{{ analysis_content.table.name }}
</view>
<view class="table_content_table_line_item_wrapper table_content_table_title_wrapper">评估</view>
</view>
<view class="table_content_table_line_wrapper" v-for="(i,k) in analysis_content.table.list" :key="k">
<view class="table_content_table_line_item_wrapper" :class="[
!!(k%2) ? '' : 'table_content_table_line_item_active_wrapper'
]">{{ i.date }}
</view>
<view class="table_content_table_line_item_wrapper table_content_table_line_center_wrapper" :class="[
!!(k%2) ? '' : 'table_content_table_line_item_active_wrapper'
]">{{ i.value }}</view>
<view class="table_content_table_line_item_wrapper" :class="[
!!(k%2) ? '' : 'table_content_table_line_item_active_wrapper'
]">{{ i.assess }}</view>
</view>
</view>
</view>
</view>
<view v-if="data_show" class="content_wrapper" :class="SysGreyType==1? 'grey' :''">
<view class="analysis_title_wrapper">
<view class="analysis_title_icon_wrapper">
<image :src="$image('/storage/assets/report/report/竖线@2x.png')"></image>
</view>
<view class="analysis_title_text_wrapper">临床意义</view>
</view>
<view class="content_text_wrapper">
<text v-html="analysis_content.content"></text>
</view>
</view>
</view>
</template>
<style scoped></style>
<style scoped>
.info_content_date_wrapper {
display: flex;
align-items: center;
}
.table_content_table_line_item_wrapper {
width: 210rpx;
text-align: center;
height: 60rpx;
font-size: 26rpx;
font-weight: 500;
color: #333333;
line-height: 60rpx;
margin-top: 10rpx;
}
.table_content_table_line_item_active_wrapper {
background: #F1F5F8;
}
.table_content_table_title_wrapper {
background: #EFEFEF;
}
.table_content_table_line_center_wrapper {
margin-left: 3rpx;
margin-right: 3rpx;
}
.table_content_table_wrapper {
margin-top: 45rpx;
}
.table_content_table_line_wrapper {
display: flex;
justify-content: center;
}
.table_type_group_item_wrapper {
font-size: 28rpx;
font-weight: normal;
color: #757575;
line-height: 68rpx;
text-align: center;
width: 212rpx;
}
.table_type_group_wrapper {
width: 430rpx;
height: 62rpx;
background: #d0f3ee;
border-radius: 8rpx;
margin: 30rpx auto 0;
border: #16C5A9 solid 3rpx;
display: flex;
justify-content: space-between;
overflow: hidden;
}
.table_type_group_item_active_wrapper {
background: #16C5A9;
color: #FFFFFF;
}
.content_text_wrapper {
font-size: 24rpx;
font-weight: 500;
color: #343434;
line-height: 48rpx;
padding: 15rpx 35rpx;
}
.info_content_content_wrapper {
width: 318rpx;
padding-bottom: 10rpx;
background: #FFF8ED;
border-radius: 1rpx;
margin-top: 9rpx;
font-size: 26rpx;
font-weight: 500;
color: #444444;
line-height: 50rpx;
padding-top: 20rpx;
padding-left: 12rpx;
}
.info_content_line_wrapper {
width: 330rpx;
height: 1rpx;
background: #BFBFBF;
border-radius: 1rpx;
margin-top: 21rpx;
}
.info_content_result_wrapper {
font-size: 30rpx;
font-weight: 500;
color: #D38014;
line-height: 1;
margin-left: 12rpx;
}
.info_content_wrapper {
width: 330rpx;
margin-left: 39rpx;
}
.info_chart_wrapper {
width: 294rpx;
height: 338rpx;
}
.content_wrapper {
width: 750rpx;
padding-bottom: 100rpx;
background: #FFFFFF;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
border-radius: 10rpx;
margin-top: 15rpx;
}
.table_wrapper {
width: 750rpx;
background: #FFFFFF;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
border-radius: 10rpx;
margin-top: 15rpx;
overflow: hidden;
padding-bottom: 34rpx;
}
.info_wrapper {
width: 750rpx;
height: 375rpx;
background: #FFFFFF;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
border-radius: 10rpx;
display: flex;
align-items: center;
justify-content: center;
}
.analysis_title_text_wrapper {
color: #57C1B0;
font-size: 28rpx;
font-weight: bold;
line-height: 1;
margin-left: 18rpx;
}
.analysis_title_icon_wrapper image {
width: 10rpx;
height: 32rpx;
display: block;
}
.analysis_title_icon_wrapper {
width: 10rpx;
height: 32rpx;
margin-left: 31rpx;
}
.analysis_title_wrapper {
height: 80rpx;
display: flex;
align-items: center;
}
.grey{
filter: grayscale(100%);
}
</style>

@ -64,7 +64,7 @@ const selectItemClick = async (index, key) => {
}
priceIndex.value = index;
} else {
if (projectIds.value.includes(index)) {
if (projectIds.value?.includes(index)) {
projectIds.value.splice(projectIds.value.indexOf(index), 1);
} else {
projectIds.value.push(index);

@ -0,0 +1,78 @@
<script setup>
/**
* name
* usersa0ChunLuyu
* date2024年9月11日 19:24:50
*/
import { ref } from "vue";
import { $api, $response } from "@/api";
import { onShow } from "@dcloudio/uni-app";
import { useStore } from "@/store";
const $store = useStore();
let couponList = ref([]);
const mountedAction = () => {
GetPersonIntegralSaveMoneyCouponInfo();
};
const GetPersonIntegralSaveMoneyCouponInfo = async () => {
const response = await $api("GetPersonIntegralSaveMoneyCouponInfo", {
person_id: $store.getUser()?.person_id,
});
$response(response, () => {
couponList.value = response.data.coupon_list;
});
};
const config_ref = ref(null);
const configRef = (e) => {
if (!config_ref.value) {
config_ref.value = e;
mountedAction();
}
};
onShow(() => {
if (!!config_ref.value) {
mountedAction();
}
});
</script>
<template>
<view>
<view v-if="!!$store.config">
<view :ref="configRef"></view>
</view>
</view>
<view class="px-20rpx py-10rpx box-border">
<view
class="px-10rpx py-30rpx box-border bg-#fff shadow-[0rpx_0rpx_10rpx_0rpx_rgba(0,0,0,0.04)] rounded-15rpx"
>
<view v-for="(item, index) in couponList" :key="index" class="mb-20rpx flex">
<view class="min-w-200rpx max-w-200rpx h-170rpx yhq1 center flex-col">
<view>
<text class="text-#fff text-24rpx">¥</text>
<text class="text-#fff text-50rpx">{{ item.price }}</text>
</view>
<text class="text-#fff text-22rpx">{{ item.desc }}</text>
</view>
<view class="grow box-border b-1 b-l-0 b-#E5E5E5 b-solid rounded-r-15rpx flex between py-5rpx">
<view class="grow px-30rpx py-25rpx box-border flex-col between h-full items-start b-0 b-r-1 b-#E5E5E5 b-solid">
<text class="text-28rpx text-#B38933">{{ item.title }}</text>
<text class="text-20rpx text-#7C7C7C">{{ item.date_range?.join(" —— ") }}</text>
</view>
<view class="max-w-60rpx min-w-60rpx text-#B38933 text-25rpx center mx-0">
<br /><br />使<br />
</view>
</view>
</view>
</view>
</view>
</template>
<style scoped>
.yhq1 {
background-image: url("@/static/assets/slices/yhq1.png");
background-size: 100% 100%;
}
</style>

@ -7,7 +7,7 @@
import { ref } from "vue";
import { $api, $response, $image } from "@/api";
import { onShow } from "@dcloudio/uni-app";
import wx from 'weixin-js-sdk'
import wx from "weixin-js-sdk";
import { useStore } from "@/store";
const $store = useStore();
@ -47,20 +47,20 @@ const getnmrList = async () => {
itemsInfo.value = response.data.items_info;
truePrice.value = response.data.true_price;
if(!yytjInfo.value?.nmr_list?.length){
if (!yytjInfo.value?.nmr_list?.length) {
yytjInfo.value.nmr_list = response.data.nmr_list.map((val) => {
return {
...val,
time: "",
id: "",
};
});;
});
yytjInfo.value.nmr_list.push({
item_id: -1,
name: "体检时间",
time: "",
id: "",
})
});
}
uni.hideLoading();
});
@ -74,72 +74,93 @@ const comfrimyy = async () => {
// return;
// }
// console.log(yytjInfo.value?.nmr_list);
for(let i = 0; i < yytjInfo.value?.nmr_list?.length; i++){
if(!yytjInfo.value?.nmr_list[i].time){
for (let i = 0; i < yytjInfo.value?.nmr_list?.length; i++) {
if (!yytjInfo.value?.nmr_list[i].time) {
uni.$lu.toast("请选择预约时间");
return;
}
}
if(yytjInfo.value?.nmr_list?.length > 1){
if (yytjInfo.value?.nmr_list?.length > 1) {
plan_nmr_id = yytjInfo.value?.nmr_list[0]?.id;
}
if(yytjInfo.value?.nmr_list?.length > 1){
if (yytjInfo.value?.nmr_list?.length > 1) {
plan_id = yytjInfo.value?.nmr_list[yytjInfo.value?.nmr_list.length - 1]?.id;
}
console.log(groupInfo.value);
let obj = {
person_id: buyInfo.value.person_id,
type: buyInfo.value.group_id ? 2 : 1,
hospital: buyInfo.value.hospital,
group_id: buyInfo.value.group_id,
combo_id: buyInfo.value?.combo_id || (groupInfo.value?.combo_id?"":userInfo.value?.combo_id) || "",
combo_id:
buyInfo.value?.combo_id ||
(groupInfo.value?.combo_id ? "" : userInfo.value?.combo_id) ||
"",
item_ids: buyInfo.value.item_ids,
plan_id: plan_id,
$plan_nmr_id: plan_nmr_id,
}
};
console.log(obj);
const response = await $api("OrderCreate", obj);
// return
$response(response, () => {
if(response.status){
if(response.data.action == "pay"){
if (response.status) {
if (response.data.action == "pay") {
StartPay(response.data.orderid);
}else{
} else {
uni.navigateTo({
url: "/pages/buy/done/done?id="+response.data.orderid
})
url: "/pages/buy/done/done?id=" + response.data.orderid,
});
}
}
})
});
};
const StartPay = async (id) => { //
uni.showLoading()
const response = await $api('StartPay', {
openid: localStorage.getItem('OPENID'),
const StartPay = async (id) => {
//
uni.showLoading();
const response = await $api("StartPay", {
openid: localStorage.getItem("OPENID"),
id: id,
})
uni.hideLoading()
});
uni.hideLoading();
$response(response, () => {
if (response.status) {
let info = response.data.info
let p = '&appid=' + info.appid + '&sub_org_code=' + info.sub_org_code + '&ghzid=' + info
.ghzid + '&orderid=' + info.orderid + '&order_desc=' + info.order_desc + '&amount=' +
info.amount + '&notify_url=' + info.notify_url + '&timestamp=' + info.timestamp +
'&nonce=' + info.nonce + '&signature=' + info.signature;
let info = response.data.info;
let p =
"&appid=" +
info.appid +
"&sub_org_code=" +
info.sub_org_code +
"&ghzid=" +
info.ghzid +
"&orderid=" +
info.orderid +
"&order_desc=" +
info.order_desc +
"&amount=" +
info.amount +
"&notify_url=" +
info.notify_url +
"&timestamp=" +
info.timestamp +
"&nonce=" +
info.nonce +
"&signature=" +
info.signature;
console.log(p);
wx.miniProgram.navigateTo({
url: '/pages/other/entry/index?path=/pages/physical-examination/payment/index' +
p
})
}
})
url:
"/pages/other/entry/index?path=/pages/physical-examination/payment/index" +
p,
});
}
});
};
const config_ref = ref(null);
const configRef = (e) => {
@ -156,7 +177,7 @@ onShow(() => {
});
const toRouter = (url, status) => {
if(status){
if (status) {
uni.setStorageSync("yytjInfoS", yytjInfo.value);
}
uni.navigateTo({
@ -177,7 +198,7 @@ const toRouter = (url, status) => {
<view
class="flex w-full b-0 b-solid b-#E1ECEE mb-7rpx"
:class="{
'b-b-1 pb-25rpx': itemsInfo?.items?.length
'b-b-1 pb-25rpx': itemsInfo?.items?.length,
}"
v-if="!buyInfo.group_id && comboInfo?.items?.length"
>
@ -236,7 +257,7 @@ const toRouter = (url, status) => {
v-if="buyInfo.group_id"
class="b-0 b-solid b-#E1ECEE pb-25rpx mb-7rpx"
:class="{
'b-b-1': itemsInfo?.items?.length
'b-b-1': itemsInfo?.items?.length,
}"
>
<!-- 3团检套餐 4团检自选 都要显示头像和名字 -->
@ -350,18 +371,93 @@ const toRouter = (url, status) => {
</view>
</view>
<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"
>
<view>
<text class="text-#050505">积分抵扣</text>
<text class="text-#828383">共50个</text>
</view>
<view class="ml-auto mr-20rpx">
<text class="text-#FB4F1A">-¥50.00</text>
<text class="text-#070707 ml-50rpx">去选择</text>
</view>
<uni-icons type="right" size="12"></uni-icons>
</view>
<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')"
>
<view>
<text class="text-#050505">优惠券</text>
<!-- <text class="text-#828383">共50个</text> -->
</view>
<view class="ml-auto mr-20rpx">
<text class="text-#FB4F1A">-¥50.00</text>
<!-- <text class="text-#070707 ml-50rpx">去选择</text> -->
</view>
<uni-icons type="right" size="12"></uni-icons>
</view>
<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"
>
<view>
<text class="text-#050505">预存款</text>
<!-- <text class="text-#828383">共50个</text> -->
</view>
<view class="ml-auto mr-20rpx">
<text class="text-#FB4F1A">-¥50.00</text>
<!-- <text class="text-#070707 ml-50rpx">去选择</text> -->
</view>
<uni-icons type="right" size="12"></uni-icons>
</view>
<view class="text-#FB4F1A text-20rpx mb-30rpx">
<view class="flex items-center mt-20rpx">
<uni-icons
type="info-filled"
class="rotate-180"
color="#FB4F1A"
size="22"
></uni-icons>
<text>选择预约人体检时间请点击提交按钮,完成预约</text>
</view>
<view class="flex items-center mt-30rpx">
<uni-icons
type="info-filled"
class="rotate-180"
color="#FB4F1A"
size="22"
></uni-icons>
<text
>购买后如需退款未到预约体检日期者可在我的订单中点击申请退款体检当日取消或逾期未检者须至体检中心服务台办理
</text>
</view>
</view>
<view
style="box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04)"
class="px-16rpx rounded-15rpx bg-#fff"
>
<view
class="pt-42rpx pb-36rpx b-0 b-solid b-b-1 b-#E1ECEE"
v-if="(comboInfo && comboInfo?.items?.length) || groupInfo?.items?.length"
v-if="
(comboInfo && comboInfo?.items?.length) || groupInfo?.items?.length
"
>
<view class="text-#0E0E0E text-30rpx mb-35rpx">套餐名称</view>
<view class="text-24rpx between">
<text class="text-#0E0E0E">{{ comboInfo?.combo_name || groupInfo?.combo_name }}</text>
<text>¥{{ comboInfo?.price || groupInfo?.sixi_zong_ji_jin_e }}</text>
<text class="text-#0E0E0E">{{
comboInfo?.combo_name || groupInfo?.combo_name
}}</text>
<text
>¥{{ comboInfo?.price || groupInfo?.sixi_zong_ji_jin_e }}</text
>
</view>
</view>

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Loading…
Cancel
Save