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"
export function goodsList(pageSize,pageNum,goodsCategoryId) {
export function goodsList(pageSize,pageNum,goodsCategoryId,goodsName) {
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'
})
}

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",
"description" : "",
"versionName" : "1.0.0",
@ -17,7 +17,9 @@
"delay" : 0
},
/* */
"modules" : {},
"modules" : {
"Geolocation" : {}
},
/* */
"distribute" : {
/* android */
@ -43,7 +45,13 @@
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {},
"sdkConfigs" : {
"geolocation" : {
"system" : {
"__platform__" : [ "ios", "android" ]
}
}
},
"splashscreen" : {
"androidStyle" : "common"
}

View File

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

View File

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

View File

@ -1,5 +1,9 @@
<template>
<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="item" @tap='goCommodityDetails(item)' v-for="(item,index) in goodsList" :key="index">
<image :src="baseurl+item.goodsPictureUrl" mode=""></image>
@ -31,18 +35,28 @@
goodsCategoryId: '', //
goodsList: [], //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) { //
this.title = options.title //
this.goodsCategoryId = options.goodsCategoryId //id
this.baseurl = baseurl;
this.goodsListinfo(this.pageSize, this.pageNum, options.goodsCategoryId)
this.goodsListinfo()
},
methods: {
//
goodsListinfo(pageSize, pageNum, goodsCategoryId) {
goodsList(pageSize, pageNum, goodsCategoryId).then(res => {
goodsListinfo() {
goodsList(this.pageSize, this.pageNum, this.goodsCategoryId, this.goodsName).then(res => {
res.rows.forEach(e => {
this.goodsList.push(e)
})
@ -64,12 +78,12 @@
onReachBottom() { //
if (this.goodsList.length >= this.total) {} else {
this.pageNum++;
this.goodsListinfo(this.pageSize, this.pageNum, this.goodsCategoryId)
this.goodsListinfo(this.pageSize, this.pageNum, this.goodsCategoryId, this.goodsName)
}
},
onPullDownRefresh() { //
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.total = res.total
})
@ -84,10 +98,43 @@
.app {
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 {
width: 100%;
margin: 0 auto;
padding: 40rpx 0 0 0;
padding: 20rpx 0 0 0;
display: flex;
flex-wrap: wrap;
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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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