|
|
|
@ -4,162 +4,171 @@
|
|
|
|
* user:sa0ChunLuyu
|
|
|
|
* user:sa0ChunLuyu
|
|
|
|
* date:2024年8月7日 20:05:05
|
|
|
|
* date:2024年8月7日 20:05:05
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
import {
|
|
|
|
import { ref, computed } from "vue";
|
|
|
|
ref,
|
|
|
|
import { $image, $api, $response } from "@/api";
|
|
|
|
computed
|
|
|
|
import { onShow } from "@dcloudio/uni-app";
|
|
|
|
} from 'vue'
|
|
|
|
import { useStore } from "@/store";
|
|
|
|
import {
|
|
|
|
const $store = useStore();
|
|
|
|
$image,
|
|
|
|
|
|
|
|
$api,
|
|
|
|
const $props = defineProps({
|
|
|
|
$response
|
|
|
|
groupId: {
|
|
|
|
} from '@/api'
|
|
|
|
type: String,
|
|
|
|
import {
|
|
|
|
default: "",
|
|
|
|
onShow
|
|
|
|
},
|
|
|
|
} from '@dcloudio/uni-app'
|
|
|
|
});
|
|
|
|
import {
|
|
|
|
|
|
|
|
useStore
|
|
|
|
const combo_active = ref("");
|
|
|
|
} from '@/store'
|
|
|
|
const person_active = ref("");
|
|
|
|
const $store = useStore()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const combo_active = ref('')
|
|
|
|
|
|
|
|
const person_active = ref('')
|
|
|
|
|
|
|
|
const selectItemClick = (type, value) => {
|
|
|
|
const selectItemClick = (type, value) => {
|
|
|
|
select_active.value[type] = value
|
|
|
|
select_active.value[type] = value;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const selectDone = () => {
|
|
|
|
const selectDone = () => {
|
|
|
|
combo_active.value = select_active.value.combo
|
|
|
|
combo_active.value = select_active.value.combo;
|
|
|
|
person_active.value = select_active.value.person
|
|
|
|
person_active.value = select_active.value.person;
|
|
|
|
select_drawer_ref.value.close()
|
|
|
|
select_drawer_ref.value.close();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const clearSelectClick = () => {
|
|
|
|
const clearSelectClick = () => {
|
|
|
|
combo_active.value = ''
|
|
|
|
combo_active.value = "";
|
|
|
|
person_active.value = ''
|
|
|
|
person_active.value = "";
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const combo_select = ref({
|
|
|
|
const combo_select = ref({
|
|
|
|
combo: [],
|
|
|
|
combo: [],
|
|
|
|
person: [],
|
|
|
|
person: [],
|
|
|
|
})
|
|
|
|
});
|
|
|
|
const comboActiveName = () => {
|
|
|
|
const comboActiveName = () => {
|
|
|
|
for (let i in combo_select.value.combo) {
|
|
|
|
for (let i in combo_select.value.combo) {
|
|
|
|
if (combo_select.value.combo[i].value === combo_active.value) {
|
|
|
|
if (combo_select.value.combo[i].value === combo_active.value) {
|
|
|
|
return combo_select.value.combo[i].label
|
|
|
|
return combo_select.value.combo[i].label;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return '套餐类型'
|
|
|
|
return "套餐类型";
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const personActiveName = () => {
|
|
|
|
const personActiveName = () => {
|
|
|
|
for (let i in combo_select.value.person) {
|
|
|
|
for (let i in combo_select.value.person) {
|
|
|
|
if (combo_select.value.person[i].value === person_active.value) {
|
|
|
|
if (combo_select.value.person[i].value === person_active.value) {
|
|
|
|
return combo_select.value.person[i].label
|
|
|
|
return combo_select.value.person[i].label;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return '适用人群'
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return "适用人群";
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const getComboSelect = async () => {
|
|
|
|
const getComboSelect = async () => {
|
|
|
|
uni.showLoading()
|
|
|
|
uni.showLoading();
|
|
|
|
const response = await $api('ComboSelect')
|
|
|
|
const response = await $api("ComboSelect");
|
|
|
|
uni.hideLoading()
|
|
|
|
uni.hideLoading();
|
|
|
|
$response(response, () => {
|
|
|
|
$response(response, () => {
|
|
|
|
combo_select.value = response.data
|
|
|
|
combo_select.value = response.data;
|
|
|
|
getComboList()
|
|
|
|
getComboList();
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const combo_list = ref({
|
|
|
|
const combo_list = ref({
|
|
|
|
list: [],
|
|
|
|
list: [],
|
|
|
|
hospital: {
|
|
|
|
hospital: {
|
|
|
|
id: 0
|
|
|
|
id: 0,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
doctor: {
|
|
|
|
doctor: {
|
|
|
|
id: 0
|
|
|
|
id: 0,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
info: {
|
|
|
|
info: {
|
|
|
|
name: ''
|
|
|
|
name: "",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
});
|
|
|
|
const combo_list_computed = computed(() => {
|
|
|
|
const combo_list_computed = computed(() => {
|
|
|
|
let list = []
|
|
|
|
let list = [];
|
|
|
|
for (let i in combo_list.value.list) {
|
|
|
|
for (let i in combo_list.value.list) {
|
|
|
|
let push = false
|
|
|
|
let push = false;
|
|
|
|
if (!combo_active.value) {
|
|
|
|
if (!combo_active.value) {
|
|
|
|
push = true
|
|
|
|
push = true;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (combo_list.value.list[i].combo_type === combo_active.value) {
|
|
|
|
if (combo_list.value.list[i].combo_type === combo_active.value) {
|
|
|
|
push = true
|
|
|
|
push = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!!push) {
|
|
|
|
if (!!push) {
|
|
|
|
if (!person_active.value) {
|
|
|
|
if (!person_active.value) {
|
|
|
|
push = true
|
|
|
|
push = true;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (combo_list.value.list[i].person_type === person_active.value) {
|
|
|
|
if (combo_list.value.list[i].person_type === person_active.value) {
|
|
|
|
push = true
|
|
|
|
push = true;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
push = false
|
|
|
|
push = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!!push) {
|
|
|
|
if (!!push) {
|
|
|
|
list.push(combo_list.value.list[i])
|
|
|
|
list.push(combo_list.value.list[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return list
|
|
|
|
return list;
|
|
|
|
})
|
|
|
|
});
|
|
|
|
const getComboList = async () => {
|
|
|
|
const getComboList = async () => {
|
|
|
|
uni.showLoading()
|
|
|
|
uni.showLoading();
|
|
|
|
const response = await $api('ComboList', {
|
|
|
|
const response = await $api("ComboList", {
|
|
|
|
doctor: $store.save.doctor,
|
|
|
|
doctor: $store.save.doctor,
|
|
|
|
hospital: hospital_active.value,
|
|
|
|
hospital: hospital_active.value,
|
|
|
|
})
|
|
|
|
});
|
|
|
|
uni.hideLoading()
|
|
|
|
uni.hideLoading();
|
|
|
|
$response(response, () => {
|
|
|
|
$response(response, () => {
|
|
|
|
combo_list.value = response.data
|
|
|
|
combo_list.value = response.data;
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const hospital_active = ref(0)
|
|
|
|
const hospital_active = ref(0);
|
|
|
|
const checkHospital = () => {
|
|
|
|
const checkHospital = () => {
|
|
|
|
let hospital_id = $store.save.hospital
|
|
|
|
let hospital_id = $store.save.hospital;
|
|
|
|
if (!hospital_id) {
|
|
|
|
if (!hospital_id) {
|
|
|
|
hospital_id = $store.config.hospital[0].id
|
|
|
|
hospital_id = $store.config.hospital[0].id;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
hospital_active.value = hospital_id
|
|
|
|
hospital_active.value = hospital_id;
|
|
|
|
$store.saveInfo({
|
|
|
|
$store.saveInfo({
|
|
|
|
hospital: hospital_id
|
|
|
|
hospital: hospital_id,
|
|
|
|
})
|
|
|
|
});
|
|
|
|
getComboSelect()
|
|
|
|
getComboSelect();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const config_ref = ref(null)
|
|
|
|
const config_ref = ref(null);
|
|
|
|
const configRef = (e) => {
|
|
|
|
const configRef = (e) => {
|
|
|
|
if (!config_ref.value) {
|
|
|
|
if (!config_ref.value) {
|
|
|
|
config_ref.value = e
|
|
|
|
config_ref.value = e;
|
|
|
|
checkHospital()
|
|
|
|
checkHospital();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const select_drawer_ref = ref(null)
|
|
|
|
const select_drawer_ref = ref(null);
|
|
|
|
const selectDrawerRef = (e) => {
|
|
|
|
const selectDrawerRef = (e) => {
|
|
|
|
select_drawer_ref.value = e
|
|
|
|
select_drawer_ref.value = e;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const select_active = ref({
|
|
|
|
const select_active = ref({
|
|
|
|
combo: '',
|
|
|
|
combo: "",
|
|
|
|
person: '',
|
|
|
|
person: "",
|
|
|
|
})
|
|
|
|
});
|
|
|
|
const selectShow = () => {
|
|
|
|
const selectShow = () => {
|
|
|
|
select_active.value = {
|
|
|
|
select_active.value = {
|
|
|
|
combo: combo_active.value,
|
|
|
|
combo: combo_active.value,
|
|
|
|
person: person_active.value,
|
|
|
|
person: person_active.value,
|
|
|
|
}
|
|
|
|
};
|
|
|
|
select_drawer_ref.value.open()
|
|
|
|
select_drawer_ref.value.open();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
onShow(() => {
|
|
|
|
onShow(() => {
|
|
|
|
if (!!config_ref.value) {
|
|
|
|
if (!!config_ref.value) {
|
|
|
|
checkHospital()
|
|
|
|
checkHospital();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const buyClick = async (item) => {
|
|
|
|
|
|
|
|
let query = "?comboId=" + item.combo_id;
|
|
|
|
|
|
|
|
if ($props.groupId) {
|
|
|
|
|
|
|
|
// 团检把团检ID加上
|
|
|
|
|
|
|
|
query += "&groupId=" + $props.groupId;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 个检只要套餐ID
|
|
|
|
|
|
|
|
// 预约 跳转到个检/团检套餐详情
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
|
|
url: "/pages/main/optionalProject/optionalDetails" + query,
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<view>
|
|
|
|
<view>
|
|
|
|
@ -172,7 +181,9 @@
|
|
|
|
<view class="hospital_icon_wrapper">
|
|
|
|
<view class="hospital_icon_wrapper">
|
|
|
|
<image src="@/static/assets/dingwei@2x.png"></image>
|
|
|
|
<image src="@/static/assets/dingwei@2x.png"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="hospital_name_wrapper">{{ combo_list.hospital.name }}</view>
|
|
|
|
<view class="hospital_name_wrapper">{{
|
|
|
|
|
|
|
|
combo_list.hospital.name
|
|
|
|
|
|
|
|
}}</view>
|
|
|
|
<view class="hospital_select_wrapper">
|
|
|
|
<view class="hospital_select_wrapper">
|
|
|
|
<image src="@/static/assets/gengduo@2x.png"></image>
|
|
|
|
<image src="@/static/assets/gengduo@2x.png"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
@ -191,33 +202,43 @@
|
|
|
|
<text v-else>可选择指定医生:</text>
|
|
|
|
<text v-else>可选择指定医生:</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="doctor_name_wrapper">
|
|
|
|
<view class="doctor_name_wrapper">
|
|
|
|
{{ !!combo_list.doctor.id ? combo_list.doctor.name : '前往选择' }}
|
|
|
|
{{ !!combo_list.doctor.id ? combo_list.doctor.name : "前往选择" }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="doctor_tip_wrapper">(自动筛选匹配套餐)</view>
|
|
|
|
<view class="doctor_tip_wrapper">(自动筛选匹配套餐)</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="select_wrapper">
|
|
|
|
<view class="select_wrapper">
|
|
|
|
<view @click="clearSelectClick()" class="select_item_wrapper" :class="[
|
|
|
|
<view
|
|
|
|
(!combo_active && !person_active) ? 'active' : ''
|
|
|
|
@click="clearSelectClick()"
|
|
|
|
]">
|
|
|
|
class="select_item_wrapper"
|
|
|
|
|
|
|
|
:class="[!combo_active && !person_active ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
<view class="select_item_name_wrapper">综合排序</view>
|
|
|
|
<view class="select_item_name_wrapper">综合排序</view>
|
|
|
|
<view class="select_item_icon_wrapper">
|
|
|
|
<view class="select_item_icon_wrapper">
|
|
|
|
<image src="@/static/assets/xuanzegengduo@2x.png"></image>
|
|
|
|
<image src="@/static/assets/xuanzegengduo@2x.png"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="select_item_line_wrapper"></view>
|
|
|
|
<view class="select_item_line_wrapper"></view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view @click="selectShow()" class="select_item_wrapper" :class="[
|
|
|
|
<view
|
|
|
|
!!combo_active ? 'active' : ''
|
|
|
|
@click="selectShow()"
|
|
|
|
]">
|
|
|
|
class="select_item_wrapper"
|
|
|
|
<view class="select_item_name_wrapper">{{ !!combo_active ? comboActiveName() : '套餐类型' }}</view>
|
|
|
|
:class="[!!combo_active ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<view class="select_item_name_wrapper">{{
|
|
|
|
|
|
|
|
!!combo_active ? comboActiveName() : "套餐类型"
|
|
|
|
|
|
|
|
}}</view>
|
|
|
|
<view class="select_item_icon_wrapper">
|
|
|
|
<view class="select_item_icon_wrapper">
|
|
|
|
<image src="@/static/assets/xuanzegengduo@2x.png"></image>
|
|
|
|
<image src="@/static/assets/xuanzegengduo@2x.png"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="select_item_line_wrapper"></view>
|
|
|
|
<view class="select_item_line_wrapper"></view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view @click="selectShow()" class="select_item_wrapper" :class="[
|
|
|
|
<view
|
|
|
|
!!person_active ? 'active' : ''
|
|
|
|
@click="selectShow()"
|
|
|
|
]">
|
|
|
|
class="select_item_wrapper"
|
|
|
|
<view class="select_item_name_wrapper">{{ !!person_active ? personActiveName() : '适用人群' }}</view>
|
|
|
|
:class="[!!person_active ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<view class="select_item_name_wrapper">{{
|
|
|
|
|
|
|
|
!!person_active ? personActiveName() : "适用人群"
|
|
|
|
|
|
|
|
}}</view>
|
|
|
|
<view class="select_item_icon_wrapper">
|
|
|
|
<view class="select_item_icon_wrapper">
|
|
|
|
<image src="@/static/assets/xuanzegengduo@2x.png"></image>
|
|
|
|
<image src="@/static/assets/xuanzegengduo@2x.png"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
@ -231,31 +252,44 @@
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="list_wrapper">
|
|
|
|
<view class="list_wrapper">
|
|
|
|
<view class="combo_wrapper" v-for="(i,k) in combo_list_computed" :key="k">
|
|
|
|
<view
|
|
|
|
|
|
|
|
class="combo_wrapper"
|
|
|
|
|
|
|
|
v-for="(i, k) in combo_list_computed"
|
|
|
|
|
|
|
|
:key="k"
|
|
|
|
|
|
|
|
>
|
|
|
|
<view class="combo_info_wrapper">
|
|
|
|
<view class="combo_info_wrapper">
|
|
|
|
<view class="combo_cover_wrapper">
|
|
|
|
<view class="combo_cover_wrapper">
|
|
|
|
<image :src="$image(i.cover)"></image>
|
|
|
|
<image v-if="i.cover" :src="$image(i.cover)"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_content_wrapper">
|
|
|
|
<view class="combo_content_wrapper">
|
|
|
|
<view class="combo_name_wrapper">{{ i.name }}</view>
|
|
|
|
<view class="combo_name_wrapper">{{ i.name }}</view>
|
|
|
|
<view class="combo_tags_wrapper">
|
|
|
|
<view class="combo_tags_wrapper">
|
|
|
|
<view class="combo_tag_wrapper" v-for="(ii,kk) in i.tag" :key="kk" :style="{
|
|
|
|
<view
|
|
|
|
|
|
|
|
class="combo_tag_wrapper"
|
|
|
|
|
|
|
|
v-for="(ii, kk) in i.tag"
|
|
|
|
|
|
|
|
:key="kk"
|
|
|
|
|
|
|
|
:style="{
|
|
|
|
color: ii.text_color,
|
|
|
|
color: ii.text_color,
|
|
|
|
background: ii.color,
|
|
|
|
background: ii.color,
|
|
|
|
}">
|
|
|
|
}"
|
|
|
|
|
|
|
|
>
|
|
|
|
{{ ii.text }}
|
|
|
|
{{ ii.text }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_desc_wrapper">
|
|
|
|
<view class="combo_desc_wrapper">
|
|
|
|
{{ i.tags2.join(" | ") }}
|
|
|
|
{{ i.tags2?.join(" | ") }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_price_wrapper">
|
|
|
|
<view class="combo_price_wrapper">
|
|
|
|
<view class="combo_price_box_wrapper">
|
|
|
|
<view class="combo_price_box_wrapper">
|
|
|
|
<view class="combo_true_price_wrapper">
|
|
|
|
<view class="combo_true_price_wrapper">
|
|
|
|
<text class="combo_true_price_icon_wrapper">¥</text>
|
|
|
|
<text class="combo_true_price_icon_wrapper">¥</text>
|
|
|
|
<text class="combo_true_price_number_wrapper">{{ i.price }}</text>
|
|
|
|
<text class="combo_true_price_number_wrapper">{{
|
|
|
|
|
|
|
|
i.price
|
|
|
|
|
|
|
|
}}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_original_price_wrapper">¥{{ i.original_price }}</view>
|
|
|
|
<view class="combo_original_price_wrapper"
|
|
|
|
|
|
|
|
>¥{{ i.original_price }}</view
|
|
|
|
|
|
|
|
>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_count_wrapper">已售{{ i.count }}</view>
|
|
|
|
<view class="combo_count_wrapper">已售{{ i.count }}</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
@ -263,7 +297,9 @@
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_button_wrapper">
|
|
|
|
<view class="combo_button_wrapper">
|
|
|
|
<view class="combo_pick_button_wrapper">对比</view>
|
|
|
|
<view class="combo_pick_button_wrapper">对比</view>
|
|
|
|
<view class="combo_buy_button_wrapper">预约</view>
|
|
|
|
<view class="combo_buy_button_wrapper" @click="buyClick(i)"
|
|
|
|
|
|
|
|
>预约</view
|
|
|
|
|
|
|
|
>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="combo_line_wrapper"></view>
|
|
|
|
<view class="combo_line_wrapper"></view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
@ -276,15 +312,20 @@
|
|
|
|
<view class="select_group_wrapper">
|
|
|
|
<view class="select_group_wrapper">
|
|
|
|
<view class="select_group_title_wrapper">套餐类型</view>
|
|
|
|
<view class="select_group_title_wrapper">套餐类型</view>
|
|
|
|
<view class="select_group_line_wrapper">
|
|
|
|
<view class="select_group_line_wrapper">
|
|
|
|
<view @click="selectItemClick('combo','')" class="select_group_item_wrapper" :class="[
|
|
|
|
<view
|
|
|
|
select_active.combo === '' ? 'active' : ''
|
|
|
|
@click="selectItemClick('combo', '')"
|
|
|
|
]">
|
|
|
|
class="select_group_item_wrapper"
|
|
|
|
|
|
|
|
:class="[select_active.combo === '' ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
全部
|
|
|
|
全部
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view @click="selectItemClick('combo',i.value)" class="select_group_item_wrapper"
|
|
|
|
<view
|
|
|
|
v-for="(i,k) in combo_select.combo" :key="k" :class="[
|
|
|
|
@click="selectItemClick('combo', i.value)"
|
|
|
|
select_active.combo === i.value ? 'active' : ''
|
|
|
|
class="select_group_item_wrapper"
|
|
|
|
]">
|
|
|
|
v-for="(i, k) in combo_select.combo"
|
|
|
|
|
|
|
|
:key="k"
|
|
|
|
|
|
|
|
:class="[select_active.combo === i.value ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
{{ i.label }}
|
|
|
|
{{ i.label }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
@ -292,15 +333,20 @@
|
|
|
|
<view class="select_group_wrapper">
|
|
|
|
<view class="select_group_wrapper">
|
|
|
|
<view class="select_group_title_wrapper">适用人群</view>
|
|
|
|
<view class="select_group_title_wrapper">适用人群</view>
|
|
|
|
<view class="select_group_line_wrapper">
|
|
|
|
<view class="select_group_line_wrapper">
|
|
|
|
<view @click="selectItemClick('person','')" class="select_group_item_wrapper" :class="[
|
|
|
|
<view
|
|
|
|
select_active.person === '' ? 'active' : ''
|
|
|
|
@click="selectItemClick('person', '')"
|
|
|
|
]">
|
|
|
|
class="select_group_item_wrapper"
|
|
|
|
|
|
|
|
:class="[select_active.person === '' ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
全部
|
|
|
|
全部
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view @click="selectItemClick('person',i.value)" class="select_group_item_wrapper"
|
|
|
|
<view
|
|
|
|
v-for="(i,k) in combo_select.person" :key="k" :class="[
|
|
|
|
@click="selectItemClick('person', i.value)"
|
|
|
|
select_active.person === i.value ? 'active' : ''
|
|
|
|
class="select_group_item_wrapper"
|
|
|
|
]">
|
|
|
|
v-for="(i, k) in combo_select.person"
|
|
|
|
|
|
|
|
:key="k"
|
|
|
|
|
|
|
|
:class="[select_active.person === i.value ? 'active' : '']"
|
|
|
|
|
|
|
|
>
|
|
|
|
{{ i.label }}
|
|
|
|
{{ i.label }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
@ -315,7 +361,7 @@
|
|
|
|
<style scoped>
|
|
|
|
<style scoped>
|
|
|
|
.select_done_wrapper {
|
|
|
|
.select_done_wrapper {
|
|
|
|
color: #ffffff;
|
|
|
|
color: #ffffff;
|
|
|
|
background: #239EA3;
|
|
|
|
background: #239ea3;
|
|
|
|
width: calc(100% - 60rpx);
|
|
|
|
width: calc(100% - 60rpx);
|
|
|
|
margin: 50rpx auto 0;
|
|
|
|
margin: 50rpx auto 0;
|
|
|
|
height: 50rpx;
|
|
|
|
height: 50rpx;
|
|
|
|
@ -326,16 +372,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
.select_group_item_wrapper {
|
|
|
|
.select_group_item_wrapper {
|
|
|
|
padding: 10rpx 20rpx;
|
|
|
|
padding: 10rpx 20rpx;
|
|
|
|
border: 1rpx solid #239EA3;
|
|
|
|
border: 1rpx solid #239ea3;
|
|
|
|
font-size: 22rpx;
|
|
|
|
font-size: 22rpx;
|
|
|
|
margin: 20rpx 20rpx 0 0;
|
|
|
|
margin: 20rpx 20rpx 0 0;
|
|
|
|
border-radius: 6rpx;
|
|
|
|
border-radius: 6rpx;
|
|
|
|
color: #239EA3;
|
|
|
|
color: #239ea3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.select_group_item_wrapper.active {
|
|
|
|
.select_group_item_wrapper.active {
|
|
|
|
color: #ffffff;
|
|
|
|
color: #ffffff;
|
|
|
|
background: #239EA3;
|
|
|
|
background: #239ea3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.select_group_line_wrapper {
|
|
|
|
.select_group_line_wrapper {
|
|
|
|
@ -374,18 +420,18 @@
|
|
|
|
.combo_line_wrapper {
|
|
|
|
.combo_line_wrapper {
|
|
|
|
width: 710rpx;
|
|
|
|
width: 710rpx;
|
|
|
|
height: 1rpx;
|
|
|
|
height: 1rpx;
|
|
|
|
background: #E1ECEE;
|
|
|
|
background: #e1ecee;
|
|
|
|
margin: 15rpx auto 0;
|
|
|
|
margin: 15rpx auto 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.combo_pick_button_wrapper {
|
|
|
|
.combo_pick_button_wrapper {
|
|
|
|
width: 160rpx;
|
|
|
|
width: 160rpx;
|
|
|
|
height: 60rpx;
|
|
|
|
height: 60rpx;
|
|
|
|
background: #E1ECEE;
|
|
|
|
background: #e1ecee;
|
|
|
|
border-radius: 30rpx;
|
|
|
|
border-radius: 30rpx;
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 28rpx;
|
|
|
|
font-size: 28rpx;
|
|
|
|
color: #239EA3;
|
|
|
|
color: #239ea3;
|
|
|
|
text-align: center;
|
|
|
|
text-align: center;
|
|
|
|
line-height: 60rpx;
|
|
|
|
line-height: 60rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -393,7 +439,7 @@
|
|
|
|
.combo_buy_button_wrapper {
|
|
|
|
.combo_buy_button_wrapper {
|
|
|
|
width: 160rpx;
|
|
|
|
width: 160rpx;
|
|
|
|
height: 60rpx;
|
|
|
|
height: 60rpx;
|
|
|
|
background: #239EA3;
|
|
|
|
background: #239ea3;
|
|
|
|
border-radius: 30rpx;
|
|
|
|
border-radius: 30rpx;
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 28rpx;
|
|
|
|
font-size: 28rpx;
|
|
|
|
@ -414,14 +460,14 @@
|
|
|
|
.combo_count_wrapper {
|
|
|
|
.combo_count_wrapper {
|
|
|
|
font-weight: 500;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18rpx;
|
|
|
|
font-size: 18rpx;
|
|
|
|
color: #8B8B8B;
|
|
|
|
color: #8b8b8b;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.combo_original_price_wrapper {
|
|
|
|
.combo_original_price_wrapper {
|
|
|
|
font-weight: 500;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18rpx;
|
|
|
|
font-size: 18rpx;
|
|
|
|
color: #8B8B8B;
|
|
|
|
color: #8b8b8b;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
text-decoration-line: line-through;
|
|
|
|
text-decoration-line: line-through;
|
|
|
|
margin-left: 10rpx;
|
|
|
|
margin-left: 10rpx;
|
|
|
|
@ -430,7 +476,7 @@
|
|
|
|
.combo_true_price_wrapper {
|
|
|
|
.combo_true_price_wrapper {
|
|
|
|
font-weight: 500;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18rpx;
|
|
|
|
font-size: 18rpx;
|
|
|
|
color: #EC3D15;
|
|
|
|
color: #ec3d15;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -465,7 +511,7 @@
|
|
|
|
.combo_desc_wrapper {
|
|
|
|
.combo_desc_wrapper {
|
|
|
|
font-weight: 500;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 20rpx;
|
|
|
|
font-size: 20rpx;
|
|
|
|
color: #8B8B8B;
|
|
|
|
color: #8b8b8b;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
margin-top: 18rpx;
|
|
|
|
margin-top: 18rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -478,14 +524,14 @@
|
|
|
|
border-radius: 5rpx;
|
|
|
|
border-radius: 5rpx;
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 18rpx;
|
|
|
|
font-size: 18rpx;
|
|
|
|
color: #47ABD8;
|
|
|
|
color: #47abd8;
|
|
|
|
margin-right: 8rpx;
|
|
|
|
margin-right: 8rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.combo_name_wrapper {
|
|
|
|
.combo_name_wrapper {
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 32rpx;
|
|
|
|
font-size: 32rpx;
|
|
|
|
color: #0E0E0E;
|
|
|
|
color: #0e0e0e;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -518,7 +564,7 @@
|
|
|
|
position: absolute;
|
|
|
|
position: absolute;
|
|
|
|
width: 95rpx;
|
|
|
|
width: 95rpx;
|
|
|
|
height: 10rpx;
|
|
|
|
height: 10rpx;
|
|
|
|
background: linear-gradient(to bottom, #ffffff00, #1B9A9F);
|
|
|
|
background: linear-gradient(to bottom, #ffffff00, #1b9a9f);
|
|
|
|
border-radius: 5rpx;
|
|
|
|
border-radius: 5rpx;
|
|
|
|
bottom: 0;
|
|
|
|
bottom: 0;
|
|
|
|
left: 50%;
|
|
|
|
left: 50%;
|
|
|
|
@ -532,7 +578,7 @@
|
|
|
|
justify-content: space-between;
|
|
|
|
justify-content: space-between;
|
|
|
|
width: 750rpx;
|
|
|
|
width: 750rpx;
|
|
|
|
height: 80rpx;
|
|
|
|
height: 80rpx;
|
|
|
|
background: #F1F7F7;
|
|
|
|
background: #f1f7f7;
|
|
|
|
box-shadow: 0rpx -1rpx 1rpx 0rpx rgba(0, 0, 0, 0.1);
|
|
|
|
box-shadow: 0rpx -1rpx 1rpx 0rpx rgba(0, 0, 0, 0.1);
|
|
|
|
margin: 0 auto;
|
|
|
|
margin: 0 auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -567,7 +613,7 @@
|
|
|
|
.select_item_name_wrapper {
|
|
|
|
.select_item_name_wrapper {
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 26rpx;
|
|
|
|
font-size: 26rpx;
|
|
|
|
color: #2F2F2F;
|
|
|
|
color: #2f2f2f;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -581,7 +627,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.select_item_wrapper.active .select_item_name_wrapper {
|
|
|
|
.select_item_wrapper.active .select_item_name_wrapper {
|
|
|
|
color: #239EA3;
|
|
|
|
color: #239ea3;
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -597,15 +643,15 @@
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 24rpx;
|
|
|
|
font-size: 24rpx;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
color: #FFFFFF;
|
|
|
|
color: #ffffff;
|
|
|
|
border-bottom: 1rpx solid #FFFFFF;
|
|
|
|
border-bottom: 1rpx solid #ffffff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.doctor_tip_wrapper {
|
|
|
|
.doctor_tip_wrapper {
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 22rpx;
|
|
|
|
font-size: 22rpx;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
color: #FFFFFF;
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.doctor_wrapper {
|
|
|
|
.doctor_wrapper {
|
|
|
|
@ -613,7 +659,7 @@
|
|
|
|
align-items: center;
|
|
|
|
align-items: center;
|
|
|
|
width: 710rpx;
|
|
|
|
width: 710rpx;
|
|
|
|
height: 70rpx;
|
|
|
|
height: 70rpx;
|
|
|
|
background: #28B7C1;
|
|
|
|
background: #28b7c1;
|
|
|
|
border-radius: 15rpx 15rpx 0rpx 0rpx;
|
|
|
|
border-radius: 15rpx 15rpx 0rpx 0rpx;
|
|
|
|
padding-left: 24rpx;
|
|
|
|
padding-left: 24rpx;
|
|
|
|
margin: 10rpx auto 0;
|
|
|
|
margin: 10rpx auto 0;
|
|
|
|
@ -635,7 +681,7 @@
|
|
|
|
.user_title_wrapper {
|
|
|
|
.user_title_wrapper {
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
font-size: 28rpx;
|
|
|
|
font-size: 28rpx;
|
|
|
|
color: #239EA3;
|
|
|
|
color: #239ea3;
|
|
|
|
line-height: 1;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -650,7 +696,7 @@
|
|
|
|
height: 80rpx;
|
|
|
|
height: 80rpx;
|
|
|
|
padding-left: 40rpx;
|
|
|
|
padding-left: 40rpx;
|
|
|
|
padding-right: 20rpx;
|
|
|
|
padding-right: 20rpx;
|
|
|
|
background: #FFFFFF;
|
|
|
|
background: #ffffff;
|
|
|
|
border-radius: 40rpx 0 0 40rpx;
|
|
|
|
border-radius: 40rpx 0 0 40rpx;
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
align-items: center;
|
|
|
|
@ -663,7 +709,7 @@
|
|
|
|
justify-content: space-between;
|
|
|
|
justify-content: space-between;
|
|
|
|
width: 750rpx;
|
|
|
|
width: 750rpx;
|
|
|
|
height: 100rpx;
|
|
|
|
height: 100rpx;
|
|
|
|
background: #D8EDF2;
|
|
|
|
background: #d8edf2;
|
|
|
|
margin: 0 auto;
|
|
|
|
margin: 0 auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|