Merge remote-tracking branch 'origin/dev'
# Conflicts: # api/ProductList/ProductList.js # pages.json # pages/Personal/Personal.vue # pages/ProductList/ProductList.vue # pages/classification/classification.vue # pages/shopping/shopping.vue
8
api/Healthknowledge/index.js
Normal file
@ -0,0 +1,8 @@
|
||||
import request from "../request.js"
|
||||
|
||||
export function getHeathHousingList(pageNum, pageSize) {
|
||||
return request({
|
||||
url: `/nurseApplet/nearbyNursingStation/getHeathHousingList?pageNum=${pageNum}&pageSize=${pageSize}&informationCategoryType=HEALTH_NOUS`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
16
api/Personal/Personal.js
Normal file
@ -0,0 +1,16 @@
|
||||
import request from "../request.js"
|
||||
export function appPersonal(patientId) {
|
||||
return request({
|
||||
url: `/nurseApp/login/appPersonal?patientId=${patientId}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//邀请
|
||||
export function inviteFriends(patientId) {
|
||||
return request({
|
||||
url: `/nurseApplet/patientInfo/inviteFriends?inviteId=${patientId}`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@ -1,13 +1,12 @@
|
||||
import request from "../request.js"
|
||||
|
||||
export function goodsList(pageSize,pageNum,goodsCategoryId,goodsName) {
|
||||
export function goodsList(pageSize, pageNum, goodsCategoryId, goodsName) {
|
||||
return request({
|
||||
url: `/nurseApplet/nursingStationGoods/goodsList?pageSize=${pageSize}&pageNum=${pageNum}&goodsCategoryId=${goodsCategoryId}&goodsName=${goodsName}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//查询商品分类二级分类上边列表 小程序
|
||||
export function getGoodsCategoryNameList(goodsCategoryId) {
|
||||
return request({
|
||||
|
||||
@ -2,7 +2,7 @@ import request from "../request.js"
|
||||
|
||||
export function getAppStationItemInfo(stationId, stationItemId, stationItemPriceId) {
|
||||
return request({
|
||||
url: `/nurseApp/login/getAppStationItemInfo?stationId=${stationId}&stationItemId=${stationItemId}&stationItemPriceId=${stationItemPriceId}`,
|
||||
url: `/nurseApplet/login/getStationItemInfo?stationId=${stationId}&stationItemId=${stationItemId}&stationItemPriceId=${stationItemPriceId}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
@ -22,4 +22,14 @@ export function submitAppointment(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
// 小程序预约服务支付接口
|
||||
|
||||
export function appletAppointmentOrderPay(data) {
|
||||
return request({
|
||||
url: `/nurseApp/weChatPayment/appletAppointmentOrderPay`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// var baseurl = "http://192.168.16.30:8080";
|
||||
var baseurl = "http://192.168.16.49:8081";
|
||||
var baseurl = "http://192.168.16.30:8088";
|
||||
// var baseurl = "http://192.168.16.76:8080";
|
||||
export default baseurl
|
||||
|
||||
9
api/homepage/index.js
Normal file
@ -0,0 +1,9 @@
|
||||
import request from "../request.js"
|
||||
|
||||
export function getPoserInfoListByType() {
|
||||
return request({
|
||||
url: `/nurseApplet/nearbyNursingStation/getPoserInfoListByType?moduleType=HOME_PAGE_MODULE`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
@ -9,9 +9,9 @@ export function introductionList(id) {
|
||||
}
|
||||
|
||||
|
||||
export function itemList(id,pageSize,pageNum) {
|
||||
export function itemList(id,pageSize,pageNum,nurseClassifyInfoId) {
|
||||
return request({
|
||||
url: `/nurseApplet/nearbyNursingStation/itemList?pageSize=${pageSize}&pageNum=${pageNum}&nurseStationId=${id}`,
|
||||
url: `/nurseApplet/nearbyNursingStation/itemList?pageSize=${pageSize}&pageNum=${pageNum}&nurseStationId=${id}&nurseClassifyInfoId=${nurseClassifyInfoId}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import request from "../request.js"
|
||||
|
||||
export function goodsCategoryList(pageSize,pageNum) {
|
||||
export function goodsCategoryList(pageSize, pageNum) {
|
||||
return request({
|
||||
url: `/nurseApplet/nursingStationGoods/goodsCategoryList?pageSize=${pageSize}&pageNum=${pageNum}&categoryLevel=${1}`,
|
||||
method: 'GET'
|
||||
|
||||
@ -1,14 +1,12 @@
|
||||
import request from "../request.js"
|
||||
|
||||
|
||||
|
||||
|
||||
export function nearbyList(pageSize,pageNum,longitude, latitude) {
|
||||
export function nearbyList(pageSize, pageNum, longitude, latitude,ClassifyInfoId,itemClassId,searchName) {
|
||||
return request({
|
||||
url: `/nurseApplet/nearbyNursingStation/nearbyList?pageSize=${pageSize}&pageNum=${pageNum}&homeLongitude=${longitude}&homeLatitude=${latitude}`,
|
||||
url: `/nurseApplet/nearbyNursingStation/nearbyList?pageSize=${pageSize}&pageNum=${pageNum}&homeLongitude=${longitude}&homeLatitude=${latitude}&nurseClassifyInfoId=${ClassifyInfoId}&nurseItemClassifyInfoId=${itemClassId}&searchName=${searchName}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
//被护理人信息 经纬度
|
||||
export function getPatientInfo(id) {
|
||||
return request({
|
||||
@ -16,3 +14,11 @@ export function getPatientInfo(id) {
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
//护理站和护理项目分类
|
||||
export function getNurseClassifyList() {
|
||||
return request({
|
||||
url: `/nurseApplet/nearbyNursingStation/getNurseClassifyList?moduleType=NURSE_AGENCY_INTRODUCE_MODULE`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
165
pages.json
@ -9,15 +9,7 @@
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/information/information",
|
||||
"style": {
|
||||
"navigationBarTitleText": "完善个人信息",
|
||||
"navigationBarBackgroundColor": "#ffffff", //背景颜色
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
},{
|
||||
"path": "pages/forgotPassword/forgotPassword",
|
||||
"style": {
|
||||
"navigationBarTitleText": "忘记密码",
|
||||
@ -30,6 +22,27 @@
|
||||
"navigationBarTitleText": "注册账号",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/ProjectDetails/ProjectDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "护理项目详情",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
}, {
|
||||
"path": "pages/modifyAddress/modifyAddress",
|
||||
"style": {
|
||||
"navigationBarTitleText": "修改地址",
|
||||
"navigationBarBackgroundColor": "#ffffff", //背景颜色
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
}
|
||||
}, {
|
||||
"path": "pages/information/information",
|
||||
"style": {
|
||||
"navigationBarTitleText": "完善个人信息",
|
||||
"navigationBarBackgroundColor": "#ffffff", //背景颜色
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/lookrate/lookrate",
|
||||
@ -38,23 +51,13 @@
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/ServiceDetails/ServiceDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务详情",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
|
||||
}
|
||||
}, {
|
||||
"path": "pages/ProjectDetails/ProjectDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "护理项目详情",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/goodsorderRate/goodsorderRate",
|
||||
"style": {
|
||||
@ -62,13 +65,6 @@
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
}, {
|
||||
"path": "pages/Bodysatelliteintegration/Bodysatelliteintegration",
|
||||
"style": {
|
||||
"navigationBarTitleText": "体卫融合",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/modify/modify",
|
||||
@ -105,6 +101,7 @@
|
||||
"navigationBarTitleText": "医路优品",
|
||||
"navigationBarBackgroundColor": "#ffffff",
|
||||
"onReachBottomDistance": 40, //距离底部多远时触发 单位为px
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
}
|
||||
}, {
|
||||
@ -116,7 +113,6 @@
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/user/user",
|
||||
"style": {
|
||||
@ -146,16 +142,17 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "个人中心",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarBackgroundColor": "#ffffff",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/login/login",
|
||||
"style": {
|
||||
"navigationBarTitleText": "登录",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -166,11 +163,10 @@
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/Nursingstationserviceorder/Nursingstationserviceorder",
|
||||
"style": {
|
||||
"navigationBarTitleText": "护理站服务订单",
|
||||
"navigationBarTitleText": "护理机构服务订单",
|
||||
"navigationBarBackgroundColor": "#ffffff", //背景颜色
|
||||
"onReachBottomDistance": 40, //距离底部多远时触发 单位为px
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
@ -209,7 +205,6 @@
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/order/order",
|
||||
"style": {
|
||||
@ -224,17 +219,16 @@
|
||||
"navigationBarTitleText": "预约详情",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "pages/homepage/homepage",
|
||||
"style": {
|
||||
"navigationBarTitleText": "泉医到家",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarBackgroundColor": "#ffffff",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/confirmOrder/confirmOrder",
|
||||
"style": {
|
||||
@ -265,7 +259,6 @@
|
||||
"path": "pages/ProductList/ProductList", //商品列表
|
||||
"style": {
|
||||
"navigationBarTitleText": "医路优品",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff",
|
||||
"onReachBottomDistance": 40, //距离底部多远时触发 单位为px
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
@ -282,76 +275,86 @@
|
||||
{
|
||||
"path": "pages/nursestation/nursestation",
|
||||
"style": {
|
||||
"navigationBarTitleText": "护理站详情",
|
||||
"navigationBarTitleText": "护理机构详情",
|
||||
"navigationBarBackgroundColor": "#ffffff",
|
||||
"onReachBottomDistance": 100, //距离底部多远时触发 单位为px
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "pages/site/site",
|
||||
"style": {
|
||||
"navigationBarTitleText": "附近护理站",
|
||||
"navigationBarTitleText": "护理机构",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff", //背景颜色
|
||||
"onReachBottomDistance": 40, //距离底部多远时触发 单位为px
|
||||
"onReachBottomDistance": 100, //距离底部多远时触发 单位为px
|
||||
"enablePullDownRefresh": true //设置参数为true
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/detail/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "护理站简介",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/medicine/medicine",
|
||||
"style": {
|
||||
"navigationBarTitleText": "就医",
|
||||
"navigationBarTitleText": "健康咨询",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/modifyAddress/modifyAddress",
|
||||
"style": {
|
||||
"navigationBarTitleText": "修改地址",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff" //背景颜色
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "pages/Doctordetails/Doctordetails",
|
||||
"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/utabs/u-tabs",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/classification/classification",
|
||||
"style": {
|
||||
"navigationBarTitleText": "分类",
|
||||
"enablePullDownRefresh": false
|
||||
// "disableScroll": true
|
||||
"enablePullDownRefresh": false,
|
||||
"disableScroll": true
|
||||
// "navigationBarBackgroundColor": "#ffffff",
|
||||
// "onReachBottomDistance": 50 //距离底部多远时触发 单位为px
|
||||
// "enablePullDownRefresh": true //设置参数为true
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/Healthknowledge/Healthknowledge",
|
||||
"style": {
|
||||
"navigationBarTitleText": "健康常识",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/Healthitem/Healthitem",
|
||||
"style": {
|
||||
"navigationBarTitleText": "健康常识",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/customerservice/customerservice",
|
||||
"style": {
|
||||
"navigationBarTitleText": "在线客服",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/materialbenefits/materialbenefits",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新人福利",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
|
||||
}
|
||||
@ -374,6 +377,12 @@
|
||||
"selectedIconPath": "static/homepagews.png",
|
||||
"text": "首页"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/shopping/shopping",
|
||||
"iconPath": "static/shoping.png",
|
||||
"selectedIconPath": "static/shopingw.png",
|
||||
"text": "商城"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/Personal/Personal",
|
||||
"iconPath": "static/userw.png",
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<view class="item" @tap='show=true'>退款原因
|
||||
<span v-if="dictname==''">请选择</span>
|
||||
<span v-else style='color: #000000;'>{{dictname}}</span>
|
||||
<image src="../../static/pic.png" mode=""></image>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="priceinfo">退款金额
|
||||
<view class="priceback">¥{{order.totalPrice}}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<view class="content">
|
||||
{{updata.goodsAttributeName}}
|
||||
</view>
|
||||
<image src="../../static/jiantou.png" mode=""></image>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="Discount common">
|
||||
<view class="selected">
|
||||
@ -28,7 +28,7 @@
|
||||
<!-- <view class="content">
|
||||
购买最多可获得3积分
|
||||
</view>
|
||||
<image src="../../static/jiantou.png" mode=""></image> -->
|
||||
<image src="../../static/huijiantou.png" mode=""></image> -->
|
||||
</view>
|
||||
<view class="service common">
|
||||
<view class="selected">
|
||||
@ -40,7 +40,7 @@
|
||||
<view class="content" style="display: block;">
|
||||
· 仅工作日发货
|
||||
</view>
|
||||
<!-- <image src="../../static/jiantou.png" mode=""></image> -->
|
||||
<!-- <image src="../../static/huijiantou.png" mode=""></image> -->
|
||||
</view>
|
||||
<view class="picture">
|
||||
<view class="selected">
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<view class="" v-if="total>0">
|
||||
<view class="Apayment" v-for='(item,index) in orderlist' :key="index">
|
||||
<view class="names">店铺名称
|
||||
<image class="picture" src="/static/pic.png" mode=""></image>
|
||||
<image class="picture" src="/static/huijiantou.png" mode=""></image>
|
||||
<span v-if="item.orderStatus=='WAIT_PAY'">待付款</span>
|
||||
<span v-if="item.orderStatus=='WAIT_REFUND'">退款中</span>
|
||||
<span v-if="item.orderStatus=='CANCEL'">已取消</span>
|
||||
|
||||
@ -1,104 +0,0 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="info">
|
||||
<view class="image">
|
||||
</view>
|
||||
<view class="name">
|
||||
某某某
|
||||
</view>
|
||||
<view class="position">
|
||||
主任医师
|
||||
</view>
|
||||
<view class="border">
|
||||
|
||||
</view>
|
||||
<view class="text">
|
||||
熟悉呼吸系统疾病的诊治,尤其擅 长肺栓塞、肺动脉高压和慢性气道疾 病的研究。
|
||||
</view>
|
||||
</view>
|
||||
<view class="price">
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
padding-top: 20rpx;
|
||||
|
||||
.price {
|
||||
width: 94%;
|
||||
height: 105rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 20rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.info {
|
||||
width: 94%;
|
||||
height: 651rpx;
|
||||
margin: 0 auto;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 20rpx;
|
||||
position: relative;
|
||||
font-size: 36rpx;
|
||||
|
||||
.text {
|
||||
width: 90%;
|
||||
line-height: 67rpx;
|
||||
position: absolute;
|
||||
left: 5%;
|
||||
top: 263rpx;
|
||||
text-indent: 1em;
|
||||
}
|
||||
|
||||
.border {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
height: 1rpx;
|
||||
background: #D8D4D4;
|
||||
position: absolute;
|
||||
left: 5%;
|
||||
top: 209rpx;
|
||||
}
|
||||
|
||||
.position {
|
||||
font-size: 35rpx;
|
||||
color: #969394;
|
||||
position: absolute;
|
||||
left: 264rpx;
|
||||
top: 122rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
position: absolute;
|
||||
left: 264rpx;
|
||||
top: 68rpx;
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 147rpx;
|
||||
height: 150rpx;
|
||||
background: #BFBFBF;
|
||||
border-radius: 25rpx;
|
||||
position: absolute;
|
||||
left: 74rpx;
|
||||
top: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
50
pages/Healthitem/Healthitem.vue
Normal file
@ -0,0 +1,50 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="title">
|
||||
{{item.informationTitle}}
|
||||
</view>
|
||||
<view class="text" v-html="item.informationContent">
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
item: null,
|
||||
};
|
||||
},
|
||||
onLoad(options) { //获取传值
|
||||
this.item = JSON.parse(decodeURIComponent(options.item))
|
||||
this.item.informationContent = this.item.informationContent.replace(/\<img/gi,
|
||||
"<br/> <img class='richPic'")
|
||||
},
|
||||
onReady() { //更改导航栏文字
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.title {
|
||||
padding-left: 3%;
|
||||
font-size: 38rpx;
|
||||
font-weight: bold;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.text {
|
||||
width: 96%;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
padding: 20rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
/deep/ .richPic {
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
</style>
|
||||
174
pages/Healthknowledge/Healthknowledge.vue
Normal file
@ -0,0 +1,174 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<u-tabs :list="tabList" :current="tabcurrent" @change="change"></u-tabs>
|
||||
<view class="Healthknowledge" v-if="informationCategoryVOList.length>0">
|
||||
<!-- <view class="title">
|
||||
健康常识
|
||||
</view> -->
|
||||
<view class="list">
|
||||
<view class="item" v-for="(item,index) in informationCategoryVOList" :key="index"
|
||||
@tap='gohealthitem(item)'>
|
||||
<view class="text">
|
||||
{{item.informationTitle}}
|
||||
</view>
|
||||
<view class="author"></view>
|
||||
<image :src="item.leadThumbnailUrl" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="noorder" v-else>
|
||||
<image src="../../static/noorder.png" mode=""></image>
|
||||
<view class="">
|
||||
暂无内容
|
||||
</view>
|
||||
</view>
|
||||
<u-back-top :scroll-top="scrollTop"></u-back-top>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getHeathHousingList
|
||||
} from '@/api/Healthknowledge/index.js'
|
||||
import baseurl from '@/api/baseurl.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabcurrent: 0,
|
||||
tabList: [{
|
||||
name: '健康常识'
|
||||
}],
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
informationCategoryVOList: [],
|
||||
total: 0,
|
||||
scrollTop: 0,
|
||||
};
|
||||
},
|
||||
onShow() {},
|
||||
onLoad() {
|
||||
this.pageNum = 1
|
||||
this.getHeathHousing();
|
||||
},
|
||||
methods: {
|
||||
//跳转健康咨询item
|
||||
gohealthitem(item) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/Healthitem/Healthitem?item=${encodeURIComponent(JSON.stringify(item))}`
|
||||
})
|
||||
},
|
||||
getHeathHousing() {
|
||||
getHeathHousingList(this.pageNum, this.pageSize).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
|
||||
})
|
||||
this.informationCategoryVOList = res.rows
|
||||
this.total = res.total
|
||||
})
|
||||
},
|
||||
change() {},
|
||||
},
|
||||
onPageScroll(e) {
|
||||
this.scrollTop = e.scrollTop;
|
||||
},
|
||||
onReachBottom() { //下滑加载
|
||||
if (this.informationCategoryVOList.length >= this.total) {} else {
|
||||
this.pageNum++
|
||||
getHeathHousingList(this.pageNum, this.pageSize).then(res => {
|
||||
if (res.rows) {
|
||||
res.rows.forEach(e => {
|
||||
e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
|
||||
this.informationCategoryVOList.push(e)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() { //下拉刷新
|
||||
this.pageNum = 1;
|
||||
this.getHeathHousing();
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
padding: 0;
|
||||
|
||||
.noorder {
|
||||
margin-top: 20%;
|
||||
|
||||
image {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 200rpx;
|
||||
height: 240rpx;
|
||||
}
|
||||
|
||||
view {
|
||||
margin-top: 100rpx;
|
||||
text-align: center;
|
||||
font-size: 36rpx;
|
||||
color: #BFBFBF;
|
||||
}
|
||||
}
|
||||
|
||||
.Healthknowledge {
|
||||
width: 94%;
|
||||
margin: 20rpx auto;
|
||||
padding: 0 50rpx 50rpx;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
line-height: 46rpx;
|
||||
|
||||
.list {
|
||||
width: 100%;
|
||||
margin: 20rpx auto 0;
|
||||
|
||||
.item {
|
||||
width: 100%;
|
||||
height: 200rpx;
|
||||
position: relative;
|
||||
border-bottom: 2rpx solid #CDC9C9;
|
||||
|
||||
image {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 253rpx;
|
||||
height: 164rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.author {
|
||||
position: absolute;
|
||||
bottom: 20rpx;
|
||||
left: 0;
|
||||
font-size: 20rpx;
|
||||
color: #969494;
|
||||
}
|
||||
|
||||
.text {
|
||||
position: absolute;
|
||||
top: 20rpx;
|
||||
left: 0;
|
||||
width: 50%;
|
||||
font-size: 30rpx;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 38rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -36,13 +36,13 @@
|
||||
</view>
|
||||
<view class="case">
|
||||
<span class="text">病例上传</span>
|
||||
<image src="../../static/jiantou.png" mode=""></image>
|
||||
<!-- <img src="/static/jiantou.png" alt=""> -->
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
<!-- <img src="/static/huijiantou.png" alt=""> -->
|
||||
</view>
|
||||
<view class="case">
|
||||
<span class="text">化验单上传</span>
|
||||
<image src="../../static/jiantou.png" mode=""></image>
|
||||
<!-- <img src="/static/jiantou.png" alt=""> -->
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
<!-- <img src="/static/huijiantou.png" alt=""> -->
|
||||
</view>
|
||||
<view class="btn" @tap='show=true'>确认</view>
|
||||
</view>
|
||||
|
||||
@ -1,149 +1,560 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="cards">
|
||||
<view class="item" style="background-color: #9E4DD0;" @tap='gouser'>
|
||||
<image src="../../static/user.png" mode=""></image>
|
||||
<view class="user" v-if="appPersonallist">
|
||||
<image v-if="appPersonallist.headPictureUrl" class="img" :src="baseurl+appPersonallist.headPictureUrl"
|
||||
mode=""></image>
|
||||
<image class="img" v-else src="../../static/user.png" mode=""></image>
|
||||
<image class="bjimg" :src="bjimg" mode=""></image>
|
||||
<view class="phone" v-if="appPersonallist.patientName">
|
||||
{{appPersonallist.patientName}}
|
||||
</view>
|
||||
<view class="nickname" style="top:200rpx">
|
||||
<span style='padding-right: 10rpx;' v-if="appPersonallist.age!=null&&appPersonallist.age>=0">
|
||||
{{appPersonallist.age}}
|
||||
</span>
|
||||
<span style='padding-right: 30rpx;' v-if="appPersonallist.age!=null&&appPersonallist.age>=0">
|
||||
岁
|
||||
</span>
|
||||
{{appPersonallist.sex=='MALE'?'男':''}}
|
||||
{{appPersonallist.sex=='FEMALE'?'女':''}}
|
||||
</span>
|
||||
</view>
|
||||
<view class="nickname">
|
||||
{{appPersonallist.phone}}
|
||||
</view>
|
||||
<view class="modify" @tap='updatainfo()'>
|
||||
修改信息
|
||||
<image src="../../static/xg.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="user" v-else>
|
||||
<image class="img" src="../../static/user.png" mode=""></image>
|
||||
<image class="bjimg" :src="bjimg" mode=""></image>
|
||||
<view class="login" @tap='gologin'>
|
||||
登录
|
||||
</view>
|
||||
</view>
|
||||
<view class="userinfo">
|
||||
<view class="item" @tap='goHealthrecords'>
|
||||
<image src="../../static/jkda.png" mode=""></image>
|
||||
<view class="text">
|
||||
健康档案
|
||||
</view>
|
||||
</view>
|
||||
<view class="item" @tap='gointegral' v-if="appPersonallist">
|
||||
<image src="../../static/jifen.png" mode=""></image>
|
||||
<view class="text">
|
||||
积分
|
||||
<span style='padding:0 5rpx' v-if="appPersonallist.integral&&appPersonallist.integral>=0">
|
||||
{{appPersonallist.integral}}</span>
|
||||
<span style='padding:0 5rpx' v-else>
|
||||
0</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item" @tap="gocoupon" v-if="appPersonallist">
|
||||
<image src="../../static/yhj.png" mode=""></image>
|
||||
<view class="text">
|
||||
优惠券
|
||||
<span style='padding:0 5rpx'
|
||||
v-if="appPersonallist.patientCouponCount&&appPersonallist.patientCouponCount>=0">
|
||||
{{appPersonallist.patientCouponCount}}</span>
|
||||
<span style='padding:0 5rpx' v-else>
|
||||
0</span>张
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="CommodityOrder" @tap="goorder">
|
||||
<view class="title">
|
||||
个人信息
|
||||
商品订单
|
||||
</view>
|
||||
<view class="text">
|
||||
查看全部
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class=" item" style="background-color: #E1AE3C ;" @tap='goorder'>
|
||||
<image src="../../static/dingdan.png" mode=""></image>
|
||||
<view class="title">
|
||||
我的订单
|
||||
<view class="center">
|
||||
<view class="OrderStatus" @tap="gopaid('WAIT_PAY')" v-if="appPersonallist">
|
||||
<image src="/static/Tobepaid.png" mode=""></image>
|
||||
<view class="title">待付款</view>
|
||||
<view class="orderCount" v-if="appPersonallist.waitPayCount>0&&appPersonallist.waitPayCount<100">
|
||||
{{appPersonallist.waitPayCount}}
|
||||
</view>
|
||||
<view class="orderCount" style="width: 57rpx;border-radius: 17rpx;right:25rpx"
|
||||
v-if="appPersonallist.waitPayCount>=100">
|
||||
99+
|
||||
</view>
|
||||
</view>
|
||||
<view class="OrderStatus" @tap="goreceive('WAIT_RECEIVED_GOODS')" v-if="appPersonallist">
|
||||
<image src="/static/received.png" mode=""></image>
|
||||
<view class="title">待收货</view>
|
||||
<view class="orderCount"
|
||||
v-if="appPersonallist.waitReceivedGoodsCount>0&&appPersonallist.waitReceivedGoodsCount<100">
|
||||
{{appPersonallist.waitReceivedGoodsCount}}
|
||||
</view>
|
||||
<view class="orderCount" style="width: 57rpx;border-radius: 17rpx;right:25rpx"
|
||||
v-if="appPersonallist.waitReceivedGoodsCount>=100">
|
||||
99+
|
||||
</view>
|
||||
</view>
|
||||
<view class="OrderStatus" @tap="gocompleted('RECEIVED_GOODS')" v-if="appPersonallist">
|
||||
<image src="/static/evaluated.png" mode=""></image>
|
||||
<view class="title">待评价</view>
|
||||
<view class="orderCount"
|
||||
v-if="appPersonallist.receivedGoodsCount>0&&appPersonallist.receivedGoodsCount<100">
|
||||
{{appPersonallist.receivedGoodsCount}}
|
||||
</view>
|
||||
<view class="orderCount" style="width: 57rpx;border-radius: 17rpx;right:25rpx"
|
||||
v-if="list.receivedGoodsCount>=100">
|
||||
99+
|
||||
</view>
|
||||
</view>
|
||||
<view class="OrderStatus" @tap="goEVALUATED('EVALUATED')" v-if="appPersonallist">
|
||||
<image src="/static/finished.png" mode=""></image>
|
||||
<view class="title">已完成</view>
|
||||
<!-- <view class="orderCount" v-if="list.evaluatedCount>0&&list.evaluatedCount<100">
|
||||
{{list.evaluatedCount}}
|
||||
</view>
|
||||
<view class="orderCount" v-if="list.evaluatedCount>=100">
|
||||
99+
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="item" style="background-color: #00C176 ;">
|
||||
<image src="../../static/home.png" mode=""></image>
|
||||
<view class="title" style="font-size: 42rpx;">
|
||||
我的家庭
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="item">
|
||||
</view>
|
||||
<view class="item">
|
||||
</view>
|
||||
<view class="item">
|
||||
</view>
|
||||
</view>
|
||||
<view class="service" @tap="gonursestation">
|
||||
<view class="serviceorder">护理站服务订单</view>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="service" style="top:1040rpx" @tap='remove'>
|
||||
<view class="serviceorder">退出账号</view>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getExistPatientByPatientId
|
||||
appPersonal,
|
||||
} from '@/api/Personal/Personal.js';
|
||||
import {
|
||||
existPatientInfo
|
||||
} from '@/api/startup/index.js'
|
||||
import baseurl from '@/api/baseurl.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
baseurl: '',
|
||||
appPersonallist: null, //获取个人信息
|
||||
timer: null,
|
||||
};
|
||||
list: {},
|
||||
bjimg: '',
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.bjimg = baseurl + '/profile/appletPicture/inviteFriendsOne.png'
|
||||
let that = this
|
||||
this.baseurl = baseurl
|
||||
this.myInfo()
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {} else {
|
||||
that.appPersonallist = null
|
||||
that.$refs.uToast.show({
|
||||
title: '请先登录',
|
||||
type: 'error',
|
||||
duration: '1000',
|
||||
})
|
||||
}
|
||||
},
|
||||
onLoad(options) {},
|
||||
methods: {
|
||||
goorder() {
|
||||
remove() {
|
||||
let that = this
|
||||
const value = uni.getStorageSync('patientId');
|
||||
var that = this
|
||||
if (value) {
|
||||
getExistPatientByPatientId(value).then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.msg == 'LOGIN') {
|
||||
uni.navigateTo({
|
||||
url: '/pages/order/order'
|
||||
})
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确认要退出此账号吗',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
uni.removeStorageSync('patientId');
|
||||
uni.removeStorageSync('phone');
|
||||
that.$refs.uToast.show({
|
||||
title: '当前用户信息不存在,请重新登录',
|
||||
type: 'error',
|
||||
duration: '1500'
|
||||
title: '退出账号成功',
|
||||
type: 'success',
|
||||
duration: '1000'
|
||||
})
|
||||
that.remove();
|
||||
if (that.timer) {
|
||||
clearTimeout(that.timer)
|
||||
}
|
||||
that.timer = setTimeout(e => {
|
||||
uni.switchTab({
|
||||
url: '/pages/homepage/homepage'
|
||||
})
|
||||
}, 1000)
|
||||
}
|
||||
} else {
|
||||
that.$refs.uToast.show({
|
||||
title: '登录异常,请重新登录',
|
||||
type: 'error',
|
||||
duration: '1500'
|
||||
})
|
||||
that.remove();
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
that.remove();
|
||||
that.$refs.uToast.show({
|
||||
title: '请重新登录',
|
||||
title: '您未登录',
|
||||
type: 'error',
|
||||
duration: '1500'
|
||||
duration: '1000'
|
||||
})
|
||||
}
|
||||
},
|
||||
remove() {
|
||||
var that = this
|
||||
removes() {
|
||||
this.appPersonallist = null
|
||||
uni.removeStorageSync('patientId');
|
||||
uni.removeStorageSync('phone');
|
||||
uni.removeStorageSync('password');
|
||||
if (that.timer) {
|
||||
clearTimeout(that.timer)
|
||||
}
|
||||
that.timer = setTimeout(e => {
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
}, 1500)
|
||||
uni.removeStorageSync('Refresh');
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
},
|
||||
//跳转个人信息页面
|
||||
gouser() {
|
||||
const value = uni.getStorageSync('patientId');
|
||||
//获取个人信息
|
||||
myInfo() {
|
||||
var that = this
|
||||
if (value) {
|
||||
getExistPatientByPatientId(value).then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.msg == 'LOGIN') {
|
||||
uni.navigateTo({
|
||||
url: '/pages/user/user'
|
||||
})
|
||||
} else {
|
||||
that.$refs.uToast.show({
|
||||
title: '当前用户信息不存在,请重新登录',
|
||||
type: 'error',
|
||||
duration: '1500'
|
||||
})
|
||||
that.remove();
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
appPersonal(value2).then(Response => {
|
||||
if (Response.code == 200) {
|
||||
that.appPersonallist = Response.data
|
||||
if (!that.appPersonallist.integral) {
|
||||
that.appPersonallist.integral = 0
|
||||
}
|
||||
} else {
|
||||
that.$refs.uToast.show({
|
||||
title: '登录异常,请重新登录',
|
||||
type: 'error',
|
||||
duration: '1500'
|
||||
})
|
||||
that.remove();
|
||||
that.appPersonallist.homeLatitude = Number(that.appPersonallist
|
||||
.homeLatitude)
|
||||
that.appPersonallist.homeLongitude = Number(that.appPersonallist
|
||||
.homeLongitude)
|
||||
} else if (Response.code == 9999) {} else {
|
||||
that.removes();
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.$refs.uToast.show({
|
||||
title: '请重新登录',
|
||||
type: 'error',
|
||||
duration: '1500'
|
||||
})
|
||||
that.remove();
|
||||
}
|
||||
},
|
||||
updatainfo() {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/modify/modify`
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//护理站服务订单
|
||||
gonursestation() {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/Nursingstationserviceorder/Nursingstationserviceorder'
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//待收货
|
||||
goreceive(item) {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/CommodityOrder/CommodityOrder?orderStatus=${item}`
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//全部订单
|
||||
goorder() {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/CommodityOrder/CommodityOrder'
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//去登陆
|
||||
gologin() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
},
|
||||
//优惠券
|
||||
gocoupon() {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/coupon/coupon'
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//积分页面
|
||||
gointegral() {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/integral/integral?integral=${this.appPersonallist.integral}`
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//已完成
|
||||
goEVALUATED(item) {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/CommodityOrder/CommodityOrder?orderStatus=${item}`
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//待评价
|
||||
gocompleted(item) {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/CommodityOrder/CommodityOrder?orderStatus=${item}`
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//待付款
|
||||
gopaid(item) {
|
||||
const value2 = uni.getStorageSync('patientId');
|
||||
if (value2) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/CommodityOrder/CommodityOrder?orderStatus=${item}`
|
||||
})
|
||||
} else {
|
||||
this.gologin();
|
||||
}
|
||||
},
|
||||
//健康档案
|
||||
goHealthrecords() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/Healthrecords/Healthrecords'
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
font-size: 35rpx;
|
||||
padding: 0 0 200rpx 0;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
|
||||
.cards {
|
||||
padding: 22px 0 20px 0;
|
||||
.service {
|
||||
position: absolute;
|
||||
top: 915rpx;
|
||||
left: 2%;
|
||||
width: 96%;
|
||||
height: 100rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 10rpx;
|
||||
|
||||
.item {
|
||||
image {
|
||||
width: 13rpx;
|
||||
height: 23rpx;
|
||||
position: absolute;
|
||||
right: 40rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.serviceorder {
|
||||
font-size: 32rpx;
|
||||
height: 100rpx;
|
||||
line-height: 100rpx;
|
||||
position: absolute;
|
||||
left: 31rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
position: absolute;
|
||||
top: 590rpx;
|
||||
left: 2%;
|
||||
width: 96%;
|
||||
height: 300rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 10rpx;
|
||||
|
||||
.center {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
padding-top: 50rpx;
|
||||
|
||||
.OrderStatus {
|
||||
position: relative;
|
||||
height: 180rpx;
|
||||
width: 25%;
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
top: 80rpx;
|
||||
width: 100%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
image {
|
||||
width: 71rpx;
|
||||
height: 63rpx;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.orderCount {
|
||||
width: 38rpx;
|
||||
height: 38rpx;
|
||||
background: #FFFFFF;
|
||||
border: 3rpx solid #DC222F;
|
||||
position: absolute;
|
||||
top: -20rpx;
|
||||
right: 35rpx;
|
||||
font-size: 22rpx;
|
||||
border-radius: 50%;
|
||||
line-height: 35rpx;
|
||||
color: #DC222F;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.CommodityOrder {
|
||||
font-size: 32rpx;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
position: relative;
|
||||
|
||||
.title {
|
||||
width: 80%;
|
||||
top: 60%;
|
||||
position: absolute;
|
||||
left: 31rpx;
|
||||
}
|
||||
|
||||
.text {
|
||||
position: absolute;
|
||||
right: 40rpx;
|
||||
font-size: 26rpx;
|
||||
color: #969494;
|
||||
|
||||
image {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
padding-left: 10rpx;
|
||||
width: 13rpx;
|
||||
height: 23rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.userinfo {
|
||||
position: absolute;
|
||||
top: 340rpx;
|
||||
left: 2%;
|
||||
display: flex;
|
||||
width: 96%;
|
||||
height: 220rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 10rpx;
|
||||
box-shadow: 0rpx 0rpx 24rpx 0rpx rgba(101, 176, 249, 0.41);
|
||||
|
||||
.item {
|
||||
width: 33%;
|
||||
height: 100%;
|
||||
padding-top: 40rpx;
|
||||
|
||||
.text {
|
||||
font-size: 30rpx;
|
||||
line-height: 60rpx;
|
||||
}
|
||||
|
||||
image {
|
||||
// margin-left: 50%;
|
||||
// transform: translateX(-50%);
|
||||
width: 85rpx;
|
||||
height: 74rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.user {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
position: relative;
|
||||
color: #FFFFFF;
|
||||
font-size: 39rpx;
|
||||
|
||||
.modify {
|
||||
position: absolute;
|
||||
right: 3%;
|
||||
top: 200rpx;
|
||||
font-size: 28rpx;
|
||||
|
||||
image {
|
||||
width: 23rpx;
|
||||
height: 23rpx;
|
||||
padding-left: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.login {
|
||||
position: absolute;
|
||||
top: 170rpx;
|
||||
left: 35%;
|
||||
font-size: 36rpx;
|
||||
width: 180rpx;
|
||||
line-height: 70rpx;
|
||||
border: 1rpx solid #fff;
|
||||
height: 70rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.nickname {
|
||||
position: absolute;
|
||||
top: 250rpx;
|
||||
left: 35%;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.phone {
|
||||
position: absolute;
|
||||
top: 130rpx;
|
||||
left: 35%;
|
||||
}
|
||||
|
||||
.bjimg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.img {
|
||||
z-index: 999;
|
||||
width: 150rpx;
|
||||
height: 150rpx;
|
||||
border-radius: 50%;
|
||||
background: #F6F6F6;
|
||||
position: absolute;
|
||||
top: 130rpx;
|
||||
left: 8%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="" v-if='GoodsCategorychildrenlist.length>1'>
|
||||
<top-tabbar :tabIndex="tabIndex" :tabBars="GoodsCategorychildrenlist" @toggleToptab="toggleTab"
|
||||
selectedBottomColor="#D43953" selectedTextColor="#D43953" textColor="#000000" bgColor="#ffffff">
|
||||
</top-tabbar>
|
||||
<u-tabs :list="GoodsCategorychildrenlist" :current="tabIndex" @change="toggleTab"
|
||||
v-if="GoodsCategorychildrenlist.length>=2"></u-tabs>
|
||||
<view class="fenlei" @tap='toggleTab(1111111111111)' v-if="GoodsCategorychildrenlist.length>=2">
|
||||
<image src="../../static/fenlei.png" mode=""></image>
|
||||
<view class="">
|
||||
分类
|
||||
</view>
|
||||
</view>
|
||||
<view class="inputs">
|
||||
<i class="icon"></i>
|
||||
@ -41,11 +44,8 @@
|
||||
getGoodsCategoryNameList
|
||||
} from '@/api/ProductList/ProductList.js';
|
||||
import baseurl from '@/api/baseurl.js'
|
||||
import topTabbar from '../toptabbar/toptabbar.vue'
|
||||
export default {
|
||||
components: {
|
||||
topTabbar
|
||||
},
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
//将选中标签的索引绑定为tabIndex,以便后续的调用
|
||||
@ -131,10 +131,11 @@
|
||||
GoodsCategorychildren(value) {
|
||||
getGoodsCategoryNameList(value).then(res => {
|
||||
this.GoodsCategorychildrenlist = [{
|
||||
goodsCategoryName: '全部',
|
||||
name: '全部',
|
||||
id: 99999999999999999,
|
||||
}]
|
||||
res.data.forEach(e => {
|
||||
e.name = e.goodsCategoryName
|
||||
this.GoodsCategorychildrenlist.push(e)
|
||||
})
|
||||
})
|
||||
@ -210,9 +211,42 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
::v-deep .u-tabs {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.app {
|
||||
padding: 0;
|
||||
|
||||
.fenlei {
|
||||
width: 20%;
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
line-height: 86rpx;
|
||||
font-weight: normal;
|
||||
height: 86rpx;
|
||||
text-align: center;
|
||||
color: #000000;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
font-size: 32rpx;
|
||||
|
||||
view {
|
||||
position: absolute;
|
||||
right: 20%;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 45rpx;
|
||||
height: 45rpx;
|
||||
position: absolute;
|
||||
left: 10%;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
.noorder {
|
||||
view {
|
||||
text-align: center;
|
||||
|
||||
@ -1,9 +1,25 @@
|
||||
.app {
|
||||
height: 100%;
|
||||
padding: 2% 2% 150rpx 2%;
|
||||
padding: 0 0 0 0;
|
||||
padding-top: 10rpx;
|
||||
font-size: 34rpx;
|
||||
position: relative;
|
||||
.swiper-box {
|
||||
width: 100%;
|
||||
height: 500rpx;
|
||||
}
|
||||
.swiper-item {
|
||||
height: 500rpx;
|
||||
text-align: center;
|
||||
image{
|
||||
width: 100%;
|
||||
height: 500rpx !important;
|
||||
}
|
||||
}
|
||||
video{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.mask {
|
||||
.information {
|
||||
width: 70%;
|
||||
@ -49,101 +65,69 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.appointment {
|
||||
width: 120rpx;
|
||||
height: 70rpx;
|
||||
background: #4C7BC9;
|
||||
border-radius: 26rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 70rpx;
|
||||
position: absolute;
|
||||
bottom:20rpx;
|
||||
right:5%;
|
||||
.bottomcontent{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
bottom: 0;
|
||||
background-color: #FFFFFF;
|
||||
.appoinprice{
|
||||
padding-left: 20rpx;
|
||||
font-size: 48rpx;
|
||||
color: #F44B2F;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
.appointment {
|
||||
width: 200rpx;
|
||||
height: 70rpx;
|
||||
background: #F44B2F;
|
||||
border-radius: 30rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 70rpx;
|
||||
position: absolute;
|
||||
bottom:20rpx;
|
||||
right:5%;
|
||||
}
|
||||
}
|
||||
|
||||
.detailtitle {
|
||||
position: relative;
|
||||
width: 94%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
margin-top: 3%;
|
||||
font-size: 31rpx;
|
||||
padding: 3%;
|
||||
padding-bottom: 50rpx;
|
||||
padding-bottom: 150rpx;
|
||||
.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%;
|
||||
padding: 3% 3% 3% 0;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
.item {
|
||||
width: 95%;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
height: 200rpx;
|
||||
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;
|
||||
.text{
|
||||
padding: 40rpx 20% 0 40rpx;
|
||||
width: 100%;
|
||||
height: 81rpx;
|
||||
font-size: 38rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,28 +1,55 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="container">
|
||||
<view>
|
||||
<!-- 轮播图 -->
|
||||
<swiper indicator-dots="true" indicator-color='#fff' indicator-active-color='#0086d6'
|
||||
:autoplay="autoplay" interval="3000" duration="1500" show-center-play-btn="true" class="swiper-box"
|
||||
circular='true' @change="swiperChange">
|
||||
<swiper-item v-for="(item ,index) in lbinfo" :key="index">
|
||||
<view class="swiper-item" v-show="!splits(item)" wx-if="{item}">
|
||||
<image v-if="item" :src="item" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="swiper-item" v-show="splits(item)" v-if="item">
|
||||
<video :id="'myVideo'+index" :autoplay="false" :src="item" controls show-fullscreen-btn
|
||||
object-fit="fill" @play="play" @pause="pause" @ended="ended" auto-pause-if-navigate
|
||||
show-play-btn :enable-progress-gesture='true' :show-center-play-btn='true'
|
||||
enable-play-gesture auto-pause-if-open-native show-mute-btn></video>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <u-swiper v-if="lbinfo" :list="lbinfo" height="350" style='background-size: 100%;' mode='none'></u-swiper> -->
|
||||
<view class="item">
|
||||
<image :src="list.itemPictureUrl"></image>
|
||||
<view class="huanyao">{{list.nurseItemName}}
|
||||
<view class="text" v-if='list.nurseItemName'>{{list.nurseItemName}}
|
||||
</view>
|
||||
<view class="text" v-else>暂无
|
||||
</view>
|
||||
<view class="classtype">
|
||||
</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'>耗材包详情:
|
||||
<!-- <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}}
|
||||
<span>{{item.consumableCount}}{{item.consumableUnit}}/¥{{item.consumablePrice}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="detailtitle">
|
||||
<view class="Introduction">服务详情:</view>
|
||||
<view class="textInfo" v-html="list.nurseItemContent">
|
||||
<view class="textInfo" v-if="list.nurseItemContent" v-html="list.nurseItemContent">
|
||||
</view>
|
||||
</view>
|
||||
<view class="appointment" @tap.stop='goappointments(item)'>预约</view>
|
||||
<view class="bottomcontent">
|
||||
<view class="appoinprice" v-if="list.totalPrice">
|
||||
¥{{list.totalPrice}}
|
||||
</view>
|
||||
<view class="appointment" @tap.stop='goappointments(item)'>立即预约</view>
|
||||
</view>
|
||||
<u-toast ref="uToast" />
|
||||
<u-mask :show="usershow" class='mask'>
|
||||
<view class="information">
|
||||
@ -51,65 +78,116 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
lbinfo: [], //轮播
|
||||
autoplay: true, //自动切换轮播图
|
||||
videoContext: '',
|
||||
baseurl: '',
|
||||
list: {},
|
||||
orderNo: '',
|
||||
usershow: false, //完善信息开关
|
||||
list: [], //护理站list
|
||||
list: {}, //护理站list
|
||||
timer: null,
|
||||
stationId: null,
|
||||
stationItemId: null,
|
||||
stationItemPriceId: null,
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
// 耗材包详情方法调用
|
||||
this.getlist(options.stationId, options.stationItemId, options.stationItemPriceId)
|
||||
this.stationId = options.stationId
|
||||
this.stationItemId = options.stationItemId
|
||||
this.stationItemPriceId = options.stationItemPriceId
|
||||
},
|
||||
onShow() {
|
||||
this.baseurl = baseurl
|
||||
this.usershow = false
|
||||
// 耗材包详情方法调用
|
||||
this.getlist(this.stationId, this.stationItemId, this.stationItemPriceId)
|
||||
},
|
||||
methods: {
|
||||
swiperChange(e) {
|
||||
let {
|
||||
current,
|
||||
source
|
||||
} = e.detail
|
||||
this.videoContext = uni.createVideoContext('myVideo' + (current - 1));
|
||||
//只有手动切换时开始轮播,并且上一页视频暂停
|
||||
if (source === 'touch') {
|
||||
this.videoContext.pause(); //暂停
|
||||
this.autoplay = true
|
||||
}
|
||||
},
|
||||
// 获取数据
|
||||
GetBanner() {},
|
||||
// 处理banner返回的是是视频还是图片
|
||||
splits(url) {
|
||||
if (url.indexOf('.') != -1) {
|
||||
var ext = url.substring(url.lastIndexOf('.') + 1);
|
||||
return ['mp4', 'webm', 'mpeg4', 'ogg'].indexOf(ext) != -1
|
||||
}
|
||||
},
|
||||
// 点击开始/继续播放
|
||||
play() {
|
||||
this.autoplay = false
|
||||
// this.videoContext.requestFullScreen()
|
||||
},
|
||||
// 视频暂停
|
||||
pause() {
|
||||
this.autoplay = true
|
||||
},
|
||||
// 视频结束
|
||||
ended() {
|
||||
this.autoplay = true
|
||||
},
|
||||
//预约
|
||||
goappointments() {
|
||||
let that = this
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
AppIdentification(value).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}`,
|
||||
})
|
||||
try {
|
||||
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.stationId}&stationItemId=${this.stationItemId}&stationItemPriceId=${this.stationItemPriceId}`,
|
||||
})
|
||||
} else {
|
||||
that.usershow = true
|
||||
}
|
||||
} else if (res.code == 9999) {
|
||||
|
||||
} 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'
|
||||
that.$refs.uToast.show({
|
||||
title: res.msg,
|
||||
type: 'error'
|
||||
})
|
||||
}, 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'
|
||||
if (that.timer) {
|
||||
clearTimeout(that.timer)
|
||||
}
|
||||
that.timer = setTimeout(e => {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
}, 1500)
|
||||
}
|
||||
})
|
||||
}, 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'
|
||||
})
|
||||
}
|
||||
},
|
||||
//跳转完善页面
|
||||
@ -121,16 +199,46 @@
|
||||
},
|
||||
// 信息
|
||||
getlist(stationId, stationItemId, stationItemPriceId) {
|
||||
this.lbinfo = []
|
||||
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
|
||||
if (res.data.nurseItemContent) {
|
||||
res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/gi,
|
||||
"<br/> <img class='richPic'")
|
||||
}
|
||||
res.data.itemPictureUrl = baseurl + res.data.itemPictureUrl
|
||||
if (res.data.poserInfoList.length >= 1) {
|
||||
res.data.poserInfoList.forEach(e => {
|
||||
e.image = baseurl + e.posterPictureUrl
|
||||
this.lbinfo.push(e.image)
|
||||
})
|
||||
if (res.data.poserInfoList[0].video) {
|
||||
res.data.poserInfoList[0].video = baseurl + res.data.poserInfoList[0].posterVideoUrl
|
||||
this.lbinfo.push(res.data.poserInfoList[0].video)
|
||||
}
|
||||
} else {
|
||||
this.lbinfo.push(this.baseurl + res.data.itemPictureUrl)
|
||||
}
|
||||
this.list = res.data
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
|
||||
.app {
|
||||
.app {
|
||||
font-size: 34rpx;
|
||||
padding-top: 10rpx;
|
||||
height: 100%;
|
||||
|
||||
.mask {
|
||||
.Agreement {
|
||||
width: 100%;
|
||||
@ -99,31 +97,64 @@
|
||||
border-radius: 20rpx;
|
||||
line-height: 93rpx;
|
||||
|
||||
.selecttime {
|
||||
height: 93rpx;
|
||||
margin-left: 3%;
|
||||
position: relative;
|
||||
|
||||
text {
|
||||
font-size: 34rpx;
|
||||
color: #878987;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 18rpx;
|
||||
height: 27rpx;
|
||||
position: absolute;
|
||||
right: 5%;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.addition {
|
||||
color: #666666;
|
||||
line-height: 30rpx;
|
||||
.timeyear{
|
||||
.bottomtext{
|
||||
width: 96%;
|
||||
margin: 0 auto;
|
||||
.items{
|
||||
display: flex;
|
||||
justify-content:flex-start;
|
||||
flex-wrap: wrap;
|
||||
text-align: center;
|
||||
.timeitem{
|
||||
width: 21%;
|
||||
margin: 0 2% 20rpx;
|
||||
height: 86rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 86rpx;
|
||||
border: 2rpx solid #DADADA;
|
||||
}
|
||||
.timeitemtap{
|
||||
width: 21%;
|
||||
margin: 0 2% 20rpx;
|
||||
height: 86rpx;
|
||||
border: 2rpx solid #F44B2F;
|
||||
border-radius: 5rpx;
|
||||
font-size: 28rpx;
|
||||
color: #F44B2F;
|
||||
line-height: 86rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.toptext{
|
||||
padding-top: 10rpx;
|
||||
display: flex;
|
||||
justify-content:space-around;
|
||||
height: 50rpx;
|
||||
color: #000000;
|
||||
line-height: 27rpx;
|
||||
margin-bottom: 30rpx;
|
||||
text-align: center;
|
||||
.Soonerorlater{
|
||||
width: 200rpx;
|
||||
font-size: 36rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
.Soonerorlaterclass{
|
||||
font-size: 36rpx;
|
||||
color: #F44B2F;
|
||||
width: 200rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
view:nth-child(2){
|
||||
width: 4rpx;
|
||||
height: 27rpx;
|
||||
background: #C5C3C3;
|
||||
border-radius: 2rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
width: 97%;
|
||||
@ -140,7 +171,6 @@
|
||||
|
||||
.remarks {
|
||||
width: 94%;
|
||||
height: 382rpx;
|
||||
margin: 10rpx auto;
|
||||
padding: 3%;
|
||||
font-size: 34rpx;
|
||||
@ -152,7 +182,13 @@
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 20%;
|
||||
width: 60%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
position: absolute;
|
||||
top:50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
input {
|
||||
@ -249,10 +285,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
.Consumablespackage .money {
|
||||
.Consumablespackage .money {
|
||||
top: 8%;
|
||||
}
|
||||
|
||||
/* 耗材包 */
|
||||
.Consumablespackage {
|
||||
width: 94%;
|
||||
@ -264,28 +299,43 @@
|
||||
margin-top: 20rpx;
|
||||
position: relative;
|
||||
padding-bottom: 40rpx;
|
||||
|
||||
::v-deep .u-checkbox__label{
|
||||
width: 100% !important;
|
||||
}
|
||||
.detail {
|
||||
width: 100%;
|
||||
line-height: 100rpx;
|
||||
|
||||
// padding: 20rpx 0 0 40rpx;
|
||||
/deep/ .u-checkbox {
|
||||
margin: 40rpx 0 0;
|
||||
position: relative;
|
||||
.itemConsumabletitle{
|
||||
width:55%;
|
||||
position: absolute;
|
||||
top:50%;
|
||||
transform: translateY(-50%);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
/deep/ .u-checkbox-group {
|
||||
width: 100% !important;
|
||||
}
|
||||
/deep/ .u-checkbox{
|
||||
width: 100% !important;
|
||||
margin: 40rpx 0 0;
|
||||
position: relative;
|
||||
}
|
||||
/deep/ .u-checkbox-group{
|
||||
span{
|
||||
width: 100%;
|
||||
}
|
||||
/deep/ .u-checkbox__label{
|
||||
width: 100%;
|
||||
}
|
||||
span {
|
||||
display: inline-block;
|
||||
font-size: 30rpx;
|
||||
font-size: 28rpx;
|
||||
color: #D43953;
|
||||
text-align: right;
|
||||
float: right;
|
||||
position: absolute;
|
||||
right:5%;
|
||||
top:50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -303,6 +353,9 @@
|
||||
position: relative;
|
||||
|
||||
.detail {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
line-height: 31rpx;
|
||||
font-size: 32rpx;
|
||||
color: #666666;
|
||||
@ -310,6 +363,7 @@
|
||||
position: absolute;
|
||||
left: 10%;
|
||||
top: 60%;
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -9,27 +9,45 @@
|
||||
<span>电话:</span>
|
||||
<span class='addition'>{{personInfo.phone}}</span>
|
||||
</view>
|
||||
<view class="item">
|
||||
<span>地址:</span>
|
||||
<span class='addition'>{{personInfo.address}}</span>
|
||||
<view class="addressitem">
|
||||
<view class="leftaddress">地址:</view>
|
||||
<view class='addition'>{{personInfo.address}}</view>
|
||||
</view>
|
||||
<view class="item" style="border: 0;">
|
||||
<span></span>
|
||||
<span class='addition'>请您选择希望护理员到达的时间区间</span>
|
||||
<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'>
|
||||
<span>时间:</span>
|
||||
<text v-if="usertime==''" class='addition'>请选择时间区间
|
||||
<image src="../../static/jiantou.png"></image>
|
||||
</text>
|
||||
<text v-else class='addition'>{{usertime}}</text>
|
||||
<tabs :list="orderlist.appointmentTimeList" :current="timecurrent" @change="timechange">
|
||||
</tabs>
|
||||
<view class="timeyear" v-if="orderlist.appointmentTimeList">
|
||||
<view class="toptext">
|
||||
<view :class="Soonerorlater=='morning'?'Soonerorlaterclass':'Soonerorlater'"
|
||||
@tap="tapSoonerorlater('morning')">
|
||||
上午
|
||||
</view>
|
||||
<view class="">
|
||||
</view>
|
||||
<view :class="Soonerorlater=='after'?'Soonerorlaterclass':'Soonerorlater'"
|
||||
@tap="tapSoonerorlater('after')">
|
||||
下午
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottomtext">
|
||||
<view class="items" v-if="Soonerorlater=='morning'">
|
||||
<view @tap='taptime(item,index)'
|
||||
v-for="(item ,index) in orderlist.appointmentTimeList[timecurrent].morningList"
|
||||
:class="timeindex==index?'timeitemtap':'timeitem'">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="items" v-if="Soonerorlater=='after'">
|
||||
<view @tap='taptime(item,index)'
|
||||
v-for="(item ,index) in orderlist.appointmentTimeList[timecurrent].afternoonList"
|
||||
:class="timeindex==index?'timeitemtap':'timeitem'">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="remarks">
|
||||
@ -39,17 +57,17 @@
|
||||
<view class="Package">套餐信息:
|
||||
<text class="money">¥{{orderlist.nurseItemPrice}}</text>
|
||||
<text class="detail">
|
||||
·<span style='padding-left: 10rpx;'>{{orderlist.nurseItemName}}</span>
|
||||
{{orderlist.nurseItemName}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="Consumablespackage">耗材包详情:
|
||||
<text class="money">¥{{consumableTotalPrice}}</text>
|
||||
<view class="detail">
|
||||
<u-checkbox-group @change="checkboxGroupChange">
|
||||
<u-checkbox-group @change="checkboxGroupChange" :wrap='true'>
|
||||
<u-checkbox @change="checkboxChange(item)" v-model="item.radio"
|
||||
v-for="(item, index) in orderlist.itemConsumableList" :key="index"
|
||||
:name="item.consumableDetail">
|
||||
<view style='display: inline-block;'> {{item.consumableDetail}}</view>
|
||||
<view class='itemConsumabletitle'> {{item.consumableDetail}}</view>
|
||||
<span>{{item.consumableCount}}{{item.consumableUnit}}/¥{{item.consumablePrice}}</span>
|
||||
</u-checkbox>
|
||||
</u-checkbox-group>
|
||||
@ -74,16 +92,13 @@
|
||||
<view class="queren" @tap='updata'>确认预约</view>
|
||||
</view>
|
||||
<u-toast ref="uToast" />
|
||||
<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'>
|
||||
<view class="Agreement">
|
||||
<view class="title">
|
||||
护理站上门服务知情同意书
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="scroll-Y">
|
||||
<scroll-view scroll-y="true" class="scroll-Y" style="">
|
||||
<appointmenttext></appointmenttext>
|
||||
</scroll-view>
|
||||
<view class="cancel" @tap='maskshow=false'>
|
||||
@ -100,45 +115,28 @@
|
||||
import {
|
||||
getAppStationItemInfo,
|
||||
getAppPatientList,
|
||||
submitAppointment
|
||||
submitAppointment,
|
||||
appletAppointmentOrderPay
|
||||
} from '@/api/appointmenttime/appointmenttime.js'
|
||||
import baseurl from '@/api/baseurl.js'
|
||||
import upicker from '../picker/picker.vue'
|
||||
import appointmenttext from './text.vue'
|
||||
import tabs from '../utabs/u-tabs.vue'
|
||||
export default {
|
||||
components: {
|
||||
upicker,
|
||||
appointmenttext
|
||||
appointmenttext,
|
||||
tabs
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
timeparams: { //picker组件所需
|
||||
year: false,
|
||||
month: false,
|
||||
day: false,
|
||||
hour: true,
|
||||
endhour: true,
|
||||
minute: true,
|
||||
endminute: true,
|
||||
},
|
||||
timeshow: false, //时间开关
|
||||
usertime: '', //页面展示时间
|
||||
yearparams: { //picker组件所需
|
||||
year: true,
|
||||
month: true,
|
||||
day: true,
|
||||
hour: false,
|
||||
minute: false,
|
||||
second: false
|
||||
},
|
||||
yearshow: false, //时间开关
|
||||
yeartime: '', //页面展示时间
|
||||
Soonerorlater: 'morning',
|
||||
timecurrent: 0, //时间下标
|
||||
openid: '',
|
||||
maskshow: false, //用户协议开关
|
||||
radio: 1, //用户协议
|
||||
personInfo: [], //用户信息
|
||||
personInfo: {}, //用户信息
|
||||
patientId: null,
|
||||
usertime: '', //页面展示时间
|
||||
consumableTotalPrice: null, //耗材包总价格
|
||||
useritem: null, //optionsuser信息
|
||||
consumableTotalPrice: 0, //耗材包总价格
|
||||
orderlist: {
|
||||
orderCount: 1,
|
||||
patientId: '',
|
||||
@ -147,7 +145,7 @@
|
||||
stationItemPriceId: '',
|
||||
serviceAddress: "",
|
||||
serviceDate: "",
|
||||
serviceStartTime: "",
|
||||
serviceStartTime: null,
|
||||
serviceEndTime: "",
|
||||
nurseItemName: "",
|
||||
nurseItemPrice: '',
|
||||
@ -156,7 +154,9 @@
|
||||
totalPrice: '',
|
||||
remark: "",
|
||||
orderConsumableList: [],
|
||||
orderChannel: '',
|
||||
},
|
||||
timeindex: 0,
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
@ -173,17 +173,166 @@
|
||||
that.personInfo.address = that.useritem.address
|
||||
} else {}
|
||||
})
|
||||
setTimeout(e => {
|
||||
if (!that.useritem) {
|
||||
that.userinfo();
|
||||
}
|
||||
}, 500)
|
||||
},
|
||||
onLoad(options) {
|
||||
var that = this
|
||||
try {
|
||||
const value = uni.getStorageSync('openid');
|
||||
if (value) {
|
||||
that.openid = value
|
||||
}
|
||||
} catch (e) {}
|
||||
//耗材包详情方法调用
|
||||
this.getPatientInfo(options.stationId, options.stationItemId, options.stationItemPriceId)
|
||||
this.userinfo();
|
||||
},
|
||||
methods: {
|
||||
//切换上下午
|
||||
tapSoonerorlater(item) {
|
||||
this.Soonerorlater = item
|
||||
this.timeindex = 0
|
||||
if (item == 'morning') {
|
||||
this.orderlist.serviceStartTime = this.orderlist.appointmentTimeList[this.timecurrent].morningList[0]
|
||||
} else if (item == 'after') {
|
||||
this.orderlist.serviceStartTime = this.orderlist.appointmentTimeList[this.timecurrent].afternoonList[0]
|
||||
}
|
||||
},
|
||||
//选择时间
|
||||
taptime(item, index) {
|
||||
this.orderlist.serviceStartTime = item
|
||||
this.timeindex = index
|
||||
},
|
||||
userinfo() {
|
||||
//取出patientId
|
||||
var that = this
|
||||
try {
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
that.patientId = value
|
||||
//被护理人信息
|
||||
getAppPatientList(that.patientId).then(response => {
|
||||
that.personInfo = response.data
|
||||
that.personInfo.address = response.data.areaName + response.data.address
|
||||
})
|
||||
}
|
||||
} catch (e) {}
|
||||
},
|
||||
timechange(index) {
|
||||
this.orderlist.serviceDate = this.orderlist.appointmentTimeList[index].date
|
||||
this.timecurrent = index
|
||||
},
|
||||
//获取耗材包详情
|
||||
getPatientInfo(stationId, stationItemId, stationItemPriceId) {
|
||||
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
|
||||
res.data.nurseItemContent = ''
|
||||
if (res.code == 200) {
|
||||
if (res.data.itemConsumableList) {
|
||||
res.data.itemConsumableList.forEach(e => {
|
||||
e.radio = true
|
||||
})
|
||||
}
|
||||
res.data.appointmentTimeList.forEach(e => {
|
||||
e.dates = e.date.slice(5, 10)
|
||||
e.name = e.week
|
||||
})
|
||||
this.orderlist = res.data
|
||||
this.orderlist.serviceStartTime = res.data.appointmentTimeList[0].morningList[0]
|
||||
this.orderlist.serviceDate = res.data.appointmentTimeList[0].date
|
||||
this.consumableTotalPrice = res.data.consumableTotalPrice
|
||||
}
|
||||
})
|
||||
},
|
||||
//确认预约
|
||||
updata() {
|
||||
var that = this
|
||||
console.log(this.orderlist)
|
||||
this.orderlist.consumableTotalPrice = null
|
||||
this.orderlist.orderChannel = 'WECHAT_APPLET'
|
||||
if (this.radio == 1) {
|
||||
this.$refs.uToast.show({
|
||||
title: '请阅读用户协议并同意',
|
||||
type: 'error',
|
||||
})
|
||||
} else {
|
||||
this.orderlist.orderCount = 1;
|
||||
this.orderlist.orderConsumableList = []
|
||||
if (this.orderlist.itemConsumableList) {
|
||||
this.orderlist.itemConsumableList.forEach(e => {
|
||||
if (e.radio) {
|
||||
this.orderlist.orderConsumableList.push(e)
|
||||
}
|
||||
})
|
||||
}
|
||||
this.orderlist.afternoonOpenEndTime = this.orderlist.afternoonOpenEndTime.slice(0, 5)
|
||||
this.orderlist.afternoonOpenStartTime = this.orderlist.afternoonOpenStartTime.slice(0, 5)
|
||||
this.orderlist.morningOpenEndTime = this.orderlist.morningOpenEndTime.slice(0, 5)
|
||||
this.orderlist.morningOpenStartTime = this.orderlist.morningOpenStartTime.slice(0, 5)
|
||||
this.orderlist.patientId = this.patientId
|
||||
this.orderlist.serviceAddress = this.personInfo.areaName + this.personInfo.address
|
||||
submitAppointment(this.orderlist).then(res => {
|
||||
if (res.code == 500) {
|
||||
that.$refs.uToast.show({
|
||||
title: res.msg,
|
||||
type: 'error',
|
||||
})
|
||||
} else if (res.code == 200) {
|
||||
let obj = {
|
||||
patientId: res.data.patientId,
|
||||
openid: that.openid,
|
||||
orderNo: res.data.orderNo,
|
||||
orderChannel: res.data.orderChannel,
|
||||
paymentPrice: res.data.totalPrice,
|
||||
payType: "WECHAT_PAY",
|
||||
buySource: "NURSE_STATION",
|
||||
}
|
||||
appletAppointmentOrderPay(obj).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',
|
||||
duration: 1500,
|
||||
url: `/pages/paysuccess/paysuccess`
|
||||
})
|
||||
},
|
||||
fail: function(err) {
|
||||
that.$refs.uToast.show({
|
||||
title: '取消预约',
|
||||
type: 'error',
|
||||
duration: 1500,
|
||||
url: `/pages/menttimeorder/menttimeorder?list=${JSON.stringify(obj)}`
|
||||
})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
that.$refs.uToast.show({
|
||||
title: response.msg,
|
||||
type: 'error',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
changeRadio() {
|
||||
if (this.radio == 1) {
|
||||
this.radio = 2;
|
||||
} else {
|
||||
this.radio = 1;
|
||||
}
|
||||
},
|
||||
tapradio() {
|
||||
this.radio = 2;
|
||||
this.maskshow = false
|
||||
},
|
||||
checkboxChange(e) {
|
||||
if (e.radio) {
|
||||
this.orderlist.totalPrice = this.argSubtr(this.orderlist.totalPrice, e.consumablePrice)
|
||||
@ -251,109 +400,13 @@
|
||||
r2 = Number(arg2.toString().replace(".", ""))
|
||||
return _this.argMul((r1 / r2), Math.pow(10, t2 - t1));
|
||||
},
|
||||
userinfo() {
|
||||
//取出patientId
|
||||
var that = this
|
||||
try {
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
that.patientId = value
|
||||
//被护理人信息
|
||||
getAppPatientList(value).then(response => {
|
||||
that.personInfo = response.data
|
||||
that.personInfo.address = response.data.areaName + response.data.address
|
||||
that.orderlist.patientId = response.data.patientId
|
||||
that.orderlist.serviceAddress = response.data.areaName + response.data.address
|
||||
})
|
||||
}
|
||||
} catch (e) {
|
||||
// error
|
||||
}
|
||||
},
|
||||
//获取耗材包详情
|
||||
getPatientInfo(stationId, stationItemId, stationItemPriceId) {
|
||||
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
|
||||
res.data.nurseItemContent = ''
|
||||
if (res.code == 200) {
|
||||
if (res.data.itemConsumableList) {
|
||||
res.data.itemConsumableList.forEach(e => {
|
||||
e.radio = true
|
||||
})
|
||||
}
|
||||
this.consumableTotalPrice = res.data.consumableTotalPrice
|
||||
this.orderlist = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
//确认预约
|
||||
updata() {
|
||||
if (this.radio == 1) {
|
||||
this.$refs.uToast.show({
|
||||
title: '请阅读用户协议并同意',
|
||||
type: 'error',
|
||||
})
|
||||
} else {
|
||||
this.orderlist.consumableTotalPrice = null
|
||||
this.orderlist.orderChannel = "MOBILE_APP"
|
||||
this.orderlist.buySource = "NURSE_STATION"
|
||||
this.orderlist.orderCount = 1;
|
||||
this.orderlist.orderConsumableList = []
|
||||
if (this.orderlist.itemConsumableList) {
|
||||
this.orderlist.itemConsumableList.forEach(e => {
|
||||
if (e.radio) {
|
||||
this.orderlist.orderConsumableList.push(e)
|
||||
}
|
||||
})
|
||||
}
|
||||
// submitAppointment(this.orderlist).then(res => {
|
||||
// if (res.code == 500) {
|
||||
// this.$refs.uToast.show({
|
||||
// title: res.msg,
|
||||
// type: 'error',
|
||||
// })
|
||||
// } else if (res.code == 200) {
|
||||
// this.$refs.uToast.show({
|
||||
// title: '预约成功',
|
||||
// type: 'success',
|
||||
// url: '/pages/paysuccess/paysuccess',
|
||||
// duration: 1500
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
}
|
||||
},
|
||||
changeRadio() {
|
||||
if (this.radio == 1) {
|
||||
this.radio = 2;
|
||||
} else {
|
||||
this.radio = 1;
|
||||
}
|
||||
},
|
||||
// 选中任一checkbox时,由checkbox-group触发
|
||||
checkboxGroupChange(e) {},
|
||||
// 全选
|
||||
checkedAll() {},
|
||||
//获取时间
|
||||
timeconfirm(e) {
|
||||
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.patientId = this.personInfo.patientId
|
||||
this.orderlist.serviceAddress = this.personInfo.address
|
||||
},
|
||||
yeartimeconfirm(e) {
|
||||
this.orderlist.serviceDate = e.year + '-' + e.month + '-' + e.day
|
||||
this.yeartime = e.year + '年' + e.month + '月' + e.day + "日"
|
||||
},
|
||||
goaddress() {
|
||||
uni.navigateTo({
|
||||
url: `/pages/modifyAddress/modifyAddress?url=${'appointmenttime'}&updata=${JSON.stringify(this.orderlist)}`
|
||||
url: `/pages/modifyAddress/modifyAddress?updata=${JSON.stringify(this.orderlist)}`
|
||||
})
|
||||
},
|
||||
tapradio() {
|
||||
this.radio = 2;
|
||||
this.maskshow = false;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -125,7 +125,8 @@
|
||||
this.startData.pageY = e.changedTouches[0].pageY; //手指按下时的Y坐标
|
||||
},
|
||||
end(e) { //@touchend触摸结束
|
||||
if ((this.startData.pageY - this.touch.pageY) > 100) { //在事件结束时,判断滑动的距离是否达到出发需要执行事件的要求
|
||||
console.log(this.startData.pageY - this.touch.pageY)
|
||||
if ((this.startData.pageY - this.touch.pageY) > 200) { //在事件结束时,判断滑动的距离是否达到出发需要执行事件的要求
|
||||
if (this.goodsList.length >= this.total) {} else {
|
||||
this.pageNum++;
|
||||
goodsList(this.pageSize, this.pageNum, this.GoodsCategorychildrenid, this.goodsName).then(res => {
|
||||
@ -318,6 +319,7 @@
|
||||
.productlist {
|
||||
padding-bottom: 40rpx;
|
||||
overflow: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
@ -327,6 +329,7 @@
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
background-color: #ffffff;
|
||||
align-content: flex-start;
|
||||
|
||||
.item {
|
||||
width: 45%;
|
||||
@ -384,6 +387,7 @@
|
||||
|
||||
.lefttabbarlist {
|
||||
overflow: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
87
pages/customerservice/customerservice.vue
Normal file
@ -0,0 +1,87 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="title">
|
||||
长按识别二维码
|
||||
</view>
|
||||
<image :src="img" mode="" :show-menu-by-longpress="true"></image>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import baseurl from '@/api/baseurl.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
img: '',
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
this.img = baseurl + '/profile/appletPicture/customer.jpg'
|
||||
},
|
||||
methods: {
|
||||
previewImage(e) {
|
||||
uni.previewImage({
|
||||
// 需要预览的图片链接列表。若无需预览,可以注释urls
|
||||
urls: this.img,
|
||||
// 为当前显示图片的链接/索引值
|
||||
current: 0,
|
||||
// 图片指示器样式
|
||||
indicator: 'default',
|
||||
// 是否可循环预览
|
||||
loop: false,
|
||||
// 长按图片显示操作菜单,如不填默认为保存相册
|
||||
// longPressActions:{
|
||||
// itemList:[this.l('发送给朋友'),this.l]
|
||||
// },
|
||||
success: res => {
|
||||
console.log('previewImage res', res);
|
||||
},
|
||||
fail: err => {
|
||||
console.log('previewImage err', err);
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
padding: 0;
|
||||
background-color: #000000;
|
||||
position: relative;
|
||||
|
||||
.title {
|
||||
color: #fff;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 50rpx;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 1300rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,115 +0,0 @@
|
||||
.app {
|
||||
// font-size: 36rpx;
|
||||
padding-top: 10rpx;
|
||||
|
||||
.concent {
|
||||
width: 701rpx;
|
||||
height: 811rpx;
|
||||
background: #4C7BC9;
|
||||
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 20rpx;
|
||||
margin-top: 5%;
|
||||
// left: 50%;
|
||||
// transform: translateX(-50%);
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.background {
|
||||
position: relative;
|
||||
// display: flex;
|
||||
width: 657rpx;
|
||||
height: 727rpx;
|
||||
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;
|
||||
// float: right;
|
||||
margin-left: 68%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
|
||||
// text-align:center;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.life {
|
||||
// margin: 0 auto;
|
||||
width: 162rpx;
|
||||
height: 40rpx;
|
||||
font-size: 42rpx;
|
||||
margin-left: 35%;
|
||||
color: #ffffff;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.lifeserve image {
|
||||
width: 639rpx;
|
||||
height: 739rpx;
|
||||
margin-left: 5%;
|
||||
|
||||
padding-bottom: 20rpx;
|
||||
// height: rpx;
|
||||
// background: #E1AE3C;
|
||||
// box-shadow: 0px 9px 31px 9px rgba(0,0,0,0.03);
|
||||
// border-radius: 20px;
|
||||
}
|
||||
|
||||
.concenta {
|
||||
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
// position: absolute;
|
||||
width: 701rpx;
|
||||
height: 811rpx;
|
||||
background: #E1AE3C;
|
||||
// margin-top: 118%;
|
||||
// margin-left: 2.55%;
|
||||
border-radius: 25rpx;
|
||||
// margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.concentb {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
// position: absolute;
|
||||
width: 701rpx;
|
||||
height: 811rpx;
|
||||
background: #00C176;
|
||||
// margin-top: 118%;
|
||||
// margin-left: 2.55%;
|
||||
border-radius: 25rpx;
|
||||
// margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.detailed {
|
||||
// font-size: 29rpx;
|
||||
width: 657rpx;
|
||||
height: 727rpx;
|
||||
padding: 0 42rpx;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
.detailed view {
|
||||
// height: 100%;
|
||||
text-indent: 2em;
|
||||
}
|
||||
@ -1,168 +0,0 @@
|
||||
<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>
|
||||
</view>
|
||||
<view class="concenta">
|
||||
<text class="life">生活护理 </text>
|
||||
<view class="lifeserve">
|
||||
<image src="/static/lifeserve.png" mode=""></image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="concentb">
|
||||
<text class="life">医疗护理 </text>
|
||||
<view class="lifeserve">
|
||||
<image src="/static/yiliaohuli.png" mode=""></image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
// font-size: 36rpx;
|
||||
padding-top: 10rpx;
|
||||
|
||||
.concent {
|
||||
width: 701rpx;
|
||||
height: 811rpx;
|
||||
background: #4C7BC9;
|
||||
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 20rpx;
|
||||
margin-top: 5%;
|
||||
// left: 50%;
|
||||
// transform: translateX(-50%);
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.background {
|
||||
position: relative;
|
||||
// display: flex;
|
||||
width: 657rpx;
|
||||
height: 727rpx;
|
||||
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;
|
||||
// float: right;
|
||||
margin-left: 68%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
|
||||
// text-align:center;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.life {
|
||||
// margin: 0 auto;
|
||||
width: 162rpx;
|
||||
height: 40rpx;
|
||||
font-size: 42rpx;
|
||||
margin-left: 35%;
|
||||
color: #ffffff;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.lifeserve image {
|
||||
width: 639rpx;
|
||||
height: 739rpx;
|
||||
margin-left: 5%;
|
||||
|
||||
padding-bottom: 20rpx;
|
||||
// height: rpx;
|
||||
// background: #E1AE3C;
|
||||
// box-shadow: 0px 9px 31px 9px rgba(0,0,0,0.03);
|
||||
// border-radius: 20px;
|
||||
}
|
||||
|
||||
.concenta {
|
||||
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
// position: absolute;
|
||||
width: 701rpx;
|
||||
height: 811rpx;
|
||||
background: #E1AE3C;
|
||||
// margin-top: 118%;
|
||||
// margin-left: 2.55%;
|
||||
border-radius: 25rpx;
|
||||
// margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.concentb {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
// position: absolute;
|
||||
width: 701rpx;
|
||||
height: 811rpx;
|
||||
background: #00C176;
|
||||
// margin-top: 118%;
|
||||
// margin-left: 2.55%;
|
||||
border-radius: 25rpx;
|
||||
// margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.detailed {
|
||||
// font-size: 29rpx;
|
||||
width: 657rpx;
|
||||
height: 727rpx;
|
||||
padding: 0 42rpx;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
.detailed view {
|
||||
// height: 100%;
|
||||
text-indent: 2em;
|
||||
}
|
||||
</style>
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
.concent {
|
||||
width: 701rpx;
|
||||
height: 850rpx;
|
||||
height: 950rpx;
|
||||
background: #4C7BC9;
|
||||
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 20rpx;
|
||||
@ -40,7 +40,7 @@
|
||||
.background {
|
||||
position: relative;
|
||||
width: 657rpx;
|
||||
height: 800rpx;
|
||||
height: 900rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25rpx;
|
||||
background-color: white;
|
||||
@ -50,11 +50,10 @@
|
||||
|
||||
image {
|
||||
width: 178rpx;
|
||||
height: 84rpx;
|
||||
height: 200rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25px;
|
||||
margin-left: 68%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,40 +1,77 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="cards">
|
||||
<view class="nursing item" @tap="gosite">
|
||||
<image src="../../static/jjhl.png" mode=""></image>
|
||||
<!-- <u-swiper :list="swiperImgUrls" effect3d='true' height='400' interval='5000' duration='2000'></u-swiper> -->
|
||||
<!-- <swiper class="swiper-block" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"
|
||||
:circular='true' previous-margin='90rpx' next-margin='90rpx' current='0' @change="swiperChange">
|
||||
<swiper-item class="swiper-item" v-for="(item,index) in swiperImgUrls">
|
||||
<image :src="item" :class="['slide-image', currentIndex === index?'active':'']" mode="aspectFill">
|
||||
</image>
|
||||
</swiper-item>
|
||||
</swiper> -->
|
||||
<view class="container">
|
||||
<view>
|
||||
<swiper :indicator-dots="true" :current="currentIndex" :circular="true" previous-margin="55rpx"
|
||||
next-margin="55rpx" :autoplay="autoplay" interval="3000" duration="1000" show-center-play-btn="true"
|
||||
class="swiper-block" circular='true' @change="swiperChange">
|
||||
<swiper-item v-for="(item ,index) in swiperImgUrls" :key="index" class="swiper-item">
|
||||
<view v-show="!splits(item)" wx-if="{item}">
|
||||
<image v-if="item" :src="item" :class="['slide-image', currentIndex === index?'active':'']"
|
||||
mode="aspectFill">
|
||||
</image>
|
||||
</view>
|
||||
<view v-show="splits(item)" v-if="item">
|
||||
<video :id="'myVideo'+index" :autoplay="false" :src="item" controls show-fullscreen-btn
|
||||
object-fit="fill" @play="play" @pause="pause" @ended="ended" auto-pause-if-navigate
|
||||
show-play-btn :enable-progress-gesture='true' :show-center-play-btn='true'
|
||||
enable-play-gesture auto-pause-if-open-native show-mute-btn :poster='poster'
|
||||
:class="['slide-image', currentIndex === index?'active':'']"></video>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</view>
|
||||
<view class="items">
|
||||
<view class="item" @tap="gosite">
|
||||
<image src="../../static/hlz.png" mode=""></image>
|
||||
<view class="title">
|
||||
护理站
|
||||
护理机构
|
||||
</view>
|
||||
</view>
|
||||
<view class="expert item" @tap='gomedicine'>
|
||||
<image src="../../static/zhuanjia.png" mode=""></image>
|
||||
<view class="item" @tap="gomedicine">
|
||||
<image src="../../static/jkzx.png" mode=""></image>
|
||||
<view class="title">
|
||||
就医
|
||||
健康咨询
|
||||
</view>
|
||||
</view>
|
||||
<view class="elderly item" @tap='goGeriatricdisease'>
|
||||
<image src="../../static/ylfw.png" mode=""></image>
|
||||
<view class="title" style="font-size: 40rpx;">
|
||||
国家老年病中心
|
||||
</view>
|
||||
</view>
|
||||
<view class="item Bodyguard" @tap='goBodysatelliteintegration'>
|
||||
<image src="../../static/pb.png" mode=""></image>
|
||||
<view class="title">
|
||||
体卫融合
|
||||
</view>
|
||||
</view>
|
||||
<view class="item knowledge" @tap='godiseasemanagement'>
|
||||
<image src="../../static/zs.png" mode=""></image>
|
||||
<view class="item" @tap='godiseasemanagement'>
|
||||
<image src="../../static/zbgl.png" mode=""></image>
|
||||
<view class="title">
|
||||
专病管理
|
||||
</view>
|
||||
</view>
|
||||
<view class='item shopping' @tap="goshopping">
|
||||
<image src="../../static/shopping.png" mode=""></image>
|
||||
</view>
|
||||
<view class="Welfarecustomerservice">
|
||||
<image src="../../static/fuli.png" mode="" @tap='gomaterialbenefits'></image>
|
||||
<image src="../../static/kefu.png" mode="" @tap='gocustomerservice'></image>
|
||||
</view>
|
||||
<view class="Healthknowledge">
|
||||
<view class="title">
|
||||
健康常识
|
||||
</view>
|
||||
<view class="more" @tap='gohealth'>
|
||||
<view class="title">
|
||||
商城
|
||||
查看更多
|
||||
</view>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="item" v-for="(item,index) in informationCategoryVOList" :key="index"
|
||||
@tap='gohealthitem(item)'>
|
||||
<view class="text">
|
||||
{{item.informationTitle}}
|
||||
</view>
|
||||
<view class="author"></view>
|
||||
<image :src="item.leadThumbnailUrl" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -43,78 +80,356 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getPoserInfoListByType
|
||||
} from '@/api/homepage/index.js'
|
||||
import {
|
||||
getHeathHousingList
|
||||
} from '@/api/Healthknowledge/index.js'
|
||||
import baseurl from '../../api/baseurl';
|
||||
export default {
|
||||
data() {
|
||||
return {};
|
||||
return {
|
||||
swiperImgUrls: [],
|
||||
autoplay: true, //自动切换轮播图
|
||||
videoContext: '',
|
||||
currentIndex: 0,
|
||||
informationCategoryVOList: [], //咨询信息
|
||||
informationCategorytotal: 0,
|
||||
pageNum: 1,
|
||||
pageSize: 5,
|
||||
poster: '' //视频封面
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
this.pageNum = 1
|
||||
this.swiperImgUrls = []
|
||||
this.getPoserInfo();
|
||||
},
|
||||
methods: {
|
||||
swiperChange(e) {
|
||||
this.currentIndex = event.detail.current
|
||||
let {
|
||||
current,
|
||||
source
|
||||
} = e.detail
|
||||
this.videoContext = uni.createVideoContext('myVideo' + (current - 1));
|
||||
//只有手动切换时开始轮播,并且上一页视频暂停
|
||||
if (source === 'touch') {
|
||||
this.videoContext.pause(); //暂停
|
||||
this.autoplay = true
|
||||
}
|
||||
},
|
||||
// 获取数据
|
||||
GetBanner() {},
|
||||
// 处理banner返回的是是视频还是图片
|
||||
splits(url) {
|
||||
if (url.indexOf('.') != -1) {
|
||||
var ext = url.substring(url.lastIndexOf('.') + 1);
|
||||
return ['mp4', 'webm', 'mpeg4', 'ogg'].indexOf(ext) != -1
|
||||
}
|
||||
},
|
||||
// 点击开始/继续播放
|
||||
play() {
|
||||
this.autoplay = false
|
||||
// this.videoContext.requestFullScreen()
|
||||
},
|
||||
// 视频暂停
|
||||
pause() {
|
||||
this.autoplay = true
|
||||
},
|
||||
// 视频结束
|
||||
ended() {
|
||||
this.autoplay = true
|
||||
},
|
||||
//跳转健康咨询item
|
||||
gohealthitem(item) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/Healthitem/Healthitem?item=${encodeURIComponent(JSON.stringify(item))}`
|
||||
})
|
||||
},
|
||||
//健康咨询
|
||||
getHeathHousing() {
|
||||
getHeathHousingList(this.pageNum, this.pageSize).then(res => {
|
||||
if (res.rows) {
|
||||
res.rows.forEach(e => {
|
||||
e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
|
||||
})
|
||||
}
|
||||
this.informationCategoryVOList = res.rows
|
||||
this.informationCategorytotal = res.total
|
||||
})
|
||||
},
|
||||
//海报
|
||||
getPoserInfo() {
|
||||
getPoserInfoListByType().then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.data.poserInfoList) {
|
||||
res.data.poserInfoList.forEach(e => {
|
||||
e.image = baseurl + e.posterPictureUrl
|
||||
this.swiperImgUrls.push(e.image)
|
||||
})
|
||||
if (res.data.poserInfoList[0].video) {
|
||||
res.data.poserInfoList[0].video = baseurl + res.data.poserInfoList[0]
|
||||
.posterVideoUrl
|
||||
this.swiperImgUrls.push(res.data.poserInfoList[0].video)
|
||||
}
|
||||
}
|
||||
this.getHeathHousing();
|
||||
}
|
||||
})
|
||||
},
|
||||
swiperChange(event) {
|
||||
this.currentIndex = event.detail.current
|
||||
},
|
||||
//专病管理
|
||||
godiseasemanagement() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/diseasemanagement/diseasemanagement'
|
||||
})
|
||||
},
|
||||
//老年病中心
|
||||
goGeriatricdisease() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/Geriatricdisease/Geriatricdisease'
|
||||
})
|
||||
},
|
||||
//体卫融合
|
||||
goBodysatelliteintegration() {
|
||||
uni.navigateTo({
|
||||
url: "/pages/Bodysatelliteintegration/Bodysatelliteintegration"
|
||||
})
|
||||
},
|
||||
//跳转就医页面
|
||||
//健康咨询
|
||||
gomedicine() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/medicine/medicine'
|
||||
})
|
||||
},
|
||||
//跳转客服
|
||||
gocustomerservice() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/customerservice/customerservice'
|
||||
})
|
||||
},
|
||||
//跳转护理站页面
|
||||
gosite() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/site/site'
|
||||
})
|
||||
},
|
||||
//跳转商城页面
|
||||
goshopping() {
|
||||
//健康常识
|
||||
gohealth() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/shopping/shopping'
|
||||
url: '/pages/Healthknowledge/Healthknowledge'
|
||||
})
|
||||
},
|
||||
}
|
||||
//新人福利
|
||||
gomaterialbenefits() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/materialbenefits/materialbenefits'
|
||||
})
|
||||
},
|
||||
},
|
||||
// onReachBottom() { //下滑加载
|
||||
// if (this.informationCategoryVOList.length >= this.informationCategorytotal) {} else {
|
||||
// this.pageNum++
|
||||
// getHeathHousingList(this.pageNum, this.pageSize).then(res => {
|
||||
// if (res.rows) {
|
||||
// res.rows.forEach(e => {
|
||||
// e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
|
||||
// this.informationCategoryVOList.push(e)
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// },
|
||||
// onPullDownRefresh() { //下拉刷新
|
||||
// this.pageNum = 1;
|
||||
// this.getHeathHousing();
|
||||
// setTimeout(function() {
|
||||
// uni.stopPullDownRefresh();
|
||||
// }, 1000);
|
||||
// },
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
.cards {
|
||||
padding: 22px 0 20px 0;
|
||||
padding: 0 0 0 0;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
|
||||
.shopping {
|
||||
background: #F58540;
|
||||
.container {
|
||||
background-color: #fff
|
||||
}
|
||||
|
||||
.swiper-block {
|
||||
height: 500rpx;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.swiper-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
overflow: unset;
|
||||
}
|
||||
|
||||
.slide-image {
|
||||
height: 270rpx;
|
||||
width: 580rpx;
|
||||
border-radius: 9rpx;
|
||||
box-shadow: 0px 0px 30rpx rgba(0, 0, 0, 0.2);
|
||||
margin: 0 0 0 30rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.active {
|
||||
transform: scale(1.10);
|
||||
transition: all 0.2s ease-in 0s;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
video {
|
||||
// height: 100%;
|
||||
// width: 100%;
|
||||
}
|
||||
|
||||
.Healthknowledge {
|
||||
width: 100%;
|
||||
padding: 40rpx 50rpx 50rpx;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
line-height: 46rpx;
|
||||
|
||||
.more {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 40rpx;
|
||||
height: 46rpx;
|
||||
width: 30%;
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
right: 30rpx;
|
||||
top: 50%;
|
||||
text-align: right;
|
||||
transform: translateY(-50%);
|
||||
font-size: 26rpx;
|
||||
font-family: Adobe Heiti Std;
|
||||
font-weight: normal;
|
||||
color: #969494;
|
||||
}
|
||||
|
||||
image {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 15rpx;
|
||||
height: 25rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.Bodyguard {
|
||||
background-color: #00C176;
|
||||
.list {
|
||||
width: 100%;
|
||||
margin: 20rpx auto 0;
|
||||
|
||||
.item {
|
||||
width: 100%;
|
||||
height: 250rpx;
|
||||
position: relative;
|
||||
border-bottom: 2rpx solid #CDC9C9;
|
||||
|
||||
image {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.author {
|
||||
position: absolute;
|
||||
bottom: 20rpx;
|
||||
left: 0;
|
||||
font-size: 20rpx;
|
||||
color: #969494;
|
||||
}
|
||||
|
||||
.text {
|
||||
position: absolute;
|
||||
top: 20rpx;
|
||||
left: 0;
|
||||
width: 65%;
|
||||
font-size: 30rpx;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 5; //行数需设置
|
||||
line-clamp: 5;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.knowledge {
|
||||
background: #9E4DD0;
|
||||
.title {
|
||||
font-size: 38rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.Welfarecustomerservice {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
padding: 30rpx 0;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
image:nth-child(1) {
|
||||
margin: 0 5rpx 0 0;
|
||||
}
|
||||
|
||||
.elderly {
|
||||
background-color: #E1AE3C;
|
||||
image:nth-child(2) {
|
||||
margin: 0 0 0 5rpx;
|
||||
}
|
||||
|
||||
.expert {
|
||||
background-color: #D43953;
|
||||
image {
|
||||
width: 350rpx;
|
||||
height: 200rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.nursing {
|
||||
background: #4C7BC9;
|
||||
.items {
|
||||
background-color: #fff;
|
||||
padding: 30rpx 80rpx 20px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.item {
|
||||
image {
|
||||
width: 150rpx;
|
||||
height: 150rpx;
|
||||
display: block;
|
||||
margin: 0 auto 20rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 40rpx;
|
||||
font-weight: 550;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
83
pages/materialbenefits/materialbenefits.vue
Normal file
@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="concent">
|
||||
<view class="background">
|
||||
<image src="/static/logo.png" mode=""></image>
|
||||
<view class="detailed">
|
||||
敬请期待
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
padding-top: 10rpx;
|
||||
font-size: 34rpx;
|
||||
|
||||
.concent {
|
||||
width: 701rpx;
|
||||
height: 440rpx;
|
||||
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: 400rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25rpx;
|
||||
background-color: white;
|
||||
margin: 0 auto;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
|
||||
image {
|
||||
width: 178rpx;
|
||||
height: 160rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25px;
|
||||
margin-left: 68%;
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.detailed {
|
||||
padding: 0 20rpx;
|
||||
line-height: 56rpx;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
@ -1,23 +1,5 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<!-- <view class="cards">
|
||||
<view class="item" style="background: #4C7BC9;" @tap='godoctorslist'>
|
||||
<image src="../../static/yuyue.png" mode=""></image>
|
||||
<view class="title" style="font-size: 42rpx;">
|
||||
预约医生
|
||||
</view>
|
||||
</view>
|
||||
<view class="item" style="background-color: #E1AE3C;">
|
||||
<image src="../../static/chaxun.png" mode=""></image>
|
||||
<view class="title" style="font-size: 42rpx;">
|
||||
查看结果
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
|
||||
|
||||
|
||||
<view class="concent">
|
||||
<view class="background">
|
||||
<image src="/static/logo.png" mode=""></image>
|
||||
@ -47,6 +29,24 @@
|
||||
// })
|
||||
},
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -84,11 +84,10 @@
|
||||
|
||||
image {
|
||||
width: 178rpx;
|
||||
height: 84rpx;
|
||||
height: 160rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25px;
|
||||
margin-left: 68%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<view class="item" style="height: 200rpx; " @tap='uploadImag'>
|
||||
<span style='height:200rpx;line-height: 200rpx;'>头像:</span>
|
||||
<image class="picture" :src="img" mode=""></image>
|
||||
<image class="pictureA" src="../../static/jiantou.png" mode=""></image>
|
||||
<image class="pictureA" src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="item">
|
||||
<span>姓名:</span>
|
||||
@ -36,7 +36,7 @@
|
||||
</view>
|
||||
<view class="disease" style="border: none;" @tap="godisease">
|
||||
<view style="display: block;line-height: 120rpx;">疾病类型:</view>
|
||||
<image class="pictureA" src="../../static/jiantou.png" mode=""></image>
|
||||
<image class="pictureA" src="../../static/huijiantou.png" mode=""></image>
|
||||
<view class="" style="padding-right: 10rpx" v-for="(item,index) in patientDiseaseInfoList">
|
||||
{{item.diseaseName}}
|
||||
</view>
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
<!-- <view class="area" @tap='areashow=true'> -->
|
||||
<u-field v-model="infolist.address" label="区域" placeholder="请选择" class="items" disabled>
|
||||
</u-field>
|
||||
<image src="../../static/jiantou.png" mode=""></image>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<u-field v-model="infolist.receiveAddress" label-width="170" label="详细地址" placeholder="如街道、门牌号、小区等"
|
||||
class="items" maxlength='50'>
|
||||
|
||||
@ -1,6 +1,25 @@
|
||||
.app{
|
||||
padding:10rpx 0 0 0;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.swiper-box {
|
||||
width: 100%;
|
||||
height: 500rpx;
|
||||
}
|
||||
.swiper-item {
|
||||
height: 500rpx;
|
||||
text-align: center;
|
||||
image{
|
||||
width: 100%;
|
||||
height: 500rpx !important;
|
||||
}
|
||||
}
|
||||
|
||||
video{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mask {
|
||||
.information {
|
||||
width: 70%;
|
||||
@ -48,11 +67,16 @@
|
||||
}
|
||||
|
||||
.content {
|
||||
font-size: 36rpx;
|
||||
font-size: 34rpx;
|
||||
padding-bottom: 10rpx;
|
||||
// margin-top: -80rpx;
|
||||
z-index: 999;
|
||||
::v-deep .u-tabs{
|
||||
padding-bottom: 10rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
.tive {
|
||||
width: 94%;
|
||||
background-color: #ffffff;
|
||||
margin: 20rpx auto;
|
||||
border-radius: 11rpx;
|
||||
padding-bottom: 60rpx;
|
||||
@ -74,74 +98,92 @@
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
padding: 30rpx 30rpx;
|
||||
background-color: #fff;
|
||||
padding: 30rpx 0;
|
||||
margin: 10rpx auto;
|
||||
border-radius: 20rpx;
|
||||
color: #000000;
|
||||
image {
|
||||
width: 170rpx;
|
||||
height: 170rpx;
|
||||
margin-left: 3%;
|
||||
}
|
||||
.servicetime {
|
||||
color: #999999;
|
||||
line-height: 37rpx;
|
||||
font-size: 30rpx;
|
||||
position: absolute;
|
||||
top:35%;
|
||||
left:35%;
|
||||
}
|
||||
// .servicetime {
|
||||
// color: #999999;
|
||||
// line-height: 37rpx;
|
||||
// font-size: 30rpx;
|
||||
// position: absolute;
|
||||
// top:35%;
|
||||
// left:35%;
|
||||
// }
|
||||
.appointment {
|
||||
font-size: 30rpx;
|
||||
width: 120rpx;
|
||||
height: 70rpx;
|
||||
background: #4C7BC9;
|
||||
height: 52rpx;
|
||||
border-radius: 26rpx;
|
||||
color: #ffffff;
|
||||
background: #F44B2F;
|
||||
text-align: center;
|
||||
line-height: 70rpx;
|
||||
line-height: 52rpx;
|
||||
position: absolute;
|
||||
top:40%;
|
||||
top:70%;
|
||||
right:5%;
|
||||
}
|
||||
.buy{
|
||||
position: absolute;
|
||||
top: 55%;
|
||||
}
|
||||
.price {
|
||||
color: red;
|
||||
font-size: 32rpx;
|
||||
height: 52rpx;
|
||||
color: #F44B2F;
|
||||
line-height: 52rpx;
|
||||
font-size: 36rpx;
|
||||
position: absolute;
|
||||
top:65%;
|
||||
top:70%;
|
||||
left:35%;
|
||||
}
|
||||
.product {
|
||||
color: #000000;
|
||||
width: 60%;
|
||||
position: absolute;
|
||||
top:14%;
|
||||
left:32%;
|
||||
font-size: 28rpx;
|
||||
overflow: hidden;white-space: nowrap;text-overflow: ellipsis;
|
||||
}
|
||||
.huanyao {
|
||||
color: #000000;
|
||||
position: absolute;
|
||||
top:10%;
|
||||
top:15%;
|
||||
left:35%;
|
||||
width: 60%;
|
||||
width: 65%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.day{
|
||||
font-size: 24rpx;
|
||||
position: absolute;
|
||||
top:53%;
|
||||
left:35%;
|
||||
width: 65%;
|
||||
}
|
||||
.huanyao {
|
||||
position: absolute;
|
||||
top:10%;
|
||||
left:35%;
|
||||
width: 45%;
|
||||
line-height: 50rpx;
|
||||
height: 100rpx;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
white-space:normal;
|
||||
word-break:break-all;
|
||||
}
|
||||
.pingfen {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.tab-box {
|
||||
display: flex;
|
||||
font-weight: 600;
|
||||
.tab-item {
|
||||
flex-shrink: 0;
|
||||
padding: 3%;
|
||||
position: relative;
|
||||
transition: all 0.2s linear;
|
||||
font-size: 31rpx;
|
||||
font-size: 36rpx;
|
||||
&::after {
|
||||
transition: all 0.2s linear;
|
||||
transform: translateX(-50%) scaleX(0);
|
||||
@ -150,10 +192,10 @@
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 10rpx;
|
||||
border-bottom: 6rpx solid #D43953;
|
||||
border-radius: 4rpx;
|
||||
}
|
||||
&.active {
|
||||
color: #2979ff;
|
||||
&::after {
|
||||
content: '';
|
||||
width: 50%;
|
||||
@ -161,36 +203,25 @@
|
||||
left: 50%;
|
||||
transform: translateX(-50%) scaleX(1);
|
||||
bottom: 10rpx;
|
||||
border-bottom: 6rpx solid red;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.Nursestationconfiguration {
|
||||
width: 94%;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
padding-bottom: 30rpx;
|
||||
margin: 20rpx auto;
|
||||
.configuration {
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
padding: 3%;
|
||||
margin:20rpx 30rpx 0;
|
||||
padding-bottom: 30rpx;
|
||||
border-bottom: 1rpx solid #CDC9C9;
|
||||
.text {
|
||||
margin-top: 10rpx;
|
||||
background: #F8D7D1;
|
||||
border-radius: 15rpx;
|
||||
display: inline-block;
|
||||
padding: 10rpx 20rpx;
|
||||
margin-right: 18rpx;
|
||||
line-height: 40rpx;
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 34rpx;
|
||||
margin-right: 10rpx;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
color: #F44B2F;
|
||||
}
|
||||
}
|
||||
}
|
||||
.detail {
|
||||
position: relative;
|
||||
width: 94%;
|
||||
@ -228,76 +259,65 @@
|
||||
background-color: #ffffff;
|
||||
border-radius: 20rpx;
|
||||
margin: 10px auto;
|
||||
padding-bottom: 20rpx;
|
||||
.picture {
|
||||
position: absolute;
|
||||
width: 170rpx;
|
||||
height: 170rpx;
|
||||
margin-left: 5%;
|
||||
margin-top: 5%;
|
||||
padding-bottom: 30rpx;
|
||||
.time{
|
||||
font-size: 30rpx;
|
||||
margin: 10rpx 0;
|
||||
color: #666666;
|
||||
.timeday{
|
||||
display: inline-block;
|
||||
}
|
||||
.text{
|
||||
margin:0 10rpx 0 30rpx;
|
||||
display: inline-block;
|
||||
}
|
||||
.texttime{
|
||||
margin:0 20rpx 0 30rpx;
|
||||
view{
|
||||
display: inline-block;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.title {
|
||||
margin-left: 35%;
|
||||
line-height: 49px;
|
||||
font-size: 33rpx;
|
||||
padding-top: 40rpx;
|
||||
margin:0 0 0 30rpx;
|
||||
font-size: 40rpx;
|
||||
line-height: 59rpx;
|
||||
font-weight: 700;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.call {
|
||||
// display: flex;
|
||||
.Navigation {
|
||||
width: 103rpx;
|
||||
height: 48rpx;
|
||||
background: #00C176;
|
||||
border-radius: 24px;
|
||||
font-size: 21rpx;
|
||||
color: #ffffff;
|
||||
line-height: 48rpx;
|
||||
margin-left: 5%;
|
||||
text-align: center;
|
||||
margin-top: 3%;
|
||||
|
||||
image {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
}
|
||||
.callme {
|
||||
width: 150rpx;
|
||||
height: 48rpx;
|
||||
background: #D43953;
|
||||
border-radius: 24px;
|
||||
font-size: 21rpx;
|
||||
color: #ffffff;
|
||||
line-height: 48rpx;
|
||||
margin-left: 35%;
|
||||
margin-top: 3%;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
.icon{
|
||||
position: absolute;
|
||||
left:10%;
|
||||
top:50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.text{
|
||||
position: absolute;
|
||||
top:50%;
|
||||
right:10%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
.address {
|
||||
font-size: 25rpx;
|
||||
margin-left: 35%;
|
||||
color: #999999;
|
||||
line-height: 37rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666666;
|
||||
margin:40rpx 0 20rpx 30rpx;
|
||||
word-break:break-all;
|
||||
line-height: 50rpx;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
position: relative;
|
||||
.distance{
|
||||
// position: absolute;
|
||||
// right:30rpx;
|
||||
// top:50%;
|
||||
float: right;
|
||||
display: inline-block;
|
||||
padding-right: 10rpx;
|
||||
}
|
||||
.text{
|
||||
padding-left: 40rpx;
|
||||
display: inline-block;
|
||||
}
|
||||
image{
|
||||
position: absolute;
|
||||
top:50%;
|
||||
transform: translateY(-50%);
|
||||
width: 28rpx;
|
||||
height: 35rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,55 +1,122 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="container">
|
||||
<view>
|
||||
<!-- 轮播图 -->
|
||||
<swiper indicator-dots="true" indicator-color='#fff' indicator-active-color='#0086d6'
|
||||
:autoplay="autoplay" interval="2000" duration="1000" show-center-play-btn="true" class="swiper-box"
|
||||
circular='true' @change="swiperChange">
|
||||
<swiper-item v-for="(item ,index) in Banners" :key="index">
|
||||
<view class="swiper-item" v-show="!splits(item)" wx-if="{item}">
|
||||
<image v-if="item" :src="item" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="swiper-item" v-show="splits(item)" v-if="item">
|
||||
<video :id="'myVideo'+index" :autoplay="false" :src="item" controls show-fullscreen-btn
|
||||
object-fit="fill" @play="play" @pause="pause" @ended="ended" auto-pause-if-navigate
|
||||
show-play-btn :enable-progress-gesture='true' :show-center-play-btn='true'
|
||||
enable-play-gesture auto-pause-if-open-native show-mute-btn></video>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <swiper class="swiper" circular>
|
||||
<swiper-item>
|
||||
<view class="swiper-item ">A</view>
|
||||
</swiper-item>
|
||||
<swiper-item>
|
||||
<view class="swiper-item">B</view>
|
||||
</swiper-item>
|
||||
<swiper-item>
|
||||
<video @play = 'videoplay'
|
||||
src="http://192.168.16.30:8088/profile/posterVideoUrl/2023/02/21/QQ录屏20221019175958_20230221170920A01781ba346416.mp4"></video>
|
||||
</swiper-item>
|
||||
</swiper> -->
|
||||
<!-- <u-swiper v-if="lbinfo" :list="lbinfo" height="450" style='background-size: 100%;' mode='none'></u-swiper> -->
|
||||
<view class="content">
|
||||
<view class="righttext">
|
||||
<image class="picture" :src="list.stationIntroducePcitureUrl"></image>
|
||||
<view class="title">
|
||||
<view class="title" v-if="list.nurseStationName">
|
||||
{{list.nurseStationName}}
|
||||
</view>
|
||||
<view class="address">{{list.address}} </view>
|
||||
<view class="call">
|
||||
<view class="callme" @tap="gophone()">
|
||||
<u-icon class='icon' name="phone-fill" color="#ffffff" size="30"></u-icon>
|
||||
<view class="text">联系我们</view>
|
||||
<view class="title" v-else>
|
||||
暂无
|
||||
</view>
|
||||
<view class="time">
|
||||
<view class="text">
|
||||
{{list.businessStatus}}
|
||||
</view>
|
||||
<!-- <view class="Navigation">
|
||||
<image src="/static/daohang.png" mode="">导航</image>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail">
|
||||
<view class="Introduction">机构简介</view>
|
||||
<view class="textInfo" v-html="list.agencyIntroduce">
|
||||
</view>
|
||||
</view>
|
||||
<view class="Nursestationconfiguration">
|
||||
<view class="configuration">
|
||||
护理站配置
|
||||
<view class="" style="margin-top: 30rpx;">
|
||||
<view class="text" v-for="(item,index) in nurseStationLabelList" :key="index">
|
||||
{{item.labelDescription}}
|
||||
<view class="timeday" v-if="list.openingHoursDescribe">
|
||||
{{list.openingHoursDescribe}}
|
||||
</view>
|
||||
<view class="texttime">
|
||||
<view class="">
|
||||
上午:{{list.morningOpenStartTime}}-{{list.morningOpenEndTime}}
|
||||
</view>
|
||||
<view class="">
|
||||
下午:{{list.afternoonOpenStartTime}}-{{list.afternoonOpenEndTime}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="configuration">
|
||||
<view class="text" v-for="(item,index) in nurseStationLabelList" :key="index">
|
||||
{{item.labelDescription}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="address" v-if="list.address" @tap="goMap">
|
||||
<image src="../../static/locatinsmall.png" mode=""></image>
|
||||
<view class="text">
|
||||
{{list.address}}
|
||||
</view>
|
||||
<view class="distance">
|
||||
{{distance}}KM
|
||||
</view>
|
||||
</view>
|
||||
<view class="address" v-else>
|
||||
<image src="../../static/locatinsmall.png" mode=""></image>
|
||||
<view class="text">
|
||||
暂无
|
||||
</view>
|
||||
<view class="distance">
|
||||
{{distance}}KM
|
||||
</view>
|
||||
</view>
|
||||
<view class="address" v-if="list.dutyPhone" style="margin: 20rpx 0 0 33rpx;" @tap='gophone'>
|
||||
<image src="../../static/phone.png" mode=""></image>
|
||||
<view class="text">
|
||||
{{list.dutyPhone}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="address" v-else style="margin: 20rpx 0 0 33rpx">
|
||||
<image src="../../static/phone.png" mode=""></image>
|
||||
<view class="text">
|
||||
暂无
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tive">
|
||||
<view class="tab-box">
|
||||
<view class="tab-item" @tap="testTabClick(index)" v-for="(item,index) in tabList" :key="index"
|
||||
<view class="tab-item" @tap="testTabClick(item)" v-for="(item,index) in tabLists" :key="index"
|
||||
:class="tabIndex == index?'active':''">
|
||||
{{item.name}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="" v-if="servelist.length>0&&choicetab==false">
|
||||
<u-tabs v-if="choicetab==false" :list="tabList" :current="classifycurrent" @change="change">
|
||||
</u-tabs>
|
||||
<view class="" v-if="servelist.length>0&&choicetab==false" style="margin:0">
|
||||
<view class="item" v-for="item in servelist" :key="" v-show='choicetab==false'
|
||||
@click.stop='goProjectDetails(item)'>
|
||||
<image :src="item.itemPictureUrl"></image>
|
||||
<view class="huanyao">{{item.nurseItemName}}
|
||||
</view>
|
||||
<view class="day">
|
||||
{{item.advanceAppointDuration=='HALF_DAY'?'提前预约时长:半天':''}}
|
||||
{{item.advanceAppointDuration=='ONE_DAY'?'提前预约时长:一天':''}}
|
||||
</view>
|
||||
<!-- <view class="pingfen">
|
||||
<u-rate :count="5" value="2"></u-rate>
|
||||
</view> -->
|
||||
<view class="servicetime">服务时长:{{item.serveDurationUnit?item.serveDurationUnit:'0'}}</view>
|
||||
<view class="appointment" @tap.stop='goappointments(item)'>预约</view>
|
||||
<!-- <view class="servicetime">服务时长:{{item.serveDurationUnit?item.serveDurationUnit:'0'}}</view> -->
|
||||
<view class="appointment" @click.stop='goappointments(item)'>预约</view>
|
||||
<view class="price">¥{{item.nurseItemPrice==null?'0':item.nurseItemPrice}}</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -63,11 +130,11 @@
|
||||
<view class="item" v-show='choicetab' v-for="(item,index) in productlist" :key="index">
|
||||
<image :src="item.goodsPictureUrl"></image>
|
||||
<view class="product">{{item.goodsName}}</view>
|
||||
<view class="product" style="top:38%;font-size: 24rpx;color: #999999;">
|
||||
<!-- <view class="product" style="top:38%;font-size: 24rpx;color: #999999;">
|
||||
{{item.attributeDetailsName}}
|
||||
</view>
|
||||
<view class="buy appointment" @tap="goCommodityDetails(item)">购买</view>
|
||||
<view class="price" style="left:32%">¥{{item.goodsPrice==null?'0':item.goodsPrice}}</view>
|
||||
</view> -->
|
||||
<view class="appointment" @tap="goCommodityDetails(item)">购买</view>
|
||||
<view class="price">¥{{item.goodsPrice==null?'0':item.goodsPrice}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="noorder" v-if="productlist.length==0&&choicetab">
|
||||
@ -92,6 +159,8 @@
|
||||
</view>
|
||||
</view>
|
||||
</u-mask>
|
||||
<u-toast ref="uToast" />
|
||||
<u-back-top :scroll-top="scrollTop"></u-back-top>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -108,7 +177,10 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
patientId: '', //
|
||||
Banners: [], //轮播图
|
||||
autoplay: true, //自动切换轮播图
|
||||
videoContext: '',
|
||||
baseurl: '',
|
||||
usershow: false, //完善信息开关
|
||||
choicetab: false, //切换
|
||||
list: [], //护理站list
|
||||
@ -122,59 +194,190 @@
|
||||
nurseStationId: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
tabIndex: 0,
|
||||
timer: null,
|
||||
tabList: [{
|
||||
name: "服务项目"
|
||||
}, {
|
||||
name: "产品"
|
||||
}, ]
|
||||
name: '全部',
|
||||
id: ''
|
||||
}], //分类标题
|
||||
tabIndex: 0,
|
||||
tabLists: [{
|
||||
name: '服务项目',
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: '产品',
|
||||
id: 1,
|
||||
}
|
||||
],
|
||||
classifycurrent: 0, //分类下标
|
||||
distance: null, //距离
|
||||
nurseClassifyInfoId: '', //分类id
|
||||
scrollTop: 0,
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.baseurl = baseurl
|
||||
this.usershow = false
|
||||
this.getInfo()
|
||||
this.serveinfo()
|
||||
this.productinfo()
|
||||
},
|
||||
onLoad(options) {
|
||||
let that = this
|
||||
this.GetBanner()
|
||||
this.nurseStationId = options.nurseStationId
|
||||
this.distance = options.distance
|
||||
},
|
||||
methods: {
|
||||
//跳转地图
|
||||
goMap() {
|
||||
uni.openLocation({
|
||||
latitude: Number(this.list.latitude),
|
||||
longitude: Number(this.list.longitude),
|
||||
})
|
||||
},
|
||||
swiperChange(e) {
|
||||
let {
|
||||
current,
|
||||
source
|
||||
} = e.detail
|
||||
this.videoContext = uni.createVideoContext('myVideo' + (current - 1));
|
||||
//只有手动切换时开始轮播,并且上一页视频暂停
|
||||
if (source === 'touch') {
|
||||
this.videoContext.pause(); //暂停
|
||||
this.autoplay = true
|
||||
}
|
||||
},
|
||||
// 获取数据
|
||||
GetBanner() {},
|
||||
// 处理banner返回的是是视频还是图片
|
||||
splits(url) {
|
||||
if (url.indexOf('.') != -1) {
|
||||
var ext = url.substring(url.lastIndexOf('.') + 1);
|
||||
return ['mp4', 'webm', 'mpeg4', 'ogg'].indexOf(ext) != -1
|
||||
}
|
||||
},
|
||||
// 点击开始/继续播放
|
||||
play() {
|
||||
this.autoplay = false
|
||||
// this.videoContext.requestFullScreen()
|
||||
},
|
||||
// 视频暂停
|
||||
pause() {
|
||||
this.autoplay = true
|
||||
},
|
||||
// 视频结束
|
||||
ended() {
|
||||
this.autoplay = true
|
||||
},
|
||||
testTabClick(item) {
|
||||
this.tabIndex = item.id
|
||||
if (item.id == 0) {
|
||||
this.choicetab = false
|
||||
} else {
|
||||
this.choicetab = true
|
||||
}
|
||||
},
|
||||
//点击分类标题
|
||||
change(index) {
|
||||
this.classifycurrent = index;
|
||||
this.nurseClassifyInfoId = this.tabList[index].id
|
||||
this.serveinfo()
|
||||
},
|
||||
//预约
|
||||
goappointments(item) {
|
||||
let that = this
|
||||
try {
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
that.patientId = value
|
||||
AppIdentification(this.patientId).then(res => {
|
||||
if (res.data.loginFlag) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/appointmenttime/appointmenttime?stationId=${item.stationId}&stationItemId=${item.stationItemId}&stationItemPriceId=${item.stationItemPriceId}`,
|
||||
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=${item.stationId}&stationItemId=${item.stationItemId}&stationItemPriceId=${item.stationItemPriceId}`,
|
||||
})
|
||||
} else {
|
||||
that.usershow = true
|
||||
}
|
||||
} else if (res.code == 9999) {} else {
|
||||
that.$refs.uToast.show({
|
||||
title: res.msg,
|
||||
type: 'error'
|
||||
})
|
||||
this.usershow = false
|
||||
} else {
|
||||
this.usershow = true
|
||||
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) {}
|
||||
} catch (e) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
}
|
||||
},
|
||||
getInfo() {
|
||||
introductionList(this.nurseStationId).then(res => {
|
||||
res.data.stationIntroducePcitureUrl = baseurl + res.data.stationIntroducePcitureUrl
|
||||
if (res.data.agencyIntroduce) {
|
||||
res.data.agencyIntroduce = res.data.agencyIntroduce.replace(/\<img/gi,
|
||||
"<br/><img class='richPic'")
|
||||
}
|
||||
this.list = res.data
|
||||
if (res.data.nurseStationLabelList) {
|
||||
this.nurseStationLabelList = res.data.nurseStationLabelList
|
||||
if (res.code == 200) {
|
||||
this.Banners = []
|
||||
this.serveinfo()
|
||||
this.productinfo()
|
||||
res.data.morningOpenStartTime = res.data.morningOpenStartTime.slice(0, 5)
|
||||
res.data.morningOpenEndTime = res.data.morningOpenEndTime.slice(0, 5)
|
||||
res.data.afternoonOpenStartTime = res.data.afternoonOpenStartTime.slice(0, 5)
|
||||
res.data.afternoonOpenEndTime = res.data.afternoonOpenEndTime.slice(0, 5)
|
||||
res.data.stationIntroducePcitureUrl = baseurl + res.data.stationIntroducePcitureUrl
|
||||
res.data.stationPictureUrl = baseurl + res.data.stationPictureUrl
|
||||
if (res.data.agencyIntroduce) {
|
||||
res.data.agencyIntroduce = res.data.agencyIntroduce.replace(/\<img/gi,
|
||||
"<br/><img class='richPic'")
|
||||
}
|
||||
res.data.nurseClassifyInfoList.forEach(e => {
|
||||
e.name = e.classifyName
|
||||
this.tabList.push(e)
|
||||
})
|
||||
this.list = res.data
|
||||
if (res.data.poserInfoList.length >= 1) {
|
||||
res.data.poserInfoList.forEach(e => {
|
||||
e.image = baseurl + e.posterPictureUrl
|
||||
this.Banners.push(e.image)
|
||||
})
|
||||
if (res.data.poserInfoList[0].video) {
|
||||
res.data.poserInfoList[0].video = baseurl + res.data.poserInfoList[0]
|
||||
.posterVideoUrl
|
||||
this.Banners.push(res.data.poserInfoList[0].video)
|
||||
}
|
||||
} else {
|
||||
this.Banners.push(res.data.stationPictureUrl)
|
||||
this.Banners.push(res.data.stationIntroducePcitureUrl)
|
||||
}
|
||||
if (res.data.nurseStationLabelList) {
|
||||
this.nurseStationLabelList = res.data.nurseStationLabelList
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
serveinfo() {
|
||||
this.pageNum = 1
|
||||
itemList(this.nurseStationId, this.pageSize, this.pageNum).then(res => {
|
||||
itemList(this.nurseStationId, this.pageSize, this.pageNum, this.nurseClassifyInfoId).then(res => {
|
||||
uni.removeStorageSync('Refresh');
|
||||
res.rows.forEach(e => {
|
||||
e.itemPictureUrl = baseurl + e.itemPictureUrl
|
||||
})
|
||||
@ -185,6 +388,7 @@
|
||||
productinfo() {
|
||||
this.pageNum = 1
|
||||
productInformation(this.nurseStationId, this.pageNum, this.pageSize).then(res => {
|
||||
uni.removeStorageSync('Refresh');
|
||||
res.rows.forEach(e => {
|
||||
e.goodsPictureUrl = baseurl + e.goodsPictureUrl
|
||||
})
|
||||
@ -192,10 +396,6 @@
|
||||
this.producttotal = res.total
|
||||
})
|
||||
},
|
||||
testTabClick(index) {
|
||||
this.tabIndex = index
|
||||
this.choicetab = this.tabIndex
|
||||
},
|
||||
//跳转商品详情页
|
||||
goCommodityDetails(item) {
|
||||
uni.navigateTo({
|
||||
@ -204,6 +404,7 @@
|
||||
},
|
||||
//跳转完善页面
|
||||
goinformation() {
|
||||
this.usershow = false
|
||||
uni.navigateTo({
|
||||
url: '/pages/information/information'
|
||||
})
|
||||
@ -236,13 +437,13 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
}
|
||||
},
|
||||
onReachBottom() { //下滑加载
|
||||
if (this.choicetab == 0) {
|
||||
onReachBottom() { //上滑加载
|
||||
if (!this.choicetab) {
|
||||
if (this.servelist.length >= this.servetotal) {} else {
|
||||
this.pageNum++
|
||||
itemList(this.nurseStationId, this.pageSize, this.pageNum).then(res => {
|
||||
itemList(this.nurseStationId, this.pageSize, this.pageNum, this.nurseClassifyInfoId).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.itemPictureUrl = baseurl + e.itemPictureUrl
|
||||
this.servelist.push(e)
|
||||
@ -263,7 +464,7 @@
|
||||
},
|
||||
onPullDownRefresh() { //下拉刷新
|
||||
this.pageNum = 1;
|
||||
if (this.choicetab == 0) {
|
||||
if (!this.choicetab) {
|
||||
itemList(this.nurseStationId, this.pageSize, this.pageNum).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.itemPictureUrl = baseurl + e.itemPictureUrl
|
||||
@ -282,9 +483,30 @@
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
onPageScroll(e) {
|
||||
this.scrollTop = e.scrollTop;
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import './nursestation.scss'
|
||||
@import './nursestation.scss';
|
||||
</style>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<view class="app">
|
||||
<view class="content">
|
||||
<view class="CommodityOrder" @tap="goorder">商品订单
|
||||
<image class="picture" src="../../static/jiantou.png" mode=""></image>
|
||||
<image class="picture" src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="center" v-if="list">
|
||||
<view class="OrderStatus" @tap="gopaid('WAIT_PAY')">
|
||||
@ -50,7 +50,7 @@
|
||||
<view class="service" @tap="gonursestation">
|
||||
<view class="serviceorder">护理站服务订单</view>
|
||||
<view class="pictures">
|
||||
<image src="../../static/jiantou.png" mode=""></image>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<u-toast ref="uToast" />
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<view class="content">
|
||||
<view class="name">
|
||||
店铺名称
|
||||
<image src="../../static/rowsright.png" mode=""></image>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="details">
|
||||
<view class="detailslist">
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<view class="content">
|
||||
<view class="name">
|
||||
店铺名称
|
||||
<image src="../../static/rowsright.png" mode=""></image>
|
||||
<image src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="details">
|
||||
<view class="detailslist">
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<view>我要退款(无需退货)</view>
|
||||
<view class="text">没收到货</view>
|
||||
</view>
|
||||
<image class="picture pictures" src="../../static/rowsright.png" mode=""></image>
|
||||
<image class="picture pictures" src="../../static/huijiantou.png" mode=""></image>
|
||||
|
||||
</view>
|
||||
<view class="myrefund" @tap='goApplforrefund(2)'>
|
||||
@ -40,7 +40,7 @@
|
||||
<view>我要退货退款</view>
|
||||
<view class="text">已收到货,需要退还收到的货物</view>
|
||||
</view>
|
||||
<image class="picture" src="../../static/rowsright.png" mode=""></image>
|
||||
<image class="picture" src="../../static/huijiantou.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="cards">
|
||||
<view class="item" :style="{background:listcolor[index % listcolor.length]}" @tap='goProductList(item)'
|
||||
<view class="card">
|
||||
<view class="items" :style="{background:listcolor[index % listcolor.length]}" @tap='goProductList(item)'
|
||||
v-for="(item,index) in goodsCategoryList" :key="index">
|
||||
<image :src="item.goodsCategoryPicture" mode=""></image>
|
||||
<view class="title" style="font-size:42rpx">
|
||||
<view class="titles" style="font-size:42rpx">
|
||||
{{item.goodsCategoryName}}
|
||||
</view>
|
||||
</view>
|
||||
@ -25,26 +25,40 @@
|
||||
pageSize: 10, //列
|
||||
total: 0, //list总长度
|
||||
goodsCategoryList: [], //商品列表list
|
||||
listimg: [{
|
||||
img: '../../static/sp.png',
|
||||
},
|
||||
{
|
||||
img: '../../static/yyss.png',
|
||||
},
|
||||
{
|
||||
img: '../../static/znsb.png',
|
||||
},
|
||||
{
|
||||
img: '../../static/cp.png',
|
||||
},
|
||||
],
|
||||
listcolor: ['#00C176', '#D43953', '#E1AE3C', '#4C7BC9', '#9e4dd0'], //颜色随动
|
||||
listcolor: ['#E69874', '#09C87E', '#E4B958', '#6592DC', '#EF6A80'] //颜色随动
|
||||
};
|
||||
},
|
||||
onLoad(options) { //初始化加载
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//初始化加载
|
||||
onLoad(options) {
|
||||
this.pageNum = 1
|
||||
this.goodsCategory()
|
||||
},
|
||||
onShow() {
|
||||
let that = this
|
||||
this.pageNum = 1
|
||||
const value = uni.getStorageSync('Refresh');
|
||||
if (value) {
|
||||
that.goodsCategory();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//跳转到商品列表页面
|
||||
goProductList(item) {
|
||||
@ -55,18 +69,27 @@
|
||||
//获取商城信息
|
||||
goodsCategory() {
|
||||
goodsCategoryList(this.pageSize, this.pageNum).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.goodsCategoryPicture = baseurl + e.goodsCategoryPicture
|
||||
this.goodsCategoryList.push(e)
|
||||
})
|
||||
this.total = res.total
|
||||
uni.removeStorageSync('Refresh');
|
||||
if (res.code == 200) {
|
||||
res.rows.forEach(e => {
|
||||
e.goodsCategoryPicture = baseurl + e.goodsCategoryPicture
|
||||
})
|
||||
this.goodsCategoryList = res.rows
|
||||
this.total = res.total
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() { //下滑加载
|
||||
if (this.goodsCategoryList.length >= this.total) {} else {
|
||||
this.pageNum++;
|
||||
this.goodsCategory()
|
||||
goodsCategoryList(this.pageSize, this.pageNum).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.goodsCategoryPicture = baseurl + e.goodsCategoryPicture
|
||||
this.goodsCategoryList.push(e)
|
||||
})
|
||||
this.total = res.total
|
||||
})
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() { //下拉刷新
|
||||
@ -86,4 +109,41 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
padding: 40rpx 0 0;
|
||||
background-color: #fff;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.items {
|
||||
width: 45%;
|
||||
height: 360rpx;
|
||||
margin-bottom: 40rpx;
|
||||
z-index: 1;
|
||||
border-radius: 25rpx;
|
||||
position: relative;
|
||||
|
||||
image {
|
||||
border-radius: 25rpx;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.titles {
|
||||
width: 90%;
|
||||
font-size: 36rpx;
|
||||
color: #FCFCFC;
|
||||
position: absolute;
|
||||
top: 30rpx;
|
||||
left: 30rpx;
|
||||
z-index: 999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,54 +1,173 @@
|
||||
//护理站列表
|
||||
.app{
|
||||
padding: 0 0 5rpx 0;
|
||||
.map{
|
||||
padding-top: 100rpx;
|
||||
z-index: 1;
|
||||
.map{
|
||||
z-index: 1;
|
||||
padding: 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
::v-deep .u-swiper-item{
|
||||
}
|
||||
::v-deep .u-swiper-image {
|
||||
}
|
||||
::v-deep .u-tabs{
|
||||
background-color: #F4F5F7 !important;
|
||||
padding-bottom: 20rpx;
|
||||
}
|
||||
.Classificationlist{
|
||||
margin: 30rpx 0 0;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
flex-wrap: wrap;
|
||||
text-align: center;
|
||||
.itemclass{
|
||||
color: #4C7BC9;
|
||||
width: 25%;
|
||||
height: 190rpx;
|
||||
image{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
.title{
|
||||
padding: 0 10rpx;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
}
|
||||
.item{
|
||||
width: 25%;
|
||||
height: 190rpx;
|
||||
image{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
.title{
|
||||
padding: 0 10rpx;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-size: 30rpx;
|
||||
font-weight: 500;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.inputs {
|
||||
border: 1px solid #f0f0f0;
|
||||
width: 90%;
|
||||
height: 65rpx;
|
||||
margin: 0 0 10rpx 50%;
|
||||
transform: translateX(-50%);
|
||||
border-radius: 20rpx;
|
||||
background-color: #F4F5F7;
|
||||
z-index: 999;
|
||||
|
||||
.input {
|
||||
margin: 0 auto;
|
||||
position: absolute;
|
||||
height: 65rpx;
|
||||
// top: 8%;
|
||||
left: 10%;
|
||||
width: 90%;
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.icon {
|
||||
background: url(@/static/sousuo.png) no-repeat;
|
||||
width: 30rpx;
|
||||
height: 28rpx;
|
||||
background-size: cover;
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
left: 3%;
|
||||
}
|
||||
}
|
||||
.conNew {
|
||||
width: 96%;
|
||||
// z-index: 999;
|
||||
// position: fixed;
|
||||
// top: 450rpx;
|
||||
background-color: #F4F5F7;
|
||||
width: 100%;
|
||||
padding: 30rpx 0 50rpx;
|
||||
margin: 0 auto;
|
||||
// left: 2%;
|
||||
height: 100%;
|
||||
.noorder{
|
||||
margin-top: 90rpx;
|
||||
image{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 100rpx;
|
||||
height: 120rpx;
|
||||
}
|
||||
view{
|
||||
text-align: center;
|
||||
font-size: 36rpx;
|
||||
color: #BFBFBF;
|
||||
}
|
||||
}
|
||||
.title{
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
padding-left: 2%;
|
||||
}
|
||||
.addressContent {
|
||||
width: 100%;
|
||||
width: 96%;
|
||||
background-color: #ffffff;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.lists {
|
||||
background-color: #ffffff;
|
||||
width: 100%;
|
||||
height: 240rpx;
|
||||
height: 300rpx;
|
||||
margin-bottom: 14rpx;
|
||||
border-radius: 20rpx;
|
||||
position: relative;
|
||||
|
||||
.nurse {
|
||||
font-size: 28rpx;
|
||||
background-color: #ffffff;
|
||||
.tags{
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: 15%;
|
||||
top: 55%;
|
||||
left: 35%;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
width: 65%;
|
||||
flex-wrap: wrap;
|
||||
.tag{
|
||||
background: #F8D7D1;
|
||||
opacity: 0.8;
|
||||
margin: 0 10rpx 10rpx 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
padding: 0 10rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
text-align: center;
|
||||
border-radius: 10rpx;
|
||||
font-size: 22rpx;
|
||||
color: #F44B2F;
|
||||
}
|
||||
}
|
||||
.nurse {
|
||||
font-size: 32rpx;
|
||||
position: absolute;
|
||||
top: 12%;
|
||||
left: 35%;
|
||||
width: 63%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.distance {
|
||||
position: absolute;
|
||||
bottom: 20%;
|
||||
font-size: 24rpx;
|
||||
left: 35%;
|
||||
top: 32%;
|
||||
left:35%;
|
||||
font-size: 27rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
@ -82,20 +201,6 @@
|
||||
display: block;
|
||||
margin: 10% auto;
|
||||
}
|
||||
|
||||
.understand {
|
||||
font-size: 28rpx;
|
||||
color: #ffffff;
|
||||
width: 160rpx;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
text-align: center;
|
||||
background-color: #4C7BC9;
|
||||
position: absolute;
|
||||
bottom: 10%;
|
||||
right: 1%;
|
||||
border-radius: 35rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,24 +1,58 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="nursetation" @tap='detailed()'>
|
||||
<text class="what">什么是护理站?</text>
|
||||
<u-icon class="icon" name="arrow-right"></u-icon>
|
||||
<view class="inputs">
|
||||
<i class="icon"></i>
|
||||
<input v-model="searchName" type="text" name="" id="" class="input" placeholder="请输入">
|
||||
</view>
|
||||
<view class="map" style="height:35vh;">
|
||||
<map style="width:100%; height:100%" scale="17" :latitude="latitude" :longitude="longitude"
|
||||
:markers="markers"></map>
|
||||
<view class="Classificationlist">
|
||||
<view v-for="(item,index) in nurseItemClassifyInfoList" :key="index" @tap='tapitemclass(item)'
|
||||
:class="item.id == itemClassId?'itemclass':'item'">
|
||||
<image :src="item.classifyPictureUrl" mode=""></image>
|
||||
<view class="title">
|
||||
{{item.classifyName}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="item" v-if='nurseItemClassifyInfoList.length==7&&lengthlistshow' @tap='lengthlist(true)'>
|
||||
<image src="../../static/gd.png" mode=""></image>
|
||||
<view class="title">
|
||||
更多
|
||||
</view>
|
||||
</view>
|
||||
<view class="item" v-if='nurseItemClassifyInfoList.length>7&&!lengthlistshow' @tap='lengthlist(false)'>
|
||||
<image src="../../static/gd.png" mode=""></image>
|
||||
<view class="title">
|
||||
收起
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-swiper :list="lbinfo" height='200' interval='3000' duration='1500' mode='none'></u-swiper>
|
||||
<view class="conNew">
|
||||
<view class="addressContent" v-for="(item,index) in nursestationlist" :key="index">
|
||||
<view class="lists">
|
||||
<view class="nurse">{{item.nurseStationName}}</view>
|
||||
<view class="distance">距离您{{item.distance}}KM</view>
|
||||
<image class="background" :src="item.stationPictureUrl" mode=""></image>
|
||||
<view class="understand" @tap='godetails(item)'>
|
||||
点击了解
|
||||
<view class="title">
|
||||
周边医养机构
|
||||
</view>
|
||||
<u-tabs :list="nurseAgencyClassifyInfoList" :current="conNewcurrent" @change="change"></u-tabs>
|
||||
<view class="" v-if="nursestationlist.length>0">
|
||||
<view class="addressContent" v-for="(item,index) in nursestationlist" :key="index">
|
||||
<view class="lists" @tap='godetails(item)'>
|
||||
<view class="nurse">{{item.nurseStationName}}</view>
|
||||
<view class="distance"
|
||||
v-show="homeLatitudeLongitude.homeLatitude&&homeLatitudeLongitude.homeLongitude">
|
||||
距离您{{item.distance}}KM</view>
|
||||
<image class="background" :src="item.stationPictureUrl" mode=""></image>
|
||||
<view class="tags">
|
||||
<view class="tag" v-for="uitem in item.classifyInfoList">
|
||||
{{uitem.classifyName}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="noorder" v-else>
|
||||
<image src="../../static/noorder.png" mode=""></image>
|
||||
<view class="">
|
||||
暂无护理站
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="masks" style="" v-if="mask">
|
||||
<view class="mask">
|
||||
@ -34,99 +68,130 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-back-top :scroll-top="scrollTop"></u-back-top>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
nearbyList,
|
||||
getPatientInfo
|
||||
getPatientInfo,
|
||||
getNurseClassifyList
|
||||
} from '@/api/site/site.js';
|
||||
import baseurl from '@/api/baseurl.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
nurseAgencyClassifyInfoList: [], //护理站分类
|
||||
conNewcurrent: 0,
|
||||
nurseItemClassifyInfoList: [], //护理项目分类
|
||||
nurseItemClassifyInfolength: 0,
|
||||
nurseItemClassifyInfolistlength: [],
|
||||
lengthlistshow: true,
|
||||
lbinfo: [], //轮播list
|
||||
nursestationlist: [],
|
||||
mask: false,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
//map地图所需
|
||||
id: 0, // 使用 marker点击事件 需要填写id
|
||||
// latitude: 39.909,
|
||||
// longitude: 116.39742,
|
||||
latitude: 36.649372,
|
||||
longitude: 116.977102,
|
||||
nurseTypeCode: '',
|
||||
markers: [],
|
||||
covers: [],
|
||||
latitude: 39.90374,
|
||||
longitude: 116.397827,
|
||||
homeLatitudeLongitude: null,
|
||||
nurseClassId: '', //护理站分类id
|
||||
itemClassId: '', //护理项目分类id
|
||||
searchName: '', //通用名称
|
||||
scrollTop: 0,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getlocation() {
|
||||
lengthlist(item) {
|
||||
uni.showLoading({
|
||||
title: '',
|
||||
duration: 1000
|
||||
});
|
||||
setTimeout((e) => {
|
||||
this.lengthlistshow = !this.lengthlistshow
|
||||
if (item) {
|
||||
this.nurseItemClassifyInfoList = this.nurseItemClassifyInfolistlength
|
||||
} else {
|
||||
this.nurseItemClassifyInfoList = this.nurseItemClassifyInfolistlength.slice(0, 7)
|
||||
}
|
||||
uni.hideLoading();
|
||||
}, 1000)
|
||||
},
|
||||
//点击护理项目分类
|
||||
tapitemclass(item) {
|
||||
if (this.itemClassId == item.id) {
|
||||
this.itemClassId = ''
|
||||
} else {
|
||||
this.itemClassId = item.id
|
||||
}
|
||||
this.requestinfo()
|
||||
},
|
||||
//护理站和护理项目分类
|
||||
getNurseClassifyinfo() {
|
||||
getNurseClassifyList().then(res => {
|
||||
this.nurseAgencyClassifyInfoList.push({
|
||||
name: '全部',
|
||||
id: '',
|
||||
})
|
||||
res.data.nurseAgencyClassifyInfoList.forEach(e => {
|
||||
e.name = e.classifyName
|
||||
this.nurseAgencyClassifyInfoList.push(e)
|
||||
})
|
||||
res.data.nurseItemClassifyInfoList.forEach(e => {
|
||||
e.classifyPictureUrl = baseurl + e.classifyPictureUrl
|
||||
})
|
||||
res.data.poserInfoList.forEach(e => {
|
||||
e.image = baseurl + e.posterPictureUrl
|
||||
})
|
||||
this.nurseItemClassifyInfolength = res.data.nurseItemClassifyInfoList.length
|
||||
this.nurseItemClassifyInfolistlength = res.data.nurseItemClassifyInfoList
|
||||
this.lbinfo = res.data.poserInfoList
|
||||
this.nurseItemClassifyInfoList = res.data.nurseItemClassifyInfoList.slice(0, 7)
|
||||
})
|
||||
},
|
||||
change(index) {
|
||||
this.conNewcurrent = index;
|
||||
this.nurseClassId = this.nurseAgencyClassifyInfoList[index].id
|
||||
this.requestinfo()
|
||||
},
|
||||
getlocation(value) {
|
||||
var that = this
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
success: res => {
|
||||
that.latitude = res.latitude
|
||||
that.longitude = res.longitude
|
||||
that.markers.push({
|
||||
id: 3,
|
||||
latitude: res.latitude,
|
||||
longitude: res.longitude,
|
||||
width: 20,
|
||||
height: 25,
|
||||
iconPath: "../../static/locatinsmall.png"
|
||||
})
|
||||
that.requestinfo();
|
||||
},
|
||||
fail: error => {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '获取定位失败,是否授权打开定位',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.getSystemInfo({
|
||||
success: (sys) => {
|
||||
if (sys.platform == 'ios') {
|
||||
plus.runtime.openURL(
|
||||
"app-settings://");
|
||||
} else {
|
||||
var main = plus.android
|
||||
.runtimeMainActivity();
|
||||
var Intent = plus.android.importClass(
|
||||
"android.content.Intent");
|
||||
//可能应该直接进入应用列表的权限设置?=> android.settings.APPLICATION_SETTINGS
|
||||
var mIntent = new Intent(
|
||||
'android.settings.LOCATION_SOURCE_SETTINGS'
|
||||
);
|
||||
main.startActivity(mIntent);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
uni.openSetting({
|
||||
success(res) {
|
||||
if (res.authSetting['scope.userLocation']) {
|
||||
// uni.getLocation({
|
||||
// type: 'wgs84',
|
||||
// success: function(res) {
|
||||
// that.latitude = res.latitude
|
||||
// that.longitude = res.longitude
|
||||
// that.mask = false
|
||||
// }
|
||||
// });
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
requestinfo() {
|
||||
nearbyList(this.pageSize, this.pageNum, this.longitude, this.latitude, this.nurseTypeCode).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.stationPictureUrl = baseurl + e.stationPictureUrl
|
||||
this.pageNum = 1;
|
||||
nearbyList(this.pageSize, this.pageNum, this.longitude, this.latitude, this.nurseClassId, this.itemClassId,
|
||||
this.searchName)
|
||||
.then(res => {
|
||||
uni.removeStorageSync('Refresh');
|
||||
res.rows.forEach(e => {
|
||||
e.stationPictureUrl = baseurl + e.stationPictureUrl
|
||||
if (e.classifyInfoList && e.classifyInfoList.length >= 1) {
|
||||
e.classifyInfoList = e.classifyInfoList.slice(0, 2)
|
||||
}
|
||||
})
|
||||
this.nursestationlist = res.rows
|
||||
this.mask = false
|
||||
this.total = res.total
|
||||
})
|
||||
this.nursestationlist = res.rows
|
||||
this.mask = false
|
||||
this.total = res.total
|
||||
})
|
||||
},
|
||||
godetails(item) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/nursestation/nursestation?nurseStationId=${item.nurseStationId}`
|
||||
})
|
||||
},
|
||||
detailed() {
|
||||
uni.navigateTo({
|
||||
url: `/pages/detail/detail`
|
||||
url: `/pages/nursestation/nursestation?nurseStationId=${item.nurseStationId}&distance=${item.distance}`
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
@ -136,13 +201,17 @@
|
||||
})
|
||||
},
|
||||
},
|
||||
onReachBottom() {
|
||||
onReachBottom() { //上滑加载
|
||||
if (this.nursestationlist.length >= this.total) {} else {
|
||||
this.pageNum++;
|
||||
nearbyList(this.pageSize, this.pageNum, this.longitude, this.latitude, this.nurseTypeCode)
|
||||
nearbyList(this.pageSize, this.pageNum, this.longitude, this.latitude, this.nurseClassId, this.itemClassId,
|
||||
this.searchName)
|
||||
.then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.stationPictureUrl = baseurl + e.stationPictureUrl
|
||||
if (e.classifyInfoList && e.classifyInfoList.length >= 1) {
|
||||
e.classifyInfoList = e.classifyInfoList.slice(0, 2)
|
||||
}
|
||||
this.nursestationlist.push(e)
|
||||
})
|
||||
})
|
||||
@ -150,54 +219,89 @@
|
||||
},
|
||||
onPullDownRefresh() { //下拉刷新
|
||||
this.pageNum = 1;
|
||||
nearbyList(this.pageSize, this.pageNum, this.longitude, this.latitude, this.nurseTypeCode, this.iptVal)
|
||||
.then(res => {
|
||||
res.rows.forEach(e => {
|
||||
e.stationPictureUrl = baseurl + e.stationPictureUrl
|
||||
})
|
||||
this.nursestationlist = res.rows
|
||||
})
|
||||
// this.requestinfo()
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
watch: {
|
||||
iptVal() {
|
||||
// this.requestinfo()
|
||||
searchName() {
|
||||
this.itemClassId = ''
|
||||
this.nurseClassId = ''
|
||||
this.conNewcurrent = 0
|
||||
this.requestinfo()
|
||||
},
|
||||
},
|
||||
onShow() {
|
||||
this.nurseClassId = ''
|
||||
this.itemClassId = ''
|
||||
var that = this
|
||||
try {
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
getPatientInfo(value).then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.data.homeLatitude && res.data.homeLongitude) {
|
||||
that.latitude = res.data.homeLatitude
|
||||
that.longitude = res.data.homeLongitude
|
||||
that.markers.push({
|
||||
id: 3,
|
||||
latitude: res.data.homeLatitude,
|
||||
longitude: res.data.homeLongitude,
|
||||
width: 20,
|
||||
height: 25,
|
||||
iconPath: "../../static/locatinsmall.png"
|
||||
})
|
||||
that.requestinfo();
|
||||
} else {
|
||||
that.getlocation()
|
||||
}
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
getPatientInfo(value).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.homeLatitudeLongitude = res.data
|
||||
if (res.data.homeLatitude && res.data.homeLongitude) {
|
||||
that.latitude = res.data.homeLatitude
|
||||
that.longitude = res.data.homeLongitude
|
||||
that.requestinfo();
|
||||
} else {
|
||||
that.getlocation()
|
||||
that.requestinfo();
|
||||
// uni.getLocation({
|
||||
// type: 'wgs84',
|
||||
// success: function(resp) {
|
||||
// that.latitude = resp.latitude
|
||||
// that.longitude = resp.longitude
|
||||
// that.requestinfo();
|
||||
// },
|
||||
// fail(err) {
|
||||
// that.mask = true;
|
||||
// }
|
||||
// });
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.getlocation()
|
||||
}
|
||||
} catch (e) {}
|
||||
} else if (res.code == 9999) {} else {
|
||||
that.requestinfo();
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.requestinfo();
|
||||
// uni.getLocation({
|
||||
// type: 'wgs84',
|
||||
// success: function(res) {
|
||||
// that.latitude = res.latitude
|
||||
// that.longitude = res.longitude
|
||||
// that.requestinfo();
|
||||
// },
|
||||
// fail(err) {
|
||||
// that.mask = true;
|
||||
// }
|
||||
// });
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getNurseClassifyinfo();
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
//2.分享到朋友圈
|
||||
onShareTimeline(res) {
|
||||
let pages = getCurrentPages();
|
||||
let url = pages[pages.length - 1].$page.fullPath
|
||||
return {
|
||||
title: '泉医到家',
|
||||
path: url,
|
||||
}
|
||||
},
|
||||
onPageScroll(e) {
|
||||
this.scrollTop = e.scrollTop;
|
||||
},
|
||||
onLoad() {},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
|
||||
@ -75,11 +75,12 @@
|
||||
<style lang="scss">
|
||||
.app {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 50%;
|
||||
height: 200rpx;
|
||||
height: 400rpx;
|
||||
position: absolute;
|
||||
left: 25%;
|
||||
top: 28%;
|
||||
|
||||
385
pages/utabs/u-tabs.vue
Normal file
@ -0,0 +1,385 @@
|
||||
<template>
|
||||
<view class="u-tabs" :style="{
|
||||
background: bgColor
|
||||
}">
|
||||
<!-- $u.getRect()对组件根节点无效,因为写了.in(this),故这里获取内层接点尺寸 -->
|
||||
<view :id="id">
|
||||
<scroll-view scroll-x class="u-scroll-view" :scroll-left="scrollLeft" scroll-with-animation>
|
||||
<view class="u-scroll-box" :class="{'u-tabs-scorll-flex': !isScroll}">
|
||||
<view class="u-tab-item u-line-1" :id="'u-tab-item-' + index" v-for="(item, index) in list"
|
||||
:key="index" @tap="clickTab(index)" :style="[tabItemStyle(index)]">
|
||||
<view class="">
|
||||
{{item.dates}}
|
||||
</view>
|
||||
<u-badge :count="item[count] || item['count'] || 0" :offset="offset" size="mini"></u-badge>
|
||||
{{ item[name] || item['name']}}
|
||||
</view>
|
||||
<view v-if="showBar" class="u-tab-bar" :style="[tabBarStyle]"></view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/**
|
||||
* tabs 标签
|
||||
* @description 该组件,是一个tabs标签组件,在标签多的时候,可以配置为左右滑动,标签少的时候,可以禁止滑动。 该组件的一个特点是配置为滚动模式时,激活的tab会自动移动到组件的中间位置。
|
||||
* @tutorial https://www.uviewui.com/components/tabs.html
|
||||
* @property {Boolean} is-scroll tabs是否可以左右拖动(默认true)
|
||||
* @property {Array} list 标签数组,元素为对象,如[{name: '推荐'}]
|
||||
* @property {String Number} current 指定哪个tab为激活状态(默认0)
|
||||
* @property {String Number} height 导航栏的高度,单位rpx(默认80)
|
||||
* @property {String Number} font-size tab文字大小,单位rpx(默认30)
|
||||
* @property {String Number} duration 滑块移动一次所需的时间,单位秒(默认0.5)
|
||||
* @property {String} active-color 滑块和激活tab文字的颜色(默认#2979ff)
|
||||
* @property {String} inactive-color tabs文字颜色(默认#303133)
|
||||
* @property {String Number} bar-width 滑块宽度,单位rpx(默认40)
|
||||
* @property {Object} active-item-style 活动tabs item的样式,对象形式
|
||||
* @property {Object} bar-style 底部滑块的样式,对象形式
|
||||
* @property {Boolean} show-bar 是否显示底部的滑块(默认true)
|
||||
* @property {String Number} bar-height 滑块高度,单位rpx(默认6)
|
||||
* @property {String Number} item-width 标签的宽度(默认auto)
|
||||
* @property {String Number} gutter 单个tab标签的左右内边距之和,单位rpx(默认40)
|
||||
* @property {String} bg-color tabs导航栏的背景颜色(默认#ffffff)
|
||||
* @property {String} name 组件内部读取的list参数中的属性名(tab名称),见官网说明(默认name)
|
||||
* @property {String} count 组件内部读取的list参数中的属性名(badge徽标数),同name属性的使用,见官网说明(默认count)
|
||||
* @property {Array} offset 设置badge徽标数的位置偏移,格式为 [x, y],也即设置的为top和right的值,单位rpx(默认[5, 20])
|
||||
* @property {Boolean} bold 激活选项的字体是否加粗(默认true)
|
||||
* @event {Function} change 点击标签时触发
|
||||
* @example <u-tabs ref="tabs" :list="list" :is-scroll="false"></u-tabs>
|
||||
*/
|
||||
export default {
|
||||
name: "u-tabs",
|
||||
props: {
|
||||
// 导航菜单是否需要滚动,如只有2或者3个的时候,就不需要滚动了,此时使用flex平分tab的宽度
|
||||
isScroll: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
//需循环的标签列表
|
||||
list: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
// 当前活动tab的索引
|
||||
current: {
|
||||
type: [Number, String],
|
||||
default: 0
|
||||
},
|
||||
// 导航栏的高度和行高
|
||||
height: {
|
||||
type: [String, Number],
|
||||
default: 80
|
||||
},
|
||||
// 字体大小
|
||||
fontSize: {
|
||||
type: [String, Number],
|
||||
default: 28
|
||||
},
|
||||
// 过渡动画时长, 单位ms
|
||||
duration: {
|
||||
type: [String, Number],
|
||||
default: 0.5
|
||||
},
|
||||
// 选中项的主题颜色
|
||||
activeColor: {
|
||||
type: String,
|
||||
default: '#F44B2F;'
|
||||
},
|
||||
// 未选中项的颜色
|
||||
inactiveColor: {
|
||||
type: String,
|
||||
default: '#303133'
|
||||
},
|
||||
// 菜单底部移动的bar的宽度,单位rpx
|
||||
barWidth: {
|
||||
type: [String, Number],
|
||||
default: 40
|
||||
},
|
||||
// 移动bar的高度
|
||||
barHeight: {
|
||||
type: [String, Number],
|
||||
default: 6
|
||||
},
|
||||
// 单个tab的左或有内边距(左右相同)
|
||||
gutter: {
|
||||
type: [String, Number],
|
||||
default: 30
|
||||
},
|
||||
// 导航栏的背景颜色
|
||||
bgColor: {
|
||||
type: String,
|
||||
default: '#ffffff'
|
||||
},
|
||||
// 读取传入的数组对象的属性(tab名称)
|
||||
name: {
|
||||
type: String,
|
||||
default: 'name'
|
||||
},
|
||||
// 读取传入的数组对象的属性(徽标数)
|
||||
count: {
|
||||
type: String,
|
||||
default: 'count'
|
||||
},
|
||||
// 徽标数位置偏移
|
||||
offset: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [5, 20]
|
||||
}
|
||||
},
|
||||
// 活动tab字体是否加粗
|
||||
bold: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
// 当前活动tab item的样式
|
||||
activeItemStyle: {
|
||||
type: Object,
|
||||
default () {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
// 是否显示底部的滑块
|
||||
showBar: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
// 底部滑块的自定义样式
|
||||
barStyle: {
|
||||
type: Object,
|
||||
default () {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
// 标签的宽度
|
||||
itemWidth: {
|
||||
type: [Number, String],
|
||||
default: 'auto'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
scrollLeft: 0, // 滚动scroll-view的左边滚动距离
|
||||
tabQueryInfo: [], // 存放对tab菜单查询后的节点信息
|
||||
componentWidth: 0, // 屏幕宽度,单位为px
|
||||
scrollBarLeft: 0, // 移动bar需要通过translateX()移动的距离
|
||||
parentLeft: 0, // 父元素(tabs组件)到屏幕左边的距离
|
||||
id: this.$u.guid(), // id值
|
||||
currentIndex: this.current,
|
||||
barFirstTimeMove: true, // 滑块第一次移动时(页面刚生成时),无需动画,否则给人怪异的感觉
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
// 监听tab的变化,重新计算tab菜单的布局信息,因为实际使用中菜单可能是通过
|
||||
// 后台获取的(如新闻app顶部的菜单),获取返回需要一定时间,所以list变化时,重新获取布局信息
|
||||
list(n, o) {
|
||||
// list变动时,重制内部索引,否则可能导致超出数组边界的情况
|
||||
if (n.length !== o.length) this.currentIndex = 0;
|
||||
// 用$nextTick等待视图更新完毕后再计算tab的局部信息,否则可能因为tab还没生成就获取,就会有问题
|
||||
this.$nextTick(() => {
|
||||
this.init();
|
||||
});
|
||||
},
|
||||
current: {
|
||||
immediate: true,
|
||||
handler(nVal, oVal) {
|
||||
// 视图更新后再执行移动操作
|
||||
this.$nextTick(() => {
|
||||
this.currentIndex = nVal;
|
||||
this.scrollByIndex();
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
// 移动bar的样式
|
||||
tabBarStyle() {
|
||||
let style = {
|
||||
width: this.barWidth + 'rpx',
|
||||
transform: `translate(${this.scrollBarLeft}px, -100%)`,
|
||||
// 滑块在页面渲染后第一次滑动时,无需动画效果
|
||||
'transition-duration': `${this.barFirstTimeMove ? 0 : this.duration }s`,
|
||||
'background-color': this.activeColor,
|
||||
height: this.barHeight + 'rpx',
|
||||
opacity: this.barFirstTimeMove ? 0 : 1,
|
||||
// 设置一个很大的值,它会自动取能用的最大值,不用高度的一半,是因为高度可能是单数,会有小数出现
|
||||
'border-radius': `${this.barHeight / 2}px`
|
||||
};
|
||||
Object.assign(style, this.barStyle);
|
||||
return style;
|
||||
},
|
||||
// tab的样式
|
||||
tabItemStyle() {
|
||||
return (index) => {
|
||||
let style = {
|
||||
height: this.height + 'rpx',
|
||||
'line-height': '33rpx',
|
||||
'font-size': this.fontSize + 'rpx',
|
||||
'transition-duration': `${this.duration}s`,
|
||||
padding: this.isScroll ? `0 ${this.gutter}rpx` : '',
|
||||
flex: this.isScroll ? 'auto' : '1',
|
||||
width: this.$u.addUnit(this.itemWidth)
|
||||
};
|
||||
// 字体加粗
|
||||
if (index == this.currentIndex && this.bold) style.fontWeight = 'bold';
|
||||
if (index == this.currentIndex) {
|
||||
style.color = this.activeColor;
|
||||
// 给选中的tab item添加外部自定义的样式
|
||||
style = Object.assign(style, this.activeItemStyle);
|
||||
} else {
|
||||
style.color = this.inactiveColor;
|
||||
}
|
||||
return style;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 设置一个init方法,方便多处调用
|
||||
async init() {
|
||||
// 获取tabs组件的尺寸信息
|
||||
let tabRect = await this.$uGetRect('#' + this.id);
|
||||
// tabs组件距离屏幕左边的宽度
|
||||
this.parentLeft = tabRect.left;
|
||||
// tabs组件的宽度
|
||||
this.componentWidth = tabRect.width;
|
||||
this.getTabRect();
|
||||
},
|
||||
// 点击某一个tab菜单
|
||||
clickTab(index) {
|
||||
// 点击当前活动tab,不触发事件
|
||||
if (index == this.currentIndex) return;
|
||||
// 发送事件给父组件
|
||||
this.$emit('change', index);
|
||||
},
|
||||
// 查询tab的布局信息
|
||||
getTabRect() {
|
||||
// 创建节点查询
|
||||
let query = uni.createSelectorQuery().in(this);
|
||||
// 历遍所有tab,这里是执行了查询,最终使用exec()会一次性返回查询的数组结果
|
||||
for (let i = 0; i < this.list.length; i++) {
|
||||
// 只要size和rect两个参数
|
||||
query.select(`#u-tab-item-${i}`).fields({
|
||||
size: true,
|
||||
rect: true
|
||||
});
|
||||
}
|
||||
// 执行查询,一次性获取多个结果
|
||||
query.exec(
|
||||
function(res) {
|
||||
this.tabQueryInfo = res;
|
||||
// 初始化滚动条和移动bar的位置
|
||||
this.scrollByIndex();
|
||||
}.bind(this)
|
||||
);
|
||||
},
|
||||
// 滚动scroll-view,让活动的tab处于屏幕的中间位置
|
||||
scrollByIndex() {
|
||||
// 当前活动tab的布局信息,有tab菜单的width和left(为元素左边界到父元素左边界的距离)等信息
|
||||
let tabInfo = this.tabQueryInfo[this.currentIndex];
|
||||
if (!tabInfo) return;
|
||||
// 活动tab的宽度
|
||||
let tabWidth = tabInfo.width;
|
||||
// 活动item的左边到tabs组件左边的距离,用item的left减去tabs的left
|
||||
let offsetLeft = tabInfo.left - this.parentLeft;
|
||||
// 将活动的tabs-item移动到屏幕正中间,实际上是对scroll-view的移动
|
||||
let scrollLeft = offsetLeft - (this.componentWidth - tabWidth) / 2;
|
||||
this.scrollLeft = scrollLeft < 0 ? 0 : scrollLeft;
|
||||
// 当前活动item的中点点到左边的距离减去滑块宽度的一半,即可得到滑块所需的移动距离
|
||||
let left = tabInfo.left + tabInfo.width / 2 - this.parentLeft;
|
||||
// 计算当前活跃item到组件左边的距离
|
||||
this.scrollBarLeft = left - uni.upx2px(this.barWidth) / 2;
|
||||
// 第一次移动滑块的时候,barFirstTimeMove为true,放到延时中将其设置false
|
||||
// 延时是因为scrollBarLeft作用于computed计算时,需要一个过程需,否则导致出错
|
||||
if (this.barFirstTimeMove == true) {
|
||||
setTimeout(() => {
|
||||
this.barFirstTimeMove = false;
|
||||
}, 100)
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.init();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// 定义混入指令,用于在非nvue环境下的flex定义,因为nvue没有display属性,会报错
|
||||
@mixin vue-flex($direction: row) {
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
flex-direction: $direction;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.u-tabs {
|
||||
padding: 20rpx 0;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
view,
|
||||
scroll-view {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* #ifndef APP-NVUE */
|
||||
::-webkit-scrollbar,
|
||||
::-webkit-scrollbar,
|
||||
::-webkit-scrollbar {
|
||||
display: none;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
-webkit-appearance: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* #endif */
|
||||
|
||||
.u-scroll-box {
|
||||
position: relative;
|
||||
/* #ifdef MP-TOUTIAO */
|
||||
white-space: nowrap;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
/* #ifdef H5 */
|
||||
// 通过样式穿透,隐藏H5下,scroll-view下的滚动条
|
||||
scroll-view ::v-deep ::-webkit-scrollbar {
|
||||
display: none;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
-webkit-appearance: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* #endif */
|
||||
|
||||
.u-scroll-view {
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.u-tab-item {
|
||||
position: relative;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: inline-block;
|
||||
/* #endif */
|
||||
text-align: center;
|
||||
transition-property: background-color, color;
|
||||
}
|
||||
|
||||
.u-tab-bar {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.u-tabs-scorll-flex {
|
||||
@include vue-flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
BIN
static/1024.png
|
Before Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
BIN
static/cp.png
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
static/fuli.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
static/gd.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
static/hlz.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
static/home.png
|
Before Width: | Height: | Size: 3.3 KiB |
BIN
static/huijiantou.png
Normal file
|
After Width: | Height: | Size: 316 B |
BIN
static/jfgz.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
static/jifen.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
static/jifenbeij.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/jjhl.png
|
Before Width: | Height: | Size: 3.4 KiB |
BIN
static/jkda.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
static/jkzx.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
static/kefu.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 74 KiB |
BIN
static/lnb.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 990 B |
BIN
static/logo.png
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 3.3 KiB |
BIN
static/order.png
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
static/pb.png
|
Before Width: | Height: | Size: 2.2 KiB |
BIN
static/phone.png
Normal file
|
After Width: | Height: | Size: 901 B |
BIN
static/pic.png
|
Before Width: | Height: | Size: 729 B |
BIN
static/qiandao.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 638 B |
BIN
static/shoping.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/shopingw.png
Normal file
|
After Width: | Height: | Size: 834 B |
|
Before Width: | Height: | Size: 2.6 KiB |
BIN
static/sp.png
|
Before Width: | Height: | Size: 2.8 KiB |
BIN
static/user.png
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 3.8 KiB |
BIN
static/userl.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
static/xg.png
Normal file
|
After Width: | Height: | Size: 393 B |
BIN
static/yaoqing.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
static/yhj.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 78 KiB |
BIN
static/ylfw.png
|
Before Width: | Height: | Size: 2.9 KiB |
BIN
static/yuyue.png
|
Before Width: | Height: | Size: 2.3 KiB |
BIN
static/yyss.png
|
Before Width: | Height: | Size: 3.1 KiB |
BIN
static/zbgl.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
static/zbglzbgl.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
BIN
static/znsb.png
|
Before Width: | Height: | Size: 2.4 KiB |
BIN
static/zs.png
|
Before Width: | Height: | Size: 1.4 KiB |