init version kelfy-mini for new gitea

This commit is contained in:
terry.wang
2025-11-13 13:38:59 +08:00
commit 493fa4f1e1
763 changed files with 55626 additions and 0 deletions

474
pages/payment/payment.js Normal file
View File

@@ -0,0 +1,474 @@
// pages/payment/payment.js
var app = getApp()
let common = require('../../config/common.js')
Page({
data: {
painId:'',
list:['未缴费','已缴费'],
currentIndex:0,
payList:[],
noData:false,
show:false,
list1:[],
name:'',
painId:'',
relate:'',
card:'',
cardNum:'',
loadingHidden: false,
date1:'',//弹框开始日期
date2:"",//弹框结束日期
date3:"",//按钮显示开始日期
date4:"",//按钮显示结束日期
rqList:[
{name:'近一周',id:"0"},
{name:'近一月',id:"1"},
{name:'近半年',id:"2"},
{name:'近一年',id:"3"},
],
curId:0,
show2:false,
currentDate: "",
minDate: new Date(2010, 0, 1).getTime(),
maxDate: new Date().getTime(),
isSel:"0",
agoStr:'',
todayStr:'',
},
cateChange(e){
this.setData({currentIndex:e.target.dataset.info,noData:false,payList:[],loadingHidden:false,curId:0})
if(e.target.dataset.info==1){
this.InitDays()
}else{
this.getUnPayInfo()
}
},
//绑定就诊人
getPerList(){
wx.request({
url:'https://fy.btlsoln.com:8443/getPatientByOpenid?openid',
method:"GET",
data:{
openid:app.globalData.openId
},
header: {
'content-type': 'application/json'
},
success: (res)=> {
let data = res.data
data.map((item,index) => {
if(item.TYPE == 0){
this.setData({
name:item.TRUE_NAME,
painId:item.PATIENT_ID, //正式打开,测试切换功能可打开
// painId:'421322',
relate:item.RELATE,
cardNum:item.MEDICAL_CARD,
cardType:item.CARD_TYPE,
})
}
})
if(res.data.length > 0){
this.setData({
list1:data
})
if(this.data.currentIndex==0){
this.getUnPayInfo()
}else{
this.getJfList()
}
}else{
wx.showModal({
title: '',
content: '您还未绑定就诊人,请先绑定就诊人信息!',
cancelText:"否",
confirmText:'是',
success: function(res) {
if (res.confirm) {
wx.navigateTo({
url: '/pages/userMsgDel/userMsgDel?state=0',
})
}else{
wx.switchTab({
url: '/pages/index/index',
})
}
}
})
}
}
})
},
confirm(e){
let user = e.currentTarget.dataset.item
this.setData({
name:user.TRUE_NAME,
painId:user.PATIENT_ID,
relate:user.RELATE,
card:user.ID_CARD,
show:false,
cardNum:user.MEDICAL_CARD,
payList:[],
noData:false,
loadingHidden:true
});
if(this.data.currentIndex==0){
this.getUnPayInfo()
}else{
this.InitDays()
}
},
showPop(){
this.setData({ show: true });
this.getPerList()
},
onClose() {
this.setData({ show: false });
},
navito(e){
let item = e.currentTarget.dataset.info
let obj = JSON.stringify(e.currentTarget.dataset.info)
wx.navigateTo({
url: '/pages/topay/topay?orderId='+item.orderId+"&obj="+obj+"&money="+item.cfje,
})
},
getUnPayInfo(){
wx.request({
url: 'https://fy.btlsoln.com:8443/getUnPayInfo',
method:"GET",
timeout:500000000000,
data:{
patid:this.data.painId
},
success: (res)=> {
this.FindPatientFeeInfo()
}
})
},
FindPatientFeeInfo(){
wx.request({
url: 'https://fy.btlsoln.com:8443/FindPatientFeeInfo',
method:"GET",
timeout:500000000000,
data:{
patid:this.data.painId
},
success: (res)=> {
if(res.data.errCode==0){
this.setData({
payList:res.data.data,
loadingHidden:true
})
}else if(res.data.errCode==-1){
this.setData({
noData:true,
loadingHidden:true
})
}
}
})
},
getJfList(ksrq,jsrq){
wx.request({
url:'https://fy.btlsoln.com:8443/his/getPayList?patid&ksrq&jsrq&czyh=00',
method:"GET",
data:{
patid:this.data.painId, //正式打开,测试切换功能可打开
// patid:'1541347',
ksrq:ksrq,
jsrq:jsrq
},
header: {
'content-type': 'application/json'
},
success: (res)=> {
if(res.data.list.length==0){
this.setData({
noData:true,
loadingHidden:true
})
}else{
this.setData({
payList:res.data.list,
noData:false,
loadingHidden:true
})
}
}
})
},
naviToJf(e){
let sjh = e.currentTarget.dataset.item.sjh
let sflb = e.currentTarget.dataset.item.sflb
let ksmc = e.currentTarget.dataset.item.ksmc
let name = this.data.name
let card = this.data.cardNum
wx.navigateTo({
url: '/pages/jfMsg/jfMsg?sjh='+sjh+'&name='+name+'&card='+card+'&sflb='+sflb+'&ksmc='+ksmc,
})
},
// 初始化弹框以及接口时间
InitDays() {
var dd = new Date();
var tt = new Date();
var d7 = new Date();
dd.setDate(dd.getDate() - 30);//获取p_count天后的日期
d7.setDate(d7.getDate() - 7);//获取p_count天后的日期
var y = dd.getFullYear();
var yy = tt.getFullYear();
var yyy = d7.getFullYear();
var m = dd.getMonth() + 1;//获取当前月份的日期
var mm = tt.getMonth() + 1;//获取当前月份的日期
var mmm = d7.getMonth() + 1;//获取当前月份的日期
if( m <10){
m = '0'+m;
}
if( mm <10){
mm = '0'+mm;
}
if( mmm <10){
mmm = '0'+mmm;
}
var d = dd.getDate();
var dd = tt.getDate();
var ddd = d7.getDate();
if( d <10){
d = '0'+d;
}
if( dd <10){
dd = '0'+dd;
}
if( ddd <10){
ddd = '0'+ddd;
}
//前一月
let ago = y + "-" + m + "-" + d
let agoStr = ago.replace(/-/g,'')
//前一周
let DS = yyy + "-" + mmm + "-" + ddd
let dsStr = DS.replace(/-/g,'')
let today = yy + "-" + mm + "-" + dd
let todayStr = today.replace(/-/g,'')
var cur = Date.parse(ago);
this.setData({
date1:ago,//弹框时间
date2:today,//弹框时间
date3:DS,
date4:today,
currentDate:cur,//当前激活时间
ksrq:dsStr,
jsrq:todayStr,
})
this.getJfList(dsStr,todayStr)
},
rqSel(e){
let id = e.currentTarget.dataset.item.id
this.setData({
curId:id,
loadingHidden:false,
payList:[],
noData:false
})
if(id == 0){
this.daySGone(7)
}else if(id == 1){
this.daySGone(30)
}else if(id == 2){
this.daySGone(180)
}else{
this.daySGone(365)
}
},
daySGone(p_count){
var dd = new Date();
var tt = new Date();
dd.setDate(dd.getDate() - p_count);//获取p_count天后的日期
var y = dd.getFullYear();
var yy = tt.getFullYear();
var m = dd.getMonth() + 1;//获取当前月份的日期
var mm = tt.getMonth() + 1;//获取当前月份的日期
if( m <10){
m = '0'+m;
}
if( mm <10){
mm = '0'+mm;
}
var d = dd.getDate();
var dd = tt.getDate();
if( d <10){
d = '0'+d;
}
if( dd <10){
dd = '0'+dd;
}
let ago = y + "-" + m + "-" + d
let agoStr = ago.replace(/-/g,'')
let today = yy + "-" + mm + "-" + dd
let todayStr = today.replace(/-/g,'')
this.setData({
date3:ago,
date4:today,
agoStr:agoStr,
todayStr:todayStr,
})
this.getJfList(agoStr,todayStr)
},
dateSel(){
this.setData({
show2:true
})
},
onClose2(){
this.setData({
show2:false
})
},
date1Sel(e){
let id = e.currentTarget.dataset.id
this.setData({
isSel:id
})
},
date2Sel(e){
let id = e.currentTarget.dataset.id
this.setData({
isSel:id
})
},
onConfirm2() {
let ksrq = this.data.ksrq
let jsrq = this.data.jsrq
this.setData({
payList:[]
})
if(ksrq == '' || jsrq ==''){
wx.showToast({
title: '日期不完整',
icon:"error"
})
}else{
// 开始日期小于结束日期
if(Number(ksrq) <= Number(jsrq)){
this.setData({
show2: false,
date3:this.data.date1,
date4:this.data.date2,
curId:'',
loadingHidden: false,
});
this.getJfList(ksrq,jsrq)
}else{
wx.showToast({
title: '日期格式错误',
icon:"error"
})
}
}
},
onInput(event){
var timestamp = event.detail;
var d = new Date(timestamp * 1);
var y = d.getFullYear()
var m = d.getMonth() + 1
var t = d.getDate()
var date = y+"-" +(m > 9 ? m : "0" + m) +"-" +(t > 9 ? t : "0" + t)
let date2 = date.replace(/-/g,'')
if(this.data.isSel == 0){
this.setData({
date1:date,
ksrq:date2
})
}else if(this.data.isSel == 1){
this.setData({
date2:date,
jsrq:date2
})
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if(app.globalData.openId == ""||app.globalData.openId==null){
common.checkGlobalOpenId().then(res=>{
console.log(res)
app.globalData.openId = res
this.getPerList()
if(wx.getStorageSync('index')==''){
this.setData({currentIndex:0})
}else{
this.InitDays()
this.setData({currentIndex:wx.getStorageSync('index')})
}
wx.setNavigationBarTitle({
title: '门诊缴费'
})
},
err=>{
//初始化失败,弹框提示
})
}else{
this.getPerList()
if(wx.getStorageSync('index')==''){
this.setData({currentIndex:0})
}else{
this.InitDays()
this.setData({currentIndex:wx.getStorageSync('index')})
}
wx.setNavigationBarTitle({
title: '门诊缴费'
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
wx.removeStorageSync('index')
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@@ -0,0 +1,7 @@
{
"usingComponents": {
"van-popup": "@vant/weapp/popup/index",
"van-datetime-picker": "@vant/weapp/datetime-picker/index"
},
"navigationBarBackgroundColor": "#efedef"
}

109
pages/payment/payment.wxml Normal file
View File

@@ -0,0 +1,109 @@
<view class="containers">
<view class="container">
<view>医保移动支付结算须知:</view>
<view>1、医保移动支付仅限本人使用家庭共济患者须在门诊窗口进行医保结算</view>
<view>2、生育保险的项目产前检查、流产、上环取环等无法使用医保移动支付须在门诊窗口进行医保结算</view>
<view>3、医保主要用于参保人疾病诊断、疾病治疗所发生的政策范围内的检查、治疗、购药等费用所有健康查体、养生保健项目均不属于基本医疗保险保障范围的支出无法使用医保结算。</view>
</view>
<loading hidden="{{loadingHidden}}">加载中...</loading>
<view class="hu" bindtap="showPop">
<view class="tjitem-left">当前就诊人: {{name}}</view>
<view class="tjitem-right">
<view class="tjitem-right1">切换就诊人</view>
</view>
</view>
<view class="around">
<view wx:for="{{list}}" wx:key='item' class="{{currentIndex == index ? 'active' : ''}}" bindtap='cateChange' data-info="{{index}}">{{item}}</view>
</view>
<view class="list">
<view class="list-label">医嘱明细在支付详情查看</view>
<view class="zw" wx:if="{{noData&&currentIndex==0}}">暂无数据</view>
<view class="item" wx:for="{{payList}}" wx:key='index' wx:if="{{!noData&&currentIndex==0}}" data-info="{{item}}" bindtap="navito">
<view class="first">
<view class="text">
<text>就诊科室 : </text>
<text>{{item.out_ksmc}}</text>
</view>
<view class="text">就诊时间 : {{item.lrrq}}</view>
</view>
<view class="second">
<view class="money">¥{{item.cfje}}</view>
<view>
<text class="pay">去支付</text>
<van-icon name="arrow" />
</view>
</view>
</view>
<view wx:if="{{currentIndex==1}}">
<view class="btnWrap">
<view class="gdrq">
<view class="btn1 {{curId == item.id ? 'ac':'mr'}}" wx:for="{{rqList}}" wx:key="item" data-item="{{item}}" bindtap="rqSel">{{item.name}}</view>
</view>
<view class="dtrq">
<view class="timeMsg">
<view class="itemTi">{{date3}}</view>
<view class="itemT">至</view>
<view class="itemTi">{{date4}}</view>
</view>
<view class="btn2" bindtap="dateSel">
<view>选择时间</view>
<view class="icon2"></view>
</view>
</view>
</view>
<view class="zw" wx:if="{{noData}}">暂无数据</view>
<view class="lists">
<view class="item3 h1" wx:for="{{payList}}" wx:key="item" data-item="{{item}}" bindtap="naviToJf">
<view class="titleMsg">
<view>{{item.sflb}}</view>
<view class="type">{{item.jlzt}}</view>
</view>
<view class="msgItem1">
<view class="msgItem1-left">
<view class="jfItem">
<view class="c1">科室名称</view>
<view class="c2">{{item.ksmc}}</view>
</view>
<view class="jfItem">
<view class="c1">病人类型</view>
<view class="c2">{{item.brlx}}</view>
</view>
</view>
<view class="msgItem1-right">¥{{item.fyze}}</view>
</view>
</view>
</view>
</view>
</view>
<van-popup show="{{ show }}" round closeable position="bottom" bind:close="onClose">
<view class="popWrap">
<view class="title1">选择就诊人</view>
<view class="userWrap">
<view class="userItem" wx:for="{{list1}}" wx:key="item" data-item="{{item}}" bindtap="confirm">
<view class="msg1">
<view class="up1">
<view class="name1">{{item.TRUE_NAME}}</view>
<view wx:if="{{item.RELATE == 0}}" class="guanxi1">本人</view>
<view wx:elif="{{item.RELATE == 1}}" class="guanxi1">子女</view>
<view wx:elif="{{item.RELATE == 2}}" class="guanxi1">夫妻 </view>
<view wx:elif="{{item.RELATE == 3}}" class="guanxi1">父母 </view>
<view wx:elif="{{item.RELATE == 4}}" class="guanxi1">朋友 </view>
</view>
<view class="down1">{{item.MEDICAL_CARD}}</view>
</view>
<view class="icon1">></view>
</view>
</view>
</view>
</van-popup>
<van-popup show="{{ show2 }}" round position="bottom">
<view class="dateWrap">
<view class="dateItem {{isSel == 0 ? 'dateActive':''}}" bindtap="date1Sel" data-id="0">{{date1}}</view>
<view>至</view>
<view class="dateItem {{isSel == 1 ? 'dateActive':''}} " bindtap="date2Sel" data-id="1">{{date2}}</view>
</view>
<van-datetime-picker type="date" value="{{ currentDate }}" bind:input="onInput" min-date="{{ minDate }}" bind:confirm="onConfirm2" bind:cancel="onClose2" />
</van-popup>
</view>

418
pages/payment/payment.wxss Normal file
View File

@@ -0,0 +1,418 @@
/* pages/payment/payment.wxss */
.containers{
width: 100%;
height: 100vh;
background-color: #f2f0f4;
}
.container{
font-size: 24rpx;
color:#000;
line-height: 40rpx;
}
.change{
width: 170rpx;
height: 40rpx;
border:2rpx solid #d78b6a;
color:#d78b6a;
display: flex;
align-items: center;
justify-content: center;
}
.patlabel{
width: 170rpx;
height: 40rpx;
border:2rpx solid #d78b6a;
color:#d78b6a;
display: flex;
align-items: center;
justify-content: center;
}
.hu{
height: 80rpx;
width: 100%;
background-color: #fcf6e6;
font-size: 24rpx;
display: flex;
align-items: center;
justify-content: center;
}
.tjitem-left{
height: 80rpx;
width: 70%;
display: flex;
/* justify-content: space-between; */
align-items: center;
margin-left: 20rpx;
/* color:#d78b6a; */
/* border:2rpx solid #d78b6a; */
}
.tjitem-right{
width: 250rpx;
height: 60rpx;
border:2rpx solid #d78b6a;
color:#d78b6a;
font-size: 25rpx;
line-height: 60rpx;
margin-right: 80rpx;
/* align-items: center;
justify-content: center; */
}
.tjitem-right1{
margin-left: 50rpx;
/* border:2rpx solid #7503f7; */
}
.around{
height: 80rpx;
line-height: 80rpx;
width: 100%;
display: flex;
background-color: #fdfcff;
z-index:999;
margin-bottom: 6rpx;
}
.around>view{
width: 50%;
text-align: center;
font-size: 30rpx;
height: 100%;
border-bottom:6rpx solid #f2f0f4;
}
.active{
border-bottom:6rpx solid #2da9fa !important;
color:#2da9fa !important;
}
.list{
height: calc(100vh - 150rpx);
overflow-y: scroll;
}
.list::-webkit-scrollbar{
width: 0;
}
.item{
height: 230rpx;
width: 100%;
padding:36rpx 0 20rpx 0;
box-sizing: border-box;
background-color: #fefcfe;
font-size: 28rpx;
font-weight: 600;
margin-bottom: 24rpx;
}
.first{
height: 110rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
border-bottom: 2rpx solid #f2f0f4;
color:#333;
padding-bottom:26rpx;
box-sizing: border-box;
}
.text{
margin:0 40rpx;
}
.second{
height:84rpx;
display: flex;
justify-content: space-between;
padding:0 30rpx;
align-items: center;
box-sizing: border-box;
}
.money{
color:#c58265;
font-size: 30rpx !important;
}
.pay{
color:#9cc3e1;
margin-right: 16rpx;
}
.van-icon, .van-icon:before {
color:#999;
}
.noData{
font-size: 32rpx;
text-align: center;
margin-top: 100rpx;
color:#666;
}
.popWrap{
height: 100%;
width: 100%;
padding: 10rpx;
box-sizing: border-box;
}
.title1{
height: 100rpx;
width: 100%;
line-height: 100rpx;
text-align: center;
font-size: 33rpx;
color: #333;
}
.userWrap{
height: 100%;
width: 95%;
margin: 0 auto;
}
.userWrap :last-child{
border-bottom: 0px;
}
.userItem{
height: 160rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1rpx solid #f8f8f8;
}
.msg1{
height: 160rpx;
width: 500rpx;
}
.up1{
height: 80rpx;
width: 100%;
display: flex;
align-items: center
}
.name1{
font-size: 33rpx;
height: 80rpx;
color: #333;
line-height: 80rpx;
}
.guanxi1{
height: 60rpx;
width: 120rpx;
margin-left: 20rpx;
background: rgba(228,240,255);
border-radius: 30rpx;
text-align: center;
line-height: 80rpx;
color: rgba(0,110,255);
font-size: 32rpx;
display: flex;
justify-content: center;
align-items: center;
}
.down1{
height: 80rpx;
width: 100%;
font-size: 33rpx;
color: rgb(158, 154, 154);
line-height: 80rpx;
}
.icon1{
color: rgb(180, 179, 179);
padding-right:15rpx ;
}
.list-label{
font-size: small;
color: red;
}
.item3{
width: 100%;
border-radius: 5rpx;
margin-bottom: 20rpx;
box-shadow:0px 0px 15rpx #e2e2e2;
padding:0 30rpx;
box-sizing: border-box;
background-color: #fff;
}
.h1{
height: 240rpx;
}
.titleMsg{
height: 80rpx;
width: 100%;
font-size: 33rpx;
color: #333;
border-bottom: 2rpx solid #f8f8f8;
display: flex;
justify-content: space-between;
align-items: center;
}
.type{
font-size: 30rpx;
color: rgba(52,120,247);
}
.msgItem1{
height: 150rpx;
width: 100%;
margin: 10rpx auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.msgItem1-left{
height: 100%;
width: 75%;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.jfItem{
height:60rpx;
width: 100%;
display: flex;
align-items: center;
}
.c1{
height: 60rpx;
width: 120rpx;
line-height: 60rpx;
font-size: 30rpx;
color: #666;
text-align-last:justify;
text-align:justify;
text-justify:distribute-all-lines;
}
.c2{
font-size: 30rpx;
color: #333;
margin-left: 30rpx;
}
.msgItem1-right{
height: 100%;
width: 25%;
display: flex;
align-items: center;
justify-content: center;
color: rgba(244,99,99);
font-size: 35rpx;
}
.btnWrap{
height: 160rpx;
width: 100%;
padding:0 20rpx;
box-sizing: border-box;
background-color: #fff;
}
.gdrq{
height: 80rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.btn1{
height: 60rpx;
width: 160rpx;
border-radius: 30rpx;
text-align: center;
line-height: 60rpx;
font-size: 32rpx;
}
.dtrq{
height: 80rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.timeMsg{
height: 60rpx;
width: 450rpx;
font-size: 30rpx;
border-radius: 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
color: rgba(0,110,255);
background: rgba(226,237,254);
}
.itemTi{
height: 100%;
width: 45%;
display: flex;
justify-content: center;
align-items: center;
}
.itemT{
height: 100%;
width: 10%;
display: flex;
justify-content: center;
align-items: center;
}
.btn2{
height: 60rpx;
width: 220rpx;
margin-left: 50rpx;
background: rgba(228,240,255);
border-radius: 30rpx;
text-align: center;
line-height: 60rpx;
color: rgba(0,110,255);
font-size: 32rpx;
display: flex;
justify-content: center;
align-items: center;
}
.icon2{
height: 30rpx;
width: 30rpx;
margin-left: 10rpx;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAUhJREFUWEftlT1SwzAQhd9zQx+VdEDMEeiSO0AHJ3DIJBUcAiqYEJ8AOrhD0nEEHKCjVHoaL2NBZhKwLf8oCYXV2nr7zUrfitjy4pbrowFoOtB04P90QIWvAxHpb2IukBzp4OA2qbXSgdY4ugJ4sV4IuZ73/MtFjT9HoMazewFO1wFB4EH32mfL2al3oBXOJhB0nEIQ03nQ7v7OTAVQ4cuuiDcFsOcI4p2MOzo4/CgEkPykRtERPE4E2KkDQeATsXR1339Oy8nVUN29HQvjx1oA4p3o8/2nrAzrHPjR86YKBMnhQrfKAMnGanqu6lYLwNyJEnqm6VYbwHSiiJ4ZujkBKKBnpm5OAPL0tOnmDMBApOhJi25OAQxEGA1EaPQkZagD37xuZZd1DuQFfusJLL9uGwUoW6z0KHZRwJZR6whs4UW+NwBNB74ADGh0IdudMasAAAAASUVORK5CYII=);
background-size: 100%;
}
.mr{
color: rgba(0,110,255);
background: rgba(226,237,254);
}
.ac{
color: #fff;
background: rgba(0,110,255);
}
.dateWrap{
height: 80rpx;
width: 80%;
margin: 50rpx auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.dateItem{
height: 100%;
width: 40%;
font-size: 30rpx;
color: rgba(0,110,255);
background: rgba(230,241,255);
border-radius: 15rpx;
text-align: center;
line-height: 80rpx;
}
.dateActive{
height: 100%;
width: 40%;
font-size: 30rpx;
color: #fff;
background: rgba(0,110,255);
border-radius: 15rpx;
text-align: center;
line-height: 80rpx;
}
.zw{
height: 250rpx;
width: 100%;
border-radius: 5rpx;
margin: 40rpx auto;
box-shadow:0px 0px 15rpx #e2e2e2;
padding:0 30rpx;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
font-size: 33rpx;
color: #666;
}
.lists{
margin-top: 20rpx;
height:calc(100vh - 300rpx);
overflow-y: scroll;
}