This commit is contained in:
曹辉 2022-12-02 16:04:52 +08:00
parent d4bb76e568
commit 63274809c6
10 changed files with 231 additions and 89 deletions

View File

@ -43,7 +43,9 @@
<view class="selected"> <view class="selected">
图文服务 图文服务
</view> </view>
<image style="padding: 0; margin: 0;" v-for="item in info" :src="item.image" mode=""></image> <view class="textInfo" v-html="goodsDetailslist.goodsRemark">
</view>
<!-- <image style="padding: 0; margin: 0;" v-for="item in info" :src="item.image" mode=""></image> -->
</view> </view>
<view class="Purchasecolumn"> <view class="Purchasecolumn">
<view class="buy" @tap="buyshow=true"> <view class="buy" @tap="buyshow=true">
@ -294,6 +296,8 @@
// //
goodsDetailsinfo(goodsInfoId) { goodsDetailsinfo(goodsInfoId) {
goodsDetails(goodsInfoId).then(res => { goodsDetails(goodsInfoId).then(res => {
res.data[0].goodsRemark = res.data[0].goodsRemark.replace(/\<img/gi,
"<br/> <img class='richPic'")
res.data[0].goodsPictureUrl = this.baseurl + res.data[0].goodsPictureUrl res.data[0].goodsPictureUrl = this.baseurl + res.data[0].goodsPictureUrl
this.image = res.data[0].goodsPictureUrl this.image = res.data[0].goodsPictureUrl
var obj = { var obj = {

View File

@ -1,51 +1,52 @@
.app { .app {
padding: 0; padding: 0;
.mask { .mask {
.information { .information {
width: 70%; width: 70%;
height: 400rpx; height: 400rpx;
margin: 50% auto; margin: 50% auto;
background: #FFFFFF; background: #FFFFFF;
border-radius: 30rpx; border-radius: 30rpx;
text-align: center; text-align: center;
color: #FFFFFF; color: #FFFFFF;
position: relative; position: relative;
.determine, .determine,
.cancel { .cancel {
width: 200rpx; width: 200rpx;
height: 70rpx; height: 70rpx;
border-radius: 26rpx; border-radius: 26rpx;
font-size: 34rpx; font-size: 34rpx;
line-height: 70rpx; line-height: 70rpx;
position: absolute; position: absolute;
top: 74%; top: 74%;
} }
.determine { .determine {
background: #4C7BC9; background: #4C7BC9;
right: 36rpx; right: 36rpx;
} }
.cancel { .cancel {
background: #C5BFBF; background: #C5BFBF;
left: 36rpx; left: 36rpx;
} }
.title { .title {
font-size: 42rpx; font-size: 42rpx;
margin-top: 40rpx; margin-top: 40rpx;
color: #000000; color: #000000;
} }
image { image {
width: 100rpx; width: 100rpx;
height: 100rpx; height: 100rpx;
margin: 10% 0 0 0; margin: 10% 0 0 0;
}
} }
} }
}
.mask { .mask {
.PurchasePage { .PurchasePage {
position: fixed; position: fixed;
@ -70,12 +71,14 @@
padding-bottom: 24rpx; padding-bottom: 24rpx;
border-bottom: 1rpx solid #D8D4D4; border-bottom: 1rpx solid #D8D4D4;
position: relative; position: relative;
.goodsStock{
.goodsStock {
font-size: 24rpx; font-size: 24rpx;
position: absolute; position: absolute;
top: 73%; top: 73%;
left: 75%; left: 75%;
} }
.price { .price {
color: #D43953; color: #D43953;
position: absolute; position: absolute;
@ -138,9 +141,11 @@
.centercontent { .centercontent {
margin-top: 34rpx; margin-top: 34rpx;
font-size: 36rpx; font-size: 36rpx;
.header { .header {
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.productmodel { .productmodel {
font-size: 24rpx; font-size: 24rpx;
display: inline-block; display: inline-block;
@ -239,6 +244,20 @@
position: relative; position: relative;
padding-bottom: 110rpx; padding-bottom: 110rpx;
.textInfo {
word-break: break-all;
font-size: 29rpx;
text-indent: 2rem;
line-height: 42rpx;
// color: #666666;
padding: 0 20rpx;
/deep/ .richPic {
width: 100% !important;
height: 100% !important;
}
}
.selected { .selected {
padding: 20rpx 0 0 5%; padding: 20rpx 0 0 5%;
color: #969394; color: #969394;
@ -247,9 +266,9 @@
} }
image { image {
margin-top: 20rpx; height: 750rpx;
height: 850rpx;
width: 100%; width: 100%;
background-size: 100%;
} }
} }

View File

@ -60,7 +60,7 @@
bottom:20rpx; bottom:20rpx;
right:5%; right:5%;
} }
.detail { .detailtitle {
position: relative; position: relative;
width: 94%; width: 94%;
height: 100%; height: 100%;

View File

@ -14,9 +14,10 @@
<span>{{list.consumableTotalPrice==null?'0':list.consumableTotalPrice}}</span> <span>{{list.consumableTotalPrice==null?'0':list.consumableTotalPrice}}</span>
<view class="detail" v-for='(item,index) in list.itemConsumableList' :key="index"> <view class="detail" v-for='(item,index) in list.itemConsumableList' :key="index">
·{{item.consumableDetail}} ·{{item.consumableDetail}}
<span>{{item.consumableCount}}{{item.consumableUnit}}/{{item.consumablePrice}}</span>
</view> </view>
</view> </view>
<view class="detail"> <view class="detailtitle">
<view class="Introduction">服务详情:</view> <view class="Introduction">服务详情:</view>
<view class="textInfo" v-html="list.nurseItemContent"> <view class="textInfo" v-html="list.nurseItemContent">
</view> </view>
@ -144,9 +145,7 @@
getlist(stationId, stationItemId, stationItemPriceId) { getlist(stationId, stationItemId, stationItemPriceId) {
getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => { getAppStationItemInfo(stationId, stationItemId, stationItemPriceId).then(res => {
res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/gi, res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/gi,
"<img class='richPic'") "<br/> <img class='richPic'")
// res.data.nurseItemContent = res.data.nurseItemContent.replace(/\<img/,
// "<br/> <img class='richPic'")
res.data.itemPictureUrl = baseurl + res.data.itemPictureUrl res.data.itemPictureUrl = baseurl + res.data.itemPictureUrl
this.list = res.data this.list = res.data
}) })

View File

@ -4,6 +4,26 @@
font-size: 36rpx; font-size: 36rpx;
padding-top: 10rpx; padding-top: 10rpx;
font-size: 34rpx; font-size: 34rpx;
.mask{
position: absolute;
bottom:0;
width: 750rpx;
height: 703rpx;
background: #FFFFFF;
border-radius: 30rpx 30rpx 0px 0px;
display: flex;
justify-content: space-around;
.rateitem{
margin-top:200rpx;
width: 217rpx;
height: 222rpx;
line-height: 222rpx;
text-align: center;
color: #ffffff;
background: #BFBFBF;
border-radius: 25rpx;
}
}
.OrderStatus{ .OrderStatus{
text-align: center; text-align: center;
width: 300rpx; width: 300rpx;
@ -18,13 +38,11 @@
} }
// 服务商家 // 服务商家
.detail { .detail {
margin-top: 3%; margin: 30rpx 0 0 3%;
line-height: 31rpx; line-height: 31rpx;
font-size: 32rpx; font-size: 32rpx;
color: #666666; color: #666666;
line-height: 31rpx; line-height: 31rpx;
margin-left: 3%;
} }
.name { .name {
@ -42,12 +60,9 @@
margin: 0 auto; margin: 0 auto;
font-size: 32rpx; font-size: 32rpx;
position: relative; position: relative;
height: 200rpx; height: 100rpx;
.price{ .price{
position: absolute; line-height: 100rpx;
line-height: 68rpx;
left:0%;
top:50%;
color: red; color: red;
font-size: 46rpx; font-size: 46rpx;
} }
@ -62,6 +77,7 @@
position: absolute; position: absolute;
right:0%; right:0%;
top:50%; top:50%;
transform: translateY(-50%);
} }
} }
@ -93,7 +109,6 @@
/* 耗材包 */ /* 耗材包 */
.Consumablespackage { .Consumablespackage {
width: 95%; width: 95%;
// height: 188rpx;
margin: 20rpx auto; margin: 20rpx auto;
padding: 3% 3% 50rpx; padding: 3% 3% 50rpx;
background: #FFFFFF; background: #FFFFFF;
@ -186,7 +201,7 @@
.model { .model {
position: absolute; position: absolute;
left:35%; left:35%;
top:8%; top:10%;
width: 65%; width: 65%;
.top,.bottom{ .top,.bottom{
view { view {

View File

@ -47,6 +47,7 @@
<span>{{list.consumableTotalPrice}}</span> <span>{{list.consumableTotalPrice}}</span>
<view class="detail" v-for='(item,index) in list.itemConsumableList' :key="index"> <view class="detail" v-for='(item,index) in list.itemConsumableList' :key="index">
·{{item.orderConsumableName}} ·{{item.orderConsumableName}}
<!-- <span style='font-size: 30rpx;'>{{item.orderConsumableCount}}{{item.consumableUnit}}/{{item.orderConsumablePrice}}</span> -->
</view> </view>
</view> </view>
<view class="remarks"> <view class="remarks">
@ -99,7 +100,7 @@
list: {}, list: {},
orderNo: '', orderNo: '',
patientId: '', //id patientId: '', //id
timer:null, timer: null,
} }
}, },
onLoad(options) { onLoad(options) {

View File

@ -1,4 +1,5 @@
.app {
.app {
font-size: 34rpx; font-size: 34rpx;
padding-top: 10rpx; padding-top: 10rpx;
height: 100%; height: 100%;
@ -87,7 +88,7 @@
color: #D43953; color: #D43953;
position: absolute; position: absolute;
right: 5%; right: 5%;
top: 20%; top: 15%;
} }
.user { .user {
@ -248,11 +249,15 @@
} }
} }
.Consumablespackage .money {
top: 8%;
}
/* 耗材包 */ /* 耗材包 */
.Consumablespackage { .Consumablespackage {
width: 94%; width: 94%;
margin: 10rpx auto; margin: 10rpx auto;
padding: 3%; padding: 3% 0 3% 3%;
font-size: 34rpx; font-size: 34rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 20rpx; border-radius: 20rpx;
@ -262,8 +267,25 @@
.detail { .detail {
width: 100%; width: 100%;
line-height: 60rpx; line-height: 100rpx;
margin: 20rpx 0 0 40rpx;
// padding: 20rpx 0 0 40rpx;
/deep/ .u-checkbox {
margin: 40rpx 0 0;
position: relative;
}
span {
width: 100%;
display: inline-block;
font-size: 30rpx;
color: #D43953;
text-align: right;
position: absolute;
right: 5%;
top: 50%;
transform: translateY(-50%);
}
} }
} }
@ -272,7 +294,7 @@
width: 94%; width: 94%;
height: 150rpx; height: 150rpx;
margin: 10rpx auto; margin: 10rpx auto;
padding: 3%; padding: 3% 0 3% 3%;
font-size: 34rpx; font-size: 34rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 20rpx; border-radius: 20rpx;

View File

@ -47,10 +47,11 @@
<text class="money">{{orderlist.consumableTotalPrice}}</text> <text class="money">{{orderlist.consumableTotalPrice}}</text>
<view class="detail"> <view class="detail">
<u-checkbox-group @change="checkboxGroupChange" wrap='true'> <u-checkbox-group @change="checkboxGroupChange" wrap='true'>
<u-checkbox @change="checkboxChange" v-model="item.radio" <u-checkbox @change="checkboxChange(item)" v-model="item.radio"
v-for="(item, index) in orderlist.itemConsumableList" :key="index" v-for="(item, index) in orderlist.itemConsumableList" :key="index"
:name="item.consumableDetail"> :name="item.consumableDetail">
{{item.consumableDetail}} <view style='display: inline-block;'> {{item.consumableDetail}}</view>
<span>{{item.consumableCount}}{{item.consumableUnit}}/{{item.consumablePrice}}</span>
</u-checkbox> </u-checkbox>
</u-checkbox-group> </u-checkbox-group>
</view> </view>
@ -183,6 +184,73 @@
this.getPatientInfo(options.stationId, options.stationItemId, options.stationItemPriceId) this.getPatientInfo(options.stationId, options.stationItemId, options.stationItemPriceId)
}, },
methods: { methods: {
checkboxChange(e) {
if (e.radio) {
this.orderlist.totalPrice = this.argSubtr(this.orderlist.totalPrice, e.consumablePrice)
} else {
this.orderlist.totalPrice = this.argAdd(this.orderlist.totalPrice, e.consumablePrice)
}
},
argAdd(arg1, arg2) {
//
var _this = this,
r1 = 0,
r2 = 0,
m = 0;
try {
r1 = arg1.toString().split(".")[1].length
} catch (e) {}
try {
r2 = arg2.toString().split(".")[1].length
} catch (e) {}
m = Math.pow(10, Math.max(r1, r2))
return _this.argDiv((_this.argMul(arg1, m) + _this.argMul(arg2, m)), m)
},
argSubtr(arg1, arg2) {
//
var _this = this,
r1 = 0,
r2 = 0,
m = 0;
try {
r1 = arg1.toString().split(".")[1].length
} catch (e) {}
try {
r2 = arg2.toString().split(".")[1].length
} catch (e) {}
m = Math.pow(10, Math.max(r1, r2));
return _this.argDiv((_this.argMul(arg1, m) - _this.argMul(arg2, m)), m)
},
argMul(arg1, arg2) {
//
var _this = this,
m = 0,
s1 = arg1.toString(),
s2 = arg2.toString();
try {
m += s1.split(".")[1].length
} catch (e) {}
try {
m += s2.split(".")[1].length
} catch (e) {}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
},
argDiv(arg1, arg2) {
//
var _this = this,
t1 = 0,
t2 = 0,
r1, r2;
try {
t1 = arg1.toString().split(".")[1].length
} catch (e) {}
try {
t2 = arg2.toString().split(".")[1].length
} catch (e) {}
r1 = Number(arg1.toString().replace(".", ""))
r2 = Number(arg2.toString().replace(".", ""))
return _this.argMul((r1 / r2), Math.pow(10, t2 - t1));
},
userinfo() { userinfo() {
//patientId //patientId
var that = this var that = this

View File

@ -3,8 +3,8 @@
<view class="address" v-for="(item,index) in goodPatient" :key="index"> <view class="address" v-for="(item,index) in goodPatient" :key="index">
<view class="addressinfo"> <view class="addressinfo">
<view class="item" @tap='goorder(item)'> <view class="item" @tap='goorder(item)'>
{{item.receiveName}}, {{item.receiveName}},
{{item.receivePhone}} {{item.receivePhone}}
</view> </view>
<view class="item detail" @tap='goorder(item)'> <view class="item detail" @tap='goorder(item)'>
{{item.address}} {{item.address}}
@ -72,6 +72,7 @@
export default { export default {
data() { data() {
return { return {
timer:null,
isedit: true, // isedit: true, //
delshow: false, // delshow: false, //
content: '确认要删除信息吗?', content: '确认要删除信息吗?',
@ -79,7 +80,7 @@
areashow: false, // areashow: false, //
arealist: [], //list arealist: [], //list
areaCode: '', areaCode: '',
shipAddress: '添加收货地址', shipAddress: '添加地址',
infolist: { infolist: {
receiveName: '', receiveName: '',
receivePhone: '', receivePhone: '',
@ -137,6 +138,19 @@
}) })
that.goodPatient = res.data that.goodPatient = res.data
}) })
} else {
that.$refs.uToast.show({
title: '登录状态异常',
type: 'error'
})
if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.navigateBack({
delta: 2
})
}, 1500)
} }
} catch (e) {} } catch (e) {}
// uni.getStorage({ // uni.getStorage({
@ -162,24 +176,24 @@
if (res.code == 200) { if (res.code == 200) {
uni.showToast({ uni.showToast({
title: '新增成功', title: '新增成功',
duration: 1500 duration: 1000
}); });
that.show = false; that.show = false;
setTimeout(e => { setTimeout(e => {
that.goodsList() that.goodsList()
}, 1500) }, 1000)
} }
}) })
} else { } else {
updatenursingStation(that.infolist).then(res => { updatenursingStation(that.infolist).then(res => {
uni.showToast({ uni.showToast({
title: '修改成功', title: '修改成功',
duration: 1500 duration: 1000
}); });
that.show = false; that.show = false;
setTimeout(e => { setTimeout(e => {
that.goodsList() that.goodsList()
}, 1500) }, 1000)
}) })
} }
}, },
@ -218,15 +232,14 @@
delnursingStation(item.id).then(res => { delnursingStation(item.id).then(res => {
uni.showToast({ uni.showToast({
title: '删除成功', title: '删除成功',
duration: 1500, duration: 1000,
}); });
setTimeout(e => { setTimeout(e => {
that.goodsList() that.goodsList()
}, 1500) }, 1000)
that.delshow = false; that.delshow = false;
}) })
} else if (res.cancel) { } else if (res.cancel) {}
}
} }
}); });
}, },

View File

@ -128,12 +128,12 @@
}, },
onShow() { onShow() {
this.usershow = false this.usershow = false
this.getInfo()
this.serveinfo()
this.productinfo()
}, },
onLoad(options) { onLoad(options) {
this.nurseStationId = options.nurseStationId this.nurseStationId = options.nurseStationId
this.getInfo()
this.serveinfo()
this.productinfo()
}, },
methods: { methods: {
goappointments(item) { goappointments(item) {
@ -158,7 +158,8 @@
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/gi,
"<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