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>
<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 class="Purchasecolumn">
<view class="buy" @tap="buyshow=true">
@ -294,6 +296,8 @@
//
goodsDetailsinfo(goodsInfoId) {
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
this.image = res.data[0].goodsPictureUrl
var obj = {

View File

@ -1,51 +1,52 @@
.app {
padding: 0;
.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;
.app {
padding: 0;
.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;
}
}
}
}
.mask {
.PurchasePage {
position: fixed;
@ -70,12 +71,14 @@
padding-bottom: 24rpx;
border-bottom: 1rpx solid #D8D4D4;
position: relative;
.goodsStock{
.goodsStock {
font-size: 24rpx;
position: absolute;
top: 73%;
left: 75%;
}
.price {
color: #D43953;
position: absolute;
@ -138,9 +141,11 @@
.centercontent {
margin-top: 34rpx;
font-size: 36rpx;
.header {
margin-bottom: 20rpx;
}
.productmodel {
font-size: 24rpx;
display: inline-block;
@ -239,6 +244,20 @@
position: relative;
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 {
padding: 20rpx 0 0 5%;
color: #969394;
@ -247,9 +266,9 @@
}
image {
margin-top: 20rpx;
height: 850rpx;
height: 750rpx;
width: 100%;
background-size: 100%;
}
}

View File

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

View File

@ -14,9 +14,10 @@
<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 class="detail">
<view class="detailtitle">
<view class="Introduction">服务详情:</view>
<view class="textInfo" v-html="list.nurseItemContent">
</view>
@ -144,9 +145,7 @@
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'")
"<br/> <img class='richPic'")
res.data.itemPictureUrl = baseurl + res.data.itemPictureUrl
this.list = res.data
})

View File

@ -4,6 +4,26 @@
font-size: 36rpx;
padding-top: 10rpx;
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{
text-align: center;
width: 300rpx;
@ -18,13 +38,11 @@
}
// 服务商家
.detail {
margin-top: 3%;
margin: 30rpx 0 0 3%;
line-height: 31rpx;
font-size: 32rpx;
color: #666666;
line-height: 31rpx;
margin-left: 3%;
}
.name {
@ -42,12 +60,9 @@
margin: 0 auto;
font-size: 32rpx;
position: relative;
height: 200rpx;
height: 100rpx;
.price{
position: absolute;
line-height: 68rpx;
left:0%;
top:50%;
line-height: 100rpx;
color: red;
font-size: 46rpx;
}
@ -62,6 +77,7 @@
position: absolute;
right:0%;
top:50%;
transform: translateY(-50%);
}
}
@ -93,7 +109,6 @@
/* 耗材包 */
.Consumablespackage {
width: 95%;
// height: 188rpx;
margin: 20rpx auto;
padding: 3% 3% 50rpx;
background: #FFFFFF;
@ -186,7 +201,7 @@
.model {
position: absolute;
left:35%;
top:8%;
top:10%;
width: 65%;
.top,.bottom{
view {

View File

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

View File

@ -1,4 +1,5 @@
.app {
.app {
font-size: 34rpx;
padding-top: 10rpx;
height: 100%;
@ -87,7 +88,7 @@
color: #D43953;
position: absolute;
right: 5%;
top: 20%;
top: 15%;
}
.user {
@ -248,11 +249,15 @@
}
}
.Consumablespackage .money {
top: 8%;
}
/* 耗材包 */
.Consumablespackage {
width: 94%;
margin: 10rpx auto;
padding: 3%;
padding: 3% 0 3% 3%;
font-size: 34rpx;
background: #FFFFFF;
border-radius: 20rpx;
@ -262,8 +267,25 @@
.detail {
width: 100%;
line-height: 60rpx;
margin: 20rpx 0 0 40rpx;
line-height: 100rpx;
// 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%;
height: 150rpx;
margin: 10rpx auto;
padding: 3%;
padding: 3% 0 3% 3%;
font-size: 34rpx;
background: #FFFFFF;
border-radius: 20rpx;

View File

@ -47,10 +47,11 @@
<text class="money">{{orderlist.consumableTotalPrice}}</text>
<view class="detail">
<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"
: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-group>
</view>
@ -183,6 +184,73 @@
this.getPatientInfo(options.stationId, options.stationItemId, options.stationItemPriceId)
},
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() {
//patientId
var that = this

View File

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

View File

@ -128,12 +128,12 @@
},
onShow() {
this.usershow = false
this.getInfo()
this.serveinfo()
this.productinfo()
},
onLoad(options) {
this.nurseStationId = options.nurseStationId
this.getInfo()
this.serveinfo()
this.productinfo()
},
methods: {
goappointments(item) {
@ -158,7 +158,8 @@
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/gi,
"<br/><img class='richPic'")
this.list = res.data
if (res.data.nurseStationLabelList) {
this.nurseStationLabelList = res.data.nurseStationLabelList