121 changed files with 5 additions and 9351 deletions
@ -1,6 +0,0 @@ |
|||||||
{ |
|
||||||
"component": true, |
|
||||||
"usingComponents": { |
|
||||||
"van-popup": "@vant/weapp/popup/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,95 +0,0 @@ |
|||||||
.from { |
|
||||||
padding: 48rpx 40rpx; |
|
||||||
width: 650rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
background: linear-gradient(349deg, #ffffff 0%, #e2f1f4 100%); |
|
||||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
|
||||||
border: 2rpx solid #ffffff; |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #283031; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.date { |
|
||||||
margin-top: 24rpx; |
|
||||||
padding: 14rpx 32rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
background-color: #f2f4f5; |
|
||||||
border-radius: 16rpx; |
|
||||||
|
|
||||||
.conetent { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #283031; |
|
||||||
} |
|
||||||
.tril { |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
border-style: solid; |
|
||||||
border-width: 10rpx 10rpx 0 10rpx; |
|
||||||
border-color: #aeb3b4 transparent transparent transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
.select-title { |
|
||||||
margin-top: 48rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #283031; |
|
||||||
font-weight: bold; |
|
||||||
.sub { |
|
||||||
font-weight: normal; |
|
||||||
} |
|
||||||
} |
|
||||||
.list { |
|
||||||
margin-top: 26rpx; |
|
||||||
max-height: 55vh; |
|
||||||
overflow-y: auto; |
|
||||||
&::-webkit-scrollbar{ |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.item { |
|
||||||
margin-bottom: 16rpx; |
|
||||||
padding: 14rpx 32rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #283031; |
|
||||||
line-height: 48rpx; |
|
||||||
background-color: #f2f4f5; |
|
||||||
border: 1px solid #f2f4f5; |
|
||||||
border-radius: 16rpx; |
|
||||||
&.active { |
|
||||||
border-color: #67baca; |
|
||||||
background-color: #e7f5f8; |
|
||||||
color: #67baca; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.footer { |
|
||||||
margin-top: 32rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
gap: 26rpx; |
|
||||||
text-align: center; |
|
||||||
.cancel { |
|
||||||
flex: 1; |
|
||||||
height: 80rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #67BACA; |
|
||||||
line-height: 80rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 98rpx 98rpx 98rpx 98rpx; |
|
||||||
border: 2rpx solid #67baca; |
|
||||||
} |
|
||||||
|
|
||||||
.submit { |
|
||||||
flex: 1; |
|
||||||
height: 80rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #FFFFFF; |
|
||||||
line-height: 80rpx; |
|
||||||
background: #67baca; |
|
||||||
border-radius: 98rpx 98rpx 98rpx 98rpx; |
|
||||||
border: 2rpx solid #67baca; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,139 +0,0 @@ |
|||||||
import dayjs from 'dayjs' |
|
||||||
|
|
||||||
const _app = getApp<IAppOption>() |
|
||||||
|
|
||||||
// pages/story/a.ts
|
|
||||||
Component({ |
|
||||||
/** |
|
||||||
* 组件的属性列表 |
|
||||||
*/ |
|
||||||
properties: { |
|
||||||
show: { |
|
||||||
type: Boolean, |
|
||||||
value: false, |
|
||||||
}, |
|
||||||
params: { |
|
||||||
type: Object, |
|
||||||
value: undefined, |
|
||||||
}, |
|
||||||
}, |
|
||||||
|
|
||||||
observers: { |
|
||||||
show() { |
|
||||||
if (this.data.params) { |
|
||||||
this.setData({ |
|
||||||
...this.data.params, |
|
||||||
}) |
|
||||||
this.handleDateChange() |
|
||||||
} else { |
|
||||||
this.setData({ |
|
||||||
visitDateName: '', |
|
||||||
visitDate: '', |
|
||||||
hormone: 2, |
|
||||||
traditionalInhibitor: 2, |
|
||||||
gammaGlobulin: 2, |
|
||||||
plasmaExchange: 2, |
|
||||||
bCellInhibitor: 2, |
|
||||||
fcRnAntagonists: 2, |
|
||||||
c5ComplementInhibitor: 2, |
|
||||||
chineseMedicine: 2, |
|
||||||
other: 2, |
|
||||||
recordId: '', |
|
||||||
}) |
|
||||||
} |
|
||||||
}, |
|
||||||
}, |
|
||||||
data: { |
|
||||||
currentDate: dayjs().format('YYYY-MM-DD'), |
|
||||||
|
|
||||||
visitDateName: '', |
|
||||||
visitDate: '', |
|
||||||
hormone: 2, |
|
||||||
traditionalInhibitor: 2, |
|
||||||
gammaGlobulin: 2, |
|
||||||
plasmaExchange: 2, |
|
||||||
bCellInhibitor: 2, |
|
||||||
fcRnAntagonists: 2, |
|
||||||
c5ComplementInhibitor: 2, |
|
||||||
chineseMedicine: 2, |
|
||||||
other: 2, |
|
||||||
recordId: '', |
|
||||||
}, |
|
||||||
|
|
||||||
methods: { |
|
||||||
handleDateChange() { |
|
||||||
this.setData({ |
|
||||||
visitDateName: dayjs(this.data.visitDate).format('YYYY年MM月DD日'), |
|
||||||
}) |
|
||||||
}, |
|
||||||
handleSelect(e) { |
|
||||||
const { name } = e.currentTarget.dataset |
|
||||||
const value = this.data[name] |
|
||||||
this.setData({ |
|
||||||
[name]: value === 2 ? 1 : 2, |
|
||||||
}) |
|
||||||
}, |
|
||||||
submit() { |
|
||||||
const { visitDate, recordId } = this.data |
|
||||||
const params = { |
|
||||||
visitDate, |
|
||||||
recordId, |
|
||||||
} |
|
||||||
if(!visitDate){ |
|
||||||
wx.showToast({ |
|
||||||
title: '请选择复诊日期', |
|
||||||
icon: 'none', |
|
||||||
}) |
|
||||||
return |
|
||||||
} |
|
||||||
const selectKeys = [ |
|
||||||
'hormone', |
|
||||||
'traditionalInhibitor', |
|
||||||
'gammaGlobulin', |
|
||||||
'plasmaExchange', |
|
||||||
'bCellInhibitor', |
|
||||||
'fcRnAntagonists', |
|
||||||
'c5ComplementInhibitor', |
|
||||||
'chineseMedicine', |
|
||||||
'other', |
|
||||||
] |
|
||||||
selectKeys.forEach((item) => { |
|
||||||
params[item] = this.data[item] |
|
||||||
}) |
|
||||||
const onlySelect = selectKeys.some((item) => { |
|
||||||
return this.data[item] === 1 |
|
||||||
}) |
|
||||||
if (!onlySelect) { |
|
||||||
wx.showToast({ |
|
||||||
title: '请至少选择一种复诊后的方案', |
|
||||||
icon: 'none', |
|
||||||
}) |
|
||||||
return |
|
||||||
} |
|
||||||
wx.ajax({ |
|
||||||
method: 'POST', |
|
||||||
url: '?r=xd/re-visit/save-record', |
|
||||||
data: params, |
|
||||||
}).then(() => { |
|
||||||
if (recordId) { |
|
||||||
wx.showToast({ |
|
||||||
icon: 'none', |
|
||||||
title: '编辑成功', |
|
||||||
}) |
|
||||||
} else { |
|
||||||
wx.showToast({ |
|
||||||
icon: 'none', |
|
||||||
title: '添加成功', |
|
||||||
}) |
|
||||||
} |
|
||||||
this.handleCancel() |
|
||||||
this.triggerEvent('refresh', params) |
|
||||||
}) |
|
||||||
}, |
|
||||||
handleCancel() { |
|
||||||
this.setData({ |
|
||||||
show: false, |
|
||||||
}) |
|
||||||
}, |
|
||||||
}, |
|
||||||
}) |
|
||||||
@ -1,52 +0,0 @@ |
|||||||
<van-popup custom-style="background: transparent;" round z-index="{{100000}}" show="{{ show }}"> |
|
||||||
<view class="from"> |
|
||||||
<view class="title">您上一次复诊时间?</view> |
|
||||||
<picker mode="date" model:value="{{visitDate}}" end="{{currentDate}}" bind:change="handleDateChange"> |
|
||||||
<view class="date"> |
|
||||||
<view class="content">{{visitDateName||'请选择'}}</view> |
|
||||||
<view class="tril"></view> |
|
||||||
</view> |
|
||||||
</picker> |
|
||||||
<view class="select-title"> |
|
||||||
您复诊后的方案是? |
|
||||||
<text class="sub">(多选)</text> |
|
||||||
</view> |
|
||||||
<view class="list"> |
|
||||||
<view bind:tap="handleSelect" data-name="hormone" class="item {{hormone===1 && 'active'}}">1.激素</view> |
|
||||||
<view |
|
||||||
bind:tap="handleSelect" |
|
||||||
data-name="traditionalInhibitor" |
|
||||||
class="item {{traditionalInhibitor===1 && 'active'}}" |
|
||||||
> |
|
||||||
2.传统免疫抑制剂(如他克莫司、吗 替麦考酚酯等) |
|
||||||
</view> |
|
||||||
<view bind:tap="handleSelect" data-name="gammaGlobulin" class="item {{gammaGlobulin===1 && 'active'}}"> |
|
||||||
3.静脉输注丙种球蛋白 |
|
||||||
</view> |
|
||||||
<view bind:tap="handleSelect" data-name="plasmaExchange" class="item {{plasmaExchange===1 && 'active'}}"> |
|
||||||
4.血浆置换 |
|
||||||
</view> |
|
||||||
<view bind:tap="handleSelect" data-name="bCellInhibitor" class="item {{bCellInhibitor===1 && 'active'}}"> |
|
||||||
5.B细胞抑制剂(如:利妥昔单抗、泰 它西普、伊奈利珠单抗) |
|
||||||
</view> |
|
||||||
<view bind:tap="handleSelect" data-name="fcRnAntagonists" class="item {{fcRnAntagonists===1 && 'active'}}"> |
|
||||||
6.FcRn拮抗剂(如:艾加莫德) |
|
||||||
</view> |
|
||||||
<view |
|
||||||
bind:tap="handleSelect" |
|
||||||
data-name="c5ComplementInhibitor" |
|
||||||
class="item {{c5ComplementInhibitor===1 && 'active'}}" |
|
||||||
> |
|
||||||
7.C5补体抑制剂(如:依库珠单抗) |
|
||||||
</view> |
|
||||||
<view bind:tap="handleSelect" data-name="chineseMedicine" class="item {{chineseMedicine===1 && 'active'}}"> |
|
||||||
8.中药或中成药 |
|
||||||
</view> |
|
||||||
<view bind:tap="handleSelect" data-name="other" class="item {{other===1 && 'active'}}">9.其他</view> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="cancel" bind:tap="handleCancel">取消</view> |
|
||||||
<view class="submit" bind:tap="submit">确定</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</van-popup> |
|
||||||
@ -1,6 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "确认订单", |
|
||||||
"usingComponents": { |
|
||||||
"van-icon": "@vant/weapp/icon/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,184 +0,0 @@ |
|||||||
.page { |
|
||||||
padding: 34rpx 40rpx; |
|
||||||
.site { |
|
||||||
padding: 40rpx 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.wrap { |
|
||||||
.title { |
|
||||||
.label { |
|
||||||
width: 72rpx; |
|
||||||
height: 36rpx; |
|
||||||
border: 1rpx solid #e04775; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #e04775; |
|
||||||
text-align: center; |
|
||||||
border-radius: 10rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
} |
|
||||||
.name { |
|
||||||
margin-top: -42rpx; |
|
||||||
text-indent: 80rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
line-height: 46rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
min-width: 0; |
|
||||||
overflow: hidden; |
|
||||||
text-overflow: ellipsis; |
|
||||||
display: -webkit-box; |
|
||||||
-webkit-line-clamp: 2; |
|
||||||
-webkit-box-orient: vertical; |
|
||||||
&.no-indent { |
|
||||||
margin-top: 0; |
|
||||||
text-indent: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 0; |
|
||||||
margin-top: 12rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
} |
|
||||||
} |
|
||||||
.more { |
|
||||||
flex-shrink: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
.shop { |
|
||||||
margin-top: 16px; |
|
||||||
padding: 40rpx 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
.shop-header { |
|
||||||
padding-bottom: 10px; |
|
||||||
display: flex; |
|
||||||
.shop-img { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 204rpx; |
|
||||||
height: 204rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
padding-top: 8rpx; |
|
||||||
flex: 1; |
|
||||||
padding-left: 24rpx; |
|
||||||
.name { |
|
||||||
font-size: 32rpx; |
|
||||||
font-weight: bold; |
|
||||||
color: #3f3f3f; |
|
||||||
line-height: 44rpx; |
|
||||||
min-width: 0; |
|
||||||
overflow: hidden; |
|
||||||
text-overflow: ellipsis; |
|
||||||
display: -webkit-box; |
|
||||||
-webkit-line-clamp: 2; |
|
||||||
-webkit-box-orient: vertical; |
|
||||||
} |
|
||||||
.specification { |
|
||||||
margin-top: 8rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
} |
|
||||||
.price { |
|
||||||
margin-top: 14rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.num { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
} |
|
||||||
.sub { |
|
||||||
font-size: 22rpx; |
|
||||||
} |
|
||||||
.val { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.row { |
|
||||||
margin-top: 32rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.label { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
} |
|
||||||
.content { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
&.yellow { |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
.sub { |
|
||||||
font-size: 22rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.remark { |
|
||||||
margin-top: 16px; |
|
||||||
padding: 40rpx 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.textarea { |
|
||||||
margin-top: 10rpx; |
|
||||||
padding: 24rpx 32rpx; |
|
||||||
background-color: #fafafa; |
|
||||||
min-height: 196rpx; |
|
||||||
border-radius: 16rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
} |
|
||||||
} |
|
||||||
.footer { |
|
||||||
padding: 24rpx 48rpx 48rpx; |
|
||||||
position: fixed; |
|
||||||
bottom: 0; |
|
||||||
left: 0; |
|
||||||
width: 100vw; |
|
||||||
box-sizing: border-box; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
height: 168rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 0, 0, 0.26); |
|
||||||
.price { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
.num { |
|
||||||
font-size: 40rpx; |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
.sub { |
|
||||||
font-size: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.submit { |
|
||||||
width: 260rpx; |
|
||||||
height: 96rpx; |
|
||||||
background: #e04775; |
|
||||||
border-radius: 48rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 96rpx; |
|
||||||
color: #fff; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,86 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
id: "", |
|
||||||
detail: {}, |
|
||||||
select: false, |
|
||||||
addressDetail: {} as any, |
|
||||||
remark: "", |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
this.setData({ |
|
||||||
id: options.id, |
|
||||||
}); |
|
||||||
}, |
|
||||||
onShow() { |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getDetail(); |
|
||||||
if (!this.data.select) { |
|
||||||
this.getDefaultAddress(); |
|
||||||
} else { |
|
||||||
this.setData({ |
|
||||||
select: false, |
|
||||||
}); |
|
||||||
} |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDefaultAddress() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-address/get-default-address", |
|
||||||
data: {}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
addressDetail: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/gift-order/get-order-detail", |
|
||||||
data: { |
|
||||||
orderId: this.data.id, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
detail: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSite() { |
|
||||||
if (this.data.addressDetail) { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/gift/pages/siteList/index", |
|
||||||
}); |
|
||||||
} else { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/gift/pages/siteEdit/index", |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
handleSubmit() { |
|
||||||
if (!this.data.addressDetail?.addressId) { |
|
||||||
wx.showToast({ |
|
||||||
icon: "none", |
|
||||||
title: "请选择地址", |
|
||||||
}); |
|
||||||
return; |
|
||||||
} |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/gift-order/confirm-order", |
|
||||||
data: { |
|
||||||
orderId: this.data.id, |
|
||||||
addressId: this.data.addressDetail.addressId, |
|
||||||
remark: this.data.remark, |
|
||||||
}, |
|
||||||
loading: true, |
|
||||||
}).then(() => { |
|
||||||
wx.reLaunch({ |
|
||||||
url: `/gift/pages/orderEnd/index?id=${this.data.id}`, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,56 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view class="site" bind:tap="handleSite"> |
|
||||||
<view class="wrap"> |
|
||||||
<block wx:if="{{addressDetail}}"> |
|
||||||
<view class="title"> |
|
||||||
<view class="label" wx:if="{{addressDetail.isDefault==1}}">默认</view> |
|
||||||
<view class="name {{addressDetail.isDefault!=1 && 'no-indent'}}"> |
|
||||||
{{addressDetail.provinceName}}{{addressDetail.cityName}}{{addressDetail.countyName}}{{addressDetail.address}} |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="content">{{addressDetail.receiveUserName}} {{addressDetail.receiveTelephone}}</view> |
|
||||||
</block> |
|
||||||
<view class="title" wx:else>请添加收货地址</view> |
|
||||||
</view> |
|
||||||
<van-icon class="more" name="arrow" /> |
|
||||||
</view> |
|
||||||
<view class="shop"> |
|
||||||
<view class="shop-header"> |
|
||||||
<image class="shop-img" src="{{detail.giftBigImg}}"></image> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="name">{{detail.giftName}}</view> |
|
||||||
<view class="specification" wx:if="{{detail.specName}}">规格:{{detail.specName}}</view> |
|
||||||
<view class="price"> |
|
||||||
<view class="num">{{detail.giftScore}}<text class="sub">能量</text></view> |
|
||||||
<view class="val">x{{detail.orderCount}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">礼品总价</view> |
|
||||||
<view class="content yellow">{{detail.orderScore}}<text class="sub">能量</text></view> |
|
||||||
</view> |
|
||||||
<view class="row" > |
|
||||||
<view class="label">配送方式</view> |
|
||||||
<view class="content" style="font-weight:normal">快递配送</view> |
|
||||||
</view> |
|
||||||
<view class="row" > |
|
||||||
<view class="label">商家电话</view> |
|
||||||
<view class="content" style="font-weight:normal">{{detail.serviceTel}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="remark"> |
|
||||||
<view class="title">留言</view> |
|
||||||
<textarea class="textarea" model:value="{{remark}}" placeholder="请输入留言" auto-height></textarea> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="price"> |
|
||||||
共{{detail.orderCount}}件 |
|
||||||
<view> |
|
||||||
合计消耗 |
|
||||||
<text class="num">{{detail.orderScore}}<text class="sub">能量</text></text> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="submit" bind:tap="handleSubmit">提交订单</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "皮下剂型", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,63 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f7f6f7; |
|
||||||
} |
|
||||||
.page { |
|
||||||
.page1 { |
|
||||||
height: 869rpx; |
|
||||||
} |
|
||||||
.page2 { |
|
||||||
position: relative; |
|
||||||
height: 630rpx; |
|
||||||
.mg-video { |
|
||||||
position: absolute; |
|
||||||
top: 290rpx; |
|
||||||
right: 60rpx; |
|
||||||
width: 600rpx; |
|
||||||
height: 288rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.page3 { |
|
||||||
position: relative; |
|
||||||
height: 782rpx; |
|
||||||
.cidp-mask { |
|
||||||
position: absolute; |
|
||||||
top: 174rpx; |
|
||||||
right: 30rpx; |
|
||||||
z-index: 1; |
|
||||||
width: 74rpx; |
|
||||||
height: 304rpx; |
|
||||||
} |
|
||||||
.cidp-list { |
|
||||||
position: absolute; |
|
||||||
top: 184rpx; |
|
||||||
right: 30rpx; |
|
||||||
width: 632rpx; |
|
||||||
height: 288rpx; |
|
||||||
overflow-x: auto; |
|
||||||
overflow-y: hidden; |
|
||||||
display: flex; |
|
||||||
gap: 16rpx; |
|
||||||
.cidp-item { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 216rpx; |
|
||||||
height: 288rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.page4 { |
|
||||||
height: 302rpx; |
|
||||||
} |
|
||||||
.page5 { |
|
||||||
height: 306rpx; |
|
||||||
} |
|
||||||
.page6 { |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
height: 574rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
#video { |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
} |
|
||||||
@ -1,65 +0,0 @@ |
|||||||
const _app = getApp<IAppOption>() |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
mg: [ |
|
||||||
{ |
|
||||||
url: 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20241129469_MG%E4%B8%93%E5%8C%BA%E8%A7%86%E9%A2%9101.mp4', |
|
||||||
}, |
|
||||||
], |
|
||||||
cidp: [ |
|
||||||
{ |
|
||||||
url: 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20241129233_CIDP%E4%B8%93%E5%8C%BA%E8%A7%86%E9%A2%9101.mp4', |
|
||||||
}, |
|
||||||
{ |
|
||||||
url: 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20241129667_CIDP%E4%B8%93%E5%8C%BA%E8%A7%86%E9%A2%9103.mp4', |
|
||||||
}, |
|
||||||
{ |
|
||||||
url: 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20241129630_CIDP%E8%A7%86%E9%A2%91%E4%B8%93%E5%8C%BA02.mp4', |
|
||||||
}, |
|
||||||
{ |
|
||||||
url: 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20241129281_CIDP%E4%B8%93%E5%8C%BA%E8%A7%86%E9%A2%9104.mp4', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
videoContext: null as WechatMiniprogram.VideoContext | null, |
|
||||||
onLoad() { |
|
||||||
this.videoContext = wx.createVideoContext('video') |
|
||||||
}, |
|
||||||
onUnload() { |
|
||||||
if (this.videoContext) { |
|
||||||
this.videoContext.stop() |
|
||||||
} |
|
||||||
}, |
|
||||||
handleVideo(e: any) { |
|
||||||
const { key, index } = e.currentTarget.dataset |
|
||||||
const url = this.data[key][index].url |
|
||||||
if (this.videoContext) { |
|
||||||
this.setData({ |
|
||||||
videoUrl: url, |
|
||||||
}) |
|
||||||
this.videoContext.play() |
|
||||||
this.videoContext.requestFullScreen({ |
|
||||||
direction: 0, |
|
||||||
}) |
|
||||||
} |
|
||||||
}, |
|
||||||
handleFullScreen(e) { |
|
||||||
if (!e.detail.fullScreen && this.videoContext) { |
|
||||||
this.videoContext.stop() |
|
||||||
} |
|
||||||
}, |
|
||||||
handleDetail(e: any) { |
|
||||||
const { id } = e.currentTarget.dataset |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/cutaneousDetail/index?id=${id}`, |
|
||||||
}) |
|
||||||
}, |
|
||||||
handleVideoDetail() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/cutaneousVideo/index`, |
|
||||||
}) |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export {} |
|
||||||
@ -1,82 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view |
|
||||||
class="page1" |
|
||||||
style="background: url({{imageUrl}}za-images//cutaneous/home1.png?t={{Timestamp}}) no-repeat top center/100%;" |
|
||||||
></view> |
|
||||||
|
|
||||||
<view |
|
||||||
class="page2" |
|
||||||
style="background: url({{imageUrl}}za-images//cutaneous/home2.png?t={{Timestamp}}) no-repeat top center/100%;" |
|
||||||
bind:tap="handleDetail" |
|
||||||
data-id="2" |
|
||||||
> |
|
||||||
<image |
|
||||||
class="mg-video" |
|
||||||
src="{{imageUrl}}za-images//cutaneous/video1-1.png?t={{Timestamp}}" |
|
||||||
data-key="mg" |
|
||||||
data-index="0" |
|
||||||
catch:tap="handleVideo" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
<view |
|
||||||
class="page3" |
|
||||||
style="background: url({{imageUrl}}za-images//cutaneous/home3.png?t={{Timestamp}}) no-repeat top center/100%;" |
|
||||||
bind:tap="handleDetail" |
|
||||||
data-id="3" |
|
||||||
> |
|
||||||
<image class="cidp-mask" src="{{imageUrl}}za-images//cutaneous/cidp-mask.png?t={{Timestamp}}"></image> |
|
||||||
<view class="cidp-list"> |
|
||||||
<image |
|
||||||
class="cidp-item" |
|
||||||
src="{{imageUrl}}za-images//cutaneous/video2-1.png?t={{Timestamp}}" |
|
||||||
data-key="cidp" |
|
||||||
data-index="0" |
|
||||||
catch:tap="handleVideo" |
|
||||||
></image> |
|
||||||
<image |
|
||||||
class="cidp-item" |
|
||||||
src="{{imageUrl}}za-images//cutaneous/video2-2.png?t={{Timestamp}}" |
|
||||||
data-key="cidp" |
|
||||||
data-index="1" |
|
||||||
catch:tap="handleVideo" |
|
||||||
></image> |
|
||||||
<image |
|
||||||
class="cidp-item" |
|
||||||
src="{{imageUrl}}za-images//cutaneous/video2-3.png?t={{Timestamp}}" |
|
||||||
data-key="cidp" |
|
||||||
data-index="2" |
|
||||||
catch:tap="handleVideo" |
|
||||||
></image> |
|
||||||
<image |
|
||||||
class="cidp-item" |
|
||||||
src="{{imageUrl}}za-images//cutaneous/video2-4.png?t={{Timestamp}}" |
|
||||||
data-key="cidp" |
|
||||||
data-index="3" |
|
||||||
catch:tap="handleVideo" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view |
|
||||||
class="page4" |
|
||||||
style="background: url({{imageUrl}}za-images//cutaneous/home4.png?t={{Timestamp}}) no-repeat top center/100%;" |
|
||||||
bind:tap="handleDetail" |
|
||||||
data-id="4" |
|
||||||
></view> |
|
||||||
<view |
|
||||||
class="page5" |
|
||||||
style="background: url({{imageUrl}}za-images//cutaneous/home5.png?t={{Timestamp}}) no-repeat top center/100%;" |
|
||||||
bind:tap="handleDetail" |
|
||||||
data-id="5" |
|
||||||
></view> |
|
||||||
<image class="page6" bind:tap="handleVideoDetail" src="{{imageUrl}}za-images//cutaneous/home6.png?t={{Timestamp}}"></image> |
|
||||||
</view> |
|
||||||
|
|
||||||
<video |
|
||||||
id="video" |
|
||||||
src="{{videoUrl}}" |
|
||||||
loop |
|
||||||
show-play-btn |
|
||||||
play-btn-position="center" |
|
||||||
enable-play-gesture |
|
||||||
bindfullscreenchange="handleFullScreen" |
|
||||||
></video> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "皮下剂型", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,11 +0,0 @@ |
|||||||
.page { |
|
||||||
.card { |
|
||||||
width: 100%; |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
#video { |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
} |
|
||||||
@ -1,26 +0,0 @@ |
|||||||
const _app = getApp<IAppOption>() |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
list: { |
|
||||||
2: ['2-1', '2-2', '2-3', '2-4'], |
|
||||||
3: ['3-1', '3-2', '3-3', '3-4', '3-5'], |
|
||||||
4: ['4-1', '4-2'], |
|
||||||
5: ['5-1', '5-2', '5-3', '5-4', '5-5'], |
|
||||||
}, |
|
||||||
curentList: [] as any, |
|
||||||
}, |
|
||||||
onLoad(e) { |
|
||||||
if (e.id) { |
|
||||||
this.setData({ |
|
||||||
curentList: this.data.list[e.id], |
|
||||||
}) |
|
||||||
} else { |
|
||||||
this.setData({ |
|
||||||
curentList: this.data.list[2], |
|
||||||
}) |
|
||||||
} |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export {} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<image |
|
||||||
class="card" |
|
||||||
mode="widthFix" |
|
||||||
wx:for="{{curentList}}" |
|
||||||
wx:key="index" |
|
||||||
src="{{imageUrl}}za-images//cutaneous/{{item}}.png?t={{Timestamp}}" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "皮下剂型", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,36 +0,0 @@ |
|||||||
page { |
|
||||||
background: linear-gradient(218deg, #e8bbe7 0%, #ffedf6 26%, #ffedf6 100%); |
|
||||||
} |
|
||||||
.page { |
|
||||||
padding: 408rpx 40rpx 0; |
|
||||||
.container { |
|
||||||
padding: 40rpx 32rpx 42rpx; |
|
||||||
background-color: #fff; |
|
||||||
border-radius: 32rpx; |
|
||||||
.content { |
|
||||||
font-size: 32rpx; |
|
||||||
line-height: 2; |
|
||||||
color: #002b48; |
|
||||||
} |
|
||||||
.tip { |
|
||||||
margin-top: 28rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: rgba(87,87,87,0.5); |
|
||||||
} |
|
||||||
} |
|
||||||
.btn { |
|
||||||
margin-top: 42rpx; |
|
||||||
height: 92rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #FFFFFF; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
background: linear-gradient(90deg, #dd406a 0%, #9039b0 100%); |
|
||||||
border-radius: 112rpx 112rpx 112rpx 112rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
#video { |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
} |
|
||||||
@ -1,29 +0,0 @@ |
|||||||
Page({ |
|
||||||
data: { |
|
||||||
videoUrl: 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20241214185_1.mp4', |
|
||||||
}, |
|
||||||
videoContext: null as WechatMiniprogram.VideoContext | null, |
|
||||||
onLoad() { |
|
||||||
this.videoContext = wx.createVideoContext('video') |
|
||||||
}, |
|
||||||
onUnload() { |
|
||||||
if (this.videoContext) { |
|
||||||
this.videoContext.stop() |
|
||||||
} |
|
||||||
}, |
|
||||||
handleVideo() { |
|
||||||
if (this.videoContext) { |
|
||||||
this.videoContext.play() |
|
||||||
this.videoContext.requestFullScreen({ |
|
||||||
direction: 0, |
|
||||||
}) |
|
||||||
} |
|
||||||
}, |
|
||||||
handleFullScreen(e) { |
|
||||||
if (!e.detail.fullScreen && this.videoContext) { |
|
||||||
this.videoContext.stop() |
|
||||||
} |
|
||||||
}, |
|
||||||
}) |
|
||||||
|
|
||||||
export {} |
|
||||||
@ -1,16 +0,0 @@ |
|||||||
<view |
|
||||||
class="page" |
|
||||||
style="background: url({{imageUrl}}za-images/cutaneous/video-bg.png?t={{Timestamp}}) no-repeat 0 60rpx/100% 648rpx;" |
|
||||||
> |
|
||||||
<view class="container"> |
|
||||||
<view class="content"> |
|
||||||
本视频仅用于专业医护人员或艾加莫德a注射液(皮下注射)已处方患者(或其护理者)在接受充分的皮下注射技术培训后自行注射艾加莫德a注射液(皮下注射); |
|
||||||
本指导视频并不构成专业医疗建议、诊断或治疗的依据,请按照说明书并遵医嘱使用,切勿仅依赖本视频内容。 |
|
||||||
</view> |
|
||||||
<view class="tip">*在观看视频前请阅读声明并确认您的身份</view> |
|
||||||
</view> |
|
||||||
<view class="btn btn1" bind:tap="handleVideo">我是专业医护人员</view> |
|
||||||
<view class="btn btn2" bind:tap="handleVideo">我是卫力迦已处方患者(或其护理者)</view> |
|
||||||
</view> |
|
||||||
|
|
||||||
<video id="video" src="{{videoUrl}}" loop show-play-btn play-btn-position="center" enable-play-gesture bindfullscreenchange="handleFullScreen"></video> |
|
||||||
@ -1,7 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "礼品详情", |
|
||||||
"usingComponents": { |
|
||||||
"van-stepper": "@vant/weapp/stepper/index", |
|
||||||
"toast": "/components/toast/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,185 +0,0 @@ |
|||||||
.page { |
|
||||||
background-color: #f9f9f9; |
|
||||||
padding-bottom: 400rpx; |
|
||||||
.banner { |
|
||||||
width: 100%; |
|
||||||
.banner-img { |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
height: 562rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.container { |
|
||||||
padding: 30rpx 40rpx; |
|
||||||
.price { |
|
||||||
display: flex; |
|
||||||
align-items: baseline; |
|
||||||
.num { |
|
||||||
font-size: 56rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.sub { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
} |
|
||||||
.title { |
|
||||||
margin-top: 22rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
line-height: 48rpx; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.list { |
|
||||||
margin-top: 24rpx; |
|
||||||
padding: 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
.list-title { |
|
||||||
padding-bottom: 16rpx; |
|
||||||
position: relative; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
&::before { |
|
||||||
content: ""; |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
left: -32rpx; |
|
||||||
width: 12rpx; |
|
||||||
height: 44rpx; |
|
||||||
background: #e04775; |
|
||||||
border-radius: 0rpx 8rpx 8rpx 0rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.list-img { |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.footer { |
|
||||||
padding: 30rpx 40rpx 40rpx; |
|
||||||
position: fixed; |
|
||||||
bottom: 0; |
|
||||||
left: 0; |
|
||||||
width: 100vw; |
|
||||||
box-sizing: border-box; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 0, 0, 0.26); |
|
||||||
.options { |
|
||||||
padding-bottom: 25rpx; |
|
||||||
.row { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.label { |
|
||||||
margin-right: 24rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
} |
|
||||||
.radios { |
|
||||||
display: flex; |
|
||||||
overflow: auto; |
|
||||||
&::-webkit-scrollbar { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.radio { |
|
||||||
margin-right: 16rpx; |
|
||||||
border-radius: 8rpx; |
|
||||||
border: 1px solid #d0d0d0; |
|
||||||
line-height: 40rpx; |
|
||||||
padding: 0 20rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #aaaaaa; |
|
||||||
white-space: nowrap; |
|
||||||
&.active { |
|
||||||
background-color: #e04775; |
|
||||||
border-color: #e04775; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.stepper { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.custom-class { |
|
||||||
border: 1px solid #e5e5e5; |
|
||||||
border-radius: 8rpx; |
|
||||||
} |
|
||||||
.input-class { |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
background-color: #ffffff; |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
.plus-class, |
|
||||||
.minus-class { |
|
||||||
margin: 0; |
|
||||||
background-color: #f8f8f8; |
|
||||||
} |
|
||||||
.minus-class { |
|
||||||
border-right: 1px solid #d7d7d7; |
|
||||||
} |
|
||||||
.plus-class { |
|
||||||
border-left: 1px solid #d7d7d7; |
|
||||||
} |
|
||||||
.status { |
|
||||||
margin-left: 8rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #e1e1e1; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.row:not(:first-of-type) { |
|
||||||
margin-top: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.module { |
|
||||||
border-top: 1px solid #f2f2f2; |
|
||||||
padding-top: 25rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.wrap { |
|
||||||
.price { |
|
||||||
display: flex; |
|
||||||
align-items: baseline; |
|
||||||
.sub { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
.num { |
|
||||||
font-size: 40rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
.doc { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #999999; |
|
||||||
.checkbox { |
|
||||||
transform: scale(0.7); |
|
||||||
} |
|
||||||
.a { |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.submit { |
|
||||||
width: 298rpx; |
|
||||||
height: 96rpx; |
|
||||||
background: #e04775; |
|
||||||
border-radius: 48rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #ffffff; |
|
||||||
line-height: 96rpx; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,150 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
id: "", |
|
||||||
detail: {}, |
|
||||||
specVecItem: {} as any, |
|
||||||
num: 1, |
|
||||||
allPrice: "", |
|
||||||
|
|
||||||
toastShow: false, |
|
||||||
toastType: "giftEnter", |
|
||||||
|
|
||||||
toastParams: { |
|
||||||
doc: "", |
|
||||||
}, |
|
||||||
protocol: false, |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
this.setData({ |
|
||||||
id: options.id, |
|
||||||
toastParams: { |
|
||||||
doc: `<p style="text-indent: 24pt; line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">为让用户更好的享受再鼎gMG给力加油站的服务,gMG给力加油站平台向用户提供了能量兑换服务,并提供了丰富的礼品,平台注册用户可使用有效的能量兑换礼品。</span></p><p style="text-indent: 24pt; line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">gMG给力加油站的礼品库将提供:</span></p><p style="text-indent: 24pt; line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 微软雅黑;">1) </span><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">查看用户在能量商城选择兑换的商品信息;</span></p><p style="text-indent: 24pt; line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 微软雅黑;">2) </span><span style="color: rgb(89, 89, 8 ... (very long line, trimmed to 1000 chars)
|
|
||||||
// doc:` <p style="line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">为让用户更好的享受再鼎gMG给力加油站的服务,gMG给力加油站平台向用户提供了能量兑换服务,并提供了丰富的礼品,平台注册用户可使用有效的能量兑换礼品。</span></p><p style="line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">gMG给力加油站的礼品库将提供:</span></p><p style="line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 微软雅黑;">1) </span><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">查看用户在能量商城选择兑换的商品信息;</span></p><p style="line-height: 1.5;"><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 微软雅黑;">2) </span><span style="color: rgb(89, 89, 89); font-size: 14px; font-family: 宋体;">确认兑换商品的订单信 ... (very long line, trimmed to 1000 chars)
|
|
||||||
}, |
|
||||||
}); |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.setView(); |
|
||||||
this.getDetail(); |
|
||||||
this.getProtocol(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
setView() { |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/gift-spu/set-visit-num", |
|
||||||
data: { spuId: this.data.id }, |
|
||||||
showMsg: false, |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/gift-spu/get-detail", |
|
||||||
data: { |
|
||||||
spuId: this.data.id, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
detail: { |
|
||||||
...res, |
|
||||||
detailList: JSON.parse(res.detail), |
|
||||||
}, |
|
||||||
specVecItem: res.specVec[0], |
|
||||||
allPrice: res.specVec[0].score, |
|
||||||
num: res.specVec[0].stock >= 1 ? 1 : 0, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getProtocol() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/agreement/get-user-agreement", |
|
||||||
data: {}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
protocol: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
setProtocol() { |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/agreement/set-user-agreement", |
|
||||||
data: {}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSpec(e: any) { |
|
||||||
const { index } = e.currentTarget.dataset; |
|
||||||
const specVecItem: any = this.data.detail.specVec[index]; |
|
||||||
console.log(specVecItem.stock>=1) |
|
||||||
this.setData({ |
|
||||||
specVecItem: specVecItem, |
|
||||||
allPrice: specVecItem.score, |
|
||||||
num: specVecItem.stock >= 1 ? 1 : 0, |
|
||||||
}); |
|
||||||
}, |
|
||||||
onChangeNumber(e: any) { |
|
||||||
this.setData({ |
|
||||||
num: e.detail, |
|
||||||
allPrice: this.data.specVecItem.score * e.detail, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleDoc() { |
|
||||||
this.setData({ |
|
||||||
toastShow: true, |
|
||||||
toastType: "giftEnter", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleToastOk(e) { |
|
||||||
if (!e.detail.protocol) { |
|
||||||
wx.showToast({ |
|
||||||
title: "请先勾选《用户须知》", |
|
||||||
icon: "none", |
|
||||||
}); |
|
||||||
return; |
|
||||||
} |
|
||||||
this.setProtocol(); |
|
||||||
this.setData({ |
|
||||||
protocol: e.detail.protocol, |
|
||||||
}); |
|
||||||
this.handleToastCancel(); |
|
||||||
}, |
|
||||||
handleToastCancel() { |
|
||||||
this.setData({ |
|
||||||
toastShow: false, |
|
||||||
toastType: "", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleProtocol() { |
|
||||||
if (!this.data.protocol) { |
|
||||||
this.setProtocol(); |
|
||||||
} |
|
||||||
this.setData({ |
|
||||||
protocol: !this.data.protocol, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSubmit() { |
|
||||||
if (!this.data.protocol) { |
|
||||||
wx.showToast({ |
|
||||||
icon: "none", |
|
||||||
title: "请先同意《用户须知》", |
|
||||||
}); |
|
||||||
return; |
|
||||||
} |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/gift-order/place-order", |
|
||||||
data: { |
|
||||||
giftId: this.data.specVecItem.giftId, |
|
||||||
count: this.data.num, |
|
||||||
}, |
|
||||||
loading: true, |
|
||||||
}).then((res) => { |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/conformOrder/index?id=${res}`, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,80 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view class="banner"> |
|
||||||
<image class="banner-img" mode="aspectFill" src="{{detail.bigImg}}"></image> |
|
||||||
</view> |
|
||||||
<view class="container"> |
|
||||||
<view class="price"> |
|
||||||
<view class="num">{{specVecItem.score}}</view> |
|
||||||
<view class="sub">能量</view> |
|
||||||
</view> |
|
||||||
<view class="title">{{detail.giftName}}</view> |
|
||||||
<view class="list"> |
|
||||||
<view class="list-title">礼品详情</view> |
|
||||||
<image class="list-img" mode="widthFix" wx:for="{{detail.detailList}}" wx:key="index" src="{{item.url}}"></image> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
|
|
||||||
<view class="footer"> |
|
||||||
<view class="options"> |
|
||||||
<view class="row" wx:if="{{detail.specVec.length > 0 && detail.specVec[0].specName}}"> |
|
||||||
<view class="label">规格</view> |
|
||||||
<view class="radios"> |
|
||||||
<view |
|
||||||
class="radio {{specVecItem.giftId==item.giftId && 'active'}}" |
|
||||||
wx:for="{{detail.specVec}}" |
|
||||||
wx:key="index" |
|
||||||
data-index="{{index}}" |
|
||||||
bind:tap="handleSpec" |
|
||||||
> |
|
||||||
{{item.specName }} |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">数量</view> |
|
||||||
<view class="stepper"> |
|
||||||
<van-stepper |
|
||||||
custom-class="custom-class" |
|
||||||
value="{{ num }}" |
|
||||||
min="{{0}}" |
|
||||||
input-width="{{48}}" |
|
||||||
input-class="input-class" |
|
||||||
plus-class="plus-class" |
|
||||||
minus-class="minus-class" |
|
||||||
integer |
|
||||||
disable-input |
|
||||||
bind:change="onChangeNumber" |
|
||||||
disable-plus="{{num>=specVecItem.stock}}" |
|
||||||
/> |
|
||||||
<view class="status" wx:if="{{num<=specVecItem.stock && specVecItem.stock>0 }}">有库存</view> |
|
||||||
<view class="status" wx:else>无库存</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="module"> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="price"> |
|
||||||
<view class="sub"> |
|
||||||
合计 |
|
||||||
<text decode="true"> </text> |
|
||||||
</view> |
|
||||||
<view class="num">{{allPrice}}</view> |
|
||||||
</view> |
|
||||||
<view class="doc"> |
|
||||||
<checkbox class="checkbox" checked="{{protocol}}" color="#DB3E6A" bind:tap="handleProtocol"></checkbox> |
|
||||||
已阅读 |
|
||||||
<view class="a" bind:tap="handleDoc">《用户须知》</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="submit" bind:tap="handleSubmit">立即兑换</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
|
|
||||||
<toast |
|
||||||
show="{{toastShow}}" |
|
||||||
type="{{toastType}}" |
|
||||||
params="{{toastParams}}" |
|
||||||
bind:ok="handleToastOk" |
|
||||||
bind:cancel="handleToastCancel" |
|
||||||
></toast> |
|
||||||
@ -1,8 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "礼品中心", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"usingComponents": { |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"navBar": "/components/zd-navBar/navBar" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,185 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f9f9f9; |
|
||||||
} |
|
||||||
.page { |
|
||||||
.bg { |
|
||||||
width: 100%; |
|
||||||
height: 902rpx; |
|
||||||
} |
|
||||||
.page-container { |
|
||||||
position: absolute; |
|
||||||
left: 0; |
|
||||||
top: 0; |
|
||||||
width: 100%; |
|
||||||
padding: 0 40rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
padding-bottom: 200rpx; |
|
||||||
.notice { |
|
||||||
height: 44rpx; |
|
||||||
background: linear-gradient(90deg, rgba(241, 241, 241, 0) 0%, #f1f1f1 52%, rgba(241, 241, 241, 0) 100%); |
|
||||||
border-radius: 16rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
.icon { |
|
||||||
margin-right: 5rpx; |
|
||||||
width: 30rpx; |
|
||||||
height: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.banner { |
|
||||||
margin-top: 16rpx; |
|
||||||
background: #fafafa; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
border: 2rpx solid rgba(151, 151, 151, 0.14); |
|
||||||
.banner-header { |
|
||||||
padding: 32rpx 0 32rpx 32rpx; |
|
||||||
display: flex; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
border-bottom: 2rpx solid rgba(151, 151, 151, 0.14); |
|
||||||
display: flex; |
|
||||||
.user { |
|
||||||
width: 106rpx; |
|
||||||
height: 106rpx; |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
flex: 1; |
|
||||||
padding: 0 150rpx 0 22rpx; |
|
||||||
.title { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
} |
|
||||||
.price { |
|
||||||
font-size: 48rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
.rule { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #ffffff; |
|
||||||
width: 136rpx; |
|
||||||
height: 44rpx; |
|
||||||
background: #f5ab1f; |
|
||||||
border-radius: 24rpx 0 0 24rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 44rpx; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
.banner-footer { |
|
||||||
padding: 20rpx 0 28rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
.ver-line { |
|
||||||
width: 2rpx; |
|
||||||
height: 40rpx; |
|
||||||
background-color: rgba(221, 221, 221, 0.6); |
|
||||||
} |
|
||||||
.option { |
|
||||||
flex: 1; |
|
||||||
display: flex; |
|
||||||
justify-content: center; |
|
||||||
align-items: center; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #484848; |
|
||||||
font-weight: bold; |
|
||||||
.icon { |
|
||||||
margin-right: 22rpx; |
|
||||||
width: 50rpx; |
|
||||||
height: 50rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.list { |
|
||||||
margin-top: 48rpx; |
|
||||||
.list-title { |
|
||||||
margin-bottom: 20rpx; |
|
||||||
width: 180rpx; |
|
||||||
height: 40rpx; |
|
||||||
} |
|
||||||
.list-cate { |
|
||||||
padding: 20rpx 0; |
|
||||||
display: flex; |
|
||||||
flex-wrap: nowrap; |
|
||||||
max-width: 100vw; |
|
||||||
box-sizing: border-box; |
|
||||||
overflow-x: auto; |
|
||||||
&::-webkit-scrollbar { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.cate { |
|
||||||
margin-right: 20rpx; |
|
||||||
padding: 10rpx 24rpx; |
|
||||||
white-space: nowrap; |
|
||||||
line-height: 1; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #484848; |
|
||||||
background-color: #f2f2f2; |
|
||||||
border-radius: 24rpx; |
|
||||||
&.active { |
|
||||||
color: #fff; |
|
||||||
background-color: #e04775; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.list-container { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
gap: 16rpx 22rpx; |
|
||||||
.list-item { |
|
||||||
margin-bottom: 16rpx; |
|
||||||
width: 324rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
.photo { |
|
||||||
border-radius: 24rpx 24rpx 0 0; |
|
||||||
width: 100%; |
|
||||||
height: 324rpx; |
|
||||||
} |
|
||||||
.content { |
|
||||||
padding: 18rpx 20rpx 22rpx; |
|
||||||
.title { |
|
||||||
margin-top: 18rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #484848; |
|
||||||
font-weight: bold; |
|
||||||
overflow: hidden; |
|
||||||
white-space: nowrap; |
|
||||||
text-overflow: ellipsis; |
|
||||||
} |
|
||||||
.footer { |
|
||||||
margin-top: 6rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
.price { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
.btn { |
|
||||||
width: 100rpx; |
|
||||||
height: 44rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 44rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #ffffff; |
|
||||||
background: #e04775; |
|
||||||
border-radius: 24rpx; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,114 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
bottom: 0, |
|
||||||
selfScore: { |
|
||||||
expire: {}, |
|
||||||
}, |
|
||||||
cateList: [], |
|
||||||
|
|
||||||
cateId: "", |
|
||||||
list: [], |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
const SystemInfo = app.globalSystemInfo; |
|
||||||
if (SystemInfo) { |
|
||||||
const { bottom } = SystemInfo.capsulePosition; |
|
||||||
this.setData({ |
|
||||||
bottom: bottom, |
|
||||||
}); |
|
||||||
} |
|
||||||
app.waitLogin().then(() => { |
|
||||||
app.getZdUserInfo(this, true); |
|
||||||
this.getScore(); |
|
||||||
this.getList(); |
|
||||||
this.getCateList(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getScore() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-score/get-self-score", |
|
||||||
data: {}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
selfScore: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getCateList() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/gift-spu/get-cate-all-list", |
|
||||||
data: {}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
cateList: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleCate(e) { |
|
||||||
const { id } = e.currentTarget.dataset; |
|
||||||
this.setData({ |
|
||||||
cateId: id, |
|
||||||
}); |
|
||||||
this.getList(); |
|
||||||
}, |
|
||||||
getList(newPage = 1) { |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: `?r=zd/gift-spu/get-list&page=${newPage}`, |
|
||||||
data: { |
|
||||||
cateId: this.data.cateId ? [this.data.cateId] : [], |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
let list = res.page == 1 ? res.list : [...this.data.list, ...res.list]; |
|
||||||
this.setData({ |
|
||||||
list: list, |
|
||||||
pagination: { |
|
||||||
page: res.page, |
|
||||||
pages: res.pages, |
|
||||||
count: res.count, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handlePirceDetail() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/gift/pages/priceDetail/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleMyGift() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/gift/pages/myGift/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleDetail(e) { |
|
||||||
const { id } = e.currentTarget.dataset; |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/giftDetail/index?id=${id}`, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleRule() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/scoreRule/index`, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/patient/pages/my/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
onReachBottom() { |
|
||||||
const { page, pages } = this.data.pagination; |
|
||||||
if (pages > page) { |
|
||||||
this.getList(page + 1); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,51 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<navBar color="#222222" background="{{background}}" fixed title="礼品中心" back bind:back="handleBack"></navBar> |
|
||||||
<image class="bg" src="{{imageUrl}}za-images/1/my-bg.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-container" style="padding-top:{{bottom+26}}px"> |
|
||||||
<view class="notice" wx:if="{{selfScore.expire.expireStatus==1}}"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/2/notice.png?t={{Timestamp}}"></image> |
|
||||||
你有{{selfScore.expire.expireScore}}能量将于7月1日过期 |
|
||||||
</view> |
|
||||||
<view class="banner"> |
|
||||||
<view class="banner-header"> |
|
||||||
<image class="user" src="{{zdUserInfo.UserImg}}"></image> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="title">我的能量</view> |
|
||||||
<view class="price">{{selfScore.score}}</view> |
|
||||||
</view> |
|
||||||
<view class="rule" bind:tap="handleRule">能量规则</view> |
|
||||||
</view> |
|
||||||
<view class="banner-footer"> |
|
||||||
<view class="option" bind:tap="handlePirceDetail"> |
|
||||||
<image class="icon" style="width:52rpx;height: 50rpx;" src="{{imageUrl}}za-images/2/money.png?t={{Timestamp}}"></image> |
|
||||||
能量明细 |
|
||||||
</view> |
|
||||||
<view class="ver-line"></view> |
|
||||||
<view class="option" bind:tap="handleMyGift"> |
|
||||||
<image class="icon" style="width:48rpx;height: 54rpx;" src="{{imageUrl}}za-images/2/gift.png?t={{Timestamp}}"></image> |
|
||||||
我的礼品 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="list"> |
|
||||||
<image class="list-title" src="{{imageUrl}}za-images/2/gift-list-title.png?t={{Timestamp}}"></image> |
|
||||||
<view class="list-cate"> |
|
||||||
<view class="cate {{!cateId && 'active'}}" data-id="" bind:tap="handleCate">全部</view> |
|
||||||
<view class="cate {{cateId == item.cateId && 'active'}}" wx:for="{{cateList}}" wx:key="cateId" data-id="{{item.cateId}}" bind:tap="handleCate">{{item.cateName}}</view> |
|
||||||
</view> |
|
||||||
<view class="list-container"> |
|
||||||
<view class="list-item" wx:for="{{list}}" wx:key="index" data-id="{{item.spuId}}" bind:tap="handleDetail"> |
|
||||||
<image class="photo" src="{{item.bigImg}}"></image> |
|
||||||
<view class="content"> |
|
||||||
<view class="title">{{item.giftName}}</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="price">{{item.lowestScore}}能量</view> |
|
||||||
<view class="btn">兑换</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<pagination pagination="{{pagination}}"></pagination> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "我的礼品", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,110 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f7f7f7; |
|
||||||
} |
|
||||||
.page { |
|
||||||
padding: 32rpx 40rpx; |
|
||||||
.card { |
|
||||||
margin-bottom: 16rpx; |
|
||||||
padding: 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 24rpx; |
|
||||||
.header { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
padding-bottom: 32rpx; |
|
||||||
border-bottom: 1px solid #ebebeb; |
|
||||||
.on { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #bbbcbe; |
|
||||||
} |
|
||||||
.status { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #e04775; |
|
||||||
} |
|
||||||
.suc { |
|
||||||
color: #24d8c8; |
|
||||||
} |
|
||||||
} |
|
||||||
.shop { |
|
||||||
padding: 32rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.shop-img { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 200rpx; |
|
||||||
height: 200rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
flex: 1; |
|
||||||
padding-left: 24rpx; |
|
||||||
.name { |
|
||||||
font-size: 32rpx; |
|
||||||
font-weight: bold; |
|
||||||
color: #3f3f3f; |
|
||||||
line-height: 44rpx; |
|
||||||
min-width: 0; |
|
||||||
overflow: hidden; |
|
||||||
text-overflow: ellipsis; |
|
||||||
display: -webkit-box; |
|
||||||
-webkit-line-clamp: 2; |
|
||||||
-webkit-box-orient: vertical; |
|
||||||
} |
|
||||||
.specification { |
|
||||||
display: inline-block; |
|
||||||
margin-top: 8rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
border-radius: 10rpx; |
|
||||||
} |
|
||||||
.price { |
|
||||||
margin-top: 14rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.num { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
.sub { |
|
||||||
font-size: 22rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.val { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.footer { |
|
||||||
border-top: 1px solid #ebebeb; |
|
||||||
padding-top: 32rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.content { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #bbbcbe; |
|
||||||
display: flex; |
|
||||||
align-items: baseline; |
|
||||||
.num { |
|
||||||
font-size: 42rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
.btn { |
|
||||||
width: 152rpx; |
|
||||||
height: 52rpx; |
|
||||||
border-radius: 8rpx; |
|
||||||
border: 1rpx solid rgba(158, 158, 158, 0.42); |
|
||||||
font-size: 28rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
text-align: center; |
|
||||||
line-height: 52rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,48 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
list: [], |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getList(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getList(newPage = 1) { |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/gift-order/get-order-list", |
|
||||||
data: { |
|
||||||
page: newPage, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
let list = res.page == 1 ? res.list : [...this.data.list, ...res.list]; |
|
||||||
this.setData({ |
|
||||||
list: list, |
|
||||||
pagination: { |
|
||||||
page: res.page, |
|
||||||
pages: res.pages, |
|
||||||
count: res.count, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleDetail(e: any) { |
|
||||||
const { id } = e.currentTarget.dataset; |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/orderDetail/index?id=${id}`, |
|
||||||
}); |
|
||||||
}, |
|
||||||
onReachBottom() { |
|
||||||
const { page, pages } = this.data.pagination; |
|
||||||
if (pages > page) { |
|
||||||
this.getList(page + 1); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,28 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view class="card" wx:for="{{list}}" wx:key="index" bind:tap="handleDetail" data-id="{{item.orderId}}"> |
|
||||||
<view class="header"> |
|
||||||
<view class="on">订单号:{{item.orderNo}}</view> |
|
||||||
<view class="status" wx:if="{{item.status==2}}">{{item.statusName}}</view> |
|
||||||
<view class="status suc" wx:else>{{item.statusName}}</view> |
|
||||||
</view> |
|
||||||
<view class="shop"> |
|
||||||
<image class="shop-img" src="{{item.giftBigImg}}"></image> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="name">{{item.giftName}}</view> |
|
||||||
<view class="specification" wx:if="{{item.specName}}">规格:{{item.specName}}</view> |
|
||||||
<view class="price"> |
|
||||||
<view class="num">{{item.giftScore}}<text class="sub">能量</text></view> |
|
||||||
<view class="val">x{{item.orderCount}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="content"> |
|
||||||
共{{item.orderCount}}件 消耗能量: |
|
||||||
<view class="num">{{item.orderScore}}</view> |
|
||||||
</view> |
|
||||||
<view class="btn" wx:if="{{item.status==3}}">查看物流</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<pagination pagination="{{pagination}}"></pagination> |
|
||||||
</view> |
|
||||||
@ -1,11 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "我的健康记录", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"calendar": "/components/calendar/index", |
|
||||||
"toast": "/components/toast/index", |
|
||||||
"ec-canvas": "/components/ec-canvas/ec-canvas" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,741 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: rgba(250, 250, 250, 1); |
|
||||||
min-height: 100vh; |
|
||||||
padding-bottom: 200rpx; |
|
||||||
} |
|
||||||
|
|
||||||
.page { |
|
||||||
padding: 0 40rpx 33rpx; |
|
||||||
|
|
||||||
.calendar-wrap { |
|
||||||
height: 80rpx; |
|
||||||
overflow: hidden; |
|
||||||
transition: all 0.5s; |
|
||||||
.calendar { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.legend { |
|
||||||
margin-top: 30rpx; |
|
||||||
display: flex; |
|
||||||
> view:not(:last-of-type), |
|
||||||
> image { |
|
||||||
margin-right: 38rpx; |
|
||||||
} |
|
||||||
justify-content: flex-end; |
|
||||||
|
|
||||||
.item { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
> view:not(:last-of-type), |
|
||||||
> image { |
|
||||||
margin-right: 11rpx; |
|
||||||
} |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(79, 79, 79, 1); |
|
||||||
|
|
||||||
&::before { |
|
||||||
margin-right: 10rpx; |
|
||||||
content: ""; |
|
||||||
width: 16rpx; |
|
||||||
height: 16rpx; |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
} |
|
||||||
.drugs { |
|
||||||
.icon { |
|
||||||
width: 17rpx; |
|
||||||
height: 24rpx; |
|
||||||
} |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(79, 79, 79, 1); |
|
||||||
} |
|
||||||
|
|
||||||
.item1 { |
|
||||||
&::before { |
|
||||||
background-color: rgba(207, 83, 117, 1); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.item2 { |
|
||||||
&::before { |
|
||||||
background-color: rgba(37, 217, 200, 1); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
&.expend { |
|
||||||
height: 600rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.p-fold { |
|
||||||
padding: 20rpx; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.chart { |
|
||||||
margin-top: 34rpx; |
|
||||||
.c-header { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: rgba(71, 71, 71, 1); |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.more { |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(204, 204, 204, 1); |
|
||||||
} |
|
||||||
} |
|
||||||
.c-container { |
|
||||||
margin-top: 24rpx; |
|
||||||
background-color: #fff; |
|
||||||
border-radius: 24rpx; |
|
||||||
border: 1rpx solid rgba(0, 0, 0, 0.1); |
|
||||||
.c-header { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); |
|
||||||
.c-nav { |
|
||||||
overflow: hidden; |
|
||||||
flex: 1; |
|
||||||
display: flex; |
|
||||||
.nav-item { |
|
||||||
padding: 16rpx 0; |
|
||||||
width: 80rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 42rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #666666; |
|
||||||
font-weight: bold; |
|
||||||
&.active { |
|
||||||
position: relative; |
|
||||||
color: #cf5375; |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
bottom: 0; |
|
||||||
left: -5rpx; |
|
||||||
content: ""; |
|
||||||
width: 90rpx; |
|
||||||
height: 4rpx; |
|
||||||
background: #cf5375; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.fill { |
|
||||||
margin-right: 40rpx; |
|
||||||
width: 24rpx; |
|
||||||
height: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.c-content { |
|
||||||
padding: 16rpx 0; |
|
||||||
.search-num { |
|
||||||
padding: 0 32rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.col { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.input { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #666666; |
|
||||||
border: 1px solid #ccc; |
|
||||||
padding-left: 1em; |
|
||||||
border-radius: 12rpx; |
|
||||||
} |
|
||||||
.btn { |
|
||||||
margin-left: 20rpx; |
|
||||||
padding: 4rpx 10rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #fff; |
|
||||||
border-radius: 12rpx; |
|
||||||
background-color: #e04775; |
|
||||||
} |
|
||||||
} |
|
||||||
.all { |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(79, 79, 79, 1); |
|
||||||
} |
|
||||||
} |
|
||||||
.search { |
|
||||||
padding: 0 36rpx 16rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); |
|
||||||
.date { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #666666; |
|
||||||
.line { |
|
||||||
margin: 0 10rpx; |
|
||||||
} |
|
||||||
.icon { |
|
||||||
transform: rotate(90deg); |
|
||||||
color: #666666; |
|
||||||
} |
|
||||||
} |
|
||||||
.result { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #666666; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.icon { |
|
||||||
margin-right: 9rpx; |
|
||||||
width: 26rpx; |
|
||||||
height: 30rpx; |
|
||||||
} |
|
||||||
.question { |
|
||||||
width: 24rpx; |
|
||||||
height: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
padding: 0 36rpx; |
|
||||||
.w-header { |
|
||||||
padding-top: 32rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #484848; |
|
||||||
} |
|
||||||
.legend { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
gap: 25rpx; |
|
||||||
.item { |
|
||||||
font-size: 20rpx; |
|
||||||
color: #4f4f4f; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.logo { |
|
||||||
margin-right: 8rpx; |
|
||||||
width: 16rpx; |
|
||||||
height: 16rpx; |
|
||||||
border-radius: 50%; |
|
||||||
background-color: #cf5375; |
|
||||||
&.hormone { |
|
||||||
background-color: #3192A1; |
|
||||||
} |
|
||||||
} |
|
||||||
.icon { |
|
||||||
margin-right: 8rpx; |
|
||||||
width: 17rpx; |
|
||||||
height: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.unit { |
|
||||||
font-size: 22rpx; |
|
||||||
color: #ccc; |
|
||||||
margin-bottom: -40rpx; |
|
||||||
} |
|
||||||
.w-chart { |
|
||||||
position: relative; |
|
||||||
padding-top: 20rpx; |
|
||||||
height: 500rpx; |
|
||||||
.touch { |
|
||||||
position: absolute; |
|
||||||
z-index: 100; |
|
||||||
width: 100%; |
|
||||||
height: 250rpx; |
|
||||||
} |
|
||||||
.left { |
|
||||||
position: absolute; |
|
||||||
top: 180rpx; |
|
||||||
left: -65rpx; |
|
||||||
width: 56rpx; |
|
||||||
height: 56rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 6rpx 28rpx 0rpx rgba(0, 0, 0, 0.18); |
|
||||||
border: 1rpx solid #e8e8e8; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
border-radius: 50%; |
|
||||||
.icon { |
|
||||||
width: 18rpx; |
|
||||||
height: 28rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.right { |
|
||||||
position: absolute; |
|
||||||
top: 180rpx; |
|
||||||
right: -65rpx; |
|
||||||
width: 56rpx; |
|
||||||
height: 56rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 6rpx 28rpx 0rpx rgba(0, 0, 0, 0.18); |
|
||||||
border: 1rpx solid #e8e8e8; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
border-radius: 50%; |
|
||||||
.icon { |
|
||||||
width: 18rpx; |
|
||||||
height: 28rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.share { |
|
||||||
padding: 40rpx 0 10rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #e04775; |
|
||||||
display: flex; |
|
||||||
justify-content: center; |
|
||||||
align-items: center; |
|
||||||
.icon { |
|
||||||
margin-right: 8rpx; |
|
||||||
width: 22rpx; |
|
||||||
height: 22rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.banner { |
|
||||||
margin: 36rpx 0 0; |
|
||||||
padding: 20rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
background-color: #e04775; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.inner { |
|
||||||
flex: 1; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #fafafa; |
|
||||||
} |
|
||||||
.btn { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 152rpx; |
|
||||||
height: 64rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 64rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #e04775; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 12rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.tabs { |
|
||||||
margin-top: 36rpx; |
|
||||||
display: inline-flex; |
|
||||||
background-color: #fff; |
|
||||||
box-shadow: 0rpx 8rpx 32rpx 0rpx rgba(0, 0, 0, 0.13); |
|
||||||
border-radius: 12rpx; |
|
||||||
overflow: hidden; |
|
||||||
.tab { |
|
||||||
padding: 10rpx 20rpx; |
|
||||||
line-height: 40rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666666; |
|
||||||
background-color: #fff; |
|
||||||
&.active { |
|
||||||
background-color: #e04775; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
&:nth-of-type(2) { |
|
||||||
border: 1px solid #dddddd; |
|
||||||
border-top: none; |
|
||||||
border-bottom: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.detail { |
|
||||||
margin-top: 34rpx; |
|
||||||
.d-header { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: rgba(71, 71, 71, 1); |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.more { |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(204, 204, 204, 1); |
|
||||||
} |
|
||||||
} |
|
||||||
.module { |
|
||||||
margin-top: 30rpx; |
|
||||||
.module-header { |
|
||||||
display: flex; |
|
||||||
.date { |
|
||||||
flex-shrink: 0; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #333333; |
|
||||||
} |
|
||||||
.tags { |
|
||||||
margin-left: 14rpx; |
|
||||||
flex: 1; |
|
||||||
display: flex; |
|
||||||
flex-wrap: nowrap; |
|
||||||
overflow-x: scroll; |
|
||||||
white-space: nowrap; |
|
||||||
&::-webkit-scrollbar { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.tag1 { |
|
||||||
margin-left: 14rpx; |
|
||||||
padding: 0 12rpx; |
|
||||||
background: #d86687; |
|
||||||
border-radius: 6rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
line-height: 36rpx; |
|
||||||
text-align: center; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
.tag2 { |
|
||||||
margin-left: 14rpx; |
|
||||||
padding: 0 12rpx; |
|
||||||
background: #0b184f; |
|
||||||
border-radius: 6rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
line-height: 36rpx; |
|
||||||
text-align: center; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
.tag3 { |
|
||||||
margin-left: 14rpx; |
|
||||||
padding: 0 12rpx; |
|
||||||
background: #24d8c8; |
|
||||||
border-radius: 6rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
line-height: 36rpx; |
|
||||||
text-align: center; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.module-container { |
|
||||||
margin-top: 24rpx; |
|
||||||
display: flex; |
|
||||||
.aside { |
|
||||||
margin-right: 30rpx; |
|
||||||
padding-left: 14rpx; |
|
||||||
border-right: 1px dashed #dddddd; |
|
||||||
} |
|
||||||
.card { |
|
||||||
flex: 1; |
|
||||||
box-shadow: 0 4rpx 29rpx 0rpx rgba(207, 83, 116, 0.25); |
|
||||||
border-radius: 24rpx; |
|
||||||
.card-header { |
|
||||||
padding: 20rpx 18rpx 4rpx 48rpx; |
|
||||||
border-radius: 24rpx 24rpx 0 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
box-shadow: 8rpx 8rpx 16rpx 0rpx rgba(143, 217, 226, 0.1); |
|
||||||
&.grade1 { |
|
||||||
background: linear-gradient(90deg, #26dac9 7%, rgba(143, 217, 226, 0) 70%, rgba(143, 217, 226, 0) 100%); |
|
||||||
} |
|
||||||
&.grade2 { |
|
||||||
background: linear-gradient( |
|
||||||
90deg, |
|
||||||
rgba(235, 111, 87, 1) 7%, |
|
||||||
rgba(143, 217, 226, 0) 70%, |
|
||||||
rgba(143, 217, 226, 0) 100% |
|
||||||
); |
|
||||||
} |
|
||||||
&.grade3 { |
|
||||||
background: linear-gradient( |
|
||||||
90deg, |
|
||||||
rgba(207, 83, 117, 1) 7%, |
|
||||||
rgba(143, 217, 226, 0) 70%, |
|
||||||
rgba(143, 217, 226, 0) 100% |
|
||||||
); |
|
||||||
} |
|
||||||
.num { |
|
||||||
display: flex; |
|
||||||
align-items: baseline; |
|
||||||
font-size: 96rpx; |
|
||||||
line-height: 1; |
|
||||||
color: #ffffff; |
|
||||||
letter-spacing: 4rpx; |
|
||||||
.sub { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
.num-detail { |
|
||||||
display: flex; |
|
||||||
.n-item { |
|
||||||
width: 73rpx; |
|
||||||
&.active { |
|
||||||
.box { |
|
||||||
background-color: #cf5375; |
|
||||||
} |
|
||||||
} |
|
||||||
.box { |
|
||||||
width: 45rpx; |
|
||||||
height: 45rpx; |
|
||||||
width: 45rpx; |
|
||||||
height: 45rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #fff; |
|
||||||
text-align: center; |
|
||||||
line-height: 45rpx; |
|
||||||
background: #333333; |
|
||||||
border-radius: 12rpx 12rpx 12rpx 12rpx; |
|
||||||
} |
|
||||||
.name { |
|
||||||
font-size: 24rpx; |
|
||||||
line-height: 48rpx; |
|
||||||
color: rgba(51, 51, 51, 0.5); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.status { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #989898; |
|
||||||
text-align: right; |
|
||||||
.s-num { |
|
||||||
font-size: 32rpx; |
|
||||||
} |
|
||||||
.s-core { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #989898; |
|
||||||
// background: #484848; |
|
||||||
border-radius: 6rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.card-container { |
|
||||||
padding: 8rpx 23rpx 20rpx; |
|
||||||
border-radius: 0 0 24rpx 24rpx; |
|
||||||
background-color: #fff; |
|
||||||
.cc-title { |
|
||||||
text-indent: 22rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(79, 79, 79, 1); |
|
||||||
} |
|
||||||
.cc-content { |
|
||||||
margin-top: 12rpx; |
|
||||||
padding: 16rpx 20rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
background-color: rgba(249, 249, 249, 1); |
|
||||||
.line { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #666666; |
|
||||||
line-height: 36rpx; |
|
||||||
.dot { |
|
||||||
color: #666666; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.red { |
|
||||||
color: #cf5375; |
|
||||||
} |
|
||||||
.green { |
|
||||||
color: #25d9c8; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.fold { |
|
||||||
margin-top: 16rpx; |
|
||||||
.fold-header { |
|
||||||
display: flex; |
|
||||||
justify-content: flex-end; |
|
||||||
font-size: 24rpx; |
|
||||||
color: rgba(204, 204, 204, 1); |
|
||||||
} |
|
||||||
.fold-container { |
|
||||||
padding-top: 10rpx; |
|
||||||
height: 500rpx; |
|
||||||
overflow: hidden; |
|
||||||
transition: all 0.5s; |
|
||||||
&.hide { |
|
||||||
padding: 0; |
|
||||||
height: 0; |
|
||||||
} |
|
||||||
.fold-img { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.scurt { |
|
||||||
width: 100%; |
|
||||||
border: 1px solid rgba(0, 0, 0, 0.1); |
|
||||||
box-sizing: border-box; |
|
||||||
.s-header { |
|
||||||
display: flex; |
|
||||||
height: 40rpx; |
|
||||||
margin-bottom: -1px; |
|
||||||
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); |
|
||||||
.none { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 226rpx; |
|
||||||
background-color: rgba(228, 228, 228, 1); |
|
||||||
} |
|
||||||
.bar { |
|
||||||
flex: 1; |
|
||||||
display: flex; |
|
||||||
.num { |
|
||||||
flex: 1; |
|
||||||
text-align: center; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #fff; |
|
||||||
line-height: 40rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.s-body { |
|
||||||
display: flex; |
|
||||||
.s-aside { |
|
||||||
width: 28rpx; |
|
||||||
background-color: rgba(102, 102, 102, 0.15); |
|
||||||
flex-shrink: 0; |
|
||||||
.sa-item { |
|
||||||
display: flex; |
|
||||||
text-align: center; |
|
||||||
justify-content: center; |
|
||||||
align-items: center; |
|
||||||
font-size: 18rpx; |
|
||||||
color: rgba(102, 102, 102, 1); |
|
||||||
line-height: 1; |
|
||||||
overflow: hidden; |
|
||||||
&:not(:last-of-type) { |
|
||||||
margin-bottom: -1px; |
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1); |
|
||||||
} |
|
||||||
} |
|
||||||
.sa-item1 { |
|
||||||
height: 158rpx; |
|
||||||
} |
|
||||||
.sa-item2 { |
|
||||||
height: 54rpx; |
|
||||||
} |
|
||||||
.sa-item3 { |
|
||||||
height: 106rpx; |
|
||||||
} |
|
||||||
.sa-item4 { |
|
||||||
height: 108rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.s-container { |
|
||||||
flex: 1; |
|
||||||
.sc-row { |
|
||||||
display: flex; |
|
||||||
height: 54rpx; |
|
||||||
overflow: hidden; |
|
||||||
.sc-title { |
|
||||||
width: 198rpx; |
|
||||||
font-size: 18rpx; |
|
||||||
color: rgba(102, 102, 102, 1); |
|
||||||
text-align: center; |
|
||||||
line-height: 53rpx; |
|
||||||
} |
|
||||||
.sc-col { |
|
||||||
margin-left: -1px; |
|
||||||
border-left: 1px solid rgba(0, 0, 0, 0.1); |
|
||||||
flex: 1; |
|
||||||
text-align: center; |
|
||||||
.icon { |
|
||||||
margin-top: 11rpx; |
|
||||||
width: 32rpx; |
|
||||||
height: 32rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.sc-row:not(:last-of-type) { |
|
||||||
margin-bottom: -1px; |
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1); |
|
||||||
} |
|
||||||
.sc-row:nth-of-type(2n-1) { |
|
||||||
background-color: rgba(217, 217, 217, 0.2); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.sub-card { |
|
||||||
flex: 1; |
|
||||||
padding: 14rpx 24rpx 14rpx 48rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
background: linear-gradient(110deg, #2280d5 0%, #ffffff 60%, #ffffff 100%); |
|
||||||
box-shadow: 0 4rpx 29rpx 0rpx rgba(207, 83, 116, 0.25); |
|
||||||
border-radius: 24rpx; |
|
||||||
.left { |
|
||||||
font-size: 96rpx; |
|
||||||
color: #fff; |
|
||||||
line-height: 1; |
|
||||||
.sub { |
|
||||||
font-size: 24rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.inner { |
|
||||||
text-align: right; |
|
||||||
.i-title { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #989898; |
|
||||||
.num { |
|
||||||
font-size: 32rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.sign { |
|
||||||
font-size: 32rpx; |
|
||||||
.num { |
|
||||||
font-size: 40rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.i-content { |
|
||||||
font-size: 24rpx; |
|
||||||
color: #989898; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.drug-card { |
|
||||||
margin-top: 30rpx; |
|
||||||
flex: 1; |
|
||||||
box-shadow: 0 4rpx 29rpx 0rpx rgba(207, 83, 116, 0.25); |
|
||||||
border-radius: 24rpx; |
|
||||||
.d-header { |
|
||||||
border-radius: 24rpx 0 0 0; |
|
||||||
padding: 20rpx 50rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
background: linear-gradient(95deg, #26dac9 7%, rgba(143, 217, 226, 0) 100%); |
|
||||||
.name { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
.status { |
|
||||||
font-size: 22rpx; |
|
||||||
color: #5b6363; |
|
||||||
.num { |
|
||||||
font-size: 22rpx; |
|
||||||
color: #cf5375; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.content { |
|
||||||
padding: 20rpx 50rpx; |
|
||||||
font-size: 22rpx; |
|
||||||
color: #666666; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.add { |
|
||||||
position: fixed; |
|
||||||
left: 50%; |
|
||||||
bottom: 45rpx; |
|
||||||
transform: translateX(-50%); |
|
||||||
width: 152rpx; |
|
||||||
height: 152rpx; |
|
||||||
z-index: 10000; |
|
||||||
} |
|
||||||
} |
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,392 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<navBar back background="{{background}}" bind:back="handleBack" title="健康报告"></navBar> |
|
||||||
<view class="calendar-wrap {{!fold && 'expend'}}"> |
|
||||||
<view class="calendar"> |
|
||||||
<calendar |
|
||||||
bind:whenChangeMonth="handleWhenChangeMonth" |
|
||||||
config="{{calendarConfig}}" |
|
||||||
id="calendar" |
|
||||||
bind:jumpToToday="toggleFold" |
|
||||||
></calendar> |
|
||||||
</view> |
|
||||||
<view class="legend"> |
|
||||||
<view class="drugs" wx:if="{{theme === 'DRUG'}}"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/double-standard/adl-cure.png?t={{Timestamp}}"></image> |
|
||||||
用药 |
|
||||||
</view> |
|
||||||
<view class="item item1">ADL评分异常</view> |
|
||||||
<view class="item item2">正常测评</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<!-- <view class="p-fold" bind:tap="toggleFold"> --> |
|
||||||
<!-- {{fold?'点击展开':'点击折叠'}} --> |
|
||||||
<!-- <van-icon wx:if="{{fold}}" name="arrow-down" /> --> |
|
||||||
<!-- <van-icon wx:else name="arrow-up" /> --> |
|
||||||
<!-- </view> --> |
|
||||||
<view class="chart"> |
|
||||||
<view class="c-container"> |
|
||||||
<view class="c-header"> |
|
||||||
<view class="c-nav"> |
|
||||||
<view class="nav-item {{Type==1 && 'active'}}" bind:tap="handleChangeType" data-type="1">日</view> |
|
||||||
<view class="nav-item {{Type==2 && 'active'}}" bind:tap="handleChangeType" data-type="2">月度</view> |
|
||||||
<view class="nav-item {{Type==3 && 'active'}}" bind:tap="handleChangeType" data-type="3">年度</view> |
|
||||||
<view class="nav-item {{Type==4 && 'active'}}" bind:tap="handleChangeType" data-type="4">次数</view> |
|
||||||
</view> |
|
||||||
<image class="fill" bind:tap="handleChartDetail" src="{{imageUrl}}za-images/1/fillscreen.png?t={{Timestamp}}"></image> |
|
||||||
</view> |
|
||||||
<view class="c-content"> |
|
||||||
<view class="search-num" wx:if="{{Type==4}}"> |
|
||||||
<view class="col"> |
|
||||||
<input |
|
||||||
class="input" |
|
||||||
type="number" |
|
||||||
maxlength="3" |
|
||||||
model:value="{{Num}}" |
|
||||||
placeholder="请输入评测次数" |
|
||||||
confirm-type="search" |
|
||||||
bind:input="handleChangeInput" |
|
||||||
/> |
|
||||||
<view class="btn" bind:tap="handleTabCallBack">搜索</view> |
|
||||||
</view> |
|
||||||
<view class="all">评测次数:{{count}}次</view> |
|
||||||
</view> |
|
||||||
<view class="search" wx:else> |
|
||||||
<view class="date"> |
|
||||||
<picker |
|
||||||
bindchange="handleChange" |
|
||||||
class="start" |
|
||||||
end="{{EndMonth}}" |
|
||||||
fields="day" |
|
||||||
mode="date" |
|
||||||
model:value="{{BeginMonth}}" |
|
||||||
> |
|
||||||
{{BeginMonth}} |
|
||||||
</picker> |
|
||||||
<view class="line">-</view> |
|
||||||
<picker |
|
||||||
bindchange="handleChange" |
|
||||||
class="end" |
|
||||||
fields="day" |
|
||||||
mode="date" |
|
||||||
model:value="{{EndMonth}}" |
|
||||||
start="{{BeginMonth}}" |
|
||||||
> |
|
||||||
{{EndMonth}} |
|
||||||
</picker> |
|
||||||
<van-icon class="icon" name="play" /> |
|
||||||
</view> |
|
||||||
<view class="result" wx:if="{{defaultListLast.TotalScore <=1 && defaultListLast.SteroidDailyDose <=5}}"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/double-standard/adl-success.png?t={{Timestamp}}"></image> |
|
||||||
双达标达成! |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="w-header"> |
|
||||||
<view class="title">ADL评分记录曲线</view> |
|
||||||
<view class="legend"> |
|
||||||
<view class="item"> |
|
||||||
<view class="logo"></view> |
|
||||||
ADL分数 |
|
||||||
</view> |
|
||||||
<view class="item" wx:if="{{theme === 'DRUG'}}"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/double-standard/adl-cure.png?t={{Timestamp}}"></image> |
|
||||||
用药时间 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="w-chart"> |
|
||||||
<!-- <view class="left" bind:tap="touchend" data-type="left" wx:if="{{page>0}}"> --> |
|
||||||
<!-- <image class="icon" src="{{imageUrl}}za-images/1/left.png?t={{Timestamp}}"></image> --> |
|
||||||
<!-- </view> --> |
|
||||||
<!-- <view class="right" bind:tap="touchend" data-type="right" wx:if="{{page < defaultList.length / 5 - 1}}"> --> |
|
||||||
<!-- <image class="icon" src="{{imageUrl}}za-images/1/right.png?t={{Timestamp}}"></image> --> |
|
||||||
<!-- </view> --> |
|
||||||
<ec-canvas id="mychart-dom-bar" ec="{{ ec }}"></ec-canvas> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="w-header"> |
|
||||||
<view class="title">激素日用量记录曲线</view> |
|
||||||
<view class="legend"> |
|
||||||
<view class="item"> |
|
||||||
<view class="logo hormone"></view> |
|
||||||
激素用量 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="unit">单位(mg)</view> |
|
||||||
<view class="w-chart"> |
|
||||||
<!-- <view class="left" bind:tap="touchend" data-type="left" wx:if="{{page>0}}"> --> |
|
||||||
<!-- <image class="icon" src="{{imageUrl}}za-images/1/left.png?t={{Timestamp}}"></image> --> |
|
||||||
<!-- </view> --> |
|
||||||
<!-- <view class="right" bind:tap="touchend" data-type="right" wx:if="{{page < defaultList.length / 5 - 1}}"> --> |
|
||||||
<!-- <image class="icon" src="{{imageUrl}}za-images/1/right.png?t={{Timestamp}}"></image> --> |
|
||||||
<!-- </view> --> |
|
||||||
<ec-canvas id="mychart-hormone" ec="{{ ec }}"></ec-canvas> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="share" bind:tap="handleShare"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/double-standard/adl-share.png?t={{Timestamp}}"></image> |
|
||||||
分享“双达标”海报 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="banner" wx:if="{{alertAdl.days>=6 && alertAdl.days<=8 && (alertAdl.adl == 0 || alertAdl.days==6)}}"> |
|
||||||
<view class="inner" wx:if="{{alertAdl.days==6}}"> |
|
||||||
<view>今天是您用药后的第6天,</view> |
|
||||||
<view>提醒您明天做1次MG-ADL测评</view> |
|
||||||
</view> |
|
||||||
<view class="inner" wx:if="{{alertAdl.days==7}}"> |
|
||||||
<view>今天是您用药后的第7天,</view> |
|
||||||
<view>提醒您做1次MG-ADL测评</view> |
|
||||||
</view> |
|
||||||
<view class="inner" wx:if="{{alertAdl.days==8}}"> |
|
||||||
<view>用药后建议第7天完成MG-ADL测评</view> |
|
||||||
<view>跟踪身体变化;</view> |
|
||||||
<view>今天是用药后第8天,</view> |
|
||||||
<view>提醒您做1次MG-ADL测评</view> |
|
||||||
</view> |
|
||||||
<view class="btn" wx:if="{{alertAdl.days==7}}" bind:tap="handleAdd">立即测评</view> |
|
||||||
<view class="btn" wx:if="{{alertAdl.days==8}}" bind:tap="handleAdd">立即测评</view> |
|
||||||
</view> |
|
||||||
<view class="tabs" wx:if="{{theme === 'DRUG'}}"> |
|
||||||
<view class="tab {{tab==1 && 'active'}}" bind:tap="handleTab" data-index="1">综合报告</view> |
|
||||||
<view class="tab {{tab==2 && 'active'}}" bind:tap="handleTab" data-index="2">双达标笔记</view> |
|
||||||
<view class="tab {{tab==3 && 'active'}}" bind:tap="handleTab" data-index="3">用药记录</view> |
|
||||||
</view> |
|
||||||
<view class="detail"> |
|
||||||
<view class="d-header"> |
|
||||||
<view class="title" wx:if="{{tab==3}}">我的既往用药记录</view> |
|
||||||
<view class="title" wx:else>我的既往评测报告</view> |
|
||||||
<view class="more" bind:tap="handleFoldAll"> |
|
||||||
全部{{foldAll ? '展开':'收起'}} |
|
||||||
<van-icon wx:if="{{foldAll}}" name="arrow-down" /> |
|
||||||
<van-icon wx:else name="arrow-up" /> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="module" wx:for="{{list}}" wx:key="index"> |
|
||||||
<view class="module-header"> |
|
||||||
<view class="date">{{item.CreateTime || item.InjectionDate}}</view> |
|
||||||
<view class="tags"> |
|
||||||
<view class="tag1" wx:if="{{tab==1 && item.Type==1}}">MG-ADL</view> |
|
||||||
<view class="tag2" wx:if="{{tab==1 && item.Type==2}}">用药记录</view> |
|
||||||
<view class="tag3" wx:if="{{item.IsInsuranceProject==1}}">商保项目记录</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="module-container"> |
|
||||||
<view class="aside"></view> |
|
||||||
<view wx:if="{{tab!=3 && item.Type==1}}" style="flex: 1"> |
|
||||||
<view |
|
||||||
class="card" |
|
||||||
bind:tap="handleDetail" |
|
||||||
bind:longpress="handleDel" |
|
||||||
data-id="{{item.Id}}" |
|
||||||
data-isi="{{item.IsInsuranceProject}}" |
|
||||||
data-index="{{index}}" |
|
||||||
> |
|
||||||
<view class="card-header grade{{item.grade}}"> |
|
||||||
<view class="num"> |
|
||||||
{{item.TotalScore}} |
|
||||||
<view class="sub">分</view> |
|
||||||
</view> |
|
||||||
<view class="num-detail" wx:if="{{tab==2}}"> |
|
||||||
<view class="n-item {{item.MedullaTypeScore >=7 && 'active'}}"> |
|
||||||
<view class="box">{{item.MedullaTypeScore}}</view> |
|
||||||
<view class="name">延髓</view> |
|
||||||
</view> |
|
||||||
<view class="n-item {{item.BreathTypeScore>=3 && 'active'}}"> |
|
||||||
<view class="box">{{item.BreathTypeScore}}</view> |
|
||||||
<view class="name">呼吸</view> |
|
||||||
</view> |
|
||||||
<view class="n-item {{item.LimbsTypeScore>=5 && 'active'}}"> |
|
||||||
<view class="box">{{item.LimbsTypeScore}}</view> |
|
||||||
<view class="name">四肢</view> |
|
||||||
</view> |
|
||||||
<view class="n-item {{item.EyeTypeScore >=5 && 'active'}}"> |
|
||||||
<view class="box">{{item.EyeTypeScore}}</view> |
|
||||||
<view class="name">眼睛</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="status" wx:elif="{{item.UseDrugDays}}"> |
|
||||||
<view class="s-title"> |
|
||||||
用药后第 |
|
||||||
<text class="s-num">{{item.UseDrugDays}}</text> |
|
||||||
天MG-ADL报告 |
|
||||||
</view> |
|
||||||
<view class="s-core" wx:if="{{item.UseDrugSocreChange<0}}">身体状态有提升,继续关注哦~</view> |
|
||||||
<view class="s-core" wx:if="{{item.UseDrugSocreChange==0}}">请持续观察,了解身体变化情况!</view> |
|
||||||
<view class="s-core" wx:if="{{item.UseDrugSocreChange>0}}">请持续观察,了解身体变化情况!</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="card-container"> |
|
||||||
<view class="cc-title">注意事项</view> |
|
||||||
<view class="cc-content"> |
|
||||||
<view class="line" wx:if="{{item.TotalScore < 5}}"> |
|
||||||
1 总分 |
|
||||||
<text decode="true "><</text> |
|
||||||
<text class="red">5分</text> |
|
||||||
,日常请注意观察 |
|
||||||
</view> |
|
||||||
<view class="line" wx:elif="{{item.TotalScore >= 5}}"> |
|
||||||
1 总分 |
|
||||||
<text decode="true ">>=</text> |
|
||||||
<text class="red">5分</text> |
|
||||||
,您的症状控制欠佳,建议必要时就医 |
|
||||||
</view> |
|
||||||
<block wx:if="{{item.LastTotalScore !== null}}"> |
|
||||||
<view class="line" wx:if="{{item.TotalScore - item.LastTotalScore < 0 }}"> |
|
||||||
2 较上次得分变化 |
|
||||||
<text class="green">{{item.TotalScore - item.LastTotalScore }},有进步,加油!</text> |
|
||||||
</view> |
|
||||||
<view class="line" wx:elif="{{item.TotalScore - item.LastTotalScore == 0 }}"> |
|
||||||
2 与上次得分一致,请继续保持 |
|
||||||
</view> |
|
||||||
<view class="line" wx:elif="{{item.TotalScore - item.LastTotalScore == 1 }}"> |
|
||||||
2 较上次得分变化 |
|
||||||
<text class="red">+{{item.TotalScore - item.LastTotalScore }},请继续关注!</text> |
|
||||||
</view> |
|
||||||
<view class="line" wx:elif="{{item.TotalScore - item.LastTotalScore >= 0 }}"> |
|
||||||
2 较上次得分变化 |
|
||||||
<text class="red">+{{item.TotalScore - item.LastTotalScore }},需要重点关注!</text> |
|
||||||
</view> |
|
||||||
</block> |
|
||||||
<view class="line" wx:if="{{item.EyeTypeScore / item.TotalScore < 0.5}}"> |
|
||||||
{{item.LastTotalScore === null ? 2 : 3}} 您的眼肌类占比 |
|
||||||
<text decode="true "><</text> |
|
||||||
50%,以全身症状为主,应注意休息警惕病情加重 |
|
||||||
</view> |
|
||||||
<view class="line" wx:elif="{{item.EyeTypeScore / item.TotalScore > 0.5}}"> |
|
||||||
{{item.LastTotalScore === null ? 2 : 3}} 您的眼肌类占比 |
|
||||||
<text decode="true ">></text> |
|
||||||
50%,危象风险不高,请继续关注 |
|
||||||
</view> |
|
||||||
<view class="line" wx:elif="{{item.EyeTypeScore / item.TotalScore == 0.5}}"> |
|
||||||
{{item.LastTotalScore === null ? 2 : 3}} 您的眼肌类占比=50%,危象风险不高,请继续关注 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="fold" wx:if="{{item.ResultsImgUrl}}"> |
|
||||||
<view class="fold-header" catch:tap="handleFold" data-index="{{index}}"> |
|
||||||
{{item.fold ? '展开':'收起'}}详细评测报告 |
|
||||||
<van-icon name="arrow-{{!item.fold ? 'up' : 'down'}}" /> |
|
||||||
</view> |
|
||||||
<view class="fold-container {{item.fold && 'hide'}}"> |
|
||||||
<!-- <image class="fold-img" mode="widthFix" src="{{item.ResultsImgUrl}}" show-menu-by-longpress></image> --> |
|
||||||
<view class="scurt"> |
|
||||||
<view class="s-header"> |
|
||||||
<view class="none"></view> |
|
||||||
<view |
|
||||||
class="bar" |
|
||||||
style="background: url({{imageUrl}}za-images//1/adl-scurt.png?t={{Timestamp}}) no-repeat center / 100% 100% ;" |
|
||||||
> |
|
||||||
<view class="num">0分</view> |
|
||||||
<view class="num">1分</view> |
|
||||||
<view class="num">2分</view> |
|
||||||
<view class="num">3分</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="s-body"> |
|
||||||
<view class="s-aside"> |
|
||||||
<view class="sa-item sa-item1">延髓</view> |
|
||||||
<view class="sa-item sa-item2">呼吸</view> |
|
||||||
<view class="sa-item sa-item3">四肢</view> |
|
||||||
<view class="sa-item sa-item4">眼肌</view> |
|
||||||
</view> |
|
||||||
<view class="s-container"> |
|
||||||
<view class="sc-row" wx:for="{{tableData}}" wx:for-item="subItem" wx:key="index"> |
|
||||||
<view class="sc-title">{{subItem.title}}</view> |
|
||||||
<view class="sc-col"> |
|
||||||
<image |
|
||||||
wx:if="{{item[subItem.key] == 0}}" |
|
||||||
class="icon" |
|
||||||
src="{{imageUrl}}za-images/1/adl-scurt-icon.png?t={{Timestamp}}" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
<view class="sc-col"> |
|
||||||
<image |
|
||||||
wx:if="{{item[subItem.key] == 1}}" |
|
||||||
class="icon" |
|
||||||
src="{{imageUrl}}za-images/1/adl-scurt-icon.png?t={{Timestamp}}" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
<view class="sc-col"> |
|
||||||
<image |
|
||||||
wx:if="{{item[subItem.key] == 2}}" |
|
||||||
class="icon" |
|
||||||
src="{{imageUrl}}za-images/1/adl-scurt-icon.png?t={{Timestamp}}" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
<view class="sc-col"> |
|
||||||
<image |
|
||||||
wx:if="{{item[subItem.key] == 3}}" |
|
||||||
class="icon" |
|
||||||
src="{{imageUrl}}za-images/1/adl-scurt-icon.png?t={{Timestamp}}" |
|
||||||
></image> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view |
|
||||||
class="drug-card" |
|
||||||
wx:if="{{item.SteroidDailyDose}}" |
|
||||||
bind:tap="handleDetail" |
|
||||||
bind:longpress="handleDel" |
|
||||||
data-id="{{item.Id}}" |
|
||||||
data-isi="{{item.IsInsuranceProject}}" |
|
||||||
data-index="{{index}}" |
|
||||||
> |
|
||||||
<view class="d-header"> |
|
||||||
<view class="name">激素用量</view> |
|
||||||
<view class="status"> |
|
||||||
本次激素用量为 |
|
||||||
<text class="num">{{item.SteroidDailyDose}}mg</text> |
|
||||||
/天 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="content" wx:if="{{item.SteroidDailyDose>5}}">距离达标还需努力,请遵医嘱规律治疗</view> |
|
||||||
<view class="content" wx:else>恭喜达标,您的激素用量已少于95% 的患友</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view |
|
||||||
class="sub-card" |
|
||||||
wx:elif="{{tab!=2 && item.Type==2}}" |
|
||||||
bind:tap="handleDetailDrug" |
|
||||||
bind:longpress="handleDelDrug" |
|
||||||
data-id="{{item.Id}}" |
|
||||||
data-isi="{{item.IsInsuranceProject}}" |
|
||||||
data-index="{{index}}" |
|
||||||
> |
|
||||||
<view class="left"> |
|
||||||
{{item.InjectionBottles}} |
|
||||||
<text class="sub">瓶</text> |
|
||||||
</view> |
|
||||||
<view class="inner"> |
|
||||||
<view class="i-title {{!item.DaysSinceLastInjection && 'sign'}}"> |
|
||||||
您的第 |
|
||||||
<text class="num" wx:if="{{item.Times}}">{{item.Times}}</text> |
|
||||||
次用药 |
|
||||||
</view> |
|
||||||
<view class="i-content" wx:if="{{item.DaysSinceLastInjection}}"> |
|
||||||
距离上次用药间隔:{{item.DaysSinceLastInjection}}天 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<pagination pagination="{{pagination}}"></pagination> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
|
|
||||||
<image class="add" bind:tap="handleAdd" src="{{imageUrl}}za-images/1/adl-add.png?t={{Timestamp}}"></image> |
|
||||||
<!-- <image --> |
|
||||||
<!-- class="add" --> |
|
||||||
<!-- wx:if="{{tab==3}}" --> |
|
||||||
<!-- bind:tap="handleAddDrug" --> |
|
||||||
<!-- src="{{imageUrl}}za-images/1.5/adl-add.png?t={{Timestamp}}" --> |
|
||||||
<!-- ></image> --> |
|
||||||
<!-- <image class="add" wx:else bind:tap="handleAdd" src="{{imageUrl}}za-images/1/adl-add.png?t={{Timestamp}}"></image> --> |
|
||||||
</view> |
|
||||||
@ -1,11 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "我的健康记录", |
|
||||||
"pageOrientation":"landscape", |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"calendar": "/components/calendar/index", |
|
||||||
"toast": "/components/toast/index", |
|
||||||
"ec-canvas": "/components/ec-canvas/ec-canvas" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,14 +0,0 @@ |
|||||||
page { |
|
||||||
min-height: 100vh; |
|
||||||
} |
|
||||||
|
|
||||||
.page { |
|
||||||
width: 100vw; |
|
||||||
height: 100vh; |
|
||||||
box-sizing: border-box; |
|
||||||
padding: 20rpx; |
|
||||||
#mychart-dom-bar { |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,287 +0,0 @@ |
|||||||
/* eslint-disable */ |
|
||||||
const app = getApp<IAppOption>() |
|
||||||
const licia = require('miniprogram-licia') |
|
||||||
import dayjs from 'dayjs' |
|
||||||
|
|
||||||
let echarts: any = null |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
ec: { |
|
||||||
lazyLoad: true, |
|
||||||
}, |
|
||||||
foldAll: true, |
|
||||||
|
|
||||||
BeginMonth: '', |
|
||||||
EndMonth: '', |
|
||||||
Type: '1', |
|
||||||
Num: '' as string | number, |
|
||||||
fields: { |
|
||||||
1: 'day', |
|
||||||
2: 'month', |
|
||||||
3: 'year', |
|
||||||
}, |
|
||||||
|
|
||||||
detail: {}, |
|
||||||
partNameList: app.globalData.partNameList, |
|
||||||
list: [], |
|
||||||
defaultList: [], |
|
||||||
count: 0, |
|
||||||
|
|
||||||
zdUserInfo: {}, |
|
||||||
todayBg: '', |
|
||||||
selectLegends: {}, |
|
||||||
|
|
||||||
page: 0, |
|
||||||
safeAreaLeft: 20, |
|
||||||
|
|
||||||
theme: '', |
|
||||||
}, |
|
||||||
ecDataTrendComponent: null as any, |
|
||||||
async onLoad() { |
|
||||||
app.zdGetTheme().then((res) => { |
|
||||||
this.setData({ |
|
||||||
theme: res, |
|
||||||
}) |
|
||||||
}) |
|
||||||
|
|
||||||
const that = this |
|
||||||
|
|
||||||
that.getSystemInfo() |
|
||||||
echarts = await require.async('../../compontnts/echart/echarts.js') |
|
||||||
|
|
||||||
that.ecDataTrendComponent = that.selectComponent('#mychart-dom-bar') |
|
||||||
|
|
||||||
const eventChannel = that.getOpenerEventChannel() |
|
||||||
eventChannel.on('acceptDataFromOpenerPage', function (data) { |
|
||||||
console.log(data) |
|
||||||
that.setData({ |
|
||||||
defaultList: data.list, |
|
||||||
selectLegends: { ...data.selectLegends }, |
|
||||||
zdUserInfo: app.globalData.zdUserInfo, |
|
||||||
}) |
|
||||||
that.initChart(data.list) |
|
||||||
}) |
|
||||||
|
|
||||||
that.initChart(that.data.defaultList as any) |
|
||||||
}, |
|
||||||
|
|
||||||
initChart(defaultList = []) { |
|
||||||
const { selectLegends, theme } = this.data |
|
||||||
// const list = defaultList.slice(page * 15, (page + 1) * 8);
|
|
||||||
const list = defaultList |
|
||||||
this.ecDataTrendComponent.init((canvas, width, height, dpr) => { |
|
||||||
let chart = echarts.init(canvas, null, { |
|
||||||
width: width, |
|
||||||
height: height, |
|
||||||
devicePixelRatio: dpr, // new
|
|
||||||
}) |
|
||||||
canvas.setChart(chart) |
|
||||||
|
|
||||||
var option = { |
|
||||||
dataZoom: [ |
|
||||||
{ |
|
||||||
type: 'inside', // 内置于坐标系中
|
|
||||||
// start: 0,
|
|
||||||
// end: 15,
|
|
||||||
startValue: 0, |
|
||||||
endValue: 15, |
|
||||||
xAxisIndex: [0], |
|
||||||
}, |
|
||||||
], |
|
||||||
tooltip: { |
|
||||||
trigger: 'axis', |
|
||||||
axisPointer: { |
|
||||||
type: 'shadow', |
|
||||||
}, |
|
||||||
confine: true, |
|
||||||
backgroundColor: 'rgba(0, 0, 0, 0.5)', |
|
||||||
textStyle: { |
|
||||||
color: '#fff', |
|
||||||
fontSize: 10, |
|
||||||
}, |
|
||||||
order: 'seriesDesc', |
|
||||||
}, |
|
||||||
legend: { |
|
||||||
bottom: 0, |
|
||||||
padding: 0, |
|
||||||
itemGap: 5, |
|
||||||
itemWidth: 8, |
|
||||||
itemHeight: 8, |
|
||||||
icon: 'circle', |
|
||||||
selected: selectLegends, |
|
||||||
}, |
|
||||||
grid: { |
|
||||||
top: '5', |
|
||||||
left: '0', |
|
||||||
right: '0', |
|
||||||
bottom: '15', |
|
||||||
containLabel: true, |
|
||||||
}, |
|
||||||
xAxis: [ |
|
||||||
{ |
|
||||||
type: 'category', |
|
||||||
axisTick: { |
|
||||||
show: false, |
|
||||||
}, |
|
||||||
axisLine: { |
|
||||||
lineStyle: { |
|
||||||
color: '#8C8C8C', |
|
||||||
type: 'dashed', |
|
||||||
}, |
|
||||||
}, |
|
||||||
axisLabel: { |
|
||||||
//x轴文字的配置
|
|
||||||
show: true, |
|
||||||
interval: 0, //使x轴文字显示全
|
|
||||||
rotate: -20, |
|
||||||
}, |
|
||||||
data: list.map((item) => item.Date), |
|
||||||
}, |
|
||||||
], |
|
||||||
yAxis: [ |
|
||||||
{ |
|
||||||
type: 'value', |
|
||||||
}, |
|
||||||
], |
|
||||||
series: [ |
|
||||||
{ |
|
||||||
name: '延髓', |
|
||||||
type: 'bar', |
|
||||||
stack: 'Ad', |
|
||||||
emphasis: { |
|
||||||
disabled: true, |
|
||||||
focus: 'none', |
|
||||||
}, |
|
||||||
data: list.map((item) => item.MedullaTypeScore * 1), |
|
||||||
barWidth: '16', |
|
||||||
itemStyle: { |
|
||||||
// borderColor: "#fff",
|
|
||||||
// borderWidth: 2,
|
|
||||||
color: '#7FBDA6', |
|
||||||
}, |
|
||||||
}, |
|
||||||
{ |
|
||||||
name: '呼吸', |
|
||||||
type: 'bar', |
|
||||||
stack: 'Ad', |
|
||||||
emphasis: { |
|
||||||
disabled: true, |
|
||||||
focus: 'none', |
|
||||||
}, |
|
||||||
data: list.map((item) => item.BreathTypeScore * 1), |
|
||||||
itemStyle: { |
|
||||||
// borderColor: "#fff",
|
|
||||||
// borderWidth: 2,
|
|
||||||
color: '#F1CE8F', |
|
||||||
}, |
|
||||||
}, |
|
||||||
{ |
|
||||||
name: '肢体', |
|
||||||
type: 'bar', |
|
||||||
stack: 'Ad', |
|
||||||
emphasis: { |
|
||||||
disabled: true, |
|
||||||
focus: 'none', |
|
||||||
}, |
|
||||||
data: list.map((item) => item.LimbsTypeScore * 1), |
|
||||||
itemStyle: { |
|
||||||
// borderColor: "#fff",
|
|
||||||
// borderWidth: 2,
|
|
||||||
color: '#9ED0DE', |
|
||||||
}, |
|
||||||
}, |
|
||||||
{ |
|
||||||
name: '眼肌', |
|
||||||
type: 'bar', |
|
||||||
stack: 'Ad', |
|
||||||
emphasis: { |
|
||||||
disabled: true, |
|
||||||
focus: 'none', |
|
||||||
}, |
|
||||||
data: list.map((item) => item.EyeTypeScore * 1), |
|
||||||
itemStyle: { |
|
||||||
// borderColor: "#fff",
|
|
||||||
// borderWidth: 2,
|
|
||||||
color: '#D37862', |
|
||||||
}, |
|
||||||
}, |
|
||||||
{ |
|
||||||
name: '总分', |
|
||||||
data: list.map((item) => item.TotalScore), |
|
||||||
type: 'line', |
|
||||||
symbol: 'circle', |
|
||||||
connectNulls: true, |
|
||||||
itemStyle: { |
|
||||||
color: '#CF5375', |
|
||||||
}, |
|
||||||
}, |
|
||||||
], |
|
||||||
// dataZoom: {
|
|
||||||
// show: true, // 为true 滚动条出现
|
|
||||||
// realtime: true,
|
|
||||||
// type: "slider", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
||||||
// height: 20, // 表示滚动条的高度,也就是粗细
|
|
||||||
// start: 20, // 表示默认展示20%~80%这一段。
|
|
||||||
// end: 80,
|
|
||||||
// },
|
|
||||||
} |
|
||||||
if (theme === 'DRUG') { |
|
||||||
let markLineData = list |
|
||||||
.filter((item) => item.InjectionBottles) |
|
||||||
.map((item) => { |
|
||||||
return { |
|
||||||
name: '', |
|
||||||
xAxis: item.Date, |
|
||||||
lineStyle: { |
|
||||||
color: '#25D9C8', |
|
||||||
cap: '', |
|
||||||
type: 'solid', |
|
||||||
}, |
|
||||||
label: { |
|
||||||
formatter: '', |
|
||||||
position: 'insideEndBottom', |
|
||||||
rotate: 0, |
|
||||||
color: '#25D9C8', |
|
||||||
offset: [60, 0], |
|
||||||
}, |
|
||||||
} |
|
||||||
}) |
|
||||||
option.series.push({ |
|
||||||
name: '用药', |
|
||||||
data: list.map((item) => item.InjectionBottles), |
|
||||||
type: 'line', |
|
||||||
symbol: 'none', |
|
||||||
itemStyle: { |
|
||||||
color: '#25D9C8', |
|
||||||
}, |
|
||||||
lineStyle: { |
|
||||||
width: 0, |
|
||||||
}, |
|
||||||
markLine: { |
|
||||||
symbol: ['none', 'none'], |
|
||||||
data: markLineData, |
|
||||||
}, |
|
||||||
}) |
|
||||||
} |
|
||||||
|
|
||||||
chart.setOption(option) |
|
||||||
return chart |
|
||||||
}) |
|
||||||
}, |
|
||||||
getSystemInfo() { |
|
||||||
wx.getSystemInfo({ |
|
||||||
success: (res) => { |
|
||||||
this.setData({ |
|
||||||
safeAreaLeft: res.safeArea.left || 20, |
|
||||||
}) |
|
||||||
}, |
|
||||||
}) |
|
||||||
}, |
|
||||||
onShareAppMessage() { |
|
||||||
return { |
|
||||||
title: 'MG-ADL测评表:评估重症肌无力患者症状对生活质量的影响', |
|
||||||
path: '/patient/pages/adl/index', |
|
||||||
} |
|
||||||
}, |
|
||||||
}) |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
<view class="page" style="padding-left: {{safeAreaLeft}}px;"> |
|
||||||
<!-- <navBar back background="transparent" bind:back="handleBack" title="" fixed></navBar> --> |
|
||||||
<ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> |
|
||||||
</view> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "订单详情", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,129 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f7f7f7; |
|
||||||
} |
|
||||||
.page { |
|
||||||
padding: 40rpx; |
|
||||||
.status-line { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
font-size: 40rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
.icon { |
|
||||||
margin-right: 16rpx; |
|
||||||
width: 48rpx; |
|
||||||
height: 50rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.site { |
|
||||||
margin-top: 26rpx; |
|
||||||
padding: 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 24rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.icon { |
|
||||||
margin-right: 16rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
width: 44rpx; |
|
||||||
height: 44rpx; |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
font-weight: bold; |
|
||||||
color: #3f3f3f; |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 12rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #bebfc1; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.shop { |
|
||||||
margin-top: 16rpx; |
|
||||||
padding: 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 24rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.shop-img { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 204rpx; |
|
||||||
height: 204rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
flex: 1; |
|
||||||
padding-left: 24rpx; |
|
||||||
.name { |
|
||||||
font-size: 32rpx; |
|
||||||
font-weight: bold; |
|
||||||
color: #3f3f3f; |
|
||||||
line-height: 44rpx; |
|
||||||
min-width: 0; |
|
||||||
overflow: hidden; |
|
||||||
text-overflow: ellipsis; |
|
||||||
display: -webkit-box; |
|
||||||
-webkit-line-clamp: 2; |
|
||||||
-webkit-box-orient: vertical; |
|
||||||
} |
|
||||||
.specification { |
|
||||||
display: inline-block; |
|
||||||
margin-top: 8rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
border-radius: 10rpx; |
|
||||||
} |
|
||||||
.price { |
|
||||||
margin-top: 14rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.num { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
.sub { |
|
||||||
font-size: 22rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.val { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #b6b7ba; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.detail { |
|
||||||
margin-top: 16rpx; |
|
||||||
padding: 8rpx 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 24rpx; |
|
||||||
.row { |
|
||||||
padding: 24rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
.label { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #bbbcbe; |
|
||||||
} |
|
||||||
.content { |
|
||||||
padding-left: 46rpx; |
|
||||||
flex: 1; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
&.yellow { |
|
||||||
color: #f5ad1d; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.row:not(:first-of-type) { |
|
||||||
border-top: 1rpx solid #ebebeb; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,29 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
id: "", |
|
||||||
detail: {}, |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
this.setData({ |
|
||||||
id: options.id, |
|
||||||
}); |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getDetail(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/gift-order/get-order-detail", |
|
||||||
data: { |
|
||||||
orderId: this.data.id, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
detail: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,54 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view class="status-line"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/2/order-status1.png?t={{Timestamp}}"></image> |
|
||||||
{{detail.statusName}} |
|
||||||
</view> |
|
||||||
<view class="site"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/2/order-site.png?t={{Timestamp}}"></image> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="title">{{detail.receiveUserName}} {{detail.receiveTelephone}}</view> |
|
||||||
<view class="content">{{detail.receiveAddress}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="shop"> |
|
||||||
<image class="shop-img" src="{{detail.giftBigImg}}"></image> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="name">{{detail.giftName}}</view> |
|
||||||
<view class="specification" wx:if="{{detail.specName}}">规格:{{detail.specName}}</view> |
|
||||||
<view class="price"> |
|
||||||
<view class="num">{{detail.giftScore}}<text class="sub">能量</text></view> |
|
||||||
<view class="val">x{{detail.orderCount}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="detail"> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">消耗能量</view> |
|
||||||
<view class="content">{{detail.orderScore}}</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">订单编号</view> |
|
||||||
<view class="content">{{detail.orderNo}}</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">客服电话</view> |
|
||||||
<view class="content">{{detail.serviceTel}}</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">创建时间</view> |
|
||||||
<view class="content">{{detail.orderTime}}</view> |
|
||||||
</view> |
|
||||||
<view class="row" wx:if="{{detail.status==3}}"> |
|
||||||
<view class="label">发货时间</view> |
|
||||||
<view class="content">{{detail.sendTime}}</view> |
|
||||||
</view> |
|
||||||
<view class="row" wx:if="{{detail.status==3}}"> |
|
||||||
<view class="label">物流公司</view> |
|
||||||
<view class="content">{{detail.logisticsCompany}}</view> |
|
||||||
</view> |
|
||||||
<view class="row" wx:if="{{detail.status==3}}"> |
|
||||||
<view class="label">物流单号</view> |
|
||||||
<view class="content">{{detail.logisticsOrderNo}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "下单成功", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,40 +0,0 @@ |
|||||||
.page { |
|
||||||
text-align: center; |
|
||||||
.content-img { |
|
||||||
margin-top: 196rpx; |
|
||||||
width: 454rpx; |
|
||||||
height: 356rpx; |
|
||||||
} |
|
||||||
.title { |
|
||||||
margin-top: -80rpx; |
|
||||||
font-size: 44rpx; |
|
||||||
color: #e04775; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.order-no { |
|
||||||
margin-top: 16rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #9b9ea6; |
|
||||||
} |
|
||||||
.detail-btn-bd { |
|
||||||
margin: 64rpx auto 0; |
|
||||||
width: 422rpx; |
|
||||||
height: 96rpx; |
|
||||||
background: #fff; |
|
||||||
border-radius: 48rpx; |
|
||||||
line-height: 96rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #e04775; |
|
||||||
border: 4rpx solid #e04775; |
|
||||||
} |
|
||||||
.detail-btn { |
|
||||||
margin: 64rpx auto 0; |
|
||||||
width: 422rpx; |
|
||||||
height: 96rpx; |
|
||||||
background: #e04775; |
|
||||||
border-radius: 48rpx; |
|
||||||
line-height: 96rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,39 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
id: "", |
|
||||||
detail: {}, |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
this.setData({ |
|
||||||
id: options.id, |
|
||||||
}); |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getDetail(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/gift-order/get-order-detail", |
|
||||||
data: { |
|
||||||
orderId: this.data.id, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
detail: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleDetail() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/orderDetail/index?id=${this.data.id}`, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleGift() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/giftList/index`, |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,7 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<image class="content-img" src="{{imageUrl}}za-images/2/order-end.png?t={{Timestamp}}"></image> |
|
||||||
<view class="title">下单成功</view> |
|
||||||
<view class="order-no">订单号:{{detail.orderNo}}</view> |
|
||||||
<view class="detail-btn-bd" bind:tap="handleDetail">查看订单详情</view> |
|
||||||
<view class="detail-btn" bind:tap="handleGift">返回礼品中心</view> |
|
||||||
</view> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "能量明细", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,78 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #fafafa; |
|
||||||
} |
|
||||||
|
|
||||||
.page { |
|
||||||
padding: 48rpx 40rpx 120rpx; |
|
||||||
.banner { |
|
||||||
position: relative; |
|
||||||
padding: 46rpx 48rpx; |
|
||||||
background-color: #e6658d; |
|
||||||
border-radius: 24rpx; |
|
||||||
.title { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
.num { |
|
||||||
font-size: 64rpx; |
|
||||||
color: 1897; |
|
||||||
font-weight: bold; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
.icon{ |
|
||||||
position: absolute; |
|
||||||
top: 40rpx; |
|
||||||
right: 40rpx; |
|
||||||
width: 124rpx; |
|
||||||
height: 122rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.list { |
|
||||||
margin-top: 48rpx; |
|
||||||
.list-title { |
|
||||||
font-size: 36rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
&::before { |
|
||||||
margin-right: 16rpx; |
|
||||||
display: inline-block; |
|
||||||
content: ""; |
|
||||||
width: 12rpx; |
|
||||||
height: 44rpx; |
|
||||||
background: #e04775; |
|
||||||
vertical-align: middle; |
|
||||||
border-radius: 0rpx 8rpx 8rpx 0rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.list-container { |
|
||||||
padding: 0 30rpx; |
|
||||||
margin-top: 20rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 24rpx; |
|
||||||
.row { |
|
||||||
padding: 30rpx 0; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
.wrap { |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
} |
|
||||||
.date { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #bbbcbe; |
|
||||||
} |
|
||||||
} |
|
||||||
.price { |
|
||||||
margin-left: 10rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
font-size: 40rpx; |
|
||||||
color: #f5ad1d; |
|
||||||
} |
|
||||||
} |
|
||||||
.row:not(:last-of-type) { |
|
||||||
border-bottom: 1px solid #ebebeb; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,53 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
score: 0, |
|
||||||
list: [], |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getList(); |
|
||||||
this.getDetail() |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-score/get-self-score", |
|
||||||
data: {}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
score: res.score, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getList(newPage = 1) { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-score/get-self-record-list", |
|
||||||
data: { page: newPage }, |
|
||||||
}).then((res) => { |
|
||||||
let list = res.page == 1 ? res.list : [...this.data.list, ...res.list]; |
|
||||||
this.setData({ |
|
||||||
list: list, |
|
||||||
pagination: { |
|
||||||
page: res.page, |
|
||||||
pages: res.pages, |
|
||||||
count: res.count, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
onReachBottom() { |
|
||||||
const { page, pages } = this.data.pagination; |
|
||||||
if (pages > page) { |
|
||||||
this.getList(page + 1); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,26 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view |
|
||||||
class="banner" |
|
||||||
style="background: url({{imageUrl}}za-images//2/price-detail-banner-bg.png?t={{Timestamp}}) no-repeat top center / 100%;" |
|
||||||
> |
|
||||||
<view class="title">当前能量</view> |
|
||||||
<view class="num">{{score}}</view> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/2/big-money.png?t={{Timestamp}}"></image> |
|
||||||
</view> |
|
||||||
<view class="list"> |
|
||||||
<view class="list-title">能量收支明细</view> |
|
||||||
<view class="list-container"> |
|
||||||
<view class="row" wx:for="{{list}}" wx:key="index"> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="title"> |
|
||||||
{{item.recordTypeName}} |
|
||||||
<block wx:if="{{item.recordType==51}}">:{{item.giftName}}</block> |
|
||||||
</view> |
|
||||||
<view class="date">{{item.createTime}}</view> |
|
||||||
</view> |
|
||||||
<view class="price">{{item.scoreChange}}</view> |
|
||||||
</view> |
|
||||||
<pagination pagination="{{pagination}}"></pagination> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,7 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "能量规则", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,139 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f5f5f5; |
|
||||||
} |
|
||||||
.page { |
|
||||||
padding: 200rpx 40rpx 80rpx; |
|
||||||
.banner { |
|
||||||
position: relative; |
|
||||||
.b-title { |
|
||||||
position: absolute; |
|
||||||
left: 50%; |
|
||||||
top: 0; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
width: 310rpx; |
|
||||||
height: 86rpx; |
|
||||||
} |
|
||||||
.b-content { |
|
||||||
padding: 72rpx 30rpx 36rpx; |
|
||||||
background: #fbf0f3; |
|
||||||
box-shadow: 0rpx 14rpx 32rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
border: 2rpx solid rgba(224, 71, 117, 0.52); |
|
||||||
} |
|
||||||
} |
|
||||||
.list { |
|
||||||
margin-top: 78rpx; |
|
||||||
padding: 76rpx 30rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 14rpx 32rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
position: relative; |
|
||||||
.l-title { |
|
||||||
position: absolute; |
|
||||||
left: 50%; |
|
||||||
top: 0; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
width: 310rpx; |
|
||||||
height: 86rpx; |
|
||||||
} |
|
||||||
.l-tip { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #333333; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.module { |
|
||||||
.m-title { |
|
||||||
position: relative; |
|
||||||
margin: 26rpx 96rpx 0 16rpx; |
|
||||||
line-height: 60rpx; |
|
||||||
padding: 0 24rpx; |
|
||||||
background: linear-gradient(270deg, rgba(242, 125, 173, 0) 0%, rgba(224, 71, 117, 0.87) 57%, #e04775 100%); |
|
||||||
font-size: 28rpx; |
|
||||||
color: #ffffff; |
|
||||||
font-weight: bold; |
|
||||||
.num { |
|
||||||
position: absolute; |
|
||||||
left: 0; |
|
||||||
top: 0; |
|
||||||
transform: translate(-100%, 0); |
|
||||||
width: 60rpx; |
|
||||||
height: 60rpx; |
|
||||||
background-color: #24d8c8; |
|
||||||
text-align: center; |
|
||||||
line-height: 60rpx; |
|
||||||
&::before { |
|
||||||
position: absolute; |
|
||||||
top: -6rpx; |
|
||||||
left: 0; |
|
||||||
content: ""; |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
border-style: solid; |
|
||||||
border-width: 0 0 6rpx 14rpx; |
|
||||||
border-color: transparent transparent #007167 transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.m-content { |
|
||||||
margin-top: 24rpx; |
|
||||||
padding: 32rpx 30rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666666; |
|
||||||
border-radius: 16rpx; |
|
||||||
background-color: #f5f5f5; |
|
||||||
} |
|
||||||
.ul { |
|
||||||
.ol { |
|
||||||
margin-top: 34rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666666; |
|
||||||
.o-title { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666666; |
|
||||||
font-weight: bold; |
|
||||||
margin-bottom: 12rpx; |
|
||||||
display: flex; |
|
||||||
.o-num { |
|
||||||
margin-right: 12rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
width: 34rpx; |
|
||||||
height: 34rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #ffffff; |
|
||||||
background-color: #e04775; |
|
||||||
text-align: center; |
|
||||||
line-height: 34rpx; |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
} |
|
||||||
&.no-title { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.tip { |
|
||||||
margin-top: 32rpx; |
|
||||||
.t-title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #666666; |
|
||||||
font-weight: bold; |
|
||||||
line-height: 1; |
|
||||||
&::before { |
|
||||||
margin-right: 16rpx; |
|
||||||
display: inline-block; |
|
||||||
vertical-align: middle; |
|
||||||
content: ""; |
|
||||||
width: 10rpx; |
|
||||||
height: 34rpx; |
|
||||||
background-color: #e04775; |
|
||||||
} |
|
||||||
} |
|
||||||
.t-content { |
|
||||||
margin-top: 10rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666666; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,33 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
list: [], |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
const SystemInfo = app.globalSystemInfo; |
|
||||||
if (SystemInfo) { |
|
||||||
const { bottom } = SystemInfo.capsulePosition; |
|
||||||
this.setData({ |
|
||||||
bottom: bottom, |
|
||||||
}); |
|
||||||
} |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getDetail(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-score/get-score-explain", |
|
||||||
data: {}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
list: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,59 +0,0 @@ |
|||||||
<view class="page" style="background:url({{imageUrl}}za-images/2/score-rule-bg.png?t={{Timestamp}}) no-repeat top center / 100%"> |
|
||||||
<navBar fixed title="" home="{{false}}" back bind:back="handleBack"></navBar> |
|
||||||
<view class="page-container" style="padding-top:{{bottom+26}}px"> |
|
||||||
<view class="banner"> |
|
||||||
<image class="b-title" src="{{imageUrl}}za-images/2/score-rule-title1.png?t={{Timestamp}}"></image> |
|
||||||
<view class="b-content">{{ list[0].content }}</view> |
|
||||||
</view> |
|
||||||
<view class="list"> |
|
||||||
<image class="l-title" src="{{imageUrl}}za-images/2/score-rule-title2.png?t={{Timestamp}}"></image> |
|
||||||
<view class="l-tip">{{list[1].content}}</view> |
|
||||||
<view class="module" wx:for="{{list[1].children}}" wx:key="index"> |
|
||||||
<view class="m-title"> |
|
||||||
<view class="num">{{index+1}}</view> |
|
||||||
{{item.title}} |
|
||||||
</view> |
|
||||||
<view class="m-content" wx:if="{{item.content}}">{{item.content}}</view> |
|
||||||
<view class="ul" wx:if="{{item.children.length}}"> |
|
||||||
<view |
|
||||||
class="ol {{!subItem.title && 'no-title'}}" |
|
||||||
wx:for="{{item.children}}" |
|
||||||
wx:for-item="subItem" |
|
||||||
wx:for-index="subIndex" |
|
||||||
wx:key="subIndex" |
|
||||||
> |
|
||||||
<view class="o-title"> |
|
||||||
<view class="o-num">{{subIndex+1}}</view> |
|
||||||
{{subItem.title}} |
|
||||||
</view> |
|
||||||
{{subItem.content}} |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="list"> |
|
||||||
<image class="l-title" src="{{imageUrl}}za-images/2/score-rule-title3.png?t={{Timestamp}}" style="width: 328rpx"></image> |
|
||||||
<view class="l-tip">{{list[2].content}}</view> |
|
||||||
<view class="module" wx:for="{{list[2].children}}" wx:key="index"> |
|
||||||
<view class="m-title" wx:if="{{item.title}}"> |
|
||||||
<view class="num">{{index+1}}</view> |
|
||||||
{{item.title}} |
|
||||||
</view> |
|
||||||
<view class="m-content" wx:if="{{item.content}}">{{item.content}}</view> |
|
||||||
<view class="ul" wx:if="{{item.children.length}}"> |
|
||||||
<view class="ol" wx:for="{{item.children}}" wx:for-item="subItem" wx:for-index="subIndex" wx:key="subIndex"> |
|
||||||
<view class="o-title"> |
|
||||||
<view class="o-num">{{subIndex+1}}</view> |
|
||||||
{{subItem.title}} |
|
||||||
</view> |
|
||||||
{{subItem.content}} |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="tip"> |
|
||||||
<view class="t-title">{{list[3].title}}</view> |
|
||||||
<view class="t-content">{{list[3].content}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,8 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "添加收货地址", |
|
||||||
"usingComponents": { |
|
||||||
"van-switch": "@vant/weapp/switch/index", |
|
||||||
"van-popup": "@vant/weapp/popup/index", |
|
||||||
"van-cascader": "@vant/weapp/cascader/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,96 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f7f7f7; |
|
||||||
} |
|
||||||
|
|
||||||
.page { |
|
||||||
padding: 40rpx; |
|
||||||
.form { |
|
||||||
padding: 0 32rpx; |
|
||||||
background-color: #fff; |
|
||||||
border-radius: 24rpx; |
|
||||||
.row { |
|
||||||
padding: 32rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.label { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 4em; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #3f3f3f; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.content { |
|
||||||
flex: 1; |
|
||||||
padding-left: 18rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.input { |
|
||||||
flex: 1; |
|
||||||
font-size: 32rpx; |
|
||||||
} |
|
||||||
.place-input { |
|
||||||
color: #bbbcbe; |
|
||||||
} |
|
||||||
.site { |
|
||||||
border-left: 2rpx solid rgba(170, 170, 170, 0.3); |
|
||||||
padding-left: 16rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #e04775; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.icon { |
|
||||||
margin-right: 10rpx; |
|
||||||
width: 36rpx; |
|
||||||
height: 36rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.row:not(:last-of-type) { |
|
||||||
border-bottom: 1rpx solid #edeff3; |
|
||||||
} |
|
||||||
} |
|
||||||
.default { |
|
||||||
margin-top: 16rpx; |
|
||||||
padding: 26rpx 32rpx; |
|
||||||
background-color: #fff; |
|
||||||
border-radius: 24rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
} |
|
||||||
.footer { |
|
||||||
padding: 40rpx; |
|
||||||
position: fixed; |
|
||||||
left: 0; |
|
||||||
bottom: 0; |
|
||||||
width: 100vw; |
|
||||||
box-sizing: border-box; |
|
||||||
bottom: 248rpx; |
|
||||||
display: flex; |
|
||||||
.cancel { |
|
||||||
margin-right: 32rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
width: 248rpx; |
|
||||||
height: 96rpx; |
|
||||||
border-radius: 48rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
line-height: 92rpx; |
|
||||||
text-align: center; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #e04775; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
} |
|
||||||
.submit { |
|
||||||
flex: 1; |
|
||||||
height: 96rpx; |
|
||||||
background: #e04775; |
|
||||||
border-radius: 48rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 96rpx; |
|
||||||
text-align: center; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,272 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
LAT: "", |
|
||||||
LNG: "", |
|
||||||
|
|
||||||
addressId: "", |
|
||||||
receiveUserName: "", |
|
||||||
receiveTelephone: "", |
|
||||||
address: "", |
|
||||||
isDefault: false, |
|
||||||
provinceName: "", |
|
||||||
provinceId: "", |
|
||||||
cityId: "", |
|
||||||
cityName: "", |
|
||||||
countyId: "", |
|
||||||
countyName: "", |
|
||||||
|
|
||||||
pcc: "", |
|
||||||
|
|
||||||
cascaderShow: false, |
|
||||||
options: [], |
|
||||||
areaValue: [] as number[], |
|
||||||
cascaderValue: "", |
|
||||||
fieldNames: { text: "label", value: "value", children: "children" }, |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
if (options.id) { |
|
||||||
wx.setNavigationBarTitle({ |
|
||||||
title: "编辑收货地址", |
|
||||||
}); |
|
||||||
this.setData({ |
|
||||||
addressId: options.id, |
|
||||||
}); |
|
||||||
} |
|
||||||
app.waitLogin().then((_res) => { |
|
||||||
this.getArea(); |
|
||||||
if (options.id) { |
|
||||||
this.getDetail(); |
|
||||||
} |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-address/get-address-detail", |
|
||||||
data: { |
|
||||||
addressId: this.data.addressId, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
console.log("res: ", res); |
|
||||||
this.setData({ |
|
||||||
...res, |
|
||||||
isDefault: res.isDefault == 1 ? true : false, |
|
||||||
pcc: `${res.provinceName}/${res.cityName}/${res.countyName}`, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
onChange(e) { |
|
||||||
this.setData({ |
|
||||||
isDefault: e.detail, |
|
||||||
}); |
|
||||||
}, |
|
||||||
getArea() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "/js/area.json", |
|
||||||
isJSON: true, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
options: res.map((item) => { |
|
||||||
return { |
|
||||||
...item, |
|
||||||
children: item.children.map((item2) => { |
|
||||||
return { |
|
||||||
label: item2.label, |
|
||||||
value: item2.value, |
|
||||||
children: item2.children.map((item3) => { |
|
||||||
return { |
|
||||||
label: item3.label, |
|
||||||
value: item3.value, |
|
||||||
}; |
|
||||||
}), |
|
||||||
}; |
|
||||||
}), |
|
||||||
}; |
|
||||||
}), |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleCascader() { |
|
||||||
this.setData({ |
|
||||||
cascaderShow: true, |
|
||||||
}); |
|
||||||
}, |
|
||||||
onFinish(e: any) { |
|
||||||
const selectedOptions = e.detail.selectedOptions; |
|
||||||
console.log(selectedOptions); |
|
||||||
this.setData({ |
|
||||||
cascaderValue: e.detail.value, |
|
||||||
areaValue: [selectedOptions[0].value, selectedOptions[1].value, selectedOptions[2].value], |
|
||||||
pcc: `${selectedOptions[0].label}/${selectedOptions[1].label}/${selectedOptions[2].label}`, |
|
||||||
provinceId: selectedOptions[0].value, |
|
||||||
provinceName: selectedOptions[0].label, |
|
||||||
cityId: selectedOptions[1].value, |
|
||||||
cityName: selectedOptions[1].label, |
|
||||||
countyId: selectedOptions[2].value, |
|
||||||
countyName: selectedOptions[2].label, |
|
||||||
}); |
|
||||||
this.onClose(); |
|
||||||
}, |
|
||||||
onClose() { |
|
||||||
this.setData({ |
|
||||||
cascaderShow: false, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSite() { |
|
||||||
const that = this; |
|
||||||
wx.getSetting({ |
|
||||||
success(res) { |
|
||||||
if ( |
|
||||||
res.authSetting["scope.userFuzzyLocation"] != undefined && |
|
||||||
res.authSetting["scope.userFuzzyLocation"] == true |
|
||||||
) { |
|
||||||
//获取当前位置
|
|
||||||
that.getFuzzyLocation(); |
|
||||||
} else if (res.authSetting["scope.userFuzzyLocation"] == undefined) { |
|
||||||
//获取当前位置
|
|
||||||
that.getFuzzyLocation(); |
|
||||||
} else { |
|
||||||
wx.showModal({ |
|
||||||
title: "请求授权当前位置", |
|
||||||
content: "需要获取您的地理位置,请确认授权", |
|
||||||
confirmColor: "#cf5375", |
|
||||||
success: function (res) { |
|
||||||
if (res.cancel) { |
|
||||||
//取消授权
|
|
||||||
wx.showToast({ |
|
||||||
title: "拒绝授权", |
|
||||||
icon: "none", |
|
||||||
duration: 1000, |
|
||||||
}); |
|
||||||
} else if (res.confirm) { |
|
||||||
//确定授权,通过wx.openSetting发起授权请求
|
|
||||||
wx.openSetting({ |
|
||||||
success: function (res) { |
|
||||||
if (res.authSetting["scope.userFuzzyLocation"] == true) { |
|
||||||
//再次授权,调用wx.getLocation的API
|
|
||||||
that.getFuzzyLocation(); |
|
||||||
} else { |
|
||||||
wx.showToast({ |
|
||||||
title: "授权失败", |
|
||||||
icon: "none", |
|
||||||
duration: 1000, |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
getFuzzyLocation() { |
|
||||||
const that = this; |
|
||||||
wx.getFuzzyLocation({ |
|
||||||
success(res) { |
|
||||||
that.setData({ |
|
||||||
LNG: res.longitude, |
|
||||||
LAT: res.latitude, |
|
||||||
}); |
|
||||||
that.getLocationInfo(); |
|
||||||
}, |
|
||||||
fail(err) { |
|
||||||
console.log(err); |
|
||||||
}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
getLocationInfo() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/nrdl-hospital/location-info", |
|
||||||
data: { |
|
||||||
lat: this.data.LAT, |
|
||||||
lng: this.data.LNG, |
|
||||||
}, |
|
||||||
loading: true, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
cityId: res.CityId, |
|
||||||
cityName: res.CityName, |
|
||||||
countyId: res.CountyId, |
|
||||||
countyName: res.CountyName, |
|
||||||
provinceId: res.ProvinceId, |
|
||||||
provinceName: res.ProvinceName, |
|
||||||
|
|
||||||
pcc: `${res.ProvinceName}/${res.CityName}/${res.CountyName}`, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSubmit() { |
|
||||||
const { |
|
||||||
receiveUserName, |
|
||||||
receiveTelephone, |
|
||||||
address, |
|
||||||
isDefault, |
|
||||||
addressId, |
|
||||||
provinceName, |
|
||||||
provinceId, |
|
||||||
cityId, |
|
||||||
cityName, |
|
||||||
countyId, |
|
||||||
countyName, |
|
||||||
} = this.data; |
|
||||||
let toast = ""; |
|
||||||
if (!receiveUserName) toast = "请输入收货人姓名"; |
|
||||||
if (!receiveTelephone) toast = "请输入联系电话"; |
|
||||||
if (!provinceName) toast = "请选择所在地区"; |
|
||||||
if (!address) toast = "请输入详细地址"; |
|
||||||
|
|
||||||
const params = { |
|
||||||
receiveUserName, |
|
||||||
receiveTelephone, |
|
||||||
provinceName, |
|
||||||
address, |
|
||||||
isDefault: isDefault ? 1 : 2, |
|
||||||
addressId, |
|
||||||
provinceId, |
|
||||||
cityId, |
|
||||||
cityName, |
|
||||||
countyId, |
|
||||||
countyName, |
|
||||||
}; |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/patient-address/save-address", |
|
||||||
data: params, |
|
||||||
}).then(() => { |
|
||||||
wx.navigateBack(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleDel() { |
|
||||||
wx.showModal({ |
|
||||||
title: "确认删除?", |
|
||||||
confirmColor: "#DE406A", |
|
||||||
success: (res) => { |
|
||||||
if (res.confirm) { |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/patient-address/del-address", |
|
||||||
data: { |
|
||||||
addressId: this.data.addressId, |
|
||||||
}, |
|
||||||
loading: true, |
|
||||||
}).then((res) => { |
|
||||||
wx.navigateBack({ |
|
||||||
success() { |
|
||||||
wx.showToast({ |
|
||||||
icon: "none", |
|
||||||
title: res, |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,80 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view class="form"> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">收货人</view> |
|
||||||
<view class="content"> |
|
||||||
<input |
|
||||||
type="text" |
|
||||||
model:value="{{receiveUserName}}" |
|
||||||
class="input" |
|
||||||
maxlength="{{10}}" |
|
||||||
placeholder-class="place-input" |
|
||||||
placeholder="请输入收货人姓名" |
|
||||||
/> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">联系电话</view> |
|
||||||
<view class="content"> |
|
||||||
<input |
|
||||||
type="number" |
|
||||||
model:value="{{receiveTelephone}}" |
|
||||||
maxlength="{{11}}" |
|
||||||
class="input" |
|
||||||
placeholder-class="place-input" |
|
||||||
placeholder="请输入联系电话" |
|
||||||
/> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">所在地区</view> |
|
||||||
<view class="content"> |
|
||||||
<input |
|
||||||
type="text" |
|
||||||
value="{{pcc}}" |
|
||||||
class="input" |
|
||||||
disabled |
|
||||||
bind:tap="handleCascader" |
|
||||||
placeholder-class="place-input" |
|
||||||
placeholder="请选择省市区、街道" |
|
||||||
/> |
|
||||||
<view class="site" bind:tap="handleSite"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/2/site.png?t={{Timestamp}}"></image> |
|
||||||
定位 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="label">详细地址</view> |
|
||||||
<view class="content"> |
|
||||||
<input |
|
||||||
type="text" |
|
||||||
model:value="{{address}}" |
|
||||||
class="input" |
|
||||||
placeholder-class="place-input" |
|
||||||
placeholder="小区单元门牌号、乡村名称" |
|
||||||
/> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="default"> |
|
||||||
设置为默认地址 |
|
||||||
<van-switch checked="{{ isDefault }}" bind:change="onChange" active-color="#E04775" size="24px" /> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="cancel" wx:if="{{addressId}}" bind:tap="handleDel">删除</view> |
|
||||||
<view class="submit" bind:tap="handleSubmit">保存</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
|
|
||||||
<van-popup show="{{ cascaderShow }}" round position="bottom"> |
|
||||||
<van-cascader |
|
||||||
wx:if="{{ cascaderShow }}" |
|
||||||
value="{{ cascaderValue }}" |
|
||||||
title="请选择所在地区" |
|
||||||
options="{{ options }}" |
|
||||||
field-names="{{fieldNames}}" |
|
||||||
bind:close="onClose" |
|
||||||
bind:finish="onFinish" |
|
||||||
/> |
|
||||||
</van-popup> |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "地址管理", |
|
||||||
"usingComponents": {} |
|
||||||
} |
|
||||||
@ -1,73 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #fafafa; |
|
||||||
} |
|
||||||
.page { |
|
||||||
padding: 34rpx 40rpx 240rpx; |
|
||||||
.card { |
|
||||||
margin-bottom: 20rpx; |
|
||||||
padding: 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 24rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
.wrap { |
|
||||||
flex: 1; |
|
||||||
width: calc(100% - 100rpx); |
|
||||||
.title { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.name { |
|
||||||
flex: 1; |
|
||||||
font-size: 32rpx; |
|
||||||
font-weight: bold; |
|
||||||
align-items: center; |
|
||||||
overflow: hidden; |
|
||||||
white-space: nowrap; |
|
||||||
text-overflow: ellipsis; |
|
||||||
} |
|
||||||
.label { |
|
||||||
flex-shrink: 0; |
|
||||||
margin-right: 20rpx; |
|
||||||
padding: 0 10rpx; |
|
||||||
display: inline-block; |
|
||||||
vertical-align: middle; |
|
||||||
font-size: 24rpx; |
|
||||||
line-height: 34rpx; |
|
||||||
color: #e04775; |
|
||||||
border: 1rpx solid #e04775; |
|
||||||
border-radius: 10rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 12rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #bbbcbe; |
|
||||||
} |
|
||||||
} |
|
||||||
.edit { |
|
||||||
margin-left: 15rpx; |
|
||||||
width: 32rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
.edit-img { |
|
||||||
width: 32rpx; |
|
||||||
height: 32rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.submit { |
|
||||||
position: fixed; |
|
||||||
bottom: 120rpx; |
|
||||||
left: 40rpx; |
|
||||||
height: 96rpx; |
|
||||||
width: calc(100% - 80rpx); |
|
||||||
background: #e04775; |
|
||||||
border-radius: 48rpx; |
|
||||||
text-align: center; |
|
||||||
line-height: 96rpx; |
|
||||||
text-align: center; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #ffffff; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,64 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
list: [], |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
}, |
|
||||||
onShow() { |
|
||||||
app.waitLogin().then(() => { |
|
||||||
this.getList(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
getList(newPage = 1) { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/patient-address/get-list", |
|
||||||
data: { |
|
||||||
page: newPage, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
let list = res.page == 1 ? res.list : [...this.data.list, ...res.list]; |
|
||||||
this.setData({ |
|
||||||
list: list, |
|
||||||
pagination: { |
|
||||||
page: res.page, |
|
||||||
pages: res.pages, |
|
||||||
count: res.count, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSelect(e) { |
|
||||||
const { index } = e.currentTarget.dataset; |
|
||||||
let pages = getCurrentPages(); |
|
||||||
|
|
||||||
let prevPage = pages[pages.length - 2]; |
|
||||||
prevPage.setData({ |
|
||||||
select: true, |
|
||||||
addressDetail: this.data.list[index], |
|
||||||
}); |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
handleEdit(e) { |
|
||||||
const { id } = e.currentTarget.dataset; |
|
||||||
wx.navigateTo({ |
|
||||||
url: `/gift/pages/siteEdit/index?id=${id}`, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleAdd() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/gift/pages/siteEdit/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
onReachBottom() { |
|
||||||
const { page, pages } = this.data.pagination; |
|
||||||
if (pages > page) { |
|
||||||
this.getList(page + 1); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,17 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<view class="card" wx:for="{{list}}" wx:key="index"> |
|
||||||
<view class="wrap" bind:tap="handleSelect" data-index="{{index}}"> |
|
||||||
<view class="title"> |
|
||||||
<view class="label" wx:if="{{item.isDefault==1}}">默认</view> |
|
||||||
<view class="name">{{item.provinceName}}{{item.cityName}}{{item.countyName}}{{item.address}}</view> |
|
||||||
</view> |
|
||||||
<view class="content">{{item.receiveUserName}} {{item.receiveTelephone}}</view> |
|
||||||
</view> |
|
||||||
<view class="edit" bind:tap="handleEdit" data-id="{{item.addressId}}"> |
|
||||||
<image class="edit-img" src="{{imageUrl}}za-images/2/edit.png?t={{Timestamp}}"></image> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<pagination pagination="{{pagination}}"></pagination> |
|
||||||
|
|
||||||
<view class="submit" bind:tap="handleAdd">新增地址</view> |
|
||||||
</view> |
|
||||||
@ -1,11 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"disableSwipeBack": true, |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"van-divider": "@vant/weapp/divider/index", |
|
||||||
"uploadFile": "/components/uploadFile/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,189 +0,0 @@ |
|||||||
.page { |
|
||||||
position: relative; |
|
||||||
box-sizing: border-box; |
|
||||||
background-color: #fff; |
|
||||||
.bg { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.page-container { |
|
||||||
padding-bottom: 80rpx; |
|
||||||
position: absolute; |
|
||||||
width: 100%; |
|
||||||
top: 0; |
|
||||||
left: 0; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
.page-title { |
|
||||||
margin-top: 86rpx; |
|
||||||
font-size: 48rpx; |
|
||||||
color: #333333; |
|
||||||
font-weight: bold; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.sub-title { |
|
||||||
margin-top: 32rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #aaaaaa; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin: 40rpx auto 0; |
|
||||||
padding: 40rpx 64rpx; |
|
||||||
width: 654rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.09); |
|
||||||
border: 2rpx solid rgba(224, 71, 117, 0.25); |
|
||||||
border-radius: 24rpx; |
|
||||||
.c-title { |
|
||||||
font-size: 30rpx; |
|
||||||
color: #666666; |
|
||||||
text-align: center; |
|
||||||
.blod { |
|
||||||
font-weight: bold; |
|
||||||
color: #cf5375; |
|
||||||
} |
|
||||||
} |
|
||||||
.c-link { |
|
||||||
margin-top: 24rpx; |
|
||||||
font-size: 30rpx; |
|
||||||
color: #666666; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.upload { |
|
||||||
margin-top: 46rpx; |
|
||||||
.upload-container { |
|
||||||
position: relative; |
|
||||||
width: 510rpx; |
|
||||||
height: 510rpx; |
|
||||||
border: 2rpx dotted #cf5375; |
|
||||||
border-radius: 24rpx; |
|
||||||
background: rgba(207, 83, 117, 0.06); |
|
||||||
.icon { |
|
||||||
display: block; |
|
||||||
margin: 148rpx auto 0; |
|
||||||
width: 141rpx; |
|
||||||
height: 161rpx; |
|
||||||
} |
|
||||||
.name { |
|
||||||
margin-top: 36rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
font-weight: bold; |
|
||||||
color: #cf5375; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.diagnose-img { |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
border-radius: inherit; |
|
||||||
} |
|
||||||
.ai { |
|
||||||
position: absolute; |
|
||||||
bottom: -20rpx; |
|
||||||
left: calc(50% - 100rpx); |
|
||||||
width: 200rpx; |
|
||||||
height: 40rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
line-height: 42rpx; |
|
||||||
color: #fff; |
|
||||||
text-align: center; |
|
||||||
background: #23bbad; |
|
||||||
border-radius: 20rpx 20rpx 20rpx 20rpx; |
|
||||||
} |
|
||||||
.scan { |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
left: 0; |
|
||||||
width: 100%; |
|
||||||
height: 80rpx; |
|
||||||
background: linear-gradient(0deg, #ec7095 0%, rgba(236, 112, 177, 0) 100%); |
|
||||||
border-radius: 0rpx 0rpx 0rpx 0rpx; |
|
||||||
opacity: 0.5; |
|
||||||
animation: 3s ease-in 1s infinite reverse both running slidein; |
|
||||||
@keyframes slidein { |
|
||||||
0% { |
|
||||||
top: 0; |
|
||||||
} |
|
||||||
50% { |
|
||||||
top: 430rpx; |
|
||||||
} |
|
||||||
100% { |
|
||||||
top: 0rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.error { |
|
||||||
position: absolute; |
|
||||||
bottom: 0; |
|
||||||
left: 0; |
|
||||||
padding: 8rpx 20rpx; |
|
||||||
width: 100%; |
|
||||||
box-sizing: border-box; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #fff; |
|
||||||
white-space: pre-line; |
|
||||||
text-align: center; |
|
||||||
background-color: #bb232c; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.footer { |
|
||||||
flex-shrink: 0; |
|
||||||
margin: 81rpx 48rpx 0; |
|
||||||
box-sizing: border-box; |
|
||||||
display: flex; |
|
||||||
> view:not(:last-of-type), |
|
||||||
> image { |
|
||||||
margin-right: 30rpx; |
|
||||||
} |
|
||||||
.next { |
|
||||||
flex: 1; |
|
||||||
text-align: center; |
|
||||||
height: 88rpx; |
|
||||||
line-height: 88rpx; |
|
||||||
text-align: center; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
border-radius: 24rpx; |
|
||||||
font-size: 34rpx; |
|
||||||
font-weight: bold; |
|
||||||
background-color: #e04775; |
|
||||||
color: #fff; |
|
||||||
&.active { |
|
||||||
background-color: #dddddd; |
|
||||||
border-color: #dddddd; |
|
||||||
} |
|
||||||
} |
|
||||||
.btn1 { |
|
||||||
flex: 1; |
|
||||||
height: 80rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
opacity: 1; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
font-size: 34rpx; |
|
||||||
color: #e04775; |
|
||||||
text-align: center; |
|
||||||
line-height: 80rpx; |
|
||||||
font-weight: bold; |
|
||||||
box-sizing: border-box; |
|
||||||
} |
|
||||||
.btn2 { |
|
||||||
flex: 1; |
|
||||||
border-radius: 24rpx; |
|
||||||
text-align: center; |
|
||||||
height: 80rpx; |
|
||||||
line-height: 80rpx; |
|
||||||
font-size: 34rpx; |
|
||||||
color: #fff; |
|
||||||
font-weight: bold; |
|
||||||
background-color: #cf5375; |
|
||||||
} |
|
||||||
.msg { |
|
||||||
flex: 1; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #e04775; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,134 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
diagnoseImg: "", |
|
||||||
error: false, |
|
||||||
errorText: "", |
|
||||||
aiPass: 0, |
|
||||||
verify: false, |
|
||||||
audit: false, |
|
||||||
|
|
||||||
zdUserInfo: app.globalData.zdUserInfo, |
|
||||||
Hash: "", |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
app.waitLogin({}).then(() => { |
|
||||||
app.getZdUserInfo(this, true, (zdUserInfo) => { |
|
||||||
if (zdUserInfo.UserType == 4) { |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/patient/pages/my/index", |
|
||||||
}); |
|
||||||
} |
|
||||||
app.zdPermissionVerification(3, 0, `/patient/pages/index/index`); |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSetData(e: WechatMiniprogram.CustomEvent) { |
|
||||||
const imgUrl = e.detail[0].imgUrl; |
|
||||||
this.setData({ |
|
||||||
diagnoseImg: imgUrl, |
|
||||||
audit: true, |
|
||||||
}); |
|
||||||
this.handleAiPass(imgUrl); |
|
||||||
}, |
|
||||||
handleAiPass(imgUrl: string) { |
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/common/medicine-image-verify", |
|
||||||
data: { |
|
||||||
ImageUrl: imgUrl, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
const { code, Hash } = res; |
|
||||||
this.setData({ |
|
||||||
Hash, |
|
||||||
}); |
|
||||||
if (code === 0) { |
|
||||||
this.setData({ |
|
||||||
audit: false, |
|
||||||
verify: true, |
|
||||||
aiPass: 1, |
|
||||||
}); |
|
||||||
this.handleSubmit(); |
|
||||||
} else { |
|
||||||
const errorText = { |
|
||||||
1001: "智能审核失败:图片模糊无法识别", |
|
||||||
1002: "智能审核失败:图片模糊无法识别", |
|
||||||
2001: "智能审核失败:疑似提交重复图片", |
|
||||||
2002: '智能审核失败:您提交图片中不包含"艾加莫德"相关字样', |
|
||||||
}; |
|
||||||
this.setData({ |
|
||||||
audit: false, |
|
||||||
error: true, |
|
||||||
errorText: errorText[code] || errorText[1001], |
|
||||||
}); |
|
||||||
} |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSubmit() { |
|
||||||
const { registrationSource, registChannel, regBusinessId } = app.globalData; |
|
||||||
const { diagnoseImg, error, zdUserInfo, Hash } = this.data; |
|
||||||
let urlKey = ""; |
|
||||||
|
|
||||||
if (error) { |
|
||||||
urlKey = zdUserInfo.isFollow ? "nopending" : "pending"; |
|
||||||
} else { |
|
||||||
urlKey = "reslove"; |
|
||||||
} |
|
||||||
|
|
||||||
const navUrl = { |
|
||||||
reslove: "/patient/pages/index/index", |
|
||||||
pending: "/gift/pages/vipPending/index", |
|
||||||
nopending: "/gift/pages/vimStartPending/index", |
|
||||||
}[urlKey] as string; |
|
||||||
|
|
||||||
wx.ajax({ |
|
||||||
method: "POST", |
|
||||||
url: "?r=zd/account/upload-use-drugs-audit-img", |
|
||||||
data: { |
|
||||||
diagnoseImg, |
|
||||||
aiPass: this.data.aiPass, |
|
||||||
registrationSource, |
|
||||||
registChannel, |
|
||||||
regBusinessId, |
|
||||||
imgHash: Hash, |
|
||||||
}, |
|
||||||
loading: true, |
|
||||||
}).then((_res) => { |
|
||||||
app.getZdUserInfo(this, true, () => { |
|
||||||
wx.reLaunch({ |
|
||||||
url: navUrl, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleReset() { |
|
||||||
this.setData({ |
|
||||||
diagnoseImg: "", |
|
||||||
error: false, |
|
||||||
errorText: "", |
|
||||||
aiPass: 0, |
|
||||||
verify: false, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleVisitors() { |
|
||||||
app.globalData.anyWhere = true; |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/patient/pages/index/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleVip() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/patient/pages/vipLogin/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
handleVipScan() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: "/patient/pages/vipLogin/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,45 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<image class="bg" mode="widthFix" src="{{imageUrl}}za-images/1/login-bg.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-container"> |
|
||||||
<navBar title="专属服务用户进入" back="{{true}}" bind:back="handleBack"></navBar> |
|
||||||
<view class="page-title">专属身份认证</view> |
|
||||||
<view class="sub-title">诊断证明审核通过后,即可享受平台全部服务</view> |
|
||||||
<view class="content"> |
|
||||||
<view class="c-title"> |
|
||||||
请上传有<text class="blod">「艾加莫德」</text>字样的 |
|
||||||
</view> |
|
||||||
<view class="c-link">处方单或购药发票</view> |
|
||||||
<view class="upload"> |
|
||||||
<uploadFile |
|
||||||
fileTypes="{{['image']}}" |
|
||||||
fileList="{{fileList}}" |
|
||||||
bind:setData="handleSetData" |
|
||||||
bind:deleteFile="handleDelData" |
|
||||||
maxNum="{{1}}" |
|
||||||
isSlot="{{true}}" |
|
||||||
upload="{{!diagnoseImg}}" |
|
||||||
> |
|
||||||
<view class="upload-container"> |
|
||||||
<image class="icon" wx:if="{{!diagnoseImg}}" src="{{imageUrl}}za-images/1/upload-cert.png?t={{Timestamp}}"></image> |
|
||||||
<view class="name" wx:if="{{!diagnoseImg}}">点击上传</view> |
|
||||||
</view> |
|
||||||
</uploadFile> |
|
||||||
<view class="upload-container" wx:if="{{diagnoseImg}}"> |
|
||||||
<image class="diagnose-img" mode="aspectFit" wx:if="{{diagnoseImg}}" src="{{diagnoseImg}}"></image> |
|
||||||
<view class="scan" wx:if="{{audit}}"></view> |
|
||||||
<view class="ai" wx:if="{{audit}}">智能审核中</view> |
|
||||||
<view class="error" wx:if="{{error}}">{{errorText}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<block wx:if="{{error}}"> |
|
||||||
<view class="btn1" bind:tap="handleSubmit">提交人工审核</view> |
|
||||||
<view class="btn2" bind:tap="handleReset">重新提交</view> |
|
||||||
</block> |
|
||||||
<block wx:else> |
|
||||||
<view class="msg" bind:tap="handleVipScan">您也可通过扫药盒码认证></view> |
|
||||||
</block> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"disableSwipeBack": true, |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"van-divider": "@vant/weapp/divider/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,100 +0,0 @@ |
|||||||
.page { |
|
||||||
position: relative; |
|
||||||
box-sizing: border-box; |
|
||||||
background-color: #fff; |
|
||||||
.bg { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.page-container { |
|
||||||
padding-bottom: 80rpx; |
|
||||||
position: absolute; |
|
||||||
width: 100%; |
|
||||||
top: 0; |
|
||||||
left: 0; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
.navbar { |
|
||||||
flex-shrink: 0; |
|
||||||
padding: 0 20rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 40rpx; |
|
||||||
color: #cf5375; |
|
||||||
font-style: italic; |
|
||||||
font-weight: bold; |
|
||||||
.icon { |
|
||||||
margin-right: 9rpx; |
|
||||||
width: 42rpx; |
|
||||||
height: 46rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.page-title { |
|
||||||
margin-top: 86rpx; |
|
||||||
font-size: 48rpx; |
|
||||||
color: #333333; |
|
||||||
font-weight: bold; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.sub-title { |
|
||||||
margin-top: 32rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #aaaaaa; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin: 40rpx auto 0; |
|
||||||
width: 654rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.09); |
|
||||||
border: 2rpx solid rgba(224, 71, 117, 0.25); |
|
||||||
border-radius: 24rpx; |
|
||||||
padding-bottom: 60rpx; |
|
||||||
.c-header { |
|
||||||
border-radius: 24rpx 24rpx 0 0; |
|
||||||
background-color: #666666; |
|
||||||
padding: 18rpx 20rpx; |
|
||||||
text-align: center; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #fff; |
|
||||||
line-height: 42rpx; |
|
||||||
} |
|
||||||
.code { |
|
||||||
margin: 125rpx auto 0; |
|
||||||
display: block; |
|
||||||
width: 300rpx; |
|
||||||
height: 300rpx; |
|
||||||
} |
|
||||||
.tip{ |
|
||||||
margin-top: 87rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666666; |
|
||||||
text-align: center; |
|
||||||
line-height: 48rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.footer { |
|
||||||
flex-shrink: 0; |
|
||||||
margin: 81rpx 48rpx 0; |
|
||||||
box-sizing: border-box; |
|
||||||
display: flex; |
|
||||||
> view:not(:last-of-type), |
|
||||||
> image { |
|
||||||
margin-right: 30rpx; |
|
||||||
} |
|
||||||
.next { |
|
||||||
flex: 1; |
|
||||||
text-align: center; |
|
||||||
height: 88rpx; |
|
||||||
line-height: 88rpx; |
|
||||||
text-align: center; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
border-radius: 24rpx; |
|
||||||
font-size: 34rpx; |
|
||||||
font-weight: bold; |
|
||||||
background-color: #e04775; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,34 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
qrCode: "", |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
app.waitLogin().then((res) => { |
|
||||||
this.getCode(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleVisitors() { |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/patient/pages/index/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
getCode() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/common/get-channel-wx-code", |
|
||||||
data: { |
|
||||||
ChannelType: "11", |
|
||||||
Id: "", |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
qrCode: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,22 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<image class="bg" mode="widthFix" src="{{imageUrl}}za-images/1/login-bg.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-container"> |
|
||||||
<navBar title="" back="{{true}}" bind:back="handleBack"></navBar> |
|
||||||
<view class="page-title">提交成功,审核中</view> |
|
||||||
<view class="sub-title">诊断证明审核通过后,即可享受平台全部服务</view> |
|
||||||
<view class="content"> |
|
||||||
<view class="c-header"> |
|
||||||
<view>人工审核周期24小时~48小时</view> |
|
||||||
<!-- <view>若有疑问请联系 400-3920-3049</view> --> |
|
||||||
</view> |
|
||||||
<image class="code" src="{{qrCode}}" show-menu-by-longpress></image> |
|
||||||
<view class="tip"> |
|
||||||
<view>关注"gMG给力加油站"公众号 获取审核进度</view> |
|
||||||
<view>还可以了解更多重症肌无力专业知识</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="next" bind:tap="handleVisitors">回到首页</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"disableSwipeBack": true, |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"van-divider": "@vant/weapp/divider/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,142 +0,0 @@ |
|||||||
.page { |
|
||||||
position: relative; |
|
||||||
box-sizing: border-box; |
|
||||||
background-color: #fff; |
|
||||||
.bg { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.page-container { |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
left: 0; |
|
||||||
width: 100%; |
|
||||||
min-height: 100vh; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
padding-bottom: 76rpx; |
|
||||||
.navbar { |
|
||||||
flex-shrink: 0; |
|
||||||
padding: 0 20rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 40rpx; |
|
||||||
color: #cf5375; |
|
||||||
font-style: italic; |
|
||||||
font-weight: bold; |
|
||||||
.icon { |
|
||||||
flex-shrink: 0; |
|
||||||
margin-right: 9rpx; |
|
||||||
width: 42rpx; |
|
||||||
height: 46rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.tip { |
|
||||||
position: relative; |
|
||||||
margin: 180rpx auto 0; |
|
||||||
width: 510rpx; |
|
||||||
padding: 20rpx 70rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
background-color: #bb232c; |
|
||||||
border-radius: 24rpx; |
|
||||||
word-break: break-all; |
|
||||||
.icon { |
|
||||||
margin-right: 16rpx; |
|
||||||
width: 48rpx; |
|
||||||
height: 48rpx; |
|
||||||
vertical-align: bottom; |
|
||||||
} |
|
||||||
.text { |
|
||||||
font-size: 26rpx; |
|
||||||
color: #fff; |
|
||||||
line-height: 48rpx; |
|
||||||
} |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
// bottom: -13.5px; |
|
||||||
bottom: 0; |
|
||||||
left: 50%; |
|
||||||
transform: translate(-50%, 90%); |
|
||||||
content: ""; |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
border-style: solid; |
|
||||||
border-width: 12.5px 8px 0 8px; |
|
||||||
border-color: #bb232c transparent transparent transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
.page-icon { |
|
||||||
margin: 58rpx auto 0; |
|
||||||
display: block; |
|
||||||
width: 280rpx; |
|
||||||
height: 280rpx; |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
.page-title { |
|
||||||
margin-top: 64rpx; |
|
||||||
font-size: 56rpx; |
|
||||||
color: #333333; |
|
||||||
font-weight: bold; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.sub-title { |
|
||||||
margin-top: 32rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #aaa; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.footer { |
|
||||||
margin: 179rpx auto 0; |
|
||||||
flex-shrink: 0; |
|
||||||
width: 622rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
display: flex; |
|
||||||
> view:not(:last-of-type), |
|
||||||
> image { |
|
||||||
margin-right: 30rpx; |
|
||||||
} |
|
||||||
.next { |
|
||||||
flex: 1; |
|
||||||
text-align: center; |
|
||||||
height: 88rpx; |
|
||||||
line-height: 88rpx; |
|
||||||
text-align: center; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
border-radius: 24rpx; |
|
||||||
font-size: 34rpx; |
|
||||||
font-weight: bold; |
|
||||||
background-color: #e04775; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
.divider { |
|
||||||
margin: 48rpx auto 0; |
|
||||||
width: 300rpx; |
|
||||||
} |
|
||||||
.ohter { |
|
||||||
margin-top: 48rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: center; |
|
||||||
.col { |
|
||||||
margin: 0 48rpx; |
|
||||||
padding: 0 20rpx; |
|
||||||
height: 48rpx; |
|
||||||
border-radius: 24rpx; |
|
||||||
background: #eeeeee; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #666666; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
&::after { |
|
||||||
border: none; |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
.icon { |
|
||||||
margin-right: 12rpx; |
|
||||||
width: 48rpx; |
|
||||||
height: 48rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,25 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: {}, |
|
||||||
onLoad() { |
|
||||||
app.waitLogin().then((res) => { |
|
||||||
app.getZdUserInfo(this, true, (res) => { |
|
||||||
console.log(res); |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleSubmit() { |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/gift/pages/vipCert/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleVisitors() { |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/patient/pages/index/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,25 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<image class="bg" mode="widthFix" src="{{imageUrl}}za-images/1/login-bg.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-container"> |
|
||||||
<navBar title="" back="{{true}}" bind:back="handleBack"></navBar> |
|
||||||
<view class="tip"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/1/warn.png?t={{Timestamp}}"></image> |
|
||||||
<text class="text">未通过原因:{{zdUserInfo.UseDrugsRejectReason}}</text> |
|
||||||
</view> |
|
||||||
<image class="page-icon" src="{{imageUrl}}za-images/1/cert-reject.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-title">审核未通过</view> |
|
||||||
<view class="sub-title">很遗憾您的审核未通过</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="next" bind:tap="handleSubmit">重新提交</view> |
|
||||||
</view> |
|
||||||
<view class="viewider"> |
|
||||||
<van-divider contentPosition="center" textColor="#aaaaaa">或者</van-divider> |
|
||||||
</view> |
|
||||||
<view class="ohter"> |
|
||||||
<view class="col" bind:tap="handleVisitors"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images/1/look.png?t={{Timestamp}}"></image> |
|
||||||
回到首页 |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"disableSwipeBack": true, |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"van-divider": "@vant/weapp/divider/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,77 +0,0 @@ |
|||||||
.page { |
|
||||||
position: relative; |
|
||||||
box-sizing: border-box; |
|
||||||
background-color: #fff; |
|
||||||
.bg { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.page-container { |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
left: 0; |
|
||||||
width: 100%; |
|
||||||
height: 100vh; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
.navbar { |
|
||||||
flex-shrink: 0; |
|
||||||
padding: 0 20rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 40rpx; |
|
||||||
color: #cf5375; |
|
||||||
font-style: italic; |
|
||||||
font-weight: bold; |
|
||||||
.icon { |
|
||||||
margin-right: 9rpx; |
|
||||||
width: 42rpx; |
|
||||||
height: 46rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.page-icon { |
|
||||||
margin: 240rpx auto 0; |
|
||||||
display: block; |
|
||||||
width: 280rpx; |
|
||||||
height: 280rpx; |
|
||||||
} |
|
||||||
.page-title { |
|
||||||
margin-top: 64rpx; |
|
||||||
font-size: 48rpx; |
|
||||||
color: #333333; |
|
||||||
font-weight: bold; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.sub-title { |
|
||||||
margin-top: 32rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #666; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.footer { |
|
||||||
position: absolute; |
|
||||||
left: 64rpx; |
|
||||||
bottom: 62rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
width: 622rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
display: flex; |
|
||||||
> view:not(:last-of-type), |
|
||||||
> image { |
|
||||||
margin-right: 30rpx; |
|
||||||
} |
|
||||||
.next { |
|
||||||
flex: 1; |
|
||||||
text-align: center; |
|
||||||
height: 88rpx; |
|
||||||
line-height: 88rpx; |
|
||||||
text-align: center; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
border-radius: 24rpx; |
|
||||||
font-size: 34rpx; |
|
||||||
font-weight: bold; |
|
||||||
background-color: #e04775; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,14 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: {}, |
|
||||||
onLoad() {}, |
|
||||||
handleVisitors() { |
|
||||||
wx.reLaunch({ |
|
||||||
url: "/patient/pages/index/index", |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
}); |
|
||||||
@ -1,15 +0,0 @@ |
|||||||
<view class="page"> |
|
||||||
<image class="bg" mode="widthFix" src="{{imageUrl}}za-images/1/login-mask-bg.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-container"> |
|
||||||
<navBar title="" back="{{true}}" bind:back="handleBack"></navBar> |
|
||||||
<image class="page-icon" src="{{imageUrl}}za-images/1/cert-pending.png?t={{Timestamp}}"></image> |
|
||||||
<view class="page-title">提交成功,审核中</view> |
|
||||||
<view class="sub-title"> |
|
||||||
<view>人工审核周期24小时~48小时</view> |
|
||||||
<!-- <view>若有疑问请联系400-3920-3049</view> --> |
|
||||||
</view> |
|
||||||
<view class="footer"> |
|
||||||
<view class="next" bind:tap="handleVisitors">回到首页</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationStyle": "custom", |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"van-icon": "@vant/weapp/icon/index", |
|
||||||
"van-tab": "@vant/weapp/tab/index", |
|
||||||
"van-tabs": "@vant/weapp/tabs/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,116 +0,0 @@ |
|||||||
.page { |
|
||||||
background-color: #fafafa; |
|
||||||
|
|
||||||
.card { |
|
||||||
margin: 32rpx 30rpx 32rpx; |
|
||||||
padding: 0 32rpx 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
border: 2rpx solid #ebecee; |
|
||||||
.c-header { |
|
||||||
display: flex; |
|
||||||
.avatar { |
|
||||||
margin-top: -60rpx; |
|
||||||
margin-right: 18rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
width: 140rpx; |
|
||||||
height: 140rpx; |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
.wrap { |
|
||||||
padding: 20rpx 0 0; |
|
||||||
.name { |
|
||||||
font-size: 44rpx; |
|
||||||
color: #484848; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.hostipal { |
|
||||||
margin-top: 32rpx; |
|
||||||
padding: 32rpx; |
|
||||||
background-color: #f7f6f6; |
|
||||||
border-radius: 20rpx; |
|
||||||
.title { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.name { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #484848; |
|
||||||
word-break: break-all; |
|
||||||
line-height: 42rpx; |
|
||||||
} |
|
||||||
.tag { |
|
||||||
flex-shrink: 0; |
|
||||||
display: inline-block; |
|
||||||
margin-left: 12rpx; |
|
||||||
padding: 6rpx 12rpx; |
|
||||||
font-size: 22rpx; |
|
||||||
line-height: 1; |
|
||||||
color: #ffffff; |
|
||||||
background: #ffc137; |
|
||||||
border-radius: 8rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 16rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
.inner { |
|
||||||
flex: 1; |
|
||||||
.site { |
|
||||||
flex: 1; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #9b9ea6; |
|
||||||
} |
|
||||||
.site-num { |
|
||||||
flex-shrink: 0; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #9b9ea6; |
|
||||||
} |
|
||||||
} |
|
||||||
.options { |
|
||||||
flex-shrink: 0; |
|
||||||
.icon { |
|
||||||
padding: 8rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
margin-left: 14rpx; |
|
||||||
width: 30rpx; |
|
||||||
height: 30rpx; |
|
||||||
background: #ffffff; |
|
||||||
border-radius: 50%; |
|
||||||
box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(0, 0, 0, 0.08); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 32rpx; |
|
||||||
.row { |
|
||||||
margin-top: 16rpx; |
|
||||||
display: flex; |
|
||||||
align-items: flex-start; |
|
||||||
.tag { |
|
||||||
margin-right: 16rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
padding: 8rpx 16rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #e04775; |
|
||||||
line-height: 1; |
|
||||||
background: #FCF2F6; |
|
||||||
border-radius: 8rpx; |
|
||||||
border: 2rpx solid #e04775; |
|
||||||
} |
|
||||||
.p { |
|
||||||
font-size: 28rpx; |
|
||||||
color: #484848; |
|
||||||
&.ellipsis { |
|
||||||
text-overflow: ellipsis; |
|
||||||
overflow: hidden; |
|
||||||
white-space: nowrap; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,144 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
id: "", |
|
||||||
detail: {} as any, |
|
||||||
LNG: "" as number | string, |
|
||||||
LAT: "" as number | string, |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
app.zdWaitLogin().then((_res) => { |
|
||||||
this.setData({ |
|
||||||
id: options.id, |
|
||||||
}); |
|
||||||
this.handleToggleSite(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleToggleSite() { |
|
||||||
const that = this; |
|
||||||
if (!this.data.LNG) { |
|
||||||
wx.getSetting({ |
|
||||||
success(res) { |
|
||||||
if ( |
|
||||||
res.authSetting["scope.userFuzzyLocation"] != undefined && |
|
||||||
res.authSetting["scope.userFuzzyLocation"] == true |
|
||||||
) { |
|
||||||
//获取当前位置
|
|
||||||
that.getFuzzyLocation(); |
|
||||||
} else if (res.authSetting["scope.userFuzzyLocation"] == undefined) { |
|
||||||
//获取当前位置
|
|
||||||
that.getFuzzyLocation(); |
|
||||||
} else { |
|
||||||
wx.showModal({ |
|
||||||
title: "请求授权当前位置", |
|
||||||
content: "需要获取您的地理位置,请确认授权", |
|
||||||
confirmColor: "#cf5375", |
|
||||||
success: function (res) { |
|
||||||
if (res.cancel) { |
|
||||||
//取消授权
|
|
||||||
wx.showToast({ |
|
||||||
title: "拒绝授权", |
|
||||||
icon: "none", |
|
||||||
duration: 1000, |
|
||||||
}); |
|
||||||
} else if (res.confirm) { |
|
||||||
//确定授权,通过wx.openSetting发起授权请求
|
|
||||||
wx.openSetting({ |
|
||||||
success: function (res) { |
|
||||||
if (res.authSetting["scope.userFuzzyLocation"] == true) { |
|
||||||
// wx.showToast({
|
|
||||||
// title: '授权成功',
|
|
||||||
// icon: 'success',
|
|
||||||
// duration: 1000
|
|
||||||
// })
|
|
||||||
//再次授权,调用wx.getLocation的API
|
|
||||||
that.getFuzzyLocation(); |
|
||||||
} else { |
|
||||||
// wx.showToast({
|
|
||||||
// title: '授权失败',
|
|
||||||
// icon: 'none',
|
|
||||||
// duration: 1000
|
|
||||||
// })
|
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
}); |
|
||||||
} else { |
|
||||||
that.setData({ |
|
||||||
LNG: "", |
|
||||||
LAT: "", |
|
||||||
}); |
|
||||||
this.getDetail(); |
|
||||||
} |
|
||||||
}, |
|
||||||
getFuzzyLocation() { |
|
||||||
const that = this; |
|
||||||
wx.getFuzzyLocation({ |
|
||||||
success(res) { |
|
||||||
console.log(res); |
|
||||||
that.setData({ |
|
||||||
LNG: res.longitude, |
|
||||||
LAT: res.latitude, |
|
||||||
}); |
|
||||||
that.getDetail(); |
|
||||||
}, |
|
||||||
fail(err) { |
|
||||||
console.log(err); |
|
||||||
}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
getDetail() { |
|
||||||
wx.ajax({ |
|
||||||
method: "GET", |
|
||||||
url: "?r=zd/doctor/detail", |
|
||||||
data: { |
|
||||||
Id: this.data.id, |
|
||||||
lng: this.data.LNG, |
|
||||||
lat: this.data.LAT, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
this.setData({ |
|
||||||
detail: { |
|
||||||
...res, |
|
||||||
weekName: (res.Clinic ? res.Clinic : []).map((subItem: { weekday: string | number; timeType: string | number }) => { |
|
||||||
const week = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]; |
|
||||||
const timeDay = { 1: "上午", 2: "下午" }; |
|
||||||
return `${week[Number(subItem.weekday)-1]}${timeDay[subItem.timeType]}`; |
|
||||||
}).join(","), |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handlePhone() { |
|
||||||
const { detail } = this.data; |
|
||||||
wx.makePhoneCall({ |
|
||||||
phoneNumber: detail.Telephone, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleOpenMap() { |
|
||||||
const { |
|
||||||
detail: { hospital }, |
|
||||||
} = this.data; |
|
||||||
wx.openLocation({ |
|
||||||
latitude: hospital.LAT, |
|
||||||
longitude: hospital.LNG, |
|
||||||
name: hospital.Name, |
|
||||||
address:`${hospital.ProvinceName}${hospital.CityName}${hospital.AreaName}${hospital.Address}` |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
|
||||||
onPageScroll() {}, |
|
||||||
}); |
|
||||||
@ -1,45 +0,0 @@ |
|||||||
<view |
|
||||||
class="page" |
|
||||||
style="background: url({{imageUrl}}za-images//1.5/hostipal.png?t={{Timestamp}}) no-repeat top center / 100% 520rpx;padding-top:{{bottom}}px" |
|
||||||
> |
|
||||||
<navBar background="{{background}}" title="医生介绍" back bind:back="handleBack"></navBar> |
|
||||||
|
|
||||||
<view class="card"> |
|
||||||
<view class="c-header"> |
|
||||||
<image class="avatar" mode="aspectFill" src="{{detail.Img}}"></image> |
|
||||||
<view class="wrap"> |
|
||||||
<view class="name">{{detail.Name}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="hostipal"> |
|
||||||
<view class="title"> |
|
||||||
<text class="name">{{detail.hospital.Name}}</text> |
|
||||||
<view class="tag" wx:if="{{detail.hospital.HospitalClassificationName || detail.hospital.HospitalLevelName}}"> |
|
||||||
{{detail.hospital.HospitalClassificationName}}{{detail.hospital.HospitalLevelName}} |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="content"> |
|
||||||
<view class="inner"> |
|
||||||
<view class="site"> |
|
||||||
{{detail.hospital.ProvinceName}}{{detail.hospital.CityName}}{{detail.hospital.CountyName}}{{detail.hospital.Address}} |
|
||||||
</view> |
|
||||||
<view class="site-num">{{detail.hospital.dist}}</view> |
|
||||||
</view> |
|
||||||
<view class="options"> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images//1.5/site.png" bind:tap="handleOpenMap"></image> |
|
||||||
<image class="icon" src="{{imageUrl}}za-images//1.5/phone.png" bind:tap="handlePhone"></image> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view class="content"> |
|
||||||
<view class="row"> |
|
||||||
<view class="tag">医生简介</view> |
|
||||||
<view class="p">{{detail.Introduce}}</view> |
|
||||||
</view> |
|
||||||
<view class="row"> |
|
||||||
<view class="tag">出诊时间</view> |
|
||||||
<view class="p">{{detail.weekName}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
@ -1,7 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "复诊记录", |
|
||||||
"navigationStyle": "default", |
|
||||||
"usingComponents": { |
|
||||||
"referralFrom": "/components/referralFrom/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,82 +0,0 @@ |
|||||||
page { |
|
||||||
background-color: #f2f4f5; |
|
||||||
} |
|
||||||
.page { |
|
||||||
padding: 30rpx; |
|
||||||
.card { |
|
||||||
margin-bottom: 24rpx; |
|
||||||
padding: 32rpx 32rpx 0; |
|
||||||
background: linear-gradient(1deg, #ffffff 0%, #e7f1f3 100%); |
|
||||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
|
||||||
border: 2rpx solid #ffffff; |
|
||||||
.date { |
|
||||||
display: flex; |
|
||||||
font-weight: bold; |
|
||||||
.label { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 5em; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #1d2021; |
|
||||||
line-height: 36rpx; |
|
||||||
} |
|
||||||
|
|
||||||
.content { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #283031; |
|
||||||
line-height: 36rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.container { |
|
||||||
margin-top: 32rpx; |
|
||||||
padding-bottom: 24rpx; |
|
||||||
display: flex; |
|
||||||
.label { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 5em; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #9aa1a2; |
|
||||||
line-height: 48rpx; |
|
||||||
} |
|
||||||
|
|
||||||
.content { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #283031; |
|
||||||
line-height: 48rpx; |
|
||||||
counter-reset: item; |
|
||||||
&:empty::after { |
|
||||||
display: inline; |
|
||||||
content: '---'; |
|
||||||
} |
|
||||||
.item { |
|
||||||
display: flex; |
|
||||||
&::before { |
|
||||||
flex-shrink: 0; |
|
||||||
width: 1.2em; |
|
||||||
counter-increment: item; /* 递增计数器 */ |
|
||||||
content: counter(item) '.'; /* 显示计数器值 */ |
|
||||||
margin-right: 8px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.adl { |
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.04); |
|
||||||
padding: 24rpx 0; |
|
||||||
font-size: 32rpx; |
|
||||||
color: rgba(154, 161, 162, 1); |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: space-between; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.record { |
|
||||||
position: fixed; |
|
||||||
bottom: 112rpx; |
|
||||||
left: 50%; |
|
||||||
transform: translateX(-50%); |
|
||||||
z-index: 1; |
|
||||||
width: 148rpx; |
|
||||||
height: 148rpx; |
|
||||||
} |
|
||||||
@ -1,118 +0,0 @@ |
|||||||
import dayjs from 'dayjs'; |
|
||||||
|
|
||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
list: [] as any[], |
|
||||||
total: 0, |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
|
|
||||||
referralFromShow: false, |
|
||||||
referralFromParams: null as any, |
|
||||||
}, |
|
||||||
onLoad(options) { |
|
||||||
app.waitLogin({ type: [1] }).then(() => { |
|
||||||
// 强制疾病患者以上身份
|
|
||||||
app.zdPermissionVerification(3, 0, `/patient/pages/referral/index`).then(() => { |
|
||||||
this.getList(); |
|
||||||
if (options.pushId) { |
|
||||||
this.updatePush(options.pushId); |
|
||||||
} |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
updatePush(id) { |
|
||||||
wx.ajax({ |
|
||||||
method: 'POST', |
|
||||||
url: '?r=zd/push-click/update-click-status', |
|
||||||
data: { |
|
||||||
pushId: id, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
getList(newPage = 1) { |
|
||||||
wx.ajax({ |
|
||||||
method: 'GET', |
|
||||||
url: '?r=zd/re-visit/get-list', |
|
||||||
data: { |
|
||||||
page: newPage, |
|
||||||
}, |
|
||||||
}).then((res) => { |
|
||||||
res.list = res.list.map((item: any) => { |
|
||||||
item.adlDate = dayjs(item.LastAdlDate).format('YYYY-MM-DD'); |
|
||||||
return item; |
|
||||||
}); |
|
||||||
const list = res.page === 1 ? res.list : [...this.data.list, ...res.list]; |
|
||||||
this.setData({ |
|
||||||
total: res.count, |
|
||||||
list, |
|
||||||
pagination: { |
|
||||||
page: res.page, |
|
||||||
pages: res.pages, |
|
||||||
count: res.count, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
onReachBottom() { |
|
||||||
const { page, pages } = this.data.pagination; |
|
||||||
if (pages > page) { |
|
||||||
this.getList(page + 1); |
|
||||||
} |
|
||||||
}, |
|
||||||
handleEdit(e) { |
|
||||||
const { index } = e.currentTarget.dataset; |
|
||||||
const { list } = this.data; |
|
||||||
const { |
|
||||||
Id, |
|
||||||
VisitDate, |
|
||||||
Hormone, |
|
||||||
TraditionalInhibitor, |
|
||||||
GammaGlobulin, |
|
||||||
PlasmaExchange, |
|
||||||
BCellInhibitor, |
|
||||||
FcRnAntagonists, |
|
||||||
C5ComplementInhibitor, |
|
||||||
ChineseMedicine, |
|
||||||
Other, |
|
||||||
} = list[index]; |
|
||||||
|
|
||||||
this.setData({ |
|
||||||
referralFromShow: true, |
|
||||||
referralFromParams: { |
|
||||||
recordId: Id, |
|
||||||
visitDate: VisitDate, |
|
||||||
hormone: Number(Hormone), |
|
||||||
traditionalInhibitor: Number(TraditionalInhibitor), |
|
||||||
gammaGlobulin: Number(GammaGlobulin), |
|
||||||
plasmaExchange: Number(PlasmaExchange), |
|
||||||
bCellInhibitor: Number(BCellInhibitor), |
|
||||||
fcRnAntagonists: Number(FcRnAntagonists), |
|
||||||
c5ComplementInhibitor: Number(C5ComplementInhibitor), |
|
||||||
chineseMedicine: Number(ChineseMedicine), |
|
||||||
other: Number(Other), |
|
||||||
}, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleRecord() { |
|
||||||
this.setData({ |
|
||||||
referralFromShow: true, |
|
||||||
referralFromParams: null, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleRefrech() { |
|
||||||
this.getList(); |
|
||||||
}, |
|
||||||
handleAdl() { |
|
||||||
wx.navigateTo({ |
|
||||||
url: '/patient/pages/myHealthRecord/index', |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
|
|
||||||
export {}; |
|
||||||
@ -1,40 +0,0 @@ |
|||||||
<page-meta page-style="{{ referralFromShow ? 'overflow: hidden;' : '' }}" /> |
|
||||||
|
|
||||||
<view class="page"> |
|
||||||
<view class="card" wx:for="{{list}}" wx:key="Id" bind:tap="handleEdit" data-index="{{index}}"> |
|
||||||
<view class="date"> |
|
||||||
<view class="label">复诊时间</view> |
|
||||||
<view class="content">{{item.VisitDate}}</view> |
|
||||||
</view> |
|
||||||
<view class="container"> |
|
||||||
<view class="label">复诊方案</view> |
|
||||||
<view class="content"> |
|
||||||
<view class="item" wx:if="{{item.Hormone==1}}">激素</view> |
|
||||||
<view class="item" wx:if="{{item.TraditionalInhibitor==1}}">传统免疫抑制剂(如他克莫司、吗 替麦考酚酯等)</view> |
|
||||||
<view class="item" wx:if="{{item.GammaGlobulin==1}}">静脉输注丙种球蛋白</view> |
|
||||||
<view class="item" wx:if="{{item.PlasmaExchange==1}}">血浆置换</view> |
|
||||||
<view class="item" wx:if="{{item.BCellInhibitor==1}}">B细胞抑制剂(如:利妥昔单抗、泰 它西普、伊奈利珠单抗)</view> |
|
||||||
<view class="item" wx:if="{{item.FcRnAntagonists==1}}">FcRn拮抗剂(如:艾加莫德)</view> |
|
||||||
<view class="item" wx:if="{{item.C5ComplementInhibitor==1}}">C5补体抑制剂(如:依库珠单抗)</view> |
|
||||||
<view class="item" wx:if="{{item.ChineseMedicine==1}}">中药或中成药</view> |
|
||||||
<view class="item" wx:if="{{item.Other==1}}">其他</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<view wx:if="{{item.LastAdlScore}}" class="adl" catch:tap="handleAdl" data-id="{{item.LastAdlId}}"> |
|
||||||
<view class="content"> |
|
||||||
最近一次ADL得分: |
|
||||||
<text class="num">{{item.LastAdlScore}}分</text> |
|
||||||
</view> |
|
||||||
<view class="a-date">{{item.adlDate}}</view> |
|
||||||
</view> |
|
||||||
</view> |
|
||||||
<pagination pagination="{{pagination}}"></pagination> |
|
||||||
</view> |
|
||||||
|
|
||||||
<image class="record" src="{{imageUrl}}za-images/5/record-btn.png?t={{Timestamp}}" bind:tap="handleRecord"></image> |
|
||||||
|
|
||||||
<referralFrom |
|
||||||
model:show="{{referralFromShow}}" |
|
||||||
params="{{referralFromParams}}" |
|
||||||
bind:refresh="handleRefrech" |
|
||||||
></referralFrom> |
|
||||||
@ -1,8 +0,0 @@ |
|||||||
{ |
|
||||||
"navigationBarTitleText": "奇迹故事", |
|
||||||
"navigationStyle": "custom", |
|
||||||
"usingComponents": { |
|
||||||
"navBar": "/components/zd-navBar/navBar", |
|
||||||
"patient-tab-bar": "/components/patient-tab-bar/index" |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,105 +0,0 @@ |
|||||||
.page { |
|
||||||
position: relative; |
|
||||||
.card-list { |
|
||||||
padding: 0 40rpx 200rpx; |
|
||||||
.card { |
|
||||||
border-radius: 24rpx; |
|
||||||
margin-bottom: 32rpx; |
|
||||||
background: #ffffff; |
|
||||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); |
|
||||||
border-radius: 24rpx; |
|
||||||
border: 2rpx solid #ebecee; |
|
||||||
.photo { |
|
||||||
position: relative; |
|
||||||
width: 100%; |
|
||||||
height: 288rpx; |
|
||||||
flex-shrink: 0; |
|
||||||
border-radius: 24rpx 24rpx 0 0; |
|
||||||
position: relative; |
|
||||||
.photo-img { |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
border-radius: inherit; |
|
||||||
} |
|
||||||
.my-read { |
|
||||||
padding: 14rpx 24rpx; |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
left: 0; |
|
||||||
font-size: 28rpx; |
|
||||||
color: rgba(224, 71, 117, 1); |
|
||||||
line-height: 1; |
|
||||||
white-space: nowrap; |
|
||||||
background: linear-gradient(90deg, #e5e9f5 0%, #fde4ec 100%); |
|
||||||
border-radius: 24rpx 0rpx 24rpx 0rpx; |
|
||||||
} |
|
||||||
.money { |
|
||||||
padding: 0 20rpx 0 0; |
|
||||||
position: absolute; |
|
||||||
right: 32rpx; |
|
||||||
bottom: 18rpx; |
|
||||||
background-color: #ffedca; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #f5ad1d; |
|
||||||
line-height: 36rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
border-radius: 24rpx; |
|
||||||
.icon { |
|
||||||
margin-right: 10rpx; |
|
||||||
width: 38rpx; |
|
||||||
height: 36rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
.inner { |
|
||||||
padding: 32rpx 30rpx; |
|
||||||
.title { |
|
||||||
font-size: 32rpx; |
|
||||||
color: #252525; |
|
||||||
font-weight: bold; |
|
||||||
overflow: hidden; |
|
||||||
text-overflow: ellipsis; |
|
||||||
display: -webkit-box; |
|
||||||
-webkit-line-clamp: 2; |
|
||||||
-webkit-box-orient: vertical; |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 24rpx; |
|
||||||
font-size: 24rpx; |
|
||||||
color: #999999; |
|
||||||
text-overflow: ellipsis; |
|
||||||
white-space: nowrap; |
|
||||||
overflow: hidden; |
|
||||||
} |
|
||||||
.i-footer { |
|
||||||
margin-top: 12rpx; |
|
||||||
display: flex; |
|
||||||
justify-content: flex-end; |
|
||||||
.f-item { |
|
||||||
margin-left: 30rpx; |
|
||||||
font-size: 22rpx; |
|
||||||
color: #9b9ea6; |
|
||||||
.icon { |
|
||||||
margin-right: 5rpx; |
|
||||||
width: 32rpx; |
|
||||||
height: 32rpx; |
|
||||||
vertical-align: middle; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.more { |
|
||||||
position: fixed; |
|
||||||
bottom: 200rpx; |
|
||||||
right: 0; |
|
||||||
.icon { |
|
||||||
width: 210rpx; |
|
||||||
height: 104rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,99 +0,0 @@ |
|||||||
const app = getApp<IAppOption>(); |
|
||||||
|
|
||||||
Page({ |
|
||||||
data: { |
|
||||||
list: [], |
|
||||||
pagination: { |
|
||||||
page: 1, |
|
||||||
pages: 1, |
|
||||||
count: 1, |
|
||||||
}, |
|
||||||
alertPending: false, |
|
||||||
zdUserInfo: {}, |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
app.zdGetTheme().then((res) => { |
|
||||||
this.setData({ |
|
||||||
theme: res, |
|
||||||
}); |
|
||||||
}); |
|
||||||
|
|
||||||
const SystemInfo = app.globalSystemInfo; |
|
||||||
if (SystemInfo) { |
|
||||||
const { bottom } = SystemInfo.capsulePosition; |
|
||||||
this.setData({ |
|
||||||
bottom, |
|
||||||
}); |
|
||||||
} |
|
||||||
}, |
|
||||||
onShow() { |
|
||||||
app.waitLogin({ type: [0, 1] }).then((_res) => { |
|
||||||
|
|
||||||
this.getList(); |
|
||||||
app.getZdUserInfo(this, true); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
getList(newPage = 1) { |
|
||||||
const loading = !this.data.list.length; |
|
||||||
wx.ajax({ |
|
||||||
method: 'GET', |
|
||||||
url: '?r=zd/story/story-list', |
|
||||||
data: { |
|
||||||
page: newPage, |
|
||||||
}, |
|
||||||
loading, |
|
||||||
}).then((res) => { |
|
||||||
const list = res.page == 1 ? res.list : [...this.data.list, ...res.list]; |
|
||||||
this.setData({ |
|
||||||
list, |
|
||||||
pagination: { |
|
||||||
page: res.page, |
|
||||||
pages: res.pages, |
|
||||||
count: res.count, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleStar(e) { |
|
||||||
const { index } = e.currentTarget.dataset; |
|
||||||
const { Id, ComplimentNum } = this.data.list[index]; |
|
||||||
wx.ajax({ |
|
||||||
method: 'POST', |
|
||||||
url: '?r=zd/story/compliment', |
|
||||||
data: { |
|
||||||
ContentId: Id, |
|
||||||
}, |
|
||||||
}).then(() => { |
|
||||||
this.setData({ |
|
||||||
[`list[${index}].ComplimentNum`]: ComplimentNum * 1 + 1, |
|
||||||
[`list[${index}].IsCompliment`]: 1, |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
onReachBottom() { |
|
||||||
const { page, pages } = this.data.pagination; |
|
||||||
if (pages > page) { |
|
||||||
this.getList(page + 1); |
|
||||||
} |
|
||||||
}, |
|
||||||
routerTo(e) { |
|
||||||
const { url } = e.currentTarget.dataset; |
|
||||||
// let PageName = {
|
|
||||||
// '/patient/pages/storyGuide/index': 'BTN_STORY_SUBMIT',
|
|
||||||
// }[url]
|
|
||||||
// if (PageName) {
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (url.includes('/patient/pages/publishStoryDetail/index')) { |
|
||||||
|
|
||||||
} |
|
||||||
if (url === '/patient/pages/storyGuide/index') { |
|
||||||
|
|
||||||
} |
|
||||||
wx.navigateTo({ |
|
||||||
url, |
|
||||||
}); |
|
||||||
}, |
|
||||||
}); |
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue