套餐详情+自选+问卷调查

wenjuan
刘佳宇 1 year ago
parent f552410b30
commit 67d60a6714

@ -1,5 +1,6 @@
{ {
"pages": [{ "pages": [
{
"path": "pages/main/index/index", "path": "pages/main/index/index",
"style": { "style": {
"navigationBarTitleText": "海南现代妇女儿童医院", "navigationBarTitleText": "海南现代妇女儿童医院",
@ -75,9 +76,17 @@
{ {
"path": "pages/main/optionalProject/optionalDetails", "path": "pages/main/optionalProject/optionalDetails",
"style": { "style": {
"navigationBarTitleText": "自选项目详情", "navigationBarTitleText": "套餐详情",
"navigationBarBackgroundColor": "#D8EDF2", "navigationBarBackgroundColor": "#239EA3",
"navigationBarTextStyle": "black" "navigationBarTextStyle": "white"
}
},
{
"path": "pages/main/questionnaire/index",
"style": {
"navigationBarTitleText": "问卷调查",
"navigationBarBackgroundColor": "#239EA3",
"navigationBarTextStyle": "white"
} }
}, },
{ {

@ -4,38 +4,90 @@
* usersa0ChunLuyu * usersa0ChunLuyu
* date2024年9月11日 19:24:50 * date2024年9月11日 19:24:50
*/ */
import { import { ref } from "vue";
ref import { $api, $response, $image } from "@/api";
} from 'vue' import { onShow } from "@dcloudio/uni-app";
import { import { useStore } from "@/store";
$api, const $store = useStore();
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
import {
useStore
} from '@/store'
const $store = useStore()
const mountedAction = () => {
} let comboInfo = ref({}); //
let selectIds = ref([]); // ID
let itemsInfo = ref({}); //
let comboId = ref(""); // id
let personId = ref(""); // id
let groupId = ref(""); // id
let tabIndex = ref(0); //
let totalPrice = ref(0); //
const $props = defineProps({
comboId: {
type: String,
default: "",
},
personId: {
type: String,
default: "",
},
groupId: {
type: String,
default: "",
},
});
const mountedAction = async () => {
selectIds.value = $props.itemIds?.split(",") || [];
comboId.value = $props.comboId || "";
personId.value = $props.personId || "";
groupId.value = $props.groupId || "";
uni.showLoading({
title: "加载中",
});
getBuyInfo(); //
};
const getBuyInfo = async () => {
//
let obj = {
item_ids: selectIds.value,
combo_id: comboId.value,
hospital: $store.save_info.hospital,
person_id: personId.value,
group_id: groupId.value,
};
const response = await $api("BuyInfo", obj);
$response(response, () => {
comboInfo.value = response.data.combo_info;
itemsInfo.value = response.data.items_info;
totalPrice.value = response.data.true_price;
uni.hideLoading();
});
};
const addCombo = () => {
const itemIds = selectIds.value.length > 0 ? selectIds.value.join(",") : "";
uni.navigateTo({
url:
"/pages/main/optionalProject/optionalProject?comboId=" +
comboId.value +
"&itemIds=" +
itemIds,
});
};
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;
mountedAction() mountedAction();
}
} }
};
onShow(() => { onShow(() => {
if (!!config_ref.value) { if (!!config_ref.value) {
mountedAction() mountedAction();
} }
}) });
</script> </script>
<template> <template>
<view> <view>
@ -43,7 +95,252 @@
<view :ref="configRef"></view> <view :ref="configRef"></view>
</view> </view>
</view> </view>
<view class="px-30rpx box-border comboInfo">
<view
class="pt-35rpx rounded-15rpx px-10rpx bg-#fff pb-30rpx box-border b-0 b-t-1 b-solid b-#E1ECEE"
>
<view class="flex w-full" v-if="comboId">
<image
:src="$image(comboInfo.img)"
class="w-190rpx h-190rpx mr-37rpx"
mode="widthFix"
/>
<view class="flex flex-col grow">
<text>{{ comboInfo.combo_name }}</text>
<view class="mt-13rpx mb-18rpx">
<uni-tag
v-for="(val, i) in comboInfo.tag"
:key="i"
size="small"
:inverted="true"
:text="val.text"
class="mr-8rpx"
:custom-style="
'background-color:' +
val.color +
';border-color:' +
val.color +
'; color:' +
val.text_color +
';'
"
/>
</view>
<view>
<text
v-for="(val, i) in comboInfo.tags2"
:key="i"
class="text-#8B8B8B text-20rpx line-height-[1] px-5rpx b-0 b-solid b-#8B8B8B"
:class="i == comboInfo.tags2.length - 1 ? 'b-r-0' : 'b-r-2'"
>{{ val }}</text
>
</view>
<view class="mt-20rpx w-full flex items-end">
<text class="text-18rpx text-#EC3D15">¥</text>
<text class="text-38rpx text-#EC3D15 mx-10rpx -mb-8rpx">{{
comboInfo.price
}}</text>
<text class="text-18rpx text-#878787 line-through">{{
comboInfo.original_price
}}</text>
<text class="text-18rpx text-#878787 ml-auto mr-55rpx"
>已售{{ comboInfo.sale_count }}</text
>
</view>
</view>
</view>
<view
v-if="comboId"
class="mt-25rpx pt-25rpx b-0 b-t-1 b-solid b-#E1ECEE bettween flex-col text-24rpx"
>
<view>
<text class="text-#8B8B8B">适用人群</text>
<text class="text-#0E0E0E">{{ comboInfo.crowd_name }}</text>
</view>
<view>
<text class="text-#8B8B8B">适用院区</text>
<text class="text-#0E0E0E">{{ comboInfo.hospital_name }}</text>
</view>
</view>
</view>
<view class="pb-300rpx">
<view
class="flex items-center justify-around px-30rpx mt-30rpx"
v-if="comboId"
>
<text
@click="tabIndex = 0"
:class="tabIndex == 0 ? 'active' : ''"
class="text-30rpx text-#2E2E2E"
>套餐内容</text
>
<text
@click="tabIndex = 1"
:class="tabIndex == 1 ? 'active' : ''"
class="text-30rpx text-#2E2E2E"
>体检须知</text
>
</view>
<view
v-if="tabIndex == 0"
class="mt-20rpx bg-#fff py-40rpx px-14rpx box-border flex-col flex"
>
<!-- 套餐内容 -->
<view v-if="comboId" class="mb-20rpx">
<!-- 套餐 -->
<view class="text-#2E2E2E text-30rpx center mb-20rpx"
>套餐项目{{ comboInfo.items?.length }}</view
>
<view
class="flex h-67rpx bg-#239ea3 text-#fff text-26rpx rounded-10rpx"
>
<view
class="min-w-155rpx max-w-155rpx center b-0 b-r-4 b-solid b-#fff"
>检查项目</view
>
<view class="grow center">检查指标意义</view>
</view>
<view v-for="(val, index) in comboInfo.items" :key="index">
<view
class="flex h-55rpx bg-#9f9f9f text-#fff text-24rpx rounded-10rpx mt-10rpx"
>
<view
class="min-w-155rpx max-w-155rpx center b-0 b-r-4 b-solid b-#fff"
></view>
<view class="grow center"
>{{ val.keshi_name }}{{ val.children.length }}</view
>
</view>
<view
class="flex bg-#efefef text-#000 text-24rpx rounded-10rpx mt-10rpx"
v-for="(v, i) in val.children"
:key="i"
>
<view
class="min-w-155rpx break-all max-w-155rpx center b-0 b-r-4 b-solid b-#fff p-10rpx box-border text-center"
>{{ v.name }}</view
>
<view class="grow center p-10rpx box-border">{{
v.desc || "-"
}}</view>
</view>
</view>
</view>
<view v-if="itemsInfo.items?.length">
<!-- 自选 -->
<view class="text-#2E2E2E text-30rpx center mb-20rpx"
>自选项目{{ itemsInfo.items?.length }}</view
>
<view
class="flex h-67rpx bg-#239ea3 text-#fff text-26rpx rounded-10rpx"
>
<view
class="min-w-155rpx max-w-155rpx center b-0 b-r-4 b-solid b-#fff"
>检查项目</view
>
<view class="grow center">检查指标意义</view>
</view>
<view v-for="(val, index) in itemsInfo.items" :key="index">
<view
class="flex h-55rpx bg-#9f9f9f text-#fff text-24rpx rounded-10rpx mt-10rpx"
>
<view
class="min-w-155rpx max-w-155rpx center b-0 b-r-4 b-solid b-#fff"
></view>
<view class="grow center"
>{{ val.keshi_name }}{{ val.children.length }}</view
>
</view>
<view
class="flex bg-#efefef text-#000 text-24rpx rounded-10rpx mt-10rpx"
v-for="(v, i) in val.children"
:key="i"
>
<view
class="min-w-155rpx break-all max-w-155rpx center b-0 b-r-4 b-solid b-#fff p-10rpx box-border text-center"
>{{ v.name }}</view
>
<view class="grow center p-10rpx box-border">{{
v.desc || "-"
}}</view>
</view>
</view>
</view>
</view>
<view v-if="tabIndex == 1">
<!-- 体检须知 -->
</view>
</view>
<view
class="fixed bottom-0 left-0 w-full bg-#fff p-30rpx box-border between"
>
<view class="grow">
<view class="flex items-end" v-if="comboId != 0">
<text class="text-18rpx text-#878787">套餐价格</text>
<text class="text-21rpx text-#ED6907 mx-20rpx"
>¥ {{ comboInfo.price }}</text
>
</view>
<view class="flex items-end">
<text class="text-18rpx text-#878787">自选项目价格</text>
<text class="text-21rpx text-#ED6907 mx-20rpx"
>¥ {{ itemsInfo.price || 0 }}</text
>
</view>
<view class="flex items-end">
<text class="text-18rpx text-#ED6907">合计费用</text>
<text class="text-24rpx text-#ED6907 ml-20rpx mr-5rpx">¥</text>
<text class="text-36rpx text-#ED6907 mr-20rpx font-bold">{{
totalPrice
}}</text>
</view>
</view>
<view>
<nut-button
@click="addCombo()"
class="bg-#ED6907 text-30rpx text-#fff rounded-l-full px-34rpx py-15rpx"
>增加项目</nut-button
>
<nut-button
class="bg-#239EA3 text-30rpx text-#fff rounded-r-full px-34rpx py-15rpx"
>立即购买</nut-button
>
</view>
</view>
</view>
</template> </template>
<style scoped> <style scoped lang="scss">
.comboInfo {
position: relative;
z-index: 1;
&::after {
content: "";
width: 100%;
height: 50rpx;
background-color: #239ea3;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}
.active {
color: #239ea3;
font-weight: bold;
position: relative;
&::after {
content: "";
width: 26rpx;
height: 3rpx;
background-color: #239ea3;
position: absolute;
left: 50%;
bottom: -10rpx;
transform: translateX(-50%);
}
}
}
</style> </style>

@ -9,6 +9,8 @@ import { $api, $response, $image } from "@/api";
import { onShow } from "@dcloudio/uni-app"; import { onShow } from "@dcloudio/uni-app";
import { useStore } from "@/store"; import { useStore } from "@/store";
// comboId ID ID
// itemIds ID
const $props = defineProps({ const $props = defineProps({
comboId: { comboId: {
type: String, type: String,
@ -34,11 +36,12 @@ let optionalOriginalPrice = ref(0); //自选原始价格
let totalPrice = ref(0); // let totalPrice = ref(0); //
let totalOriginalPrice = ref(0); // let totalOriginalPrice = ref(0); //
let total = ref(0); // let total = ref(0); //
let comboId = ref(0); // id let comboId = ref(""); // id
let recommendPackageList = ref([]); // let recommendPackageList = ref([]); //
let popup = ref(null); let popup = ref(null);
const getComboRecommend = async () => { const getComboRecommend = async () => {
//
const response = await $api("ComboRecommend", { const response = await $api("ComboRecommend", {
person_id: $store.save_info.user_id || 1, person_id: $store.save_info.user_id || 1,
item_ids: selectIds.value, item_ids: selectIds.value,
@ -48,6 +51,7 @@ const getComboRecommend = async () => {
if (recommendPackageList.value.length) { if (recommendPackageList.value.length) {
popup.value.open("center"); popup.value.open("center");
} }
uni.hideLoading();
}); });
}; };
@ -69,6 +73,9 @@ const getAllItems = async (e) => {
const getBuyInfo = async () => { const getBuyInfo = async () => {
// //
uni.showLoading({
title: "加载中",
});
let obj = { let obj = {
item_ids: selectIds.value, item_ids: selectIds.value,
hospital: $store.save_info.hospital, hospital: $store.save_info.hospital,
@ -85,14 +92,46 @@ const getBuyInfo = async () => {
totalPrice.value = response.data.true_price; totalPrice.value = response.data.true_price;
totalOriginalPrice.value = response.data.original_price; totalOriginalPrice.value = response.data.original_price;
total.value = response.data.pay_item_count; total.value = response.data.pay_item_count;
uni.hideLoading();
}); });
}; };
const mountedAction = () => { const confirm = async () => {
selectIds.value = $props.itemIds?.split(",") || []; const itemIds = selectIds.value.length > 0 ? selectIds.value.join(",") : "";
comboId.value = Number($props.comboId); //
getAllItems(); // if (comboId.value) {
//
uni.navigateBack({
delta: 2,
success: () => {
let time = setTimeout(() => {
uni.navigateTo({
url:
"/pages/main/optionalProject/optionalDetails?comboId=" +
comboId.value +
"&itemIds=" +
itemIds,
});
clearTimeout(time);
}, 500);
},
});
} else {
//
if (!selectIds.value.length) {
uni.$lu.toast("请选择项目");
return;
}
//
getComboRecommend(); getComboRecommend();
}
};
const mountedAction = async () => {
selectIds.value = $props.itemIds?.split(",") || [];
comboId.value = $props.comboId ? $props.comboId : "";
await getAllItems(); //
// await getComboRecommend();
if (comboId.value) { if (comboId.value) {
getBuyInfo(); // getBuyInfo(); //
} }
@ -122,10 +161,100 @@ onShow(() => {
<view class="bg-#fff rounded-15rpx w-95vw px-20rpx box-border"> <view class="bg-#fff rounded-15rpx w-95vw px-20rpx box-border">
<view class="center relative pt-47rpx pb-32rpx text-36rpx"> <view class="center relative pt-47rpx pb-32rpx text-36rpx">
<text class="line-height-[1]">推荐套餐</text> <text class="line-height-[1]">推荐套餐</text>
<uni-icons @click="popup.close()" type="closeempty" color="#A6A6A6" size="26" class="absolute right-40rpx top-30rpx"></uni-icons> <uni-icons
@click="popup.close()"
type="closeempty"
color="#A6A6A6"
size="26"
class="absolute right-40rpx top-30rpx"
></uni-icons>
</view>
<view
v-for="(item, index) in recommendPackageList"
:key="index"
class="pt-40rpx pb-15rpx box-border b-0 b-t-1 b-solid b-#E1ECEE"
>
<view class="flex w-full">
<image
:src="$image(item.cover)"
class="w-190rpx h-190rpx mr-37rpx"
mode="widthFix"
/>
<view class="flex flex-col grow">
<text
>{{ item.name }} {{ item.sex == 0 ? "(男)" : "(女)" }}</text
>
<view class="mt-13rpx mb-18rpx">
<uni-tag
v-for="(val, i) in item.tag"
:key="i"
size="small"
:inverted="true"
:text="val.text"
class="mr-8rpx"
:custom-style="
'background-color:' +
val.color +
';border-color:' +
val.color +
'; color:' +
val.text_color +
';'
"
/>
</view>
<view>
<text
v-for="(val, i) in item.tags2"
:key="i"
class="text-#8B8B8B text-20rpx line-height-[1] px-5rpx b-0 b-r-2 b-solid b-#8B8B8B"
>{{ val }}</text
>
</view>
<view class="mt-20rpx w-full flex items-end">
<text class="text-18rpx text-#EC3D15">¥</text>
<text class="text-38rpx text-#EC3D15 mx-10rpx -mb-8rpx">{{
item.price
}}</text>
<text class="text-18rpx text-#878787 line-through">{{
item.original_price
}}</text>
<text class="text-18rpx text-#878787 ml-auto mr-55rpx"
>已售{{ item.count }}</text
>
</view> </view>
<view v-for="(item, index) in recommendPackageList" :key="index"> </view>
<image :src="$image(item.cover)" mode="widthFix" /> </view>
<view class="between mt-30rpx">
<view class="text-#8B8B8B text-22rpx">
相似度
<text class="text-#239EA3">{{ item.recommend?.xiangsidu }}</text>
{{ item.recommend?.count > 0 ? "增加" : "减少" }}
<text class="text-#239EA3">{{
Math.abs(item.recommend?.count)
}}</text>
个项目{{ item.recommend?.money > 0 ? "增加" : "减少" }}
<text class="text-#239EA3"
>{{ Math.abs(item.recommend?.money) }}</text
>
</view>
<button
type="primary"
@click=""
class="w-160rpx h-60rpx center text-#fff text-28rpx !bg-#239EA3 rounded-full"
>
预约
</button>
</view>
</view>
<view class="b-0 b-t-1 b-solid b-#E1ECEE pt-80rpx pb-70rpx">
<button
type="primary"
@click=""
class="w-300rpx h-78rpx center text-#fff text-30rpx !bg-#239EA3 rounded-10rpx"
>
跳过
</button>
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
@ -239,9 +368,11 @@ onShow(() => {
<view class="flex items-end"> <view class="flex items-end">
<text class="text-18rpx text-#878787">自选项目价格</text> <text class="text-18rpx text-#878787">自选项目价格</text>
<text class="text-21rpx text-#ED6907 mx-20rpx" <text class="text-21rpx text-#ED6907 mx-20rpx"
>¥ {{ optionalPrice }}</text >¥ {{ optionalPrice || 0 }}</text
> >
<text class="text-18rpx text-#878787 line-through" <text
v-if="optionalOriginalPrice"
class="text-18rpx text-#878787 line-through"
>¥ {{ optionalOriginalPrice }}</text >¥ {{ optionalOriginalPrice }}</text
> >
</view> </view>
@ -249,39 +380,18 @@ onShow(() => {
<text class="text-18rpx text-#ED6907">合计费用</text> <text class="text-18rpx text-#ED6907">合计费用</text>
<text class="text-24rpx text-#ED6907 ml-20rpx mr-5rpx">¥</text> <text class="text-24rpx text-#ED6907 ml-20rpx mr-5rpx">¥</text>
<text class="text-36rpx text-#ED6907 mr-20rpx font-bold">{{ <text class="text-36rpx text-#ED6907 mr-20rpx font-bold">{{
totalPrice totalPrice || 0
}}</text> }}</text>
<text class="text-18rpx text-#878787 line-through" <text
v-if="totalOriginalPrice"
class="text-18rpx text-#878787 line-through"
>¥ {{ totalOriginalPrice }}</text >¥ {{ totalOriginalPrice }}</text
> >
</view> </view>
</view> </view>
<button <button
type="primary" type="primary"
@click=" @click="confirm()"
async () => {
if (comboId) {
//
uni.navigateBack({ delta: 1 });
} else {
//
if (!selectIds.value.length) {
uni.$lu.toast('请选择项目');
return;
}
if (selectIds.value.length <= 1) {
//
uni.navigateTo('/pages/main/optionalProject/optionalDetails');
return;
}
if (selectIds.value.length > 1) {
//
getComboRecommend();
return;
}
}
}
"
class="text-#F8F8F8 w-240rpx h-hull rounded-full !bg-#239EA3 !mx-0 text-30rpx" class="text-#F8F8F8 w-240rpx h-hull rounded-full !bg-#239EA3 !mx-0 text-30rpx"
> >
确定 确定

@ -0,0 +1,558 @@
<script setup>
/**
* name
* usermyddc
* date2024年9月14日 20:05:05
*/
import {
ref,
computed
} from 'vue'
import {
$image,
$api,
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
import {
useStore
} from '@/store'
const $store = useStore()
const combo_active = ref('')
const person_active = ref('')
const selectItemClick = (type, value) => {
select_active.value[type] = value
}
const combo_select = ref({
combo: [],
person: [],
})
const getmyddcSelect = async () => {
uni.showLoading()
const response = await $api('ComboSelect') //
uni.hideLoading()
$response(response, () => {
combo_select.value = response.data
getComboList()
})
}
const myddc_list = ref({
list: [],
hospital: {
id: 0
},
doctor: {
id: 0
},
info: {
name: ''
},
totalPage: {
dqpage: 1,
total: 2
},
dqpf: '', //
dxSelect: [], //
dcLists: []
})
const getComboList = async () => {
uni.showLoading()
const response = await $api('ComboList', {
doctor: $store.save.doctor,
hospital: hospital_active.value,
})
uni.hideLoading()
$response(response, () => {
console.log(response.data, 'response.data')
myddc_list.value = {
...response.data,
totalPage: {
dqpage: 1,
total: 2
},
dxSelect: [{
text: '5分',
value: 5
}, {
text: '4分',
value: 4
}, {
text: '3分',
value: 3
},
{
text: '2分',
value: 2
}, {
text: '1分',
value: 1
},
],
dcLists: [{
id: 1,
nr: '第一题',
title: 'A. 您对本次体检服务的整体评价'
},
{
id: 2,
nr: '第二题',
title: 'E2 您是否有其他建议:'
},
{
id: 3,
nr: '第三题',
title: 'B2 您是否有其他建议:'
},
]
}
})
}
const hospital_active = ref(0)
const checkHospital = () => {
let hospital_id = $store.save.hospital
if (!hospital_id) {
hospital_id = $store.config.hospital[0].id
}
hospital_active.value = hospital_id
getmyddcSelect()
}
const config_ref = ref(null)
const configRef = (e) => {
if (!config_ref.value) {
config_ref.value = e
checkHospital()
}
}
const select_drawer_ref = ref(null)
const selectDrawerRef = (e) => {
select_drawer_ref.value = e
}
const select_active = ref({
combo: '',
person: '',
})
const popup_ref = ref(null)
const popupRef = (e) => {
console.log(e, 'e')
if (!popup_ref.value) {
popup_ref.value = e
}
}
const sumbilt = () => {
popup_ref.value.open()
console.log(popup_ref.value, 'value')
}
const closePop = () => {
popup_ref.value.close()
console.log(popup_ref.value, 'value')
}
const pageNavigation = (type) => {
console.log(type)
let {
totalPage
} = myddc_list.value
if (type == '+') {
//
//
if (totalPage.dqpage > 1) {
totalPage.dqpage -= 1
}
// +1
}
if (type == '-') {
//
console.log(myddc_list.value)
if (totalPage.dqpage < totalPage.total) {
totalPage.dqpage += 1
}
}
console.log(totalPage.dqpage)
}
onShow(() => {
if (!!config_ref.value) {
checkHospital()
}
})
</script>
<template>
<view>
<view v-if="!!$store.config">
<view :ref="configRef"></view>
</view>
<view class="header_wrapper">
<view v-if="!!myddc_list.hospital.id" class="hospital_wrapper">
<view class="hospital_icon_wrapper">
<image src="@/static/assets/dingwei@2x.png"></image>
</view>
<view class="hospital_name_wrapper">{{ myddc_list.hospital.name }}</view>
<view class="hospital_select_wrapper">
<image src="@/static/assets/gengduo@2x.png"></image>
</view>
</view>
<view v-if="!! myddc_list.info.name" class="user_wrapper">
<view class="user_title_wrapper">就诊人</view>
<view class="user_name_wrapper">{{ myddc_list.info.name }}</view>
<view v-if="myddc_list.info.count > 1" class="user_choose_wrapper">
<image src="@/static/assets/qiehuan@2x.png"></image>
</view>
</view>
</view>
<view class="myddc">
<view class="myddc_avatar_wrapper">
<image src="@/static/assets/slices/slices@3x.png"></image>
</view>
<view class="myddc_text">
<view class="title">满意度调查</view>
<view class="nr">
尊敬的先生/女士,为了能够更好地为您进行健康评估,请您认真填写以下问卷
</view>
</view>
</view>
<view class="myddc_total">
<span class="page_color">{{myddc_list.totalPage.total}}</span> / <span
class="page_color">{{myddc_list.totalPage.dqpage}}</span>
</view>
<view class="tm_list">
<view class="tm_list_title">
{{ myddc_list.dcLists[myddc_list.totalPage.dqpage-1]?myddc_list.dcLists[myddc_list.totalPage.dqpage-1].title:''}}
</view>
<view v-show="myddc_list.totalPage.dqpage ==1">
<view class="tm_list_boby">
<!-- <view class="text">单选选中{{JSON.stringify(myddc_list.dqpf)}}</view> -->
<uni-data-checkbox selectedColor="#EEA61E" selectedTextColor="#0C0C0C" v-model="myddc_list.dqpf"
:localdata="myddc_list.dxSelect"></uni-data-checkbox>
</view>
</view>
<view v-show="myddc_list.totalPage.dqpage == 2">
<view class="tm_list_boby">
<!-- v-model="value" -->
<view class="uni-textarea">
<textarea size="14" placeholder=" " />
</view>
<!-- <uni-easyinput type="textarea" placeholder=" "></uni-easyinput> -->
</view>
</view>
<view class="tm_list_br" />
<view class="tm_list_foot">
<view @click="pageNavigation('+')">
<span style="opacity: 0.7;margin-right: 5rpx;"> &lt;</span>
上一题
</view>
<view @click="pageNavigation('-')">
下一题
<span style="opacity: 0.7;margin-left: 5rpx;"> &gt;</span>
</view>
</view>
</view>
<view @click="sumbilt(i)" class="tm_list_choose_wrapper">提交</view>
<uni-popup :ref="popupRef" type="center">
<view class="popupBox">
<view class="popupBox_text">
您的反馈我们已经收到感谢您参与 满意度调查
</view>
<view @click="closePop" class="popupBox_comfirm">确定</view>
</view>
</uni-popup>
</view>
</template>
<style scoped>
::v-deep .uni-data-checklist .checklist-group {
flex-direction: column !important;
}
::v-deep .uni-data-checklist .checklist-group .checklist-box {
margin: 15rpx 0 !important;
}
.myddc {
display: flex;
align-items: center;
width: 750rpx;
margin: 0 auto;
}
.myddc_text .title {
width: 160rpx;
height: 31rpx;
font-weight: 500;
font-size: 31rpx;
color: #3F3A3A;
line-height: 40rpx;
margin: 43rpx 0 25rpx;
}
.myddc_text .nr {
color: #898989;
width: 480rpx;
height: 57rpx;
font-weight: 400;
font-size: 22rpx;
color: #898989;
line-height: 32rpx;
}
.myddc_avatar_wrapper {
width: 82rpx;
height: 82rpx;
margin: 56rpx 38rpx 0 78rpx;
}
.myddc_avatar_wrapper image {
width: 82rpx;
height: 82rpx;
}
.myddc_total {
width: 750rpx;
height: 27rpx;
font-weight: 400;
font-size: 26rpx;
color: #0E0E0E;
line-height: 66rpx;
text-align: right;
padding-right: 80rpx;
box-sizing: border-box;
margin: 0 auto;
}
.page_color {
color: #239EA3;
}
.tm_list {
width: 690rpx;
/* height: 620rpx; */
background: #FFFFFF;
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04);
border-radius: 15rpx;
/* display: flex; */
margin: 42rpx auto 0;
}
.tm_list_title {
padding: 40rpx 0 27rpx 50rpx;
width: 428rpx;
/* height: 31rpx; */
font-weight: 500;
font-size: 30rpx;
}
.uni-textarea {
border-radius: 6rpx;
border: 1px solid #A1A0A0;
height: 100%;
padding: 5rpx 10rpx;
}
.tm_list_boby {
height: 353rpx;
margin-left: 45rpx;
width: 600rpx;
height: 353rpx;
background: #FFFFFF;
padding: 5rpx 10rpx;
}
.tm_list_br {
width: 600rpx;
height: 1rpx;
background: #DEDEDF;
margin: 48rpx 45rpx 27rpx;
}
.tm_list_foot {
margin: 0 45rpx;
display: flex;
justify-content: space-between;
font-weight: 400;
font-size: 26rpx;
color: #0E0E0E;
}
.tm_list_choose_wrapper {
width: 515rpx;
height: 94rpx;
background: #239EA3;
border-radius: 47rpx;
color: #fff;
text-align: center;
line-height: 94rpx;
margin: 33rpx auto;
}
.popupBox {
width: 710rpx;
height: 420rpx;
background: #FFFFFF;
border-radius: 15rpx;
padding: 66rpx 0 41rpx 0;
box-sizing: border-box;
}
.popupBox_text {
margin: 0 auto 41rpx;
text-align: center;
padding: 66rpx 60rpx;
box-sizing: border-box;
width: 608rpx;
height: 202rpx;
background: rgba(242,242,242,0.5);
}
.popupBox_comfirm {
width: 270rpx;
height: 74rpx;
background: #239EA3;
border-radius: 10rpx;
text-align: center;
margin: 0 auto;
line-height: 74rpx;
color: #fff;
}
.doctor_name_wrapper {
font-weight: 400;
font-size: 24rpx;
line-height: 1;
color: #FFFFFF;
border-bottom: 1rpx solid #FFFFFF;
}
.doctor_tip_wrapper {
font-weight: 400;
font-size: 22rpx;
line-height: 1;
color: #FFFFFF;
}
.doctor_wrapper {
display: flex;
align-items: center;
width: 710rpx;
height: 70rpx;
background: #28B7C1;
border-radius: 15rpx 15rpx 0rpx 0rpx;
padding-left: 24rpx;
margin: 10rpx auto 0;
}
.user_choose_wrapper {
width: 50rpx;
height: 50rpx;
margin-left: 30rpx;
}
.user_choose_wrapper image {
width: 50rpx;
height: 50rpx;
display: block;
object-fit: contain;
}
.user_title_wrapper {
font-weight: 400;
font-size: 28rpx;
color: #239EA3;
line-height: 1;
}
.user_name_wrapper {
font-weight: 400;
font-size: 28rpx;
color: #0d0d0d;
line-height: 1;
}
.user_wrapper {
height: 80rpx;
padding-left: 40rpx;
padding-right: 20rpx;
background: #FFFFFF;
border-radius: 40rpx 0 0 40rpx;
display: flex;
align-items: center;
justify-content: center;
}
.header_wrapper {
display: flex;
align-items: center;
justify-content: space-between;
width: 750rpx;
height: 100rpx;
background: #D8EDF2;
margin: 0 auto;
}
.hospital_wrapper {
display: flex;
align-items: center;
width: 50%;
}
.hospital_icon_wrapper {
width: 48rpx;
height: 48rpx;
margin-left: 20rpx;
}
.hospital_icon_wrapper image {
width: 48rpx;
height: 48rpx;
display: block;
object-fit: contain;
}
.hospital_name_wrapper {
font-weight: 400;
font-size: 28rpx;
color: #484747;
margin-left: 9rpx;
line-height: 1;
}
.hospital_select_wrapper {
width: 24rpx;
height: 14rpx;
margin-left: 19rpx;
}
.hospital_select_wrapper image {
width: 24rpx;
height: 14rpx;
display: block;
object-fit: contain;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@ -14,6 +14,7 @@ export default {
{ {
'border-base': 'border border-gray-500_10', 'border-base': 'border border-gray-500_10',
'center': 'flex justify-center items-center', 'center': 'flex justify-center items-center',
'between': 'flex justify-between items-center',
}, },
], ],

Loading…
Cancel
Save