This commit is contained in:
曹辉 2022-12-01 16:59:32 +08:00
parent 5fbafdfa38
commit ffb349cc9f
18 changed files with 631 additions and 152 deletions

View File

@ -1,8 +1,8 @@
import request from "../request.js" import request from "../request.js"
export function goodsList(pageSize,pageNum,goodsCategoryId) { export function goodsList(pageSize,pageNum,goodsCategoryId,goodsName) {
return request({ return request({
url: `/nurseApplet/nursingStationGoods/goodsList?pageSize=${pageSize}&pageNum=${pageNum}&goodsCategoryId=${goodsCategoryId}`, url: `/nurseApplet/nursingStationGoods/goodsList?pageSize=${pageSize}&pageNum=${pageNum}&goodsCategoryId=${goodsCategoryId}&goodsName=${goodsName}`,
method: 'GET' method: 'GET'
}) })
} }

View File

@ -0,0 +1,8 @@
import request from "../request.js"
export function getAppStationItemInfo(stationId, stationItemId, stationItemPriceId) {
return request({
url: `/nurseApp/login/getAppStationItemInfo?stationId=${stationId}&stationItemId=${stationItemId}&stationItemPriceId=${stationItemPriceId}`,
method: 'GET'
})
}

View File

@ -1,5 +1,5 @@
{ {
"name" : "NurseStationAppletUI", "name" : "nurseWeChatAppletUI",
"appid" : "__UNI__1200110", "appid" : "__UNI__1200110",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.0",
@ -17,7 +17,9 @@
"delay" : 0 "delay" : 0
}, },
/* */ /* */
"modules" : {}, "modules" : {
"Geolocation" : {}
},
/* */ /* */
"distribute" : { "distribute" : {
/* android */ /* android */
@ -43,7 +45,13 @@
/* ios */ /* ios */
"ios" : {}, "ios" : {},
/* SDK */ /* SDK */
"sdkConfigs" : {}, "sdkConfigs" : {
"geolocation" : {
"system" : {
"__platform__" : [ "ios", "android" ]
}
}
},
"splashscreen" : { "splashscreen" : {
"androidStyle" : "common" "androidStyle" : "common"
} }

View File

@ -17,6 +17,14 @@
"navigationBarBackgroundColor": "#ffffff" // "navigationBarBackgroundColor": "#ffffff" //
} }
}, {
"path": "pages/ProjectDetails/ProjectDetails",
"style": {
"navigationBarTitleText": "护理项目详情",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#ffffff" //
}
}, { }, {
"path": "pages/goodsorderRate/goodsorderRate", "path": "pages/goodsorderRate/goodsorderRate",
"style": { "style": {

View File

@ -8,7 +8,7 @@
{{item.orderStatus=='PAY'?'已付款':''}} {{item.orderStatus=='PAY'?'已付款':''}}
{{item.orderStatus=='WAIT_DISPATCH'?'待服务':''}} {{item.orderStatus=='WAIT_DISPATCH'?'待服务':''}}
{{item.orderStatus=='NOT_FINISH'?'待完成':''}} {{item.orderStatus=='NOT_FINISH'?'待完成':''}}
{{item.orderStatus=='COMPLETE'?'评价':''}} {{item.orderStatus=='COMPLETE'?'评价':''}}
{{item.orderStatus=='EVALUATED'?'服务完成':''}} {{item.orderStatus=='EVALUATED'?'服务完成':''}}
{{item.orderStatus=='WAIT_REFUND'?'退款中':''}} {{item.orderStatus=='WAIT_REFUND'?'退款中':''}}
{{item.orderStatus=='REFUNDED'?'已退款':''}} {{item.orderStatus=='REFUNDED'?'已退款':''}}
@ -64,7 +64,7 @@
openid: null, openid: null,
patientId: null, patientId: null,
pageNum: 1, pageNum: 1,
total:0, total: 0,
pageSize: 10, pageSize: 10,
list: [], list: [],
} }
@ -87,8 +87,7 @@
} }
} catch (e) {} } catch (e) {}
}, },
onLoad() { onLoad() {},
},
methods: { methods: {
// //
// gorate(){ // gorate(){
@ -107,7 +106,7 @@
payType: "WECHAT_PAY", payType: "WECHAT_PAY",
buySource: "NURSE_STATION", buySource: "NURSE_STATION",
} }
var that =this var that = this
appletAppointmentOrderPay(obj).then(response => { appletAppointmentOrderPay(obj).then(response => {
if (response.code == 200) { if (response.code == 200) {
uni.requestPayment({ uni.requestPayment({

View File

@ -1,5 +1,9 @@
<template> <template>
<view class="app"> <view class="app">
<view class="inputs">
<i class="icon"></i>
<input v-model="goodsName" type="text" name="" id="" class="input" placeholder="请输入商品名称">
</view>
<view class="productlist"> <view class="productlist">
<view class="item" @tap='goCommodityDetails(item)' v-for="(item,index) in goodsList" :key="index"> <view class="item" @tap='goCommodityDetails(item)' v-for="(item,index) in goodsList" :key="index">
<image :src="baseurl+item.goodsPictureUrl" mode=""></image> <image :src="baseurl+item.goodsPictureUrl" mode=""></image>
@ -31,18 +35,28 @@
goodsCategoryId: '', // goodsCategoryId: '', //
goodsList: [], //list goodsList: [], //list
total: 0, //list total: 0, //list
goodsName: '',
}; };
}, },
watch: { //
goodsName() {
this.pageNum = 1;
goodsList(this.pageSize, this.pageNum, this.goodsCategoryId, this.goodsName).then(res => {
this.goodsList = res.rows
this.total = res.total
})
},
},
onLoad(options) { // onLoad(options) { //
this.title = options.title // this.title = options.title //
this.goodsCategoryId = options.goodsCategoryId //id this.goodsCategoryId = options.goodsCategoryId //id
this.baseurl = baseurl; this.baseurl = baseurl;
this.goodsListinfo(this.pageSize, this.pageNum, options.goodsCategoryId) this.goodsListinfo()
}, },
methods: { methods: {
// //
goodsListinfo(pageSize, pageNum, goodsCategoryId) { goodsListinfo() {
goodsList(pageSize, pageNum, goodsCategoryId).then(res => { goodsList(this.pageSize, this.pageNum, this.goodsCategoryId, this.goodsName).then(res => {
res.rows.forEach(e => { res.rows.forEach(e => {
this.goodsList.push(e) this.goodsList.push(e)
}) })
@ -64,12 +78,12 @@
onReachBottom() { // onReachBottom() { //
if (this.goodsList.length >= this.total) {} else { if (this.goodsList.length >= this.total) {} else {
this.pageNum++; this.pageNum++;
this.goodsListinfo(this.pageSize, this.pageNum, this.goodsCategoryId) this.goodsListinfo(this.pageSize, this.pageNum, this.goodsCategoryId, this.goodsName)
} }
}, },
onPullDownRefresh() { // onPullDownRefresh() { //
this.pageNum = 1; this.pageNum = 1;
goodsList(this.pageSize, this.pageNum, this.goodsCategoryId).then(res => { goodsList(this.pageSize, this.pageNum, this.goodsCategoryId, this.goodsName).then(res => {
this.goodsList = res.rows this.goodsList = res.rows
this.total = res.total this.total = res.total
}) })
@ -84,10 +98,43 @@
.app { .app {
padding: 0; padding: 0;
.inputs {
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border: 1px solid #f0f0f0;
width: 90%;
height: 65rpx;
margin: 10rpx 0 10rpx 50%;
transform: translateX(-50%);
border-radius: 20rpx;
background-color: #Ffffff;
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%;
}
}
.productlist { .productlist {
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
padding: 40rpx 0 0 0; padding: 20rpx 0 0 0;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-evenly; justify-content: space-evenly;

View File

@ -0,0 +1,171 @@
.app {
height: 100%;
padding: 2% 2% 150rpx 2%;
padding-top: 10rpx;
font-size: 34rpx;
.mask {
.information {
width: 70%;
height: 400rpx;
margin: 50% auto;
background: #FFFFFF;
border-radius: 30rpx;
text-align: center;
color: #FFFFFF;
position: relative;
.determine,
.cancel {
width: 200rpx;
height: 70rpx;
border-radius: 26rpx;
font-size: 34rpx;
line-height: 70rpx;
position: absolute;
top: 74%;
}
.determine {
background: #4C7BC9;
right: 36rpx;
}
.cancel {
background: #C5BFBF;
left: 36rpx;
}
.title {
font-size: 42rpx;
margin-top: 40rpx;
color: #000000;
}
image {
width: 100rpx;
height: 100rpx;
margin: 10% 0 0 0;
}
}
}
.appointment {
width: 120rpx;
height: 70rpx;
background: #4C7BC9;
border-radius: 26rpx;
color: #ffffff;
text-align: center;
line-height: 70rpx;
position: absolute;
bottom:20rpx;
right:5%;
}
.detail {
position: relative;
width: 94%;
height: 100%;
margin: 0 auto;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 3%;
font-size: 31rpx;
padding: 3%;
padding-bottom: 50rpx;
.textInfo {
word-break:break-all;
font-size: 29rpx;
text-indent: 2rem;
line-height: 42rpx;
color: #666666;
padding-top: 30rpx;
/deep/ .richPic {
width: 100% !important;
height: 100% !important;
}
}
.Introduction {
font-size: 31rpx;
color: #333333;
line-height: 12rpx;
margin-left: -3%;
padding: 3%;
}
}
.item {
width: 95%;
height: 100%;
background: #FFFFFF;
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border-radius: 20rpx;
margin: 20rpx auto 0;
padding: 3% 3% 40rpx 3%;
line-height: 60rpx;
position: relative;
image {
width: 170rpx;
height: 170rpx;
margin-left: 3%;
}
.servicetime {
color: #999999;
line-height: 37rpx;
font-size: 30rpx;
position: absolute;
top: 35%;
left: 35%;
}
.price {
color: red;
font-size: 32rpx;
position: absolute;
top: 65%;
left: 35%;
}
.product {
color: #000000;
width: 60%;
position: absolute;
top: 14%;
left: 32%;
font-size: 28rpx;
}
.huanyao {
color: #000000;
position: absolute;
top: 10%;
left: 35%;
width: 60%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
/* 耗材包 */
.Consumablespackage {
width: 95%;
height: 100%;
background: #FFFFFF;
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border-radius: 20rpx;
margin: 20rpx auto 0;
padding: 3% 3% 40rpx 3%;
line-height: 60rpx;
font-size: 32rpx;
.detail {
font-size: 30rpx;
color: #000000;
}
span {
color: red;
float: right;
}
}
}

View File

@ -0,0 +1,160 @@
<template>
<view class="app">
<view class="item">
<image :src="list.itemPictureUrl"></image>
<view class="huanyao">{{list.nurseItemName}}
</view>
<!-- <view class="pingfen">
<u-rate :count="5" value="2"></u-rate>
</view> -->
<view class="servicetime">服务时长:{{list.serveDurationUnit?list.serveDurationUnit:'0'}}</view>
<view class="price">{{list.nurseItemPrice==null?'0':list.nurseItemPrice}}</view>
</view>
<view class="Consumablespackage" v-if='list.itemConsumableList'>耗材包详情:
<span>{{list.consumableTotalPrice==null?'0':list.consumableTotalPrice}}</span>
<view class="detail" v-for='(item,index) in list.itemConsumableList' :key="index">
·{{item.consumableDetail}}
</view>
</view>
<view class="detail">
<view class="Introduction">服务详情:</view>
<view class="textInfo" v-html="list.nurseItemContent">
</view>
</view>
<view class="appointment" @tap.stop='goappointments(item)'>预约</view>
<u-toast ref="uToast" />
<u-mask :show="usershow" class='mask'>
<view class="information">
<image src="../../static/information.png" mode=""></image>
<view class="title">
请完善个人信息
</view>
<view class="cancel" @tap='usershow=false'>
取消
</view>
<view class="determine" @tap='goinformation'>
去完善
</view>
</view>
</u-mask>
</view>
</template>
<script>
import {
AppIdentification
} from '@/api/AppIdentification/index.js'
import baseurl from '@/api/baseurl.js'
import {
getAppStationItemInfo
} from '@/api/ProjectDetails/index.js'
export default {
data() {
return {
baseurl: '',
list: {},
orderNo: '',
usershow: false, //
list: [], //list
timer: null,
}
},
onLoad(options) {
//
this.getlist(options.stationId, options.stationItemId, options.stationItemPriceId)
},
onShow() {
this.usershow = false
},
methods: {
//
goappointments() {
let that = this
try {
const value = uni.getStorageSync('openid');
if (value) {
const value2 = uni.getStorageSync('patientId');
if (value2) {
AppIdentification(value2).then(res => {
if (res.code == 200) {
if (res.data.loginFlag) {
that.usershow = false
uni.navigateTo({
url: `/pages/appointmenttime/appointmenttime?stationId=${this.list.stationId}&stationItemId=${this.list.stationItemId}&stationItemPriceId=${this.list.stationItemPriceId}`,
})
} else {
that.usershow = true
}
} else {
that.$refs.uToast.show({
title: res.msg,
type: 'error'
})
if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateTo({
url: '/pages/login/login'
})
}, 1500)
}
})
} else {
that.$refs.uToast.show({
title: '未登录,请先登录',
type: 'error'
})
if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateTo({
url: '/pages/login/login'
})
}, 1500)
}
} else {
that.$refs.uToast.show({
title: '未登录,请先登录',
type: 'error'
})
if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateTo({
url: '/pages/login/login'
})
}, 1500)
}
} catch (e) {
uni.navigateTo({
url: '/pages/login/login'
})
}
},
//
goinformation() {
this.usershow = false
uni.navigateTo({
url: '/pages/information/information'
})
},
//
getlist(stationId, stationItemId, stationItemPriceId) {
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/gi,
"<img class='richPic'")
// res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/,
// "<br/> <img class='richPic'")
res.data.itemPictureUrl = baseurl + res.data.itemPictureUrl
this.list = res.data
})
},
}
}
</script>
<style lang="scss">
@import './ProjectDetails.scss';
</style>

View File

@ -2,18 +2,20 @@
font-size: 34rpx; font-size: 34rpx;
padding-top: 10rpx; padding-top: 10rpx;
height: 100%; height: 100%;
.mask{
.Agreement{ .mask {
.Agreement {
width: 100%; width: 100%;
background-color: #F4F5F7; background-color: #F4F5F7;
text-align: center; text-align: center;
height: 1000rpx; height: 1000rpx;
position: absolute; position: absolute;
top:5%; top: 5%;
width:94%; width: 94%;
left:3%; left: 3%;
font-size: 30rpx; font-size: 30rpx;
.title{
.title {
height: 100rpx; height: 100rpx;
line-height: 100rpx; line-height: 100rpx;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
@ -22,52 +24,57 @@
width: 100%; width: 100%;
text-align: center; text-align: center;
} }
.scroll-Y{
.scroll-Y {
width: 98%; width: 98%;
margin: 0 auto; margin: 0 auto;
height:830rpx ; height: 830rpx;
overflow-y:scroll; overflow-y: scroll;
text-align: left; text-align: left;
text-indent: 2em; text-indent: 2em;
} }
.cancel { .cancel {
height:70rpx; height: 70rpx;
line-height: 70rpx; line-height: 70rpx;
font-size: 32rpx; font-size: 32rpx;
background-color: #F4F5F7; background-color: #F4F5F7;
position: absolute; position: absolute;
border-top: 1rpx solid #000000; border-top: 1rpx solid #000000;
bottom:0; bottom: 0;
right:0; right: 0;
width: 50%; width: 50%;
color: #000000; color: #000000;
} }
.determine { .determine {
height:70rpx; height: 70rpx;
line-height: 70rpx; line-height: 70rpx;
font-size: 32rpx; font-size: 32rpx;
width: 50%; width: 50%;
color: #F4F5F7; color: #F4F5F7;
background: #4C7BC9; background: #4C7BC9;
position: absolute; position: absolute;
bottom:0; bottom: 0;
left:0; left: 0;
} }
} }
} }
.addressitem{
.addressitem {
width: 97%; width: 97%;
border-bottom: 1rpx solid #D8D4D4; border-bottom: 1rpx solid #D8D4D4;
margin-left: 3%; margin-left: 3%;
height: 100%; height: 100%;
.leftaddress{
width:15%; .leftaddress {
width: 15%;
height: 100%; height: 100%;
display: flex; display: flex;
display: inline-block; display: inline-block;
} }
.addition{
.addition {
color: #666666; color: #666666;
display: inline-block; display: inline-block;
line-height: 50rpx; line-height: 50rpx;
@ -79,9 +86,10 @@
font-size: 32rpx; font-size: 32rpx;
color: #D43953; color: #D43953;
position: absolute; position: absolute;
right:5%; right: 5%;
top:20%; top: 20%;
} }
.user { .user {
background: #FFFFFF; background: #FFFFFF;
width: 94%; width: 94%;
@ -89,39 +97,46 @@
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03); box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border-radius: 20rpx; border-radius: 20rpx;
line-height: 93rpx; line-height: 93rpx;
.selecttime { .selecttime {
height: 93rpx; height: 93rpx;
margin-left: 3%; margin-left: 3%;
position: relative; position: relative;
text { text {
font-size: 34rpx; font-size: 34rpx;
color: #878987; color: #878987;
} }
image { image {
width: 18rpx; width: 18rpx;
height: 27rpx; height: 27rpx;
position: absolute; position: absolute;
right:5%; right: 5%;
top:50%; top: 50%;
transform: translateY(-50%); transform: translateY(-50%);
} }
.addition{
.addition {
color: #666666; color: #666666;
line-height: 30rpx; line-height: 30rpx;
font-size: 28rpx; font-size: 28rpx;
} }
} }
.item { .item {
width: 97%; width: 97%;
border-bottom: 1rpx solid #D8D4D4; border-bottom: 1rpx solid #D8D4D4;
margin-left: 3%; margin-left: 3%;
.addition{
.addition {
color: #666666; color: #666666;
line-height: 30rpx; line-height: 30rpx;
font-size: 28rpx; font-size: 28rpx;
} }
} }
} }
.remarks { .remarks {
width: 94%; width: 94%;
height: 382rpx; height: 382rpx;
@ -133,32 +148,37 @@
border-radius: 20rpx; border-radius: 20rpx;
margin-top: 20rpx; margin-top: 20rpx;
position: relative; position: relative;
span{
span {
display: inline-block; display: inline-block;
width: 20%; width: 20%;
} }
input { input {
position: absolute; position: absolute;
top:50%; top: 50%;
left:23%; left: 23%;
width: 77%; width: 77%;
transform: translateY(-50%); transform: translateY(-50%);
} }
} }
.priceback { .priceback {
width: 99%; width: 99%;
background: #FFFFFF; background: #FFFFFF;
height: 100rpx; height: 100rpx;
position:fixed; position: fixed;
bottom:0; bottom: 0;
padding-bottom: 20rpx; padding-bottom: 20rpx;
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
.prices { .prices {
font-size: 48rpx; font-size: 48rpx;
color: #D43953; color: #D43953;
line-height: 100rpx; line-height: 100rpx;
} }
.xiugai { .xiugai {
width: 200rpx; width: 200rpx;
height: 70rpx; height: 70rpx;
@ -170,6 +190,7 @@
text-align: center; text-align: center;
color: #ffffff; color: #ffffff;
} }
.queren { .queren {
width: 200rpx; width: 200rpx;
height: 70rpx; height: 70rpx;
@ -181,22 +202,26 @@
color: #ffffff; color: #ffffff;
} }
} }
.radio-content { .radio-content {
margin: 50rpx auto; margin: 50rpx auto;
width: 70%; width: 70%;
text-align: center; text-align: center;
font-size: 28rpx; font-size: 28rpx;
position: relative; position: relative;
.agreement { .agreement {
position: absolute; position: absolute;
top:50%; top: 50%;
left:20%; left: 20%;
transform: translateY(-50%); transform: translateY(-50%);
color: #878987; color: #878987;
} }
.radio-right { .radio-right {
height: 100rpx; height: 100rpx;
width: 100rpx; width: 100rpx;
.radio { .radio {
display: inline-block; display: inline-block;
width: 35rpx; width: 35rpx;
@ -204,21 +229,25 @@
border-radius: 70%; border-radius: 70%;
border: 2rpx solid #178ffb; border: 2rpx solid #178ffb;
position: absolute; position: absolute;
top:50%; top: 50%;
left:5%; left: 5%;
transform: translateY(-50%); transform: translateY(-50%);
.radio-active { .radio-active {
width: 16rpx; width: 16rpx;
height: 16rpx; height: 16rpx;
border-radius: 50%; border-radius: 50%;
background-color: #178ffb; background-color: #178ffb;
margin-left: 26%; position: absolute;
margin-top: 22%; top: 50%;
left: 50%;
transform: translate(-50%, -50%);
// margin: 0 auto; // margin: 0 auto;
} }
} }
} }
} }
/* 耗材包 */ /* 耗材包 */
.Consumablespackage { .Consumablespackage {
width: 94%; width: 94%;
@ -230,15 +259,14 @@
margin-top: 20rpx; margin-top: 20rpx;
position: relative; position: relative;
padding-bottom: 40rpx; padding-bottom: 40rpx;
.detail { .detail {
width: 301rpx; width: 100%;
height: 31rpx; line-height: 60rpx;
font-size: 32rpx;
color: #666666;
line-height: 31rpx;
margin: 20rpx 0 0 40rpx; margin: 20rpx 0 0 40rpx;
} }
} }
/* 套餐 */ /* 套餐 */
.Package { .Package {
width: 94%; width: 94%;
@ -248,18 +276,20 @@
font-size: 34rpx; font-size: 34rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 20rpx; border-radius: 20rpx;
margin-top:20rpx; margin-top: 20rpx;
position: relative; position: relative;
.detail { .detail {
line-height: 31rpx; line-height: 31rpx;
font-size: 32rpx; font-size: 32rpx;
color: #666666; color: #666666;
line-height: 31rpx; line-height: 31rpx;
position: absolute; position: absolute;
left:10%; left: 10%;
top:60%; top: 60%;
} }
} }
.message { .message {
width: 94%; width: 94%;
background: white; background: white;

View File

@ -46,8 +46,14 @@
</view> </view>
<view class="Consumablespackage">耗材包详情 <view class="Consumablespackage">耗材包详情
<text class="money">{{orderlist.consumableTotalPrice}}</text> <text class="money">{{orderlist.consumableTotalPrice}}</text>
<view class="detail" v-for="(item,index) in orderlist.itemConsumableList"> <view class="detail">
·{{item.consumableDetail}} <u-checkbox-group @change="checkboxGroupChange" wrap='true'>
<u-checkbox @change="checkboxChange" v-model="item.radio"
v-for="(item, index) in orderlist.itemConsumableList" :key="index"
:name="item.consumableDetail">
{{item.consumableDetail}}
</u-checkbox>
</u-checkbox-group>
</view> </view>
</view> </view>
<view class="remarks"> <view class="remarks">
@ -62,7 +68,6 @@
</view> </view>
<view class="agreement">我已阅读并同意<text @tap='maskshow=true' <view class="agreement">我已阅读并同意<text @tap='maskshow=true'
style="color: #000000;border-bottom: 1rpx solid #000000;">用户协议</text></view> style="color: #000000;border-bottom: 1rpx solid #000000;">用户协议</text></view>
</view> </view>
<view class="priceback"> <view class="priceback">
<view class="prices">{{orderlist.totalPrice}}</view> <view class="prices">{{orderlist.totalPrice}}</view>
@ -214,6 +219,11 @@
getPatientInfo(stationId, stationItemId, stationItemPriceId) { getPatientInfo(stationId, stationItemId, stationItemPriceId) {
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => { getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
if (res.code == 200) { if (res.code == 200) {
if (res.data.itemConsumableList) {
res.data.itemConsumableList.forEach(e => {
e.radio = true
})
}
this.orderlist = res.data this.orderlist = res.data
} }
}) })
@ -229,7 +239,12 @@
}) })
} else { } else {
this.orderlist.orderCount = 1; this.orderlist.orderCount = 1;
this.orderlist.orderConsumableList = this.orderlist.itemConsumableList this.orderlist.orderConsumableList = []
this.orderlist.itemConsumableList.forEach(e => {
if (e.radio) {
this.orderlist.orderConsumableList.push(e)
}
})
submitAppointment(this.orderlist).then(res => { submitAppointment(this.orderlist).then(res => {
if (res.code == 500) { if (res.code == 500) {
that.$refs.uToast.show({ that.$refs.uToast.show({
@ -295,6 +310,11 @@
this.radio = 2; this.radio = 2;
this.maskshow = false this.maskshow = false
}, },
checkboxChange(e) {},
// checkboxcheckbox-group
checkboxGroupChange(e) {},
//
checkedAll() {},
// //
timeconfirm(e) { timeconfirm(e) {
this.orderlist.serviceStartTime = e.hour + ":" + e.minute this.orderlist.serviceStartTime = e.hour + ":" + e.minute

View File

@ -79,9 +79,10 @@
height: 16rpx; height: 16rpx;
border-radius: 50%; border-radius: 50%;
background-color: #178ffb; background-color: #178ffb;
margin-left: 26%; position: absolute;
margin-top: 22%; top:50%;
// margin: 0 auto; left:50%;
transform: translate(-50%,-50%);
} }
} }
} }

View File

@ -54,6 +54,12 @@
delta: 1 delta: 1
}) })
}, 1500) }, 1500)
}else{
this.$refs.uToast.show({
title: '登录失败',
type: 'error',
duration: '1500'
})
} }
}) })
}, },

