修改
This commit is contained in:
parent
2d4aafb855
commit
d4bb76e568
2
App.vue
2
App.vue
@ -19,7 +19,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
// position: relative;
|
// position: relative;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 30rpx 0 0 0;
|
padding: 30rpx 0 150rpx 0;
|
||||||
|
|
||||||
.cards {
|
.cards {
|
||||||
width: 94%;
|
width: 94%;
|
||||||
|
|||||||
8
api/ProjectDetails/index.js
Normal file
8
api/ProjectDetails/index.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import request from "../request.js"
|
||||||
|
|
||||||
|
export function getAppStationItemInfo(stationId, stationItemId, stationItemPriceId) {
|
||||||
|
return request({
|
||||||
|
url: `/nurseApp/login/getAppStationItemInfo?stationId=${stationId}&stationItemId=${stationItemId}&stationItemPriceId=${stationItemPriceId}`,
|
||||||
|
method: 'GET'
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -18,8 +18,8 @@
|
|||||||
},
|
},
|
||||||
/* 模块配置 */
|
/* 模块配置 */
|
||||||
"modules" : {
|
"modules" : {
|
||||||
"Geolocation" : {},
|
"Maps" : {},
|
||||||
"Maps" : {}
|
"Geolocation" : {}
|
||||||
},
|
},
|
||||||
/* 应用发布信息 */
|
/* 应用发布信息 */
|
||||||
"distribute" : {
|
"distribute" : {
|
||||||
@ -32,6 +32,7 @@
|
|||||||
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
|
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
@ -49,22 +50,21 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
/* ios打包配置 */
|
/* ios打包配置 */
|
||||||
"ios" : {},
|
"ios" : {
|
||||||
|
"dSYMs" : false
|
||||||
|
},
|
||||||
/* SDK配置 */
|
/* SDK配置 */
|
||||||
"sdkConfigs" : {
|
"sdkConfigs" : {
|
||||||
"maps" : {
|
"maps" : {
|
||||||
"amap" : {
|
"amap" : {
|
||||||
"appkey_ios" : "",
|
"appkey_ios" : "b38c6aa0cb9a6323f48b05ea6462aed5",
|
||||||
"appkey_android" : "b38c6aa0cb9a6323f48b05ea6462aed5"
|
"appkey_android" : "b38c6aa0cb9a6323f48b05ea6462aed5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"geolocation" : {
|
"geolocation" : {
|
||||||
"system" : {
|
|
||||||
"__platform__" : [ "android" ]
|
|
||||||
},
|
|
||||||
"amap" : {
|
"amap" : {
|
||||||
"__platform__" : [ "android" ],
|
"__platform__" : [ "ios", "android" ],
|
||||||
"appkey_ios" : "",
|
"appkey_ios" : "b38c6aa0cb9a6323f48b05ea6462aed5",
|
||||||
"appkey_android" : "b38c6aa0cb9a6323f48b05ea6462aed5"
|
"appkey_android" : "b38c6aa0cb9a6323f48b05ea6462aed5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -75,10 +75,11 @@
|
|||||||
"appid" : "",
|
"appid" : "",
|
||||||
"UniversalLinks" : ""
|
"UniversalLinks" : ""
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"ad" : {}
|
||||||
},
|
},
|
||||||
"splashscreen" : {
|
"splashscreen" : {
|
||||||
"androidStyle" : "default",
|
"androidStyle" : "common",
|
||||||
"android" : {
|
"android" : {
|
||||||
"xxhdpi" : "static/xxhdpi.png",
|
"xxhdpi" : "static/xxhdpi.png",
|
||||||
"hdpi" : "static/hdpi.png",
|
"hdpi" : "static/hdpi.png",
|
||||||
|
|||||||
31
pages.json
31
pages.json
@ -9,6 +9,37 @@
|
|||||||
"navigationBarTitleText": "",
|
"navigationBarTitleText": "",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/ProjectDetails/ProjectDetails",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "护理项目详情",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/Bodysatelliteintegration/Bodysatelliteintegration",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "体卫融合",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/Geriatricdisease/Geriatricdisease",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "老年病中心",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#ffffff"
|
||||||
|
}
|
||||||
|
|
||||||
|
}, {
|
||||||
|
"path": "pages/diseasemanagement/diseasemanagement",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "专病管理",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#ffffff"
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
"path": "pages/goodsorderRate/goodsorderRate",
|
"path": "pages/goodsorderRate/goodsorderRate",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@ -10,10 +10,10 @@
|
|||||||
<image src="../../static/pic.png" mode=""></image>
|
<image src="../../static/pic.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="priceinfo">退款金额
|
<view class="priceinfo">退款金额
|
||||||
<view class="priceback">¥{{order.godTotalPrice}}
|
<view class="priceback">¥{{order.totalPrice}}
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="words">
|
<!-- <view class="words">
|
||||||
已修改,最多{{order.godTotalPrice}},含发货邮费 0.00
|
已修改,最多{{order.totalPrice}},含发货邮费 0.00
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
72
pages/Bodysatelliteintegration/Bodysatelliteintegration.vue
Normal file
72
pages/Bodysatelliteintegration/Bodysatelliteintegration.vue
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<view class="app">
|
||||||
|
<view class="concent">
|
||||||
|
<view class="background">
|
||||||
|
<image src="/static/logo.png" mode=""></image>
|
||||||
|
<view>
|
||||||
|
<view class="detailed">
|
||||||
|
<view>
|
||||||
|
“体卫融合”是推进我国全民健身与全民健康深度融合的重要途径,在发挥全民健身提高人民身体素质和健康水平、促进人的全面发展方面具有不可替代作用。“体卫融合”可引导广大居民践行“掌握一项体育技能、享受一生健康生活”的健康活动方式,树立“健康在我、预防为先、科学健身、贵在坚持”等生活理念,使全面健康新理念深入人心。
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.app {
|
||||||
|
padding-top: 10rpx;
|
||||||
|
|
||||||
|
.concent {
|
||||||
|
width: 701rpx;
|
||||||
|
height: 850rpx;
|
||||||
|
background: #4C7BC9;
|
||||||
|
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 5% auto 20px;
|
||||||
|
|
||||||
|
.background {
|
||||||
|
position: relative;
|
||||||
|
width: 657rpx;
|
||||||
|
height: 800rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
background-color: white;
|
||||||
|
margin: 0 auto;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 178rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25px;
|
||||||
|
margin-left: 68%;
|
||||||
|
margin-top: 5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed {
|
||||||
|
width: 657rpx;
|
||||||
|
padding: 0 42rpx;
|
||||||
|
line-height: 56rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed view {
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="refund">
|
<view class="refund">
|
||||||
实付款:
|
实付款:
|
||||||
<text class="price">¥{{item.godTotalPrice}}</text>
|
<text class="price">¥{{item.totalPrice}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
77
pages/Geriatricdisease/Geriatricdisease.vue
Normal file
77
pages/Geriatricdisease/Geriatricdisease.vue
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<template>
|
||||||
|
<view class="app">
|
||||||
|
<view class="concent">
|
||||||
|
<view class="background">
|
||||||
|
<image src="/static/logo.png" mode=""></image>
|
||||||
|
<view>
|
||||||
|
<view class="detailed">
|
||||||
|
<view class="">
|
||||||
|
国家老年病中心山东分中心是依托于首都医科大学宣武医院的国家老年疾病临床医学研究中心(国家科技部、国家卫计委、中央军委后勤保障部、国家食品药品监督管理总局联合批准的国家级临床医学研究中心),老年慢性病全国网络化诊治体系及医疗大数据系统,医疗与健康一体化的新型服务体系和数据体系山东省建设单位。为提升山东省基层医院老年病学科水平,建设区域老年疾病预防、管理体系。利用国家中心在老年疾病临床诊疗的优势:在衰老、老年常见重大疾病(帕金森和老年痴呆等老年神经变性病、心脑及外周血管病、糖尿病)和老年综合征(衰弱、跌倒、便秘等)防治领域,围绕老年高龄外科围手术期管理、老年用药管理、老年共病、老年重症、以及老年常见疾病(帕金森病、痴呆、心脑外周血管病、糖尿病等)早期预警、干预及全程管理的综合评估、干预和管理新技术。
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
主要开展的科室有:帕金森,两腺科,妇科,心脑血管等精准治疗
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
开展项目有:慢病管理,血液净化(高血脂症)妇科筛查,老年病筛查、康复治疗等
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.app {
|
||||||
|
padding-top: 10rpx;
|
||||||
|
|
||||||
|
.concent {
|
||||||
|
width: 701rpx;
|
||||||
|
height: 100%;
|
||||||
|
background: #4C7BC9;
|
||||||
|
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 5% auto 20px;
|
||||||
|
padding: 30rpx 0;
|
||||||
|
|
||||||
|
.background {
|
||||||
|
width: 657rpx;
|
||||||
|
height: 100%;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
background-color: white;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 178rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25px;
|
||||||
|
margin-left: 68%;
|
||||||
|
margin-top: 5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed {
|
||||||
|
width: 657rpx;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0 42rpx 20rpx;
|
||||||
|
line-height: 56rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed view {
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -8,7 +8,7 @@
|
|||||||
{{item.orderStatus=='PAY'?'已付款':''}}
|
{{item.orderStatus=='PAY'?'已付款':''}}
|
||||||
{{item.orderStatus=='WAIT_DISPATCH'?'待服务':''}}
|
{{item.orderStatus=='WAIT_DISPATCH'?'待服务':''}}
|
||||||
{{item.orderStatus=='NOT_FINISH'?'待完成':''}}
|
{{item.orderStatus=='NOT_FINISH'?'待完成':''}}
|
||||||
{{item.orderStatus=='COMPLETE'?'未评价':''}}
|
{{item.orderStatus=='COMPLETE'?'待评价':''}}
|
||||||
{{item.orderStatus=='EVALUATED'?'服务完成':''}}
|
{{item.orderStatus=='EVALUATED'?'服务完成':''}}
|
||||||
{{item.orderStatus=='WAIT_REFUND'?'退款中':''}}
|
{{item.orderStatus=='WAIT_REFUND'?'退款中':''}}
|
||||||
{{item.orderStatus=='REFUNDED'?'已退款':''}}
|
{{item.orderStatus=='REFUNDED'?'已退款':''}}
|
||||||
|
|||||||
171
pages/ProjectDetails/ProjectDetails.scss
Normal file
171
pages/ProjectDetails/ProjectDetails.scss
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
.app {
|
||||||
|
height: 100%;
|
||||||
|
padding: 2% 2% 150rpx 2%;
|
||||||
|
padding-top: 10rpx;
|
||||||
|
font-size: 34rpx;
|
||||||
|
.mask {
|
||||||
|
.information {
|
||||||
|
width: 70%;
|
||||||
|
height: 400rpx;
|
||||||
|
margin: 50% auto;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
text-align: center;
|
||||||
|
color: #FFFFFF;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.determine,
|
||||||
|
.cancel {
|
||||||
|
width: 200rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
font-size: 34rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 74%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
background: #4C7BC9;
|
||||||
|
right: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel {
|
||||||
|
background: #C5BFBF;
|
||||||
|
left: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 42rpx;
|
||||||
|
margin-top: 40rpx;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
margin: 10% 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.appointment {
|
||||||
|
width: 120rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
background: #4C7BC9;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 70rpx;
|
||||||
|
position: absolute;
|
||||||
|
bottom:20rpx;
|
||||||
|
right:5%;
|
||||||
|
}
|
||||||
|
.detail {
|
||||||
|
position: relative;
|
||||||
|
width: 94%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin-top: 3%;
|
||||||
|
font-size: 31rpx;
|
||||||
|
padding: 3%;
|
||||||
|
padding-bottom: 50rpx;
|
||||||
|
.textInfo {
|
||||||
|
word-break:break-all;
|
||||||
|
font-size: 29rpx;
|
||||||
|
text-indent: 2rem;
|
||||||
|
line-height: 42rpx;
|
||||||
|
color: #666666;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
/deep/ .richPic {
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.Introduction {
|
||||||
|
font-size: 31rpx;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 12rpx;
|
||||||
|
margin-left: -3%;
|
||||||
|
padding: 3%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
width: 95%;
|
||||||
|
height: 100%;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 20rpx auto 0;
|
||||||
|
padding: 3% 3% 40rpx 3%;
|
||||||
|
line-height: 60rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 170rpx;
|
||||||
|
height: 170rpx;
|
||||||
|
margin-left: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.servicetime {
|
||||||
|
color: #999999;
|
||||||
|
line-height: 37rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 35%;
|
||||||
|
left: 35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.price {
|
||||||
|
color: red;
|
||||||
|
font-size: 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 65%;
|
||||||
|
left: 35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product {
|
||||||
|
color: #000000;
|
||||||
|
width: 60%;
|
||||||
|
position: absolute;
|
||||||
|
top: 14%;
|
||||||
|
left: 32%;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.huanyao {
|
||||||
|
color: #000000;
|
||||||
|
position: absolute;
|
||||||
|
top: 10%;
|
||||||
|
left: 35%;
|
||||||
|
width: 60%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 耗材包 */
|
||||||
|
.Consumablespackage {
|
||||||
|
width: 95%;
|
||||||
|
height: 100%;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 20rpx auto 0;
|
||||||
|
padding: 3% 3% 40rpx 3%;
|
||||||
|
line-height: 60rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
|
||||||
|
.detail {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: red;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
160
pages/ProjectDetails/ProjectDetails.vue
Normal file
160
pages/ProjectDetails/ProjectDetails.vue
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
<template>
|
||||||
|
<view class="app">
|
||||||
|
<view class="item">
|
||||||
|
<image :src="list.itemPictureUrl"></image>
|
||||||
|
<view class="huanyao">{{list.nurseItemName}}
|
||||||
|
</view>
|
||||||
|
<!-- <view class="pingfen">
|
||||||
|
<u-rate :count="5" value="2"></u-rate>
|
||||||
|
</view> -->
|
||||||
|
<view class="servicetime">服务时长:{{list.serveDurationUnit?list.serveDurationUnit:'0'}}</view>
|
||||||
|
<view class="price">¥{{list.nurseItemPrice==null?'0':list.nurseItemPrice}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="Consumablespackage" v-if='list.itemConsumableList'>耗材包详情:
|
||||||
|
<span>¥{{list.consumableTotalPrice==null?'0':list.consumableTotalPrice}}</span>
|
||||||
|
<view class="detail" v-for='(item,index) in list.itemConsumableList' :key="index">
|
||||||
|
·{{item.consumableDetail}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="detail">
|
||||||
|
<view class="Introduction">服务详情:</view>
|
||||||
|
<view class="textInfo" v-html="list.nurseItemContent">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="appointment" @tap.stop='goappointments(item)'>预约</view>
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
<u-mask :show="usershow" class='mask'>
|
||||||
|
<view class="information">
|
||||||
|
<image src="../../static/information.png" mode=""></image>
|
||||||
|
<view class="title">
|
||||||
|
请完善个人信息
|
||||||
|
</view>
|
||||||
|
<view class="cancel" @tap='usershow=false'>
|
||||||
|
取消
|
||||||
|
</view>
|
||||||
|
<view class="determine" @tap='goinformation'>
|
||||||
|
去完善
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-mask>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
AppIdentification
|
||||||
|
} from '@/api/AppIdentification/index.js'
|
||||||
|
import baseurl from '@/api/baseurl.js'
|
||||||
|
import {
|
||||||
|
getAppStationItemInfo
|
||||||
|
} from '@/api/ProjectDetails/index.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
baseurl: '',
|
||||||
|
list: {},
|
||||||
|
orderNo: '',
|
||||||
|
usershow: false, //完善信息开关
|
||||||
|
list: [], //护理站list
|
||||||
|
timer: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
// 耗材包详情方法调用
|
||||||
|
this.getlist(options.stationId, options.stationItemId, options.stationItemPriceId)
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.usershow = false
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//预约
|
||||||
|
goappointments() {
|
||||||
|
let that = this
|
||||||
|
try {
|
||||||
|
const value = uni.getStorageSync('openid');
|
||||||
|
if (value) {
|
||||||
|
const value2 = uni.getStorageSync('patientId');
|
||||||
|
if (value2) {
|
||||||
|
AppIdentification(value2).then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
if (res.data.loginFlag) {
|
||||||
|
that.usershow = false
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/appointmenttime/appointmenttime?stationId=${this.list.stationId}&stationItemId=${this.list.stationItemId}&stationItemPriceId=${this.list.stationItemPriceId}`,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.usershow = true
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: res.msg,
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
if (that.timer) {
|
||||||
|
clearTimeout(that.timer)
|
||||||
|
}
|
||||||
|
that.timer = setTimeout(e => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/login'
|
||||||
|
})
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: '未登录,请先登录',
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
if (that.timer) {
|
||||||
|
clearTimeout(that.timer)
|
||||||
|
}
|
||||||
|
that.timer = setTimeout(e => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/login'
|
||||||
|
})
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: '未登录,请先登录',
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
if (that.timer) {
|
||||||
|
clearTimeout(that.timer)
|
||||||
|
}
|
||||||
|
that.timer = setTimeout(e => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/login'
|
||||||
|
})
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/login'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//跳转完善页面
|
||||||
|
goinformation() {
|
||||||
|
this.usershow = false
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/information/information'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 信息
|
||||||
|
getlist(stationId, stationItemId, stationItemPriceId) {
|
||||||
|
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
|
||||||
|
res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/gi,
|
||||||
|
"<img class='richPic'")
|
||||||
|
// res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/,
|
||||||
|
// "<br/> <img class='richPic'")
|
||||||
|
res.data.itemPictureUrl = baseurl + res.data.itemPictureUrl
|
||||||
|
this.list = res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
@import './ProjectDetails.scss';
|
||||||
|
</style>
|
||||||
@ -1,86 +1,95 @@
|
|||||||
.app {
|
.app {
|
||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
padding-top: 10rpx;
|
padding-top: 10rpx;
|
||||||
height: 100%;
|
|
||||||
.mask{
|
|
||||||
.Agreement{
|
|
||||||
width: 100%;
|
|
||||||
background-color: #F4F5F7;
|
|
||||||
text-align: center;
|
|
||||||
height: 1000rpx;
|
|
||||||
position: absolute;
|
|
||||||
width:94%;
|
|
||||||
left:3%;
|
|
||||||
top:5%;
|
|
||||||
font-size: 30rpx;
|
|
||||||
.title{
|
|
||||||
height: 100rpx;
|
|
||||||
line-height: 100rpx;
|
|
||||||
border-bottom: 1px solid #eeeeee;
|
|
||||||
font-size: 34rpx;
|
|
||||||
margin: 0px auto;
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.scroll-Y{
|
|
||||||
width: 98%;
|
|
||||||
margin: 0 auto;
|
|
||||||
height:830rpx ;
|
|
||||||
overflow-y:scroll;
|
|
||||||
text-align: left;
|
|
||||||
text-indent: 2em;
|
|
||||||
}
|
|
||||||
.cancel {
|
|
||||||
height:70rpx;
|
|
||||||
line-height: 70rpx;
|
|
||||||
font-size: 32rpx;
|
|
||||||
background-color: #F4F5F7;
|
|
||||||
position: absolute;
|
|
||||||
border-top: 1rpx solid #000000;
|
|
||||||
bottom:0;
|
|
||||||
right:0;
|
|
||||||
width: 50%;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
.determine {
|
|
||||||
height:70rpx;
|
|
||||||
line-height: 70rpx;
|
|
||||||
font-size: 32rpx;
|
|
||||||
width: 50%;
|
|
||||||
color: #F4F5F7;
|
|
||||||
background: #4C7BC9;
|
|
||||||
position: absolute;
|
|
||||||
bottom:0;
|
|
||||||
left:0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.addressitem{
|
|
||||||
width: 97%;
|
|
||||||
border-bottom: 1rpx solid #D8D4D4;
|
|
||||||
margin-left: 3%;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
.leftaddress{
|
|
||||||
width:15%;
|
.mask {
|
||||||
|
.Agreement {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
text-align: center;
|
||||||
|
height: 1000rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 5%;
|
||||||
|
width: 94%;
|
||||||
|
left: 3%;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
height: 100rpx;
|
||||||
|
line-height: 100rpx;
|
||||||
|
border-bottom: 1px solid #eeeeee;
|
||||||
|
font-size: 34rpx;
|
||||||
|
margin: 0px auto;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-Y {
|
||||||
|
width: 98%;
|
||||||
|
margin: 0 auto;
|
||||||
|
height: 830rpx;
|
||||||
|
overflow-y: scroll;
|
||||||
|
text-align: left;
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel {
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
position: absolute;
|
||||||
|
border-top: 1rpx solid #000000;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 50%;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
width: 50%;
|
||||||
|
color: #F4F5F7;
|
||||||
|
background: #4C7BC9;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.addressitem {
|
||||||
|
width: 97%;
|
||||||
|
border-bottom: 1rpx solid #D8D4D4;
|
||||||
|
margin-left: 3%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
|
||||||
display: inline-block;
|
.leftaddress {
|
||||||
|
width: 15%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.addition {
|
||||||
|
color: #666666;
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 50rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.addition{
|
|
||||||
color: #666666;
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 50rpx;
|
|
||||||
font-size: 28rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.money {
|
.money {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #D43953;
|
color: #D43953;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right:5%;
|
right: 5%;
|
||||||
top:20%;
|
top: 20%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user {
|
.user {
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
width: 94%;
|
width: 94%;
|
||||||
@ -88,35 +97,46 @@
|
|||||||
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
line-height: 93rpx;
|
line-height: 93rpx;
|
||||||
|
|
||||||
.selecttime {
|
.selecttime {
|
||||||
height: 93rpx;
|
height: 93rpx;
|
||||||
margin-left: 3%;
|
margin-left: 3%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
text {
|
text {
|
||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
color: #878987;
|
color: #878987;
|
||||||
}
|
}
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 18rpx;
|
width: 18rpx;
|
||||||
height: 27rpx;
|
height: 27rpx;
|
||||||
margin-left:50%;
|
position: absolute;
|
||||||
|
right: 5%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
}
|
}
|
||||||
.addition{
|
|
||||||
|
.addition {
|
||||||
color: #666666;
|
color: #666666;
|
||||||
line-height: 30rpx;
|
line-height: 30rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
width: 97%;
|
width: 97%;
|
||||||
border-bottom: 1rpx solid #D8D4D4;
|
border-bottom: 1rpx solid #D8D4D4;
|
||||||
margin-left: 3%;
|
margin-left: 3%;
|
||||||
.addition{
|
|
||||||
|
.addition {
|
||||||
color: #666666;
|
color: #666666;
|
||||||
line-height: 30rpx;
|
line-height: 30rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.remarks {
|
.remarks {
|
||||||
width: 94%;
|
width: 94%;
|
||||||
height: 382rpx;
|
height: 382rpx;
|
||||||
@ -128,32 +148,37 @@
|
|||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
span{
|
|
||||||
|
span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 20%;
|
width: 20%;
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top:50%;
|
top: 50%;
|
||||||
left:23%;
|
left: 23%;
|
||||||
width: 77%;
|
width: 77%;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.priceback {
|
.priceback {
|
||||||
width: 99%;
|
width: 99%;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
position:fixed;
|
position: fixed;
|
||||||
bottom:0;
|
bottom: 0;
|
||||||
padding-bottom: 20rpx;
|
padding-bottom: 20rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
|
|
||||||
.prices {
|
.prices {
|
||||||
font-size: 48rpx;
|
font-size: 48rpx;
|
||||||
color: #D43953;
|
color: #D43953;
|
||||||
line-height: 100rpx;
|
line-height: 100rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.xiugai {
|
.xiugai {
|
||||||
width: 200rpx;
|
width: 200rpx;
|
||||||
height: 70rpx;
|
height: 70rpx;
|
||||||
@ -165,6 +190,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.queren {
|
.queren {
|
||||||
width: 200rpx;
|
width: 200rpx;
|
||||||
height: 70rpx;
|
height: 70rpx;
|
||||||
@ -176,22 +202,26 @@
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-content {
|
.radio-content {
|
||||||
margin: 50rpx auto;
|
margin: 50rpx auto;
|
||||||
width: 70%;
|
width: 70%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.agreement {
|
.agreement {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top:50%;
|
top: 50%;
|
||||||
left:20%;
|
left: 20%;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
color: #878987;
|
color: #878987;
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-right {
|
.radio-right {
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
width: 100rpx;
|
width: 100rpx;
|
||||||
|
|
||||||
.radio {
|
.radio {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 35rpx;
|
width: 35rpx;
|
||||||
@ -199,21 +229,25 @@
|
|||||||
border-radius: 70%;
|
border-radius: 70%;
|
||||||
border: 2rpx solid #178ffb;
|
border: 2rpx solid #178ffb;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top:50%;
|
top: 50%;
|
||||||
left:5%;
|
left: 5%;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
|
|
||||||
.radio-active {
|
.radio-active {
|
||||||
width: 16rpx;
|
width: 16rpx;
|
||||||
height: 16rpx;
|
height: 16rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #178ffb;
|
background-color: #178ffb;
|
||||||
margin-left: 26%;
|
position: absolute;
|
||||||
margin-top: 22%;
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
// margin: 0 auto;
|
// margin: 0 auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 耗材包 */
|
/* 耗材包 */
|
||||||
.Consumablespackage {
|
.Consumablespackage {
|
||||||
width: 94%;
|
width: 94%;
|
||||||
@ -225,15 +259,14 @@
|
|||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 40rpx;
|
padding-bottom: 40rpx;
|
||||||
|
|
||||||
.detail {
|
.detail {
|
||||||
width: 301rpx;
|
width: 100%;
|
||||||
height: 31rpx;
|
line-height: 60rpx;
|
||||||
font-size: 32rpx;
|
|
||||||
color: #666666;
|
|
||||||
line-height: 31rpx;
|
|
||||||
margin: 20rpx 0 0 40rpx;
|
margin: 20rpx 0 0 40rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 套餐 */
|
/* 套餐 */
|
||||||
.Package {
|
.Package {
|
||||||
width: 94%;
|
width: 94%;
|
||||||
@ -243,18 +276,20 @@
|
|||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
margin-top:20rpx;
|
margin-top: 20rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.detail {
|
.detail {
|
||||||
line-height: 31rpx;
|
line-height: 31rpx;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
line-height: 31rpx;
|
line-height: 31rpx;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left:10%;
|
left: 10%;
|
||||||
top:60%;
|
top: 60%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.message {
|
.message {
|
||||||
width: 94%;
|
width: 94%;
|
||||||
background: white;
|
background: white;
|
||||||
@ -263,4 +298,4 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 96rpx;
|
line-height: 96rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14,9 +14,20 @@
|
|||||||
<span>地址:</span>
|
<span>地址:</span>
|
||||||
<span class='addition'>{{personInfo.address}}</span>
|
<span class='addition'>{{personInfo.address}}</span>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="item" style="border: 0;">
|
||||||
|
<span></span>
|
||||||
|
<span class='addition'>请您选择希望护理员到达的时间区间</span>
|
||||||
|
</view>
|
||||||
|
<view class="selecttime" @tap='yearshow=true'>
|
||||||
|
<span>日期:</span>
|
||||||
|
<text v-if="yeartime==''" class='addition'>请选择日期
|
||||||
|
<image src="../../static/jiantou.png"></image>
|
||||||
|
</text>
|
||||||
|
<text v-else class='addition'>{{yeartime}}</text>
|
||||||
|
</view>
|
||||||
<view class="selecttime" @tap='timeshow=true'>
|
<view class="selecttime" @tap='timeshow=true'>
|
||||||
<span>时间:</span>
|
<span>时间:</span>
|
||||||
<text v-if="usertime==''" class='addition'>请选择时间
|
<text v-if="usertime==''" class='addition'>请选择时间区间
|
||||||
<image src="../../static/jiantou.png"></image>
|
<image src="../../static/jiantou.png"></image>
|
||||||
</text>
|
</text>
|
||||||
<text v-else class='addition'>{{usertime}}</text>
|
<text v-else class='addition'>{{usertime}}</text>
|
||||||
@ -34,15 +45,21 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="Consumablespackage">耗材包详情:
|
<view class="Consumablespackage">耗材包详情:
|
||||||
<text class="money">¥{{orderlist.consumableTotalPrice}}</text>
|
<text class="money">¥{{orderlist.consumableTotalPrice}}</text>
|
||||||
<view class="detail" v-for="(item,index) in orderlist.itemConsumableList">
|
<view class="detail">
|
||||||
·<span style='padding-left: 10rpx;'>{{item.consumableDetail}}</span>
|
<u-checkbox-group @change="checkboxGroupChange" wrap='true'>
|
||||||
|
<u-checkbox @change="checkboxChange" v-model="item.radio"
|
||||||
|
v-for="(item, index) in orderlist.itemConsumableList" :key="index"
|
||||||
|
:name="item.consumableDetail">
|
||||||
|
{{item.consumableDetail}}
|
||||||
|
</u-checkbox>
|
||||||
|
</u-checkbox-group>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="remarks">
|
<view class="remarks">
|
||||||
<span>备注:</span>
|
<span>备注:</span>
|
||||||
<input placeholder="">
|
<input placeholder="">
|
||||||
</view>
|
</view>
|
||||||
<view class="radio-content" >
|
<view class="radio-content">
|
||||||
<view class="radio-right" @tap="changeRadio">
|
<view class="radio-right" @tap="changeRadio">
|
||||||
<view class="radio" :class="radio == 2 ? 'radio-default':''">
|
<view class="radio" :class="radio == 2 ? 'radio-default':''">
|
||||||
<view :class="radio == 2 ? 'radio-active':''"></view>
|
<view :class="radio == 2 ? 'radio-active':''"></view>
|
||||||
@ -57,7 +74,9 @@
|
|||||||
<view class="queren" @tap='updata'>确认预约</view>
|
<view class="queren" @tap='updata'>确认预约</view>
|
||||||
</view>
|
</view>
|
||||||
<u-toast ref="uToast" />
|
<u-toast ref="uToast" />
|
||||||
<upicker v-model="timeshow" mode="time" start-year='2022' :params="timeparams" @confirm='timeconfirm'></upicker>
|
<u-picker v-model="yearshow" mode="time" start-year='2022' :params="yearparams" @confirm='yeartimeconfirm'>
|
||||||
|
</u-picker>
|
||||||
|
<upicker v-model="timeshow" mode="time" :params="timeparams" @confirm='timeconfirm'></upicker>
|
||||||
<!-- //用户协议 -->
|
<!-- //用户协议 -->
|
||||||
<u-mask :show="maskshow" class='mask' @click='maskshow=false'>
|
<u-mask :show="maskshow" class='mask' @click='maskshow=false'>
|
||||||
<view class="Agreement">
|
<view class="Agreement">
|
||||||
@ -94,15 +113,26 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
timeparams: { //picker组件所需
|
timeparams: { //picker组件所需
|
||||||
year: true,
|
year: false,
|
||||||
month: true,
|
month: false,
|
||||||
day: true,
|
day: false,
|
||||||
hour: true,
|
hour: true,
|
||||||
endhour: true,
|
endhour: true,
|
||||||
minute: true,
|
minute: true,
|
||||||
endminute: true,
|
endminute: true,
|
||||||
},
|
},
|
||||||
timeshow: false, //时间开关
|
timeshow: false, //时间开关
|
||||||
|
usertime: '', //页面展示时间
|
||||||
|
yearparams: { //picker组件所需
|
||||||
|
year: true,
|
||||||
|
month: true,
|
||||||
|
day: true,
|
||||||
|
hour: false,
|
||||||
|
minute: false,
|
||||||
|
second: false
|
||||||
|
},
|
||||||
|
yearshow: false, //时间开关
|
||||||
|
yeartime: '', //页面展示时间
|
||||||
maskshow: false, //用户协议开关
|
maskshow: false, //用户协议开关
|
||||||
radio: 1, //用户协议
|
radio: 1, //用户协议
|
||||||
personInfo: [], //用户信息
|
personInfo: [], //用户信息
|
||||||
@ -178,9 +208,13 @@
|
|||||||
},
|
},
|
||||||
//获取耗材包详情
|
//获取耗材包详情
|
||||||
getPatientInfo(stationId, stationItemId, stationItemPriceId) {
|
getPatientInfo(stationId, stationItemId, stationItemPriceId) {
|
||||||
let that = this;
|
|
||||||
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
|
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
|
if (res.data.itemConsumableList) {
|
||||||
|
res.data.itemConsumableList.forEach(e => {
|
||||||
|
e.radio = true
|
||||||
|
})
|
||||||
|
}
|
||||||
this.orderlist = res.data
|
this.orderlist = res.data
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -196,7 +230,12 @@
|
|||||||
this.orderlist.orderChannel = "MOBILE_APP"
|
this.orderlist.orderChannel = "MOBILE_APP"
|
||||||
this.orderlist.buySource = "NURSE_STATION"
|
this.orderlist.buySource = "NURSE_STATION"
|
||||||
this.orderlist.orderCount = 1;
|
this.orderlist.orderCount = 1;
|
||||||
this.orderlist.orderConsumableList = this.orderlist.itemConsumableList
|
this.orderlist.orderConsumableList = []
|
||||||
|
this.orderlist.itemConsumableList.forEach(e => {
|
||||||
|
if (e.radio) {
|
||||||
|
this.orderlist.orderConsumableList.push(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
// submitAppointment(this.orderlist).then(res => {
|
// submitAppointment(this.orderlist).then(res => {
|
||||||
// if (res.code == 500) {
|
// if (res.code == 500) {
|
||||||
// this.$refs.uToast.show({
|
// this.$refs.uToast.show({
|
||||||
@ -221,14 +260,21 @@
|
|||||||
this.radio = 1;
|
this.radio = 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 选中任一checkbox时,由checkbox-group触发
|
||||||
|
checkboxGroupChange(e) {},
|
||||||
|
// 全选
|
||||||
|
checkedAll() {},
|
||||||
//获取时间
|
//获取时间
|
||||||
timeconfirm(e) {
|
timeconfirm(e) {
|
||||||
this.orderlist.serviceDate = e.year + '-' + e.month + '-' + e.day
|
|
||||||
this.orderlist.serviceStartTime = e.hour + ":" + e.minute
|
this.orderlist.serviceStartTime = e.hour + ":" + e.minute
|
||||||
|
this.usertime = e.hour + ":" + e.minute + '--' + e.endhour + ":" + e.endminute
|
||||||
this.orderlist.serviceEndTime = e.endhour + ":" + e.endminute
|
this.orderlist.serviceEndTime = e.endhour + ":" + e.endminute
|
||||||
this.usertime = e.year + '年' + e.month + '月' + e.day + '日' + e.hour + ":" + e.minute + '至' + e.endhour +
|
this.orderlist.patientId = this.personInfo.patientId
|
||||||
":" + e.endminute
|
this.orderlist.serviceAddress = this.personInfo.address
|
||||||
console.log(this.orderlist, this.usertime)
|
},
|
||||||
|
yeartimeconfirm(e) {
|
||||||
|
this.orderlist.serviceDate = e.year + '-' + e.month + '-' + e.day
|
||||||
|
this.yeartime = e.year + '年' + e.month + '月' + e.day + "日"
|
||||||
},
|
},
|
||||||
goaddress() {
|
goaddress() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|||||||
@ -119,7 +119,6 @@
|
|||||||
methods: {
|
methods: {
|
||||||
buy() {
|
buy() {
|
||||||
// addStationGoodsOrder(this.updata).then(res => {
|
// addStationGoodsOrder(this.updata).then(res => {
|
||||||
// console.log(res)
|
|
||||||
// if (res.code == 500) {
|
// if (res.code == 500) {
|
||||||
// this.$refs.uToast.show({
|
// this.$refs.uToast.show({
|
||||||
// title: res.msg,
|
// title: res.msg,
|
||||||
|
|||||||
72
pages/diseasemanagement/diseasemanagement.vue
Normal file
72
pages/diseasemanagement/diseasemanagement.vue
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<view class="app">
|
||||||
|
<view class="concent">
|
||||||
|
<view class="background">
|
||||||
|
<image src="/static/logo.png" mode=""></image>
|
||||||
|
<view>
|
||||||
|
<view class="detailed">
|
||||||
|
<view>
|
||||||
|
专病管理简介:慢性病已成为我国老年人健康的最大威胁,建立标准化的慢病专病并发症防治中心,建立规范化的导诊流程、建立慢病专病综合电子档案,对于慢病及并发症的早期发现、早期治疗,延缓并发症的发生发展,降低患者、政府经济负担具有重要现实意义。组建“金字塔”式医生服务团队,由省级知名专家全程介入慢病管理、远程会诊、绿色就医通道;基层全科医生、护师落实专家指导意见和上门随访服务;辅以营养师和运动处方师,根据筛查监测数据提供营养膳食和专属运动处方运动建议;打造“一人、一病、一处方”的管理模式。
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.app {
|
||||||
|
padding-top: 10rpx;
|
||||||
|
|
||||||
|
.concent {
|
||||||
|
width: 701rpx;
|
||||||
|
height: 850rpx;
|
||||||
|
background: #4C7BC9;
|
||||||
|
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 5% auto 20px;
|
||||||
|
|
||||||
|
.background {
|
||||||
|
position: relative;
|
||||||
|
width: 657rpx;
|
||||||
|
height: 800rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
background-color: white;
|
||||||
|
margin: 0 auto;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 178rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25px;
|
||||||
|
margin-left: 68%;
|
||||||
|
margin-top: 5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed {
|
||||||
|
width: 657rpx;
|
||||||
|
padding: 0 42rpx;
|
||||||
|
line-height: 56rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed view {
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -13,19 +13,19 @@
|
|||||||
就医
|
就医
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="elderly item" @tap='gono'>
|
<view class="elderly item" @tap='goGeriatricdisease'>
|
||||||
<image src="../../static/ylfw.png" mode=""></image>
|
<image src="../../static/ylfw.png" mode=""></image>
|
||||||
<view class="title" style="font-size: 40rpx;">
|
<view class="title" style="font-size: 40rpx;">
|
||||||
国家老年病中心
|
国家老年病中心
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="item Bodyguard" @tap='gono'>
|
<view class="item Bodyguard" @tap='goBodysatelliteintegration'>
|
||||||
<image src="../../static/pb.png" mode=""></image>
|
<image src="../../static/pb.png" mode=""></image>
|
||||||
<view class="title">
|
<view class="title">
|
||||||
体卫融合
|
体卫融合
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="item knowledge" @tap='gono'>
|
<view class="item knowledge" @tap='godiseasemanagement'>
|
||||||
<image src="../../static/zs.png" mode=""></image>
|
<image src="../../static/zs.png" mode=""></image>
|
||||||
<view class="title">
|
<view class="title">
|
||||||
专病管理
|
专病管理
|
||||||
@ -48,12 +48,28 @@
|
|||||||
return {};
|
return {};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//暂未开放
|
//专病管理
|
||||||
gono() {
|
godiseasemanagement() {
|
||||||
this.$refs.uToast.show({
|
uni.navigateTo({
|
||||||
title: '暂未开放',
|
url: '/pages/diseasemanagement/diseasemanagement'
|
||||||
type: 'error',
|
})
|
||||||
duration: '1000'
|
},
|
||||||
|
//老年病中心
|
||||||
|
goGeriatricdisease() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/Geriatricdisease/Geriatricdisease'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//体卫融合
|
||||||
|
goBodysatelliteintegration() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/Bodysatelliteintegration/Bodysatelliteintegration"
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//跳转就医页面
|
||||||
|
gomedicine() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/medicine/medicine'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//跳转护理站页面
|
//跳转护理站页面
|
||||||
@ -68,17 +84,6 @@
|
|||||||
url: '/pages/shopping/shopping'
|
url: '/pages/shopping/shopping'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//跳转就医页面
|
|
||||||
gomedicine() {
|
|
||||||
this.$refs.uToast.show({
|
|
||||||
title: '暂未开放',
|
|
||||||
type: 'error',
|
|
||||||
duration: '1000'
|
|
||||||
})
|
|
||||||
// uni.navigateTo({
|
|
||||||
// url: '/pages/medicine/medicine'
|
|
||||||
// })
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,6 +1,104 @@
|
|||||||
.app {
|
.app {
|
||||||
padding:0;
|
padding:0;
|
||||||
height:100vh;
|
height:100vh;
|
||||||
|
.btn{
|
||||||
|
width:28%;
|
||||||
|
float: right;
|
||||||
|
background-color: #2979ff;
|
||||||
|
height: 80rpx;
|
||||||
|
line-height: 80rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 38rpx;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
.Agreement{
|
||||||
|
width: 100%;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
text-align: center;
|
||||||
|
height: 1000rpx;
|
||||||
|
position: absolute;
|
||||||
|
top:5%;
|
||||||
|
font-size: 30rpx;
|
||||||
|
.title{
|
||||||
|
height: 100rpx;
|
||||||
|
line-height: 100rpx;
|
||||||
|
border-bottom: 1px solid #eeeeee;
|
||||||
|
font-size: 34rpx;
|
||||||
|
margin: 0px auto;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.scroll-Y{
|
||||||
|
height:830rpx ;
|
||||||
|
overflow-y:scroll;
|
||||||
|
text-align: left;
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
.cancel {
|
||||||
|
height:70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
position: absolute;
|
||||||
|
border-top: 1rpx solid #000000;
|
||||||
|
bottom:0;
|
||||||
|
right:0;
|
||||||
|
width: 50%;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
.determine {
|
||||||
|
height:70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
width: 50%;
|
||||||
|
color: #F4F5F7;
|
||||||
|
background: #4C7BC9;
|
||||||
|
position: absolute;
|
||||||
|
bottom:0;
|
||||||
|
left:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.radio-content {
|
||||||
|
margin: 50rpx auto;
|
||||||
|
width: 70%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
position: relative;
|
||||||
|
.agreement {
|
||||||
|
position: absolute;
|
||||||
|
top:50%;
|
||||||
|
left:20%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
color: #878987;
|
||||||
|
}
|
||||||
|
.radio-right {
|
||||||
|
height: 100rpx;
|
||||||
|
|
||||||
|
.radio {
|
||||||
|
display: inline-block;
|
||||||
|
width: 35rpx;
|
||||||
|
height: 35rpx;
|
||||||
|
border-radius: 70%;
|
||||||
|
border: 2rpx solid #178ffb;
|
||||||
|
position: absolute;
|
||||||
|
top:50%;
|
||||||
|
left:5%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
.radio-active {
|
||||||
|
width: 16rpx;
|
||||||
|
height: 16rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #178ffb;
|
||||||
|
position: absolute;
|
||||||
|
top:50%;
|
||||||
|
left:50%;
|
||||||
|
transform: translate(-50%,-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.service {
|
.service {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|||||||
@ -50,9 +50,37 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<u-button type="primary" style='width:30%;float: right;margin-top: 50rpx;' @tap='informationinfo'>提交
|
|
||||||
</u-button>
|
|
||||||
</view>
|
</view>
|
||||||
|
<view class="radio-content">
|
||||||
|
<view class="radio-right" @tap="changeRadio">
|
||||||
|
<view class="radio" :class="radio == 2 ? 'radio-default':''">
|
||||||
|
<view :class="radio == 2 ? 'radio-active':''"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="agreement">我已阅读并同意<text @tap='maskshow=true'
|
||||||
|
style="color: #000000;border-bottom: 1rpx solid #000000;">《用户协议》</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="btn" @tap='informationinfo'>
|
||||||
|
提交
|
||||||
|
</view>
|
||||||
|
<!-- //用户协议 -->
|
||||||
|
<u-mask :show="maskshow" class='mask' @click='maskshow=false'>
|
||||||
|
<view class="Agreement">
|
||||||
|
<view class="title">
|
||||||
|
用户协议与隐私政策
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y="true" class="scroll-Y" style="">
|
||||||
|
<contenttext></contenttext>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="cancel" @tap='maskshow=false'>
|
||||||
|
取消
|
||||||
|
</view>
|
||||||
|
<view class="determine" @tap='tapradio'>
|
||||||
|
确定并同意
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-mask>
|
||||||
<u-toast ref="uToast" />
|
<u-toast ref="uToast" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@ -63,15 +91,21 @@
|
|||||||
getNurseType,
|
getNurseType,
|
||||||
information
|
information
|
||||||
} from '@/api/information/index.js'
|
} from '@/api/information/index.js'
|
||||||
|
import contenttext from './text.vue'
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
contenttext
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
radio: 1,
|
||||||
timer: null,
|
timer: null,
|
||||||
arealist: [], //区街道list
|
arealist: [], //区街道list
|
||||||
areashow: false, //经纬度开关
|
areashow: false, //经纬度开关
|
||||||
getNurseTypelist: [], //护理类型数组
|
getNurseTypelist: [], //护理类型数组
|
||||||
medicalcarelist: [], //医疗护理数组
|
medicalcarelist: [], //医疗护理数组
|
||||||
address: '', //页面所属区域
|
address: '', //页面所属区域
|
||||||
|
maskshow: false, //用户协议
|
||||||
chooseLocation: '',
|
chooseLocation: '',
|
||||||
query: { //信息请求数组
|
query: { //信息请求数组
|
||||||
patientName: "",
|
patientName: "",
|
||||||
@ -172,6 +206,17 @@
|
|||||||
url: `/pages/disease/disease?diseaseInfoList=${JSON.stringify(this.query.diseaseInfoList)}`
|
url: `/pages/disease/disease?diseaseInfoList=${JSON.stringify(this.query.diseaseInfoList)}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
changeRadio() {
|
||||||
|
if (this.radio == 1) {
|
||||||
|
this.radio = 2;
|
||||||
|
} else {
|
||||||
|
this.radio = 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tapradio() {
|
||||||
|
this.radio = 2;
|
||||||
|
this.maskshow = false;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
onUnload() {
|
onUnload() {
|
||||||
// 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
|
// 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
|
||||||
|
|||||||
384
pages/information/text.vue
Normal file
384
pages/information/text.vue
Normal file
@ -0,0 +1,384 @@
|
|||||||
|
<template>
|
||||||
|
<view class="">
|
||||||
|
泉医到家(简称“我们”)深知个人信息对您的重要性,也感谢您对我们的信任。
|
||||||
|
我们将通过本政策向您说明我们如何收集、存储、保护、使用及对外提供您的信息,并说明您享有的权利,其中要点如下:
|
||||||
|
<view class="">
|
||||||
|
1、为了便于您了解您在使用我们的服务时,我们需要收集的信息类型与用途,我们将结合具体服务向您逐一说明;
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
2、为了向您提供服务所需,我们会按照合法、正当、必要的原则收集您的信息;
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
3、如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施并且严格遵守相关法律法规与监管要求。另外,我们会按照法律法规及国家标准的要求以确认协议、具体场景下的文案确认、弹窗提示等形式征得您的同意或确认第三方已征得您的同意;
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
4、如果为了向您提供服务而需要从第三方获取您的信息,我们将要求第三方说明信息来源,并要求第三方保障其提供信息的合法性;如果我们开展业务、提供服务需进行的个人信息处理活动超出您原本向第三方提供个人信息的授权范围,我们将征得您的明确同意;
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
5 、您可以通过本隐私政策介绍的方式访问和管理您的信息、设置隐私功能或进行投诉举报。
|
||||||
|
</view>
|
||||||
|
<view class="" style="padding-top: 20rpx;">
|
||||||
|
您可以根据以下索引阅读相应章节,进一步了解本政策的具体约定:
|
||||||
|
</view>
|
||||||
|
<view>一、我们如何收集和使用个人信息</view>
|
||||||
|
<view> 二、我们对Cookie(或同类技术)的使用</view>
|
||||||
|
<view> 三、我们如何存储个人信息</view>
|
||||||
|
<view> 四、我们如何共享、转让、公开披露个人信息</view>
|
||||||
|
<view> 五、我们如何保护个人信息的安全</view>
|
||||||
|
<view> 六、您的权利</view>
|
||||||
|
<view> 七、未成年人使用条款</view>
|
||||||
|
<view> 八、隐私政策的修订和通知</view>
|
||||||
|
<view> 九、适用范围</view>
|
||||||
|
<view> 十、第三方软件开发包(SDK)个人信息收集情况</view>
|
||||||
|
<view> 十一、联系我们</view>
|
||||||
|
<view> 我们将按照法律规定,保护您的个人信息及隐私安全。我们制定本“隐私政策”并特别提示:希望您在使用泉医到家及相关服务前仔细阅读并理解本隐私政策,以便做出适当的选择。</view>
|
||||||
|
<view class="" style="text-indent: 0em;padding: 20rpx 0;">
|
||||||
|
一、我们如何收集和使用个人信息
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
在您使用“泉医到家”及服务的过程中,我们将根据合法、正当、必要的原则,收集信息。我们收集或您提供的信息将用于:
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
1.保障产品的正常基础运行;
|
||||||
|
</view>
|
||||||
|
<view> 2.实现各项功能和服务;</view>
|
||||||
|
<view> 3.优化、改善产品和服务;</view>
|
||||||
|
<view> 4.保障产品、服务以及用户使用安全;</view>
|
||||||
|
<view> 5.遵循法律法规与国家标准的规定。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> (一)我们直接收集与使用的个人信息</view>
|
||||||
|
<view> 我们会按照如下方式收集您在使用服务时主动提供的,以及通过自动化手段收集您在使用功能或接受服务过程中产生的信息:</view>
|
||||||
|
<view> 1.保障“泉医到家”和相关服务的正常运行</view>
|
||||||
|
<view>
|
||||||
|
当您使用“泉医到家”及相关服务时,为了保障软件与服务的正常运行,我们会收集您的硬件型号、操作系统版本号、国际移动设备识别码(IMEI)、网络设备硬件地址(MAC)、IP地址、软件版本号、网络接入方式及类型、操作日志、电话状态等信息。请您了解,这些信息是我们提供服务和保障产品正常运行所必须收集的基本信息。
|
||||||
|
</view>
|
||||||
|
<view> 2.注册、认证、登录“泉医到家”和相关服务</view>
|
||||||
|
<view>
|
||||||
|
(1)当您注册、登录“泉医到家”及相关服务时,您可以通过手机号创建账号,我们将通过发送短信验证码来验证您的身份是否有效,并且您可以完善相关的网络身份识别信息(如头像、昵称和密码),收集这些信息是为了帮助您完成注册。您还可以根据自身需求选择填写性别、生日等信息完善您的个人信息。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
(2)您也可以使用第三方账号(如微信)登录进入泉医到家,您此时将授权我们获取您在第三方平台注册的公开信息(头像、昵称等),并在您同意本隐私政策后将您的第三方账号与您的泉医到家账号绑定,使您可以通过第三方账号直接登录并使用本产品和相关服务。
|
||||||
|
</view>
|
||||||
|
<view> 3.获得您的明示同意后的地理位置信息</view>
|
||||||
|
<view> 在本地频道中,我们会基于IP地址对应的城市(如:济南)向您展示、推荐您所在地区的本地相关信息。</view>
|
||||||
|
<view> 拒绝提供地理位置信息,我们将不会基于地理位置向您推送信息,但不会影响“泉医到家”其他功能与服务的正常使用。</view>
|
||||||
|
<view> 4.为您提供信息发布功能或服务</view>
|
||||||
|
<view> 您发布内容、评论、提问或回答时,我们将收集您发布的信息,并展示您的昵称、头像、发布内容等。</view>
|
||||||
|
<view> 您使用上传图片、发布音视频功能时,我们会请求您授权相机、照片、麦克风等敏感权限。您如果拒绝授权提供,将无法使用此功能,但不影响您正常使用“泉医到家”的其他功能。</view>
|
||||||
|
<view> 您发布信息并选择显示位置时,我们会请求您授权地理位置权限,并收集与本服务相关的位置信息。这些技术包括 IP 地址、GPS 以及能够提供相关信息的
|
||||||
|
WI-FI接入点、蓝牙和基站等传感器技术。您如果拒绝授权提供,将无法使用此功能,但不影响您正常使用“泉医到家”的其他功能。</view>
|
||||||
|
<view>
|
||||||
|
我们会将缓存写入外置存储器,为此需要您授权外置存储器读写权限。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
5.为您提供搜索服务
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
您使用“泉医到家”的搜索服务时,我们会收集您的搜索关键字信息、日志记录等。为了提供高效的搜索服务,部分前述信息会暂时存储在您的本地存储设备之中,并可向您展示搜索结果内容、搜索历史记录。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
6.保障产品、服务及用户使用安全
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
为帮助我们更好地了解“泉医到家”及相关服务的运行情况,以便确保运行与提供服务的安全,我们可能记录网络日志信息,以及使用软件及相关服务的频率、崩溃数据、总体安装、使用情况、性能数据等信息。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
7.为您提供意见反馈服务
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
为了确认您的身份信息及在处理完您的意见反馈后便于向您回复,需要您提交意见反馈时填写您的电话或QQ或邮箱等。此信息仅用于确认身份及回复您使用。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;">
|
||||||
|
(二)我们可能从第三方获得的您的个人信息
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
1.当您主动使用第三方账号登录“泉医到家”时,我们会收集第三方账号的昵称、头像等信息。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
2.用户因使用我们的产品或者服务而被我们收集的信息,例如其他用户发布的信息中可能含有您的部分信息(如:在评论、留言、发布图文、音视频中涉及到与您相关的信息)。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;">
|
||||||
|
(三)收集、使用个人信息目的变更的处理
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
请您了解,随着我们业务的发展,可能会对“泉医到家”的功能和提供的服务有所调整变化。原则上,当新功能或服务与发布信息、互动交流、搜索查询、注册认证等场景相关时,收集与使用的个人信息将与原处理目的具有直接或合理关联。在与原处理目的无直接或合理关联的场景下,我们收集、使用您的个人信息,会再次进行告知,并征得您的同意。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;">
|
||||||
|
(四)依法豁免征得同意收集和使用的个人信息
|
||||||
|
</view>
|
||||||
|
<view> 请您理解,在下列情形中,根据法律法规及相关国家标准,我们收集和使用您的个人信息无需征得您的授权同意:</view>
|
||||||
|
<view> (1)与国家安全、国防安全直接相关的;</view>
|
||||||
|
<view> (2)与公共安全、公共卫生、重大公共利益直接相关的;</view>
|
||||||
|
<view> (3)与犯罪侦查、起诉、审判和判决执行等直接相关的;</view>
|
||||||
|
<view> (4)出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;</view>
|
||||||
|
<view> (5)所收集的您的个人信息是您自行向社会公众公开的;</view>
|
||||||
|
<view> (6)从合法公开披露的信息中收集的您的个人信息的,如合法的新闻报道、政府信息公开等渠道;</view>
|
||||||
|
<view> (7)根据您的要求签订或履行合同所必需的;</view>
|
||||||
|
<view> (8)用于维护“泉医到家”软件及相关服务的安全稳定运行所必需的,例如发现、处置“泉医到家”软件及相关服务的故障;</view>
|
||||||
|
<view> (9)学术研究机构基于公共利益开展统计或学术研究所必要,且对外提供学术研究或描述的结果时,对结果中所包含的个人信息进行去标识化处理的;</view>
|
||||||
|
<view> (10)法律法规规定的及与履行行业主管部门有关规定的义务相关的其他情形。</view>
|
||||||
|
<view>
|
||||||
|
特别提示您注意,如信息无法单独或结合其他信息识别到您的个人身份,其不属于法律意义上您的个人信息;当您的信息可以单独或结合其他信息识别到您的个人身份时或我们将无法与任何特定个人信息建立联系的数据与其他您的个人信息结合使用时,这些信息在结合使用期间,将作为您的个人信息按照本隐私政策处理与保护。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> (五)其他</view>
|
||||||
|
<view>
|
||||||
|
请您理解,我们向您提供的服务是不断更新和发展的。如您选择使用了前述说明当中未涵盖的其他服务,基于该服务我们需要收集您的信息的,我们会通过页面提示、交互流程、协议约定的方式另行向您说明信息收集的范围与目的,并征得您的同意。我们会按照本政策以及相应的用户协议约定使用、存储、对外提供及保护您的信息;如您选择不提供前述信息,您可能无法使用某项或某部分服务,但不影响您使用我们提供的其他服务。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 二、我们对Cookie(或同类技术)的使用</view>
|
||||||
|
<view> 为使您获得更轻松的访问体验,您访问“泉医到家”提供的服务时,我们可能会通过小型数据文件识别您的身份,帮您省去重复输入登录信息的步骤,或者帮助您判断您的账户是否安全。这些数据文件可能是Cookie、Flash
|
||||||
|
Cookie、或您的浏览器或关联应用程序提供的其他本地存储(统称“Cookie”)。请您理解,我们的某些服务只能通过使用Cookie才可得到实现。如果您的浏览器或浏览器附加服务允许,您可以修改对Cookie的接受程度或者拒绝“泉医到家”的Cookie,但这一举动在某些情况下可能会影响您安全访问“泉医到家”和使用“泉医到家”提供的服务。我们使用
|
||||||
|
Cookie(或同类技术)主要为了实现以下功能或服务:</view>
|
||||||
|
|
||||||
|
<view> (一)保障产品与服务的安全、高效运转</view>
|
||||||
|
<view> 我们可能会设置认证与保障安全性的cookie或匿名标识符,使我们确认您是否安全登录服务,或者是否遇到盗用、欺诈等不法行为。这些技术还会帮助我们改进服务效率,提升登录和响应速度。</view>
|
||||||
|
<view> (二)帮助您获得更轻松的访问体验</view>
|
||||||
|
<view> 使用此类技术可以帮助您省去重复您填写个人信息、输入搜索内容的步骤和流程(例如:记录搜索历史)。</view>
|
||||||
|
<view> (三)为您推荐、展示、推送您可能感兴趣的内容或账号</view>
|
||||||
|
<view> 我们可能会利用Cookie或同类技术了解您的偏好和使用习惯,进行咨询或数据分析,以改善产品服务及用户体验,并优化您对广告的选择。</view>
|
||||||
|
<view> 我们承诺,我们不会将Cookie用于本隐私政策所述目的之外的任何其他用途。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 三、我们如何存储个人信息</view>
|
||||||
|
<view> (一)信息存储的地点</view>
|
||||||
|
<view> 我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。</view>
|
||||||
|
<view> (二)存储期限</view>
|
||||||
|
<view>
|
||||||
|
我们仅在为提供“泉医到家”及服务之目的所必需的期间内保留您的个人信息,例如,您发布的信息、评论、点赞等信息,在您未撤回、删除或未注销账号期间,我们会保留相关信息。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 四、我们如何共享、转让、公开披露个人信息</view>
|
||||||
|
<view> (一)个人信息的共享、转让</view>
|
||||||
|
<view> 我们不会向第三方共享、转让您的个人信息,除非经过您本人事先授权同意,或者共享、转让的个人信息是去标识化处理后的信息,且共享第三方无法重新识别此类信息的自然人主体。</view>
|
||||||
|
<view> 1.我们可能会共享的个人信息</view>
|
||||||
|
<view> 1.1为实现特定功能而与业务合作伙伴共享</view>
|
||||||
|
<view>
|
||||||
|
当软件服务提供商、智能设备提供商或系统服务提供商与我们联合为您提供服务时,例如您需要使用地理位置功能时,为实现这一功能,我们可能会收集您的位置信息及相关设备信息(例如硬件型号、操作系统版本号、国际移动设备身份识别码(IMEI)、网络设备硬件地址(MAC))经过去标识化后并提供给前述提供商。
|
||||||
|
</view>
|
||||||
|
<view> 1.2帮助您参加营销推广活动</view>
|
||||||
|
<view> 当您选择参加我们举办的有关营销活动时,根据活动需要您提供姓名、通信地址、联系方式等信息。经过您的明示同意,我们会将上述信息与第三方共享以便我们能委托第三方及时向您提供奖品。</view>
|
||||||
|
<view> 2.对共享个人信息第三方主体的谨慎评估及责任约束</view>
|
||||||
|
<view>
|
||||||
|
2.1如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施并且严格遵守相关法律法规与监管要求。另外,我们会按照法律法规及国家标准的要求以确认协议、具体场景下的文案确认、弹窗提示等形式征得您的同意或确认第三方已征得您的同意。
|
||||||
|
</view>
|
||||||
|
<view> 2.2对我们与之共享您个人信息的第三方,该些第三方会与我们签订保密协议。同时,我们会对其数据安全能力与环境进行评估,并要求第三方以不低于本隐私政策所要求的保密和安全措施来保护信息。</view>
|
||||||
|
<view> (二)个人信息的公开披露</view>
|
||||||
|
<view> 我们不会公开披露您的信息,除非遵循国家法律法规规定或者获得您的同意。我们公开披露您的个人信息会采用符合行业内标准的安全保护措施。</view>
|
||||||
|
<view> (三)依法豁免征得同意共享、转让、公开披露的个人信息</view>
|
||||||
|
<view> 请您理解,在下列情形中,根据法律法规及国家标准,我们共享、转让、公开披露您的个人信息无需征得您的授权同意:</view>
|
||||||
|
<view> 1.与国家安全、国防安全直接相关的;</view>
|
||||||
|
<view> 2.与公共安全、公共卫生、重大公共利益直接相关的;</view>
|
||||||
|
<view> 3.与犯罪侦查、起诉、审判和判决执行等直接相关的;</view>
|
||||||
|
<view> 4.出于维护您或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;</view>
|
||||||
|
<view> 5.您自行向社会公众公开的个人信息;</view>
|
||||||
|
<view> 6.从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 五、我们如何保护个人信息安全</view>
|
||||||
|
<view> (一)我们非常重视您个人信息的安全,将努力采取合理的安全措施(包括技术方面和管理方面)来保护您的个人信息,防止您提供的个人信息被不当使用或未经授权的情况下被访问、公开披露、使用、修改、损坏、丢失或泄漏。
|
||||||
|
</view>
|
||||||
|
<view> (二)我们会使用加密技术、匿名化处理等合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。</view>
|
||||||
|
<view> (三)我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人 信息,并适时对数据和技术进行安全审计。</view>
|
||||||
|
<view>
|
||||||
|
(四)尽管已经采取了上述合理有效措施,并已经遵守了相关法律规定要求的标准,但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全,我们将尽力确保您提供给我们的个人信息的安全性。您知悉并理解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。因此,我们强烈建议您采取积极措施保护个人信息的安全,包括但不限于使用复杂密码、定期修改密码、不将自己的账号密码等个人信息透露给他人。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
(五)我们会制定应急处理预案,并在发生用户信息安全事件时立即启动应急预案,努力阻止该等安全事件的影响和后果扩大。一旦发生用户信息安全事件(泄露、丢失等)后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已经采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以推送通知、邮件、信函、短信等形式告知您,难以逐一告知时,我们会采取合理、有效的方式发布公告。同时,我们还将按照相关监管部门要求,上报用户信息安全事件的处置情况。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
(六)我们谨此特别提醒您,本隐私政策提供的个人信息保护措施仅适用于“泉医到家”及相关服务。一旦您离开“泉医到家”及相关服务,浏览或使用其他网站、服务及内容资源,我们即没有能力及义务保护您在“泉医到家”及相关服务之外的软件、网站提交的任何个人信息,无论您登录、浏览或使用上述软件、网站是否基于“泉医到家”的链接或引导。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 六、您的权利</view>
|
||||||
|
<view> 我们非常重视您对个人信息的管理,并尽全力保护您对于您个人信息的查询、访问、修改、删除、撤回同意授权、在设置页面注销账号、投诉举报以及设置隐私功能等权利,以使您有能力保障您的隐私和安全。</view>
|
||||||
|
<view> (一)访问、删除、更正您的个人信息</view>
|
||||||
|
<view> 您可以通过以下方式管理您的信息:</view>
|
||||||
|
<view> 1. 访问个人账号信息:</view>
|
||||||
|
<view> 您可以查询、访问您的头像、用户名、简介、性别、生日、地区、位置等基本信息(身份证个人信息除外),您可以在泉医到家的“编辑资料”中进行查询、访问。</view>
|
||||||
|
<view> 2. 查询访问、更改、删除您的收藏记录,清理缓存</view>
|
||||||
|
<view> 2.1 点击“我的”—点击“我的收藏”进入查询访问、删除;</view>
|
||||||
|
<view> 2.2 您可以通过点击“我的”—“设置”—点击“清理缓存”。</view>
|
||||||
|
<view> 3. 注销账号</view>
|
||||||
|
<view> 点击“我的”—点击“设置”—点击“账号注销”,同意账户注销协议并点击确定按钮。如需人工处理,我们将在核实您的身份之日起15日之内予以处理并回复。</view>
|
||||||
|
<view>
|
||||||
|
特别提示您注意,出于安全性和身份识别(如号码申诉服务)的考虑,您可能无法自主修改注册时提交的某些初始注册信息。如您确有需要修改该类注册信息,请根据本隐私政策载明的联系方式联系我们,我们核查并验证您的用户身份后会在15个工作日内处理并给予回复。
|
||||||
|
</view>
|
||||||
|
<view> (二)改变您授权同意范围或撤销授权</view>
|
||||||
|
<view> 1. 改变或撤回敏感信息权限</view>
|
||||||
|
<view> 您可以通过更改系统设置以及在设备本身操作系统中关闭地理位置、通讯录、摄像头、麦克风等权限改变同意范围或撤回您的授权。</view>
|
||||||
|
<view> 2. 拒绝接受推送及营销信息</view>
|
||||||
|
<view> 您可以通过设置关闭“推送通知”拒绝消息的推送。</view>
|
||||||
|
<view> 请您理解,特定的业务功能和服务将需要您的信息才能得以完成,当您撤回同意或授权后,我们无法继续为您提供撤回同意或授权所对应的功能和服务,也不再处理您相应的个人信息。</view>
|
||||||
|
<view> (三)投诉举报</view>
|
||||||
|
<view>
|
||||||
|
您可按照我们公示的制度进行投诉或举报。如果您认为您的个人信息权利可能受到侵害,或者发现侵害个人信息权利的线索(例如:认为我们收集您的个人信息违反法律规定或者双方约定),您可以通过点击“我的”,进入举报反馈界面与我们联系。我们核查后会在15个工作日内反馈您的投诉与举报。
|
||||||
|
</view>
|
||||||
|
<view> (四)访问隐私政策</view>
|
||||||
|
<view> 您可以在“我的”—“设置”中查看本隐私政策的全部内容。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 七、未成年人使用条款</view>
|
||||||
|
<view> (一)若您是未满18周岁的未成年人且无完全民事行为能力,在使用“泉医到家”及相关服务前,应在您的父母或其他监护人监护、指导下共同阅读并在征得您父母或者监护人同意的前提下使用我们的服务或向我们提供信息。
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
(二)我们根据国家相关法律法规的规定保护未成年人的个人信息,只会在法律允许、父母或其他监护人明确同意或保护未成年人所必要的情况下收集、使用、储存、共享、转让或披露未成年人的个人信息;如果我们发现在违背了法律有关规定或未事先获得可证实的父母同意的情况下收集了未成年人的个人信息,则会设法尽快删除相关信息。
|
||||||
|
</view>
|
||||||
|
<view> (三)若您是未成年人的监护人,当您对您所监护的未成年人的个人信息有相关疑问时,请通过本隐私政策公示的联系方式与我们联系。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 八、隐私政策的修订和通知</view>
|
||||||
|
<view>
|
||||||
|
为了给您提供更好的服务,泉医到家及相关服务将不时更新与变化,我们会适时对本隐私政策进行修订,这些修订构成本隐私政策的一部分并具有等同于本隐私政策的效力,未经您明确同意,我们不会削减您依据当前生效的本隐私政策所应享受的权利。
|
||||||
|
</view>
|
||||||
|
<view> 本隐私政策更新后,我们会在泉医到家发出更新版本,以便您及时了解本隐私政策的最新版本。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 九、适用范围</view>
|
||||||
|
<view> 本隐私政策仅适用于泉医到家客户端,不适用于有单独的隐私政策且未纳入本隐私政策的第三方产品或服务。</view>
|
||||||
|
<view> 本隐私权政策不适用于:</view>
|
||||||
|
<view> 1. 其他第三方产品或服务,可能包括在推荐中向您显示的产品或网站和广告内容或者“泉医到家”服务中链接到的其他产品或网站。</view>
|
||||||
|
<view> 2. 为“泉医到家”服务进行广告宣传的其他第三方。</view>
|
||||||
|
<view> 第三方主体可能会通过“泉医到家”向您提供服务。当您进入第三方主体运营的服务界面时,请注意相关服务由第三方主体向您提供。涉及到第三方主体向您收集信息的,建议您仔细查看第三方主体的隐私政策或协议约定。</view>
|
||||||
|
<view> 请您了解,本隐私政策中所述的“泉医到家”及相关服务可能会根据您所使用的手机型号、系统版本、软件应用程序版本、移动客户端等因素而有所不同。最终的产品和服务以您所使用的“泉医到家”软件及相关服务为准。</view>
|
||||||
|
<view style="text-indent: 0em;padding: 10rpx 0;"> 十、第三方软件开发包(SDK)个人信息收集情况</view>
|
||||||
|
<view>
|
||||||
|
1.地理位置服务:当您使用地理位置相关服务时,我们会将您的WLAN状态信息、定位信息、终端设备唯一标识符,与位置服务提供商(百度地图)进行共享,以便可以返回您的位置信息,并最终向您提供定位服务。我们会使用各种技术进行定位,包括IP地址、GNSS以及能够提供相关信息的其他传感器(如可能会为百度提供附近设备、WLAN接入点和基站的信息)。这些个人信息的收集,仅会在已获得您的终端设备系统权限允许的前提下进行。若您拒绝提供,仅会影响地理位置服务功能,但不影响其他功能的正常使用。
|
||||||
|
</view>
|
||||||
|
<view> 以下将详细列出我们的基本服务功能及为实现该功能所需收集的个人信息类型以及与收集个人信息相关的权限:</view>
|
||||||
|
<uni-table border stripe emptyText="">
|
||||||
|
<uni-tr>
|
||||||
|
<uni-th>权限类型</uni-th>
|
||||||
|
<uni-th>功能及服务</uni-th>
|
||||||
|
<uni-th>权限授权方式</uni-th>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>访问WI-FI状态</uni-td>
|
||||||
|
<uni-td>获取连接WIFI信息,返回至百度定位服务端作为辅助定位依据,再返回给开发者更精准的位置信息 </uni-td>
|
||||||
|
<uni-td> 由设备系统开发方及开发者应用决定,当最终用户同意向开发者应用授予该权限时开启</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>获取位置</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
获取的位置信息(可能包括GNSS信息、WIFI地址及信号强度信息、基站ID数据信息、传感器信息、手机信号强度信息),以便无需最终用户手动输入自身地理坐标就可以给开发者返回最终用户的位置信息
|
||||||
|
</uni-td>
|
||||||
|
<uni-td>由设备系统开发方及开发者应用决定,当最终用户同意向开发者应用授予该权限时开启</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
</uni-table>
|
||||||
|
<view style="text-indent: 0em">更多内容请参考百度地图隐私政策链接:http://privacy.baidu.com/detail?id=288</view>
|
||||||
|
<view>
|
||||||
|
2.分享服务:当您使用客户端分享服务时,我们会向提供该服务的上海游昆信息技术有限公司(以下称“MobTech”)共享您的系统运营、网络状态、MAC地址、国际移动设备识别码(IMEI)、匿名设备标识符(OAID)、国际移动用户识别码(IMSI)、应用列表、基站信息、社交平台OpenID、地理位置,以确保您的分享功能能够正常使用。以上信息将在您授权后收集。关于MobTech收集个人信息的保护规则及退出机制等。更多内容,详见MobTech官网(www.mob.com)
|
||||||
|
隐私政策条款(https://www.mob.com/about/policy)。</view>
|
||||||
|
<uni-table border stripe emptyText="">
|
||||||
|
<uni-tr>
|
||||||
|
<uni-th>SDK名称</uni-th>
|
||||||
|
<uni-th>场景描述</uni-th>
|
||||||
|
<uni-th>收集个人信息的类型</uni-th>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>MobTech,ShareSDK</uni-td>
|
||||||
|
<uni-td>社交分享,第三方登录</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
系统运营信息、网络状态信息、MAC地址、国际移动设备识别码(IMEI)、匿名设备标识符(OAID)、国际移动用户识别码(IMSI)、应用列表信息、基站信息、社交平台OpenID、地理位置
|
||||||
|
</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
</uni-table>
|
||||||
|
<view>
|
||||||
|
3.推送服务:当您使用客户端消息推送接收服务时,我们会收集您的设备信息、网络信息、位置信息与推送服务提供商(极光)进行共享,以便您能够正常收到本软件推送的消息。此外,我们将收集您的推送打开情况等统计数据与推送服务提供商(极光)共享,以协助本软件运营人员分析服务使用情况,提供更好的消息推送服务。极光收集使用实现服务所必须的个人信息,将通过【加密通道】将消息和通知推送给您。
|
||||||
|
</view>
|
||||||
|
<view>极光SDK绝不收集或者要求您提供包括但不限于个人种族、政治倾向、宗教、信仰、个人基因数据或生物特征数据、性取向等个人敏感信息。当我们要将收集而来的个人信息用于本政策未载明的其它用途时,会事先征求您的同意。
|
||||||
|
</view>
|
||||||
|
<view>如您拒绝开启消息推送服务,以上信息将不会共享给第三方,且仅影响消息推送服务功能,不影响其他功能的正常使用。</view>
|
||||||
|
<view> 极光SDK收集信息及目的如下:</view>
|
||||||
|
|
||||||
|
<uni-table border stripe emptyText="">
|
||||||
|
<uni-tr>
|
||||||
|
<uni-th>权限类型</uni-th>
|
||||||
|
<uni-th>内容</uni-th>
|
||||||
|
<uni-th>目的</uni-th>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>设备信息</uni-td>
|
||||||
|
<uni-td>设备标识符(IMEI、IDFA、Android
|
||||||
|
ID、MAC、OAID等相关信息)、应用信息或运行中的进程信息(应用崩溃信息、通知开关状态、软件列表等相关信息)、设备参数及系统信息(设备类型、设备型号、操作系统及硬件相关信息)
|
||||||
|
</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
用于识别唯一用户,保证消息推送的精准送达;优化推送通道资源,我们会根据设备上不同APP的活跃情况,整合消息推送的通道资源,为开发者提高消息送达率;为开发者提供智能标签以及展示业务统计信息的服务
|
||||||
|
</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>网络信息</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
优化SDK与极光服务器的网络连接请求,保证服务的稳定性和连续性。</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>位置信息</uni-td>
|
||||||
|
<uni-td></uni-td>
|
||||||
|
<uni-td>
|
||||||
|
实现区域推送功能。 </uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
</uni-table>
|
||||||
|
<view> 提请您注意并知悉:极光 SDK 为实现上述业务功能,收集您终端用户“设备信 息”、“网络信息”和/或“位置信息”的前提是,终端用户授权同意开启“读 写 SD
|
||||||
|
卡权限”、“网络访问权限”、“设备信息权限”和/或“位置权限”。 如果您的终端用户不想被收集上述信息,可以通过关闭“读写 SD 卡权限”、“网 络访问权限”、“设备信息权限”和/或“位置权限”实现。</view>
|
||||||
|
<view style="text-indent: 0em"> 更多内容请参考极光隐私政策链接:https://www.jiguang.cn/license/privacy</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view>4.分析统计 : 为分析产品与服务的使用情况,提升用户使用的体验,我们会与移动应用统计服务商友盟统计共享产品使用情况(打开、闪退、崩溃)的统计性数据,以及硬件
|
||||||
|
型号、操作系统版本号、网络设备硬件地址、软件版本号、网络信息、启动来源、 使用时长、地理位置、访问路经等统计性数据,这些数据难以与其他信息结合识 别您的个人身份,将通过加密技术传输,我们不会在您同意隐私协议并同意获取
|
||||||
|
相应数据前分享给相应 SDK。</view>
|
||||||
|
<view> 各项业务功能对系统隐私权限的调用,将在经过您的授权后开启,您可 以随时在系统中取消授权。取消授权会导致您无法使用相关业务功能, 但不会导致最终用户无法使用其他业务功能的使用。</view>
|
||||||
|
<view> 友 盟 +SDK 需要收集您的唯一设备识别码( 如 IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI
|
||||||
|
信息)、您安装的应用信息或运行中的进程信息,无法通过唯一设备识别码标识设备的特殊情况下(如您使用平板设备或电视盒子时)收 集设备 Mac 地址作为用户唯一标识以提供统计分析服务,并获取您的 位置信息及 IP
|
||||||
|
地址校准用户地域分布数据,提供基础反作弊能力。</view>
|
||||||
|
<view style="text-indent: 0;">具体获取权限及其用途列表如下</view>
|
||||||
|
<view class="" style="width: 100%;">
|
||||||
|
<uni-table border stripe emptyText="">
|
||||||
|
<uni-tr>
|
||||||
|
<uni-th>权限</uni-th>
|
||||||
|
<uni-th>用途</uni-th>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td> ACCESS_NETWORK_STATE</uni-td>
|
||||||
|
<uni-td>检测联网方式,在网络异常状态下避免数据发送,节省流量和电量。</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>READ_PHONE_STATE</uni-td>
|
||||||
|
<uni-td>获取用户设备的 IMEI,通过 IMEI 对用户进行唯一标识,以便提供统计分析服务。</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>ACCESS_WIFI_STATE </uni-td>
|
||||||
|
<uni-td> 获取 WIFI mac 地址,在平板设备或电视盒子上,无法通过 IMEI 标识设备,我们会将 WIFI mac 地址作为用户的唯一标识,以便正
|
||||||
|
常提供统计分析服务。</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>INTERNET</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
允许应用程序联网和发送统计数据的权限,以便提供统计分析服务。
|
||||||
|
</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>ACCESS_FINE_LOCATION(可选) </uni-td>
|
||||||
|
<uni-td>
|
||||||
|
通过获取位置信息,为开发者提供反作弊功能,剔除作弊设备; 同时校正用户的地域分布数据,使报表数据更加准确。
|
||||||
|
</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
<uni-tr>
|
||||||
|
<uni-td>ACCESS_COARSE_LOCATION(可选)</uni-td>
|
||||||
|
<uni-td>
|
||||||
|
通过获取位置信息,为开发者提供反作弊功能,剔除作弊设备; 同时校正用户的地域分布数据,使报表数据更加准确。
|
||||||
|
</uni-td>
|
||||||
|
</uni-tr>
|
||||||
|
</uni-table>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view> 友盟 SDK 安全能力通过:</view>
|
||||||
|
<view> 公安部三级等保认证(非银机构最高安全等级);</view>
|
||||||
|
<view> ISO27001 信息安全管理体系认证;</view>
|
||||||
|
<view> ISO27018 公有云个人信息保护体系认证。</view>
|
||||||
|
<view> 更多内容请参考友盟隐私政策链接:https://www.umeng.com/page/policy</view>
|
||||||
|
<view>
|
||||||
|
5.语音服务:当您使用客户端语音搜索服务时,我们会向提供该服务的科大讯飞股份有限公司(以下称“讯飞”)共享您的设备标识信息,地理位置信息,以确保您的语音功能能够正常使用。以上信息将在您授权后收集。关于讯飞收集个人信息的保护规则及退出机制等。更多内容,详见讯飞官网隐私政策页面:https://www.xfyun.cn/doc/policy/privacy.html。
|
||||||
|
</view>
|
||||||
|
<view style="text-indent: 0; padding: 20rpx 0;"> 十一、联系我们</view>
|
||||||
|
<view> 1.如果您对个人信息保护问题有投诉、建议、疑问,您可通过登录“泉医到家”客户端内的“举报反馈”页面与我们联系,我们核查并验证您的用户身份后会在15个工作日内反馈您的投诉与举报 。</view>
|
||||||
|
<view> 2.如对本隐私政策内容有任何疑问、意见或建议,您也可通过登录“泉医到家”客户端内的“举报反馈”页面与我们联系。</view>
|
||||||
|
<view> 3.APP运营单位:山东新医路信息科技有限公司,地址:山东省济南市槐荫区经十路22799号银座中心2号楼1608室, 联系电话:0558-69900398。</view>
|
||||||
|
<view></view>
|
||||||
|
<view></view>
|
||||||
|
<view></view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="app">
|
<view class="app">
|
||||||
<view class="cards">
|
<!-- <view class="cards">
|
||||||
<view class="item" style="background: #4C7BC9;" @tap='godoctorslist'>
|
<view class="item" style="background: #4C7BC9;" @tap='godoctorslist'>
|
||||||
<image src="../../static/yuyue.png" mode=""></image>
|
<image src="../../static/yuyue.png" mode=""></image>
|
||||||
<view class="title" style="font-size: 42rpx;">
|
<view class="title" style="font-size: 42rpx;">
|
||||||
@ -13,6 +13,23 @@
|
|||||||
查看结果
|
查看结果
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<view class="concent">
|
||||||
|
<view class="background">
|
||||||
|
<image src="/static/logo.png" mode=""></image>
|
||||||
|
<view>
|
||||||
|
<view class="detailed">
|
||||||
|
<view>
|
||||||
|
在“互联网+医疗健康”高速发展的当下,以远程诊疗、大数据、人工智能为代表的新技术应用,越来越多的应用在医疗健康服务当中,依托三甲专家团队赋能基层医疗,打造“医、药、检、险”的全闭环商业模式,实现物联网化医生联合体布局,提供数字化远程医疗解决方案,提升基层医疗水平,提高医疗效率,降低看病成本。
|
||||||
|
平台将全力打造“智慧诊所”,为基层全科医生医提供物联网可穿戴式医疗设备,基层医生负责操作收集,医生集团的三甲专家远程出具诊断报告。有效将三甲医院医生、基层医生与患者连接,从而更加方便快捷高效,随时随地满足患者的长期医疗需求。可以为基层医生解决技术缺陷、设备不足等难题;遇到病情紧急严重的还可以打开绿色就医通道进行转诊服务。
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@ -45,5 +62,46 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.concent {
|
||||||
|
width: 701rpx;
|
||||||
|
height: 100%;
|
||||||
|
background: #4C7BC9;
|
||||||
|
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 5% auto 20px;
|
||||||
|
padding: 30rpx 0;
|
||||||
|
|
||||||
|
.background {
|
||||||
|
position: relative;
|
||||||
|
width: 657rpx;
|
||||||
|
height: 100%;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
background-color: white;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 178rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 25px;
|
||||||
|
margin-left: 68%;
|
||||||
|
margin-top: 5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed {
|
||||||
|
width: 657rpx;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0 42rpx 20rpx;
|
||||||
|
line-height: 56rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed view {
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -3,6 +3,92 @@
|
|||||||
background-color: #F4F5F7;
|
background-color: #F4F5F7;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
.Agreement{
|
||||||
|
width: 100%;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
text-align: center;
|
||||||
|
height: 1000rpx;
|
||||||
|
position: absolute;
|
||||||
|
top:5%;
|
||||||
|
font-size: 30rpx;
|
||||||
|
.title{
|
||||||
|
height: 100rpx;
|
||||||
|
line-height: 100rpx;
|
||||||
|
border-bottom: 1px solid #eeeeee;
|
||||||
|
font-size: 34rpx;
|
||||||
|
margin: 0px auto;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.scroll-Y{
|
||||||
|
height:830rpx ;
|
||||||
|
overflow-y:scroll;
|
||||||
|
text-align: left;
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
.cancel {
|
||||||
|
height:70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
position: absolute;
|
||||||
|
border-top: 1rpx solid #000000;
|
||||||
|
bottom:0;
|
||||||
|
right:0;
|
||||||
|
width: 50%;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
.determine {
|
||||||
|
height:70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
width: 50%;
|
||||||
|
color: #F4F5F7;
|
||||||
|
background: #4C7BC9;
|
||||||
|
position: absolute;
|
||||||
|
bottom:0;
|
||||||
|
left:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.radio-content {
|
||||||
|
margin: 50rpx auto;
|
||||||
|
width: 70%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
position: relative;
|
||||||
|
.agreement {
|
||||||
|
position: absolute;
|
||||||
|
top:50%;
|
||||||
|
left:20%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
color: #878987;
|
||||||
|
}
|
||||||
|
.radio-right {
|
||||||
|
height: 100rpx;
|
||||||
|
|
||||||
|
.radio {
|
||||||
|
display: inline-block;
|
||||||
|
width: 35rpx;
|
||||||
|
height: 35rpx;
|
||||||
|
border-radius: 70%;
|
||||||
|
border: 2rpx solid #178ffb;
|
||||||
|
position: absolute;
|
||||||
|
top:50%;
|
||||||
|
left:5%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
.radio-active {
|
||||||
|
width: 16rpx;
|
||||||
|
height: 16rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #178ffb;
|
||||||
|
position: absolute;
|
||||||
|
top:50%;
|
||||||
|
left:50%;
|
||||||
|
transform: translate(-50%,-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.finish{
|
.finish{
|
||||||
width: 25%;
|
width: 25%;
|
||||||
height: 68rpx;
|
height: 68rpx;
|
||||||
|
|||||||
@ -8,7 +8,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="item">
|
<view class="item">
|
||||||
<span>姓名:</span>
|
<span>姓名:</span>
|
||||||
<u-input :clearable='false' v-model="appPersonallist.patientName" placeholder="请输入" type="text" maxlength='5' />
|
<u-input :clearable='false' v-model="appPersonallist.patientName" placeholder="请输入" type="text"
|
||||||
|
maxlength='5' />
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="item">
|
<!-- <view class="item">
|
||||||
<span>电话:</span>
|
<span>电话:</span>
|
||||||
@ -16,7 +17,8 @@
|
|||||||
</view> -->
|
</view> -->
|
||||||
<view class="item">
|
<view class="item">
|
||||||
<span>身份证号:</span>
|
<span>身份证号:</span>
|
||||||
<u-input :clearable='false' v-model="appPersonallist.cardNo" placeholder="请输入" type="text" maxlength='18' />
|
<u-input :clearable='false' v-model="appPersonallist.cardNo" placeholder="请输入" type="text"
|
||||||
|
maxlength='18' />
|
||||||
</view>
|
</view>
|
||||||
<view class="item" @tap='areashow=true'>
|
<view class="item" @tap='areashow=true'>
|
||||||
<span>所属区域:</span>
|
<span>所属区域:</span>
|
||||||
@ -26,9 +28,10 @@
|
|||||||
<span>详细地址:</span>
|
<span>详细地址:</span>
|
||||||
<u-input :clearable='false' v-model="appPersonallist.address" type="text" placeholder='小区、单元、门牌号' />
|
<u-input :clearable='false' v-model="appPersonallist.address" type="text" placeholder='小区、单元、门牌号' />
|
||||||
</view>
|
</view>
|
||||||
<view class="item" @tap='getAddress()'>
|
<view class="item" @tap='getAddress'>
|
||||||
<span>所在位置:</span>
|
<span>所在位置:</span>
|
||||||
<view class="address" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">{{chooseLocation}}</view>
|
<view class="address" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
|
||||||
|
{{chooseLocation}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="disease" style="border: none;" @tap="godisease">
|
<view class="disease" style="border: none;" @tap="godisease">
|
||||||
<view style="display: block;line-height: 120rpx;">疾病类型:</view>
|
<view style="display: block;line-height: 120rpx;">疾病类型:</view>
|
||||||
@ -38,11 +41,38 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="radio-content">
|
||||||
|
<view class="radio-right" @tap="changeRadio">
|
||||||
|
<view class="radio" :class="radio == 2 ? 'radio-default':''">
|
||||||
|
<view :class="radio == 2 ? 'radio-active':''"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="agreement">我已阅读并同意<text @tap='maskshow=true'
|
||||||
|
style="color: #000000;border-bottom: 1rpx solid #000000;">《用户协议》</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<u-select v-model="areashow" mode="mutil-column-auto" label-name='areaName' value-name='areaCode'
|
<u-select v-model="areashow" mode="mutil-column-auto" label-name='areaName' value-name='areaCode'
|
||||||
:list="arealist" @confirm="areaconfirm"></u-select>
|
:list="arealist" @confirm="areaconfirm"></u-select>
|
||||||
<view class="finish" @tap="informationinfo()">完成
|
<view class="finish" @tap="informationinfo()">完成
|
||||||
</view>
|
</view>
|
||||||
<u-toast ref="uToast" />
|
<u-toast ref="uToast" />
|
||||||
|
<!-- //用户协议 -->
|
||||||
|
<u-mask :show="maskshow" class='mask' @click='maskshow=false'>
|
||||||
|
<view class="Agreement">
|
||||||
|
<view class="title">
|
||||||
|
用户协议与隐私政策
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y="true" class="scroll-Y" style="">
|
||||||
|
<contenttext></contenttext>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="cancel" @tap='maskshow=false'>
|
||||||
|
取消
|
||||||
|
</view>
|
||||||
|
<view class="determine" @tap='tapradio'>
|
||||||
|
确定并同意
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-mask>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -53,15 +83,21 @@
|
|||||||
import {
|
import {
|
||||||
information
|
information
|
||||||
} from '@/api/information/index.js'
|
} from '@/api/information/index.js'
|
||||||
|
import contenttext from '../information/text.vue'
|
||||||
import baseurl from '@/api/baseurl.js'
|
import baseurl from '@/api/baseurl.js'
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
contenttext
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
timer:null,
|
radio: 1,
|
||||||
|
timer: null,
|
||||||
baseurl: '',
|
baseurl: '',
|
||||||
address: '',
|
address: '',
|
||||||
arealist: [],
|
arealist: [],
|
||||||
areashow: false,
|
areashow: false,
|
||||||
|
maskshow:false,//用户协议
|
||||||
chooseLocation: '',
|
chooseLocation: '',
|
||||||
img: null,
|
img: null,
|
||||||
image: null,
|
image: null,
|
||||||
@ -102,68 +138,76 @@
|
|||||||
informationinfo() {
|
informationinfo() {
|
||||||
//上传图片
|
//上传图片
|
||||||
var that = this
|
var that = this
|
||||||
if (this.image) {
|
var that = this
|
||||||
uni.uploadFile({
|
if (that.radio == 1) {
|
||||||
url: baseurl + '/nurseApplet/uploadFile/uploadHeadPictureUrl',
|
that.$refs.uToast.show({
|
||||||
filePath: that.appPersonallist.headPictureUrl,
|
title: '请审核并同意用户协议',
|
||||||
name: 'file',
|
type: 'error'
|
||||||
formData: {
|
|
||||||
'patientId': that.appPersonallist.patientId
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
success(res) {
|
|
||||||
that.appPersonallist.headPictureUrl = JSON.parse(res.data).imgUrl
|
|
||||||
that.appPersonallist.diseaseInfoList = that.patientDiseaseInfoList
|
|
||||||
information(that.appPersonallist).then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
that.$refs.uToast.show({
|
|
||||||
title: '修改信息成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: '1500'
|
|
||||||
})
|
|
||||||
if (that.timer) {
|
|
||||||
clearTimeout(that.timer)
|
|
||||||
}
|
|
||||||
that.timer = setTimeout(e => {
|
|
||||||
uni.navigateBack({
|
|
||||||
delta: 1
|
|
||||||
})
|
|
||||||
}, 1500)
|
|
||||||
} else if (res.code == 500) {
|
|
||||||
that.$refs.uToast.show({
|
|
||||||
title: res.msg,
|
|
||||||
type: 'error',
|
|
||||||
url: ''
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
that.appPersonallist.diseaseInfoList = that.patientDiseaseInfoList
|
if (this.image) {
|
||||||
information(that.appPersonallist).then(res => {
|
uni.uploadFile({
|
||||||
if (res.code == 200) {
|
url: baseurl + '/nurseApplet/uploadFile/uploadHeadPictureUrl',
|
||||||
that.$refs.uToast.show({
|
filePath: that.appPersonallist.headPictureUrl,
|
||||||
title: '修改信息成功',
|
name: 'file',
|
||||||
type: 'success',
|
formData: {
|
||||||
duration: '1500'
|
'patientId': that.appPersonallist.patientId
|
||||||
})
|
},
|
||||||
if (that.timer) {
|
timeout: 5000,
|
||||||
clearTimeout(that.timer)
|
success(res) {
|
||||||
}
|
that.appPersonallist.headPictureUrl = JSON.parse(res.data).imgUrl
|
||||||
that.timer = setTimeout(e => {
|
that.appPersonallist.diseaseInfoList = that.patientDiseaseInfoList
|
||||||
uni.navigateBack({
|
information(that.appPersonallist).then(res => {
|
||||||
delta: 1
|
if (res.code == 200) {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: '修改信息成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: '1500'
|
||||||
|
})
|
||||||
|
if (that.timer) {
|
||||||
|
clearTimeout(that.timer)
|
||||||
|
}
|
||||||
|
that.timer = setTimeout(e => {
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
|
})
|
||||||
|
}, 1500)
|
||||||
|
} else if (res.code == 500) {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: res.msg,
|
||||||
|
type: 'error',
|
||||||
|
url: ''
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}, 1500)
|
}
|
||||||
} else if (res.code == 500) {
|
})
|
||||||
that.$refs.uToast.show({
|
} else {
|
||||||
title: res.msg,
|
that.appPersonallist.diseaseInfoList = that.patientDiseaseInfoList
|
||||||
type: 'error',
|
information(that.appPersonallist).then(res => {
|
||||||
url: ''
|
if (res.code == 200) {
|
||||||
})
|
that.$refs.uToast.show({
|
||||||
}
|
title: '修改信息成功',
|
||||||
})
|
type: 'success',
|
||||||
|
duration: '1500'
|
||||||
|
})
|
||||||
|
if (that.timer) {
|
||||||
|
clearTimeout(that.timer)
|
||||||
|
}
|
||||||
|
that.timer = setTimeout(e => {
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
|
})
|
||||||
|
}, 1500)
|
||||||
|
} else if (res.code == 500) {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: res.msg,
|
||||||
|
type: 'error',
|
||||||
|
url: ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//上传头像
|
//上传头像
|
||||||
@ -179,6 +223,17 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
tapradio() {
|
||||||
|
this.radio = 2;
|
||||||
|
this.maskshow = false;
|
||||||
|
},
|
||||||
|
changeRadio() {
|
||||||
|
if (this.radio == 1) {
|
||||||
|
this.radio = 2;
|
||||||
|
} else {
|
||||||
|
this.radio = 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
//获取所在位置
|
//获取所在位置
|
||||||
getAddress() {
|
getAddress() {
|
||||||
var that = this;
|
var that = this;
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<view class="ADDress" @tap='add()'>
|
<view class="ADDress" @tap='add()'>
|
||||||
<image src="../../static/add.png" mode=""></image>
|
<image src="../../static/add.png" mode=""></image>
|
||||||
<span class="ADDtext">
|
<span class="ADDtext">
|
||||||
添加收货地址
|
添加地址
|
||||||
</span>
|
</span>
|
||||||
</view>
|
</view>
|
||||||
<!-- 弹框 -->
|
<!-- 弹框 -->
|
||||||
@ -185,7 +185,7 @@
|
|||||||
},
|
},
|
||||||
// 修改按钮
|
// 修改按钮
|
||||||
updataxg(item) {
|
updataxg(item) {
|
||||||
this.shipAddress = '修改收货地址'
|
this.shipAddress = '修改地址'
|
||||||
this.isedit = false
|
this.isedit = false
|
||||||
nursingStationGoodsinfo(item.id).then(res => {
|
nursingStationGoodsinfo(item.id).then(res => {
|
||||||
this.infolist = res.data
|
this.infolist = res.data
|
||||||
|
|||||||
@ -208,6 +208,10 @@
|
|||||||
line-height: 42rpx;
|
line-height: 42rpx;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
padding-top: 30rpx;
|
padding-top: 30rpx;
|
||||||
|
/deep/ .richPic {
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.Introduction {
|
.Introduction {
|
||||||
font-size: 31rpx;
|
font-size: 31rpx;
|
||||||
|
|||||||
@ -19,8 +19,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="detail">
|
<view class="detail">
|
||||||
<view class="Introduction">机构简介</view>
|
<view class="Introduction">机构简介</view>
|
||||||
<view class="textInfo">
|
<view class="textInfo" v-html="list.agencyIntroduce">
|
||||||
{{list.agencyIntroduce}}
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="Nursestationconfiguration">
|
<view class="Nursestationconfiguration">
|
||||||
@ -159,6 +158,7 @@
|
|||||||
getInfo() {
|
getInfo() {
|
||||||
introductionList(this.nurseStationId).then(res => {
|
introductionList(this.nurseStationId).then(res => {
|
||||||
res.data.stationIntroducePcitureUrl = baseurl + res.data.stationIntroducePcitureUrl
|
res.data.stationIntroducePcitureUrl = baseurl + res.data.stationIntroducePcitureUrl
|
||||||
|
res.data.agencyIntroduce = res.data.agencyIntroduce.replace(/\<img/gi, "<img class='richPic'")
|
||||||
this.list = res.data
|
this.list = res.data
|
||||||
if (res.data.nurseStationLabelList) {
|
if (res.data.nurseStationLabelList) {
|
||||||
this.nurseStationLabelList = res.data.nurseStationLabelList
|
this.nurseStationLabelList = res.data.nurseStationLabelList
|
||||||
@ -214,6 +214,7 @@
|
|||||||
itemList: ['呼叫', ],
|
itemList: ['呼叫', ],
|
||||||
success: function(res) {
|
success: function(res) {
|
||||||
if (res.tapIndex + 1 == 1) {
|
if (res.tapIndex + 1 == 1) {
|
||||||
|
console.log(1)
|
||||||
uni.makePhoneCall({
|
uni.makePhoneCall({
|
||||||
phoneNumber: that.list.phone //仅为示例
|
phoneNumber: that.list.phone //仅为示例
|
||||||
});
|
});
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="payinfo">
|
<view class="payinfo">
|
||||||
<text class="pay">实付款</text>
|
<text class="pay">实付款</text>
|
||||||
<text class="price">¥{{order.godTotalPrice}}</text>
|
<text class="price">¥{{order.totalPrice}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
180
pages/payorderDetails/payorderDetails.vue
Normal file
180
pages/payorderDetails/payorderDetails.vue
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
<template>
|
||||||
|
<view class="app" v-if="order">
|
||||||
|
<view class="time" style="" v-if="order.orderStatus=='WAIT_PAY'">
|
||||||
|
剩余付款时间:
|
||||||
|
<u-count-down style='' :timestamp="timestamp">
|
||||||
|
</u-count-down>
|
||||||
|
</view>
|
||||||
|
<!-- <custom-nav nav='To' Url="/pages/CommodityOrder/CommodityOrder" title='商品订单'></custom-nav> -->
|
||||||
|
<view class="content">
|
||||||
|
<view class="name">
|
||||||
|
店铺名称
|
||||||
|
<image src="../../static/rowsright.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="details">
|
||||||
|
<view class="detailslist">
|
||||||
|
<image :src="baseurl+order.attributePitureUrl" mode=""></image>
|
||||||
|
<view class="model">
|
||||||
|
<view class="top">
|
||||||
|
<span>{{order.goodsName}}</span>
|
||||||
|
<span>¥{{order.goodsPrice}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="bottom">
|
||||||
|
<span class="box">型号:{{order.goodsAttributeName}}</span>
|
||||||
|
<span class="box">X{{order.goodsCount}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="refund" @tap='gorefundType'
|
||||||
|
v-if="order.orderStatus != 'WAIT_PAY'&& order.orderStatus!='CANCEL'&&order.orderStatus!='WAIT_REFUND'&&order.orderStatus!='REFUNDED'&&order.orderStatus!='RETURNED_GOODS'&&order.orderStatus!='WAIT_RETURNED_GOODS'">
|
||||||
|
申请退款
|
||||||
|
</view>
|
||||||
|
<view class="refund" v-if="order.orderStatus=='WAIT_REFUND'" @tap='goAftersalesdetails(order)'>
|
||||||
|
退款中
|
||||||
|
</view>
|
||||||
|
<view class="refund" v-if="order.orderStatus=='REFUNDED'">
|
||||||
|
退款成功
|
||||||
|
</view>
|
||||||
|
<!-- <view class="refund" v-if="order.orderStatus=='RETURNED_GOODS'">
|
||||||
|
退货中
|
||||||
|
</view> -->
|
||||||
|
<view class="refund" v-if="order.orderStatus=='WAIT_RETURNED_GOODS'">
|
||||||
|
待退货
|
||||||
|
</view>
|
||||||
|
<view class="refund" v-if="order.orderStatus=='CANCEL'">
|
||||||
|
已取消
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="payinfo">
|
||||||
|
<text class="pay">实付款</text>
|
||||||
|
<text class="price">¥{{order.totalPrice}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info" v-if="order.orderStatus != ' WAIT_PAY'&& order.orderStatus!='CANCEL'">
|
||||||
|
<span>收货人:<text>{{order.receiver}}</text></span>
|
||||||
|
<span>联系电话:<text>{{order.phone}}</text></span>
|
||||||
|
<span>收货地址:<text>{{order.receiveAddress}}</text></span>
|
||||||
|
<span>订单编号:<text>{{order.goOrderNo}}</text></span>
|
||||||
|
<!-- <span>获得积分:<text>30点积分</text></span> -->
|
||||||
|
<span>下单时间:<text>{{order.orderTime}}</text></span>
|
||||||
|
<span v-if="order.orderStatus=='REFUNDED'">退款时间:<text>{{order.updateTime}}</text></span>
|
||||||
|
<!-- <span>成交时间:<text>2022-10-28 11:31:26</text></span> -->
|
||||||
|
</view>
|
||||||
|
<view class="buy" v-if="order.orderStatus == 'WAIT_PAY'" @tap='pay'>
|
||||||
|
<view class="pay">
|
||||||
|
去支付
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
appletGoodsOrderPay
|
||||||
|
} from '@/api/confirmOrder/index.js'
|
||||||
|
import {
|
||||||
|
goodsOrder
|
||||||
|
} from '@/api/CommodityOrder/index.js'
|
||||||
|
import baseurl from '@/api/baseurl.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
baseurl: '',
|
||||||
|
order: null,
|
||||||
|
patientId: '',
|
||||||
|
openid: null,
|
||||||
|
orderStatus: '',
|
||||||
|
pageSize: 10,
|
||||||
|
pageNum: 1,
|
||||||
|
timestamp: 0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//支付
|
||||||
|
pay() {
|
||||||
|
var that = this
|
||||||
|
let paydata = this.order
|
||||||
|
paydata.openid = this.openid
|
||||||
|
paydata.payType = "WECHAT_PAY"
|
||||||
|
paydata.paymentPrice = this.order.totalPrice
|
||||||
|
paydata.orderChannel = 'WECHAT_APPLET'
|
||||||
|
paydata.orderNo = this.order.goOrderNo
|
||||||
|
appletGoodsOrderPay(paydata).then(response => {
|
||||||
|
if (response.code == 200) {
|
||||||
|
uni.requestPayment({
|
||||||
|
timeStamp: response.data.timeStamp,
|
||||||
|
nonceStr: response.data.nonceStr,
|
||||||
|
package: response.data.prepayId,
|
||||||
|
signType: response.data.signType,
|
||||||
|
paySign: response.data.paySign,
|
||||||
|
success: function(res) {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: '支付成功',
|
||||||
|
type: 'success',
|
||||||
|
toast: 1500,
|
||||||
|
url: `/pages/paysuccess/paysuccess?delta=${3}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: function(err) {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: '取消支付',
|
||||||
|
type: 'error',
|
||||||
|
toast: 1500,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: response.msg,
|
||||||
|
type: 'error',
|
||||||
|
toast: 2000
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//退款页面
|
||||||
|
gorefundType() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/refundType/refundType?order=${JSON.stringify(this.order)}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
goodsOrderinfo(goodsOrderId) {
|
||||||
|
goodsOrder(this.patientId, this.orderStatus, goodsOrderId, this.pageSize, this.pageNum).then(res => {
|
||||||
|
this.order = res.rows[0]
|
||||||
|
var time = new Date(this.order.orderTime).getTime() / 1000 + (60 * 60 * 24)
|
||||||
|
var times = new Date().getTime() / 1000
|
||||||
|
this.timestamp = time - times
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//跳转售后详情
|
||||||
|
goAftersalesdetails(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/Aftersalesdetails/Aftersalesdetails?goodsOrderId=${item.goodsOrderId}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
this.baseurl = baseurl
|
||||||
|
let that = this
|
||||||
|
try {
|
||||||
|
const value = uni.getStorageSync('patientId');
|
||||||
|
if (value) {
|
||||||
|
that.patientId = value
|
||||||
|
that.goodsOrderinfo(options.goodsOrderId)
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
try {
|
||||||
|
const value = uni.getStorageSync('openid');
|
||||||
|
if (value) {
|
||||||
|
that.openid = value
|
||||||
|
} else {}
|
||||||
|
} catch (e) {}
|
||||||
|
},
|
||||||
|
onUnload() {},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
@import '../orderDetails/orderDetails.scss'
|
||||||
|
</style>
|
||||||
@ -197,7 +197,7 @@
|
|||||||
// 顶部标题
|
// 顶部标题
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '预约时间'
|
default: '预约时间区间'
|
||||||
},
|
},
|
||||||
// 取消按钮的文字
|
// 取消按钮的文字
|
||||||
cancelText: {
|
cancelText: {
|
||||||
@ -331,7 +331,7 @@
|
|||||||
this.day = time.getDate();
|
this.day = time.getDate();
|
||||||
this.hour = time.getHours();
|
this.hour = time.getHours();
|
||||||
this.minute = time.getMinutes();
|
this.minute = time.getMinutes();
|
||||||
this.endhour = time.getHours()+1;
|
this.endhour = time.getHours();
|
||||||
this.endminute = time.getMinutes();
|
this.endminute = time.getMinutes();
|
||||||
// this.second = time.getSeconds();
|
// this.second = time.getSeconds();
|
||||||
},
|
},
|
||||||
@ -427,7 +427,6 @@
|
|||||||
// 用户更改picker的列选项
|
// 用户更改picker的列选项
|
||||||
change(e) {
|
change(e) {
|
||||||
this.valueArr = e.detail.value;
|
this.valueArr = e.detail.value;
|
||||||
console.log(this.valueArr)
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
if (this.mode == 'time') {
|
if (this.mode == 'time') {
|
||||||
// 这里使用i++,是因为this.valueArr数组的长度是不确定长度的,它根据this.params的值来配置长度
|
// 这里使用i++,是因为this.valueArr数组的长度是不确定长度的,它根据this.params的值来配置长度
|
||||||
@ -437,8 +436,8 @@
|
|||||||
if (this.params.day) this.day = this.days[this.valueArr[i++]];
|
if (this.params.day) this.day = this.days[this.valueArr[i++]];
|
||||||
if (this.params.hour) this.hour = this.hours[this.valueArr[i++]];
|
if (this.params.hour) this.hour = this.hours[this.valueArr[i++]];
|
||||||
if (this.params.minute) this.minute = this.minutes[this.valueArr[i++]];
|
if (this.params.minute) this.minute = this.minutes[this.valueArr[i++]];
|
||||||
if (this.params.endhour) this.endhour = this.hours[this.valueArr[6]]
|
if (this.params.endhour) this.endhour = this.hours[this.valueArr[3]]
|
||||||
if (this.params.endminute) this.endminute = this.endminutes[this.valueArr[7]];
|
if (this.params.endminute) this.endminute = this.endminutes[this.valueArr[4]];
|
||||||
// if (this.params.second) this.second = this.seconds[this.valueArr[i++]];
|
// if (this.params.second) this.second = this.seconds[this.valueArr[i++]];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -128,9 +128,10 @@
|
|||||||
height: 16rpx;
|
height: 16rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #178ffb;
|
background-color: #178ffb;
|
||||||
margin-left: 26%;
|
position: absolute;
|
||||||
margin-top: 22%;
|
top:50%;
|
||||||
// margin: 0 auto;
|
left:50%;
|
||||||
|
transform: translate(-50%,-50%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,8 +3,9 @@
|
|||||||
<view class="cards">
|
<view class="cards">
|
||||||
<view class="item" :style="{background:listcolor[index]}" @tap='goProductList(item)'
|
<view class="item" :style="{background:listcolor[index]}" @tap='goProductList(item)'
|
||||||
v-for="(item,index) in goodsCategoryList" :key="index">
|
v-for="(item,index) in goodsCategoryList" :key="index">
|
||||||
<image :src="listimg[index].img" mode=""></image>
|
<image :style="index==4?'top:0;border-radius: 20rpx;width:100%;height: 300rpx;':''"
|
||||||
<view class="title" style="font-size:42rpx">
|
:src="item.goodsCategoryPicture" mode=""></image>
|
||||||
|
<view class="title" style="font-size:42rpx" v-if="index!=4">
|
||||||
{{item.goodsCategoryName}}
|
{{item.goodsCategoryName}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -38,7 +39,9 @@
|
|||||||
img: '../../static/cp.png',
|
img: '../../static/cp.png',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
listcolor: ['#00C176', '#D43953', '#E1AE3C', '#4C7BC9', '#00C176', '#D43953', '#E1AE3C', '#4C7BC9'], //颜色随动
|
listcolor: ['#00C176', '#D43953', '#E1AE3C', '#4C7BC9', '#9e4dd0', '#00C176', '#D43953', '#E1AE3C',
|
||||||
|
'#4C7BC9', '#9e4dd0',
|
||||||
|
], //颜色随动
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onLoad(options) { //初始化加载
|
onLoad(options) { //初始化加载
|
||||||
@ -56,9 +59,10 @@
|
|||||||
goodsCategory() {
|
goodsCategory() {
|
||||||
goodsCategoryList(this.pageSize, this.pageNum).then(res => {
|
goodsCategoryList(this.pageSize, this.pageNum).then(res => {
|
||||||
res.rows.forEach(e => {
|
res.rows.forEach(e => {
|
||||||
e.goodsCatrgoryPicture = baseurl + e.goodsCatrgoryPicture
|
e.goodsCategoryPicture = baseurl + e.goodsCategoryPicture
|
||||||
this.goodsCategoryList.push(e)
|
this.goodsCategoryList.push(e)
|
||||||
})
|
})
|
||||||
|
console.log(this.goodsCategoryList)
|
||||||
this.total = res.total
|
this.total = res.total
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -73,7 +77,7 @@
|
|||||||
this.pageNum = 1;
|
this.pageNum = 1;
|
||||||
goodsCategoryList(this.pageSize, this.pageNum).then(res => {
|
goodsCategoryList(this.pageSize, this.pageNum).then(res => {
|
||||||
res.rows.forEach(e => {
|
res.rows.forEach(e => {
|
||||||
e.goodsCatrgoryPicture = baseurl + e.goodsCatrgoryPicture
|
e.goodsCategoryPicture = baseurl + e.goodsCategoryPicture
|
||||||
})
|
})
|
||||||
this.goodsCategoryList = res.rows
|
this.goodsCategoryList = res.rows
|
||||||
this.total = res.total
|
this.total = res.total
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
<view class="addressContent" v-for="(item,index) in nursestationlist" :key="index">
|
<view class="addressContent" v-for="(item,index) in nursestationlist" :key="index">
|
||||||
<view class="lists">
|
<view class="lists">
|
||||||
<view class="nurse">{{item.nurseStationName}}</view>
|
<view class="nurse">{{item.nurseStationName}}</view>
|
||||||
<view class="distance">距离您{{item.distance}}米</view>
|
<view class="distance">距离您{{item.distance}}KM</view>
|
||||||
<image class="background" :src="item.stationPictureUrl" mode=""></image>
|
<image class="background" :src="item.stationPictureUrl" mode=""></image>
|
||||||
<view class="understand" @tap='godetails(item)'>
|
<view class="understand" @tap='godetails(item)'>
|
||||||
点击了解
|
点击了解
|
||||||
@ -63,12 +63,13 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getlocation() {
|
getlocation() {
|
||||||
|
var that = this
|
||||||
uni.getLocation({
|
uni.getLocation({
|
||||||
type: 'wgs84',
|
type: 'wgs84',
|
||||||
success: res => {
|
success: res => {
|
||||||
this.latitude = res.latitude
|
that.latitude = res.latitude
|
||||||
this.longitude = res.longitude
|
that.longitude = res.longitude
|
||||||
this.markers.push({
|
that.markers.push({
|
||||||
id: 3,
|
id: 3,
|
||||||
latitude: res.latitude,
|
latitude: res.latitude,
|
||||||
longitude: res.longitude,
|
longitude: res.longitude,
|
||||||
@ -76,7 +77,7 @@
|
|||||||
height: 25,
|
height: 25,
|
||||||
iconPath: "../../static/locatinsmall.png"
|
iconPath: "../../static/locatinsmall.png"
|
||||||
})
|
})
|
||||||
this.requestinfo();
|
that.requestinfo();
|
||||||
},
|
},
|
||||||
fail: error => {
|
fail: error => {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
|
|||||||
@ -132,7 +132,7 @@
|
|||||||
that.removeS();
|
that.removeS();
|
||||||
} else if (res.cancel) {
|
} else if (res.cancel) {
|
||||||
that.$refs.uToast.show({
|
that.$refs.uToast.show({
|
||||||
title: '退出账号失败',
|
title: '取消退出账号',
|
||||||
type: 'error',
|
type: 'error',
|
||||||
duration: '1000'
|
duration: '1000'
|
||||||
})
|
})
|
||||||
@ -196,14 +196,19 @@
|
|||||||
uni.removeStorageSync('patientId');
|
uni.removeStorageSync('patientId');
|
||||||
uni.removeStorageSync('phone');
|
uni.removeStorageSync('phone');
|
||||||
uni.removeStorageSync('password');
|
uni.removeStorageSync('password');
|
||||||
|
that.$refs.uToast.show({
|
||||||
|
title: '退出账号成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: '1000'
|
||||||
|
})
|
||||||
if (that.timer) {
|
if (that.timer) {
|
||||||
clearTimeout(that.timer)
|
clearTimeout(that.timer)
|
||||||
}
|
}
|
||||||
that.timer = setTimeout(e => {
|
that.timer = setTimeout(e => {
|
||||||
uni.reLaunch({
|
uni.navigateBack({
|
||||||
url: '/pages/login/login'
|
delta: 1
|
||||||
})
|
})
|
||||||
}, 1500)
|
}, 1000)
|
||||||
},
|
},
|
||||||
updatainfo() {
|
updatainfo() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user