View File

@ -81,9 +81,10 @@
height: 16rpx; height: 16rpx;
border-radius: 50%; border-radius: 50%;
background-color: #178ffb; background-color: #178ffb;
margin-left: 26%; position: absolute;
margin-top: 22%; top:50%;
// margin: 0 auto; left:50%;
transform: translate(-50%,-50%);
} }
} }
} }

View File

@ -22,7 +22,7 @@
<view class="ADDress" @tap='add()'> <view class="ADDress" @tap='add()'>
<image src="../../static/add.png" mode=""></image> <image src="../../static/add.png" mode=""></image>
<span class="ADDtext"> <span class="ADDtext">
添加收货地址 添加地址
</span> </span>
</view> </view>
<!-- 弹框 --> <!-- 弹框 -->
@ -161,7 +161,7 @@
}, },
// //
updataxg(item) { updataxg(item) {
this.shipAddress = '修改收货地址' this.shipAddress = '修改地址'
this.isedit = false this.isedit = false
nursingStationGoodsinfo(item.id).then(res => { nursingStationGoodsinfo(item.id).then(res => {
this.infolist = res.data this.infolist = res.data

View File

@ -208,6 +208,10 @@
line-height: 42rpx; line-height: 42rpx;
color: #666666; color: #666666;
padding-top: 30rpx; padding-top: 30rpx;
/deep/ .richPic {
width: 94% !important;
height: 94% !important;
}
} }
.Introduction { .Introduction {
font-size: 31rpx; font-size: 31rpx;

View File

@ -19,8 +19,7 @@
</view> </view>
<view class="detail"> <view class="detail">
<view class="Introduction">机构简介</view> <view class="Introduction">机构简介</view>
<view class="textInfo"> <view class="textInfo" v-html="list.agencyIntroduce">
{{list.agencyIntroduce}}
</view> </view>
</view> </view>
<view class="Nursestationconfiguration"> <view class="Nursestationconfiguration">
@ -41,7 +40,8 @@
</view> </view>
</view> </view>
<view class="" v-if="servelist.length>0&&choicetab==false"> <view class="" v-if="servelist.length>0&&choicetab==false">
<view class="item" v-for="item in servelist" :key="" v-show='choicetab==false'> <view class="item" v-for="item in servelist" :key="" v-show='choicetab==false'
@click.stop='goProjectDetails(item)'>
<image :src="item.itemPictureUrl"></image> <image :src="item.itemPictureUrl"></image>
<view class="huanyao">{{item.nurseItemName}} <view class="huanyao">{{item.nurseItemName}}
</view> </view>
@ -49,7 +49,7 @@
<u-rate :count="5" value="2"></u-rate> <u-rate :count="5" value="2"></u-rate>
</view> --> </view> -->
<view class="servicetime">服务时长:{{item.serveDurationUnit?item.serveDurationUnit:'0'}}</view> <view class="servicetime">服务时长:{{item.serveDurationUnit?item.serveDurationUnit:'0'}}</view>
<view class="appointment" @tap='goappointments(item)'>预约</view> <view class="appointment" @tap.stop='goappointments(item)'>预约</view>
<view class="price">{{item.nurseItemPrice==null?'0':item.nurseItemPrice}}</view> <view class="price">{{item.nurseItemPrice==null?'0':item.nurseItemPrice}}</view>
</view> </view>
</view> </view>
@ -106,7 +106,6 @@
export default { export default {
data() { data() {
return { return {
patientId: '', //
usershow: false, // usershow: false, //
choicetab: false, // choicetab: false, //
list: [], //list list: [], //list
@ -121,6 +120,7 @@
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
tabIndex: 0, tabIndex: 0,
timer: null,
tabList: [{ tabList: [{
name: "服务项目" name: "服务项目"
}, { }, {
@ -145,8 +145,7 @@
if (value) { if (value) {
const value2 = uni.getStorageSync('patientId'); const value2 = uni.getStorageSync('patientId');
if (value2) { if (value2) {
that.patientId = value2 AppIdentification(value2).then(res => {
AppIdentification(that.patientId).then(res => {
if (res.code == 200) { if (res.code == 200) {
if (res.data.loginFlag) { if (res.data.loginFlag) {
that.usershow = false that.usershow = false
@ -161,7 +160,10 @@
title: res.msg, title: res.msg,
type: 'error' type: 'error'
}) })
setTimeout(e => { if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/login/login' url: '/pages/login/login'
}) })
@ -173,7 +175,10 @@
title: '未登录,请先登录', title: '未登录,请先登录',
type: 'error' type: 'error'
}) })
setTimeout(e => { if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/login/login' url: '/pages/login/login'
}) })
@ -184,7 +189,10 @@
title: '未登录,请先登录', title: '未登录,请先登录',
type: 'error' type: 'error'
}) })
setTimeout(e => { if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/login/login' url: '/pages/login/login'
}) })
@ -199,6 +207,9 @@
getInfo() { getInfo() {
introductionList(this.nurseStationId).then(res => { introductionList(this.nurseStationId).then(res => {
res.data.stationIntroducePcitureUrl = baseurl + res.data.stationIntroducePcitureUrl res.data.stationIntroducePcitureUrl = baseurl + res.data.stationIntroducePcitureUrl
res.data.agencyIntroduce = res.data.agencyIntroduce.replace(/\<img/gi, "<img class='richPic'")
// res.data.agencyIntroduce = res.data.agencyIntroduce.replace(/\<img/,
// "<br/> <img class='richPic'")
this.list = res.data this.list = res.data
if (res.data.nurseStationLabelList) { if (res.data.nurseStationLabelList) {
this.nurseStationLabelList = res.data.nurseStationLabelList this.nurseStationLabelList = res.data.nurseStationLabelList
@ -240,6 +251,11 @@
url: '/pages/information/information' url: '/pages/information/information'
}) })
}, },
goProjectDetails(item) {
uni.navigateTo({
url: `/pages/ProjectDetails/ProjectDetails?stationId=${item.stationId}&stationItemId=${item.stationItemId}&stationItemPriceId=${item.stationItemPriceId}`,
})
},
gophone() { gophone() {
var that = this var that = this
uni.getSystemInfo({ uni.getSystemInfo({
@ -265,7 +281,6 @@
}); });
} }
}, },
onReachBottom() { // onReachBottom() { //
if (this.choicetab == 0) { if (this.choicetab == 0) {
if (this.servelist.length >= this.servetotal) {} else { if (this.servelist.length >= this.servetotal) {} else {

View File

@ -3,9 +3,8 @@
<view class="cards"> <view class="cards">
<view class="item" :style="{background:listcolor[index]}" @tap='goProductList(item)' <view class="item" :style="{background:listcolor[index]}" @tap='goProductList(item)'
v-for="(item,index) in goodsCategoryList" :key="index"> v-for="(item,index) in goodsCategoryList" :key="index">
<image :style="index==4?'top:0;border-radius: 20rpx;width:100%;height: 300rpx;':''" <image :src="item.goodsCategoryPicture" mode=""></image>
:src="item.goodsCategoryPicture" mode=""></image> <view class="title" style="font-size:42rpx">
<view class="title" style="font-size:42rpx" v-if="index!=4">
{{item.goodsCategoryName}} {{item.goodsCategoryName}}
</view> </view>
</view> </view>
@ -89,7 +88,9 @@
</script> </script>
<style lang="scss"> <style lang="scss">
.item:nth-child(0) { .app {
image {} .cards {
padding: 22px 0 20px 0;
}
} }
</style> </style>

View File

@ -117,10 +117,9 @@
}, },
onShow() { onShow() {
this.baseurl = baseurl this.baseurl = baseurl
this.myInfo()
}, },
onLoad(options) { onLoad(options) {
// this.myInfo()
}, },
methods: { methods: {
remove() { remove() {
@ -129,6 +128,7 @@
title: '提示', title: '提示',
content: '确认要退出此账号吗', content: '确认要退出此账号吗',
success: function(res) { success: function(res) {
console.log(res)
if (res.confirm) { if (res.confirm) {
uni.removeStorageSync('patientId'); uni.removeStorageSync('patientId');
uni.removeStorageSync('openid'); uni.removeStorageSync('openid');
@ -142,8 +142,8 @@
clearTimeout(that.timer) clearTimeout(that.timer)
} }
that.timer = setTimeout(e => { that.timer = setTimeout(e => {
uni.reLaunch({ uni.navigateBack({
url: '/pages/homepage/homepage' delta: 1
}) })
}, 1000) }, 1000)
} else if (res.cancel) { } else if (res.cancel) {
@ -171,8 +171,8 @@
if (Response.code == 200) { if (Response.code == 200) {
that.appPersonallist = Response.data that.appPersonallist = Response.data
} else { } else {
uni.navigateTo({ uni.navigateBack({
url: '/pages/login/login' delta: 1
}) })
} }
}) })
@ -192,8 +192,8 @@
uni.removeStorageSync('patientId'); uni.removeStorageSync('patientId');
uni.removeStorageSync('openid'); uni.removeStorageSync('openid');
uni.removeStorageSync('phone'); uni.removeStorageSync('phone');
uni.navigateTo({ uni.navigateBack({
url: '/pages/login/login' delta: 1
}) })
}, },
updatainfo() { updatainfo() {