|
@ -1,250 +1,233 @@
|
|
|
<template>
|
|
|
<div class="machine-drug-taking c-333 fs-13" :class="'machine-drug-taking-'+ contentType">
|
|
|
<van-popup v-model="isShow">
|
|
|
<div class="machine-drug-taking-content c-333">
|
|
|
<img v-show="hasClose" @click="onClose()" class="close" src="../img/i-guanbi.png" alt="">
|
|
|
<div :class="'content-type-'+ contentType">
|
|
|
<div v-if="contentType==1" >
|
|
|
<div class="title fs-17 c-333 tc ptb20">请选择一种方式验证取药</div>
|
|
|
<div class="pick-content plr20 pt14">
|
|
|
<div class="pick-item">
|
|
|
<div><img src="../img/d-chaka.gif" alt=""></div>
|
|
|
<div class="pick-item-text">请插入医保卡</div>
|
|
|
</div>
|
|
|
<div class="pick-item">
|
|
|
<div><img src="../img/d-saomiao.gif" alt=""></div>
|
|
|
<div class="pick-item-text">扫描取药码、医保凭证<br>或电子健康卡取药</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-else-if="contentType==2" >
|
|
|
<div><img src="../img/i-chaxunzhong.png" alt=""></div>
|
|
|
<div class="tc fs-17 c-333 pt12">正在查询中,请稍等…</div>
|
|
|
</div>
|
|
|
<div v-else-if="contentType==3" class="tc pb40">
|
|
|
<div class="icon"><img src="../img/i-tishi.png" alt=""></div>
|
|
|
<div class=" fs-20 ">温馨提示</div>
|
|
|
<div class=" fs-13 pt20">{{message}}</div>
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="contentType==6" class="tc pt25">
|
|
|
<div class=" fs-17 ">请选择支付方式</div>
|
|
|
<van-radio-group v-model="checked">
|
|
|
<div class="pay-type-group pt24 pb25">
|
|
|
<div class="pay-type-item">
|
|
|
<div><img src="../img/i-weixin.png" alt=""></div>
|
|
|
<div class="lh30">微信支付</div>
|
|
|
<div><van-radio name="1"></van-radio></div>
|
|
|
</div>
|
|
|
<div class="pay-type-item">
|
|
|
<div><img src="../img/i-zhifubao.png" alt=""></div>
|
|
|
<div class="lh30">支付宝支付</div>
|
|
|
<div><van-radio name="1"></van-radio></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</van-radio-group>
|
|
|
<div class="bottom-button ">
|
|
|
<div><van-button color="#22a9fa" block type="primary">立即支付</van-button></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="contentType==7" class="tc fs-17 pt18">
|
|
|
<template v-if="true">
|
|
|
<div><img class="icon" src="../img/i-weixin.png" alt=""></div>
|
|
|
<div class="lh30 ptb5">打开微信扫一扫</div>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<div><img class="icon" src="../img/i-zhifubao.png" alt=""></div>
|
|
|
<div class="lh30 ptb5">打开支付宝扫一扫</div>
|
|
|
</template>
|
|
|
|
|
|
<div><img class="qrcode" src="../img/i-weixin.png" alt=""></div>
|
|
|
<div class="lh30 pt5 pb18"><span class="c-ff2626 mr5">58s</span> 后失效</div>
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="contentType==8" class="tc fs-13 pt50">
|
|
|
<div><img class="icon" src="../img/i-chenggong.png" alt=""></div>
|
|
|
<div class="lh30 pt10 pb40">结算成功!</div>
|
|
|
<div class="bottom-button ">
|
|
|
<div class=""><van-button class="c-999" color="#fff" block type="primary">返回</van-button></div>
|
|
|
<div><van-button color="#22a9fa" block type="primary">立即取药</van-button></div>
|
|
|
<div v-show="contentType==4||contentType==13||contentType==5" class="pt42 order-panel">
|
|
|
<div class="panel " :class="{'panel-no-data': (contentType==4)&&(!showSettleInfoList||!showSettleInfoList.length)}">
|
|
|
<div class="banner">
|
|
|
<div class="back-icon" @click="back">
|
|
|
<div>
|
|
|
<img class="" src="../img/i-fanhui.png" alt="">
|
|
|
</div>
|
|
|
<div class="ml5">{{closeTimes}}s</div>
|
|
|
</div>
|
|
|
<div v-else-if="contentType==9" class="tc fs-13 pt50">
|
|
|
<div><img class="icon" src="../img/i-shibao.png" alt=""></div>
|
|
|
<div class="lh30 pt10 pb40">结算失败!</div>
|
|
|
<div class="bottom-button ">
|
|
|
<div class=""><van-button class="c-999" color="#fff" block type="primary">返回</van-button></div>
|
|
|
<div><van-button color="#22a9fa" block type="primary">重试</van-button></div>
|
|
|
<img class="bg-icon" src="../img/i-banner.png" alt="">
|
|
|
<div class="text">{{contentType==13? "自助取药": contentType==4? "门诊结算" : "门诊结算清单"}}</div>
|
|
|
</div>
|
|
|
|
|
|
<template v-if="contentType==4||contentType==13">
|
|
|
<div v-if="contentType==13" class="plr17 ptb15">
|
|
|
<div class="pay-status-banner">
|
|
|
<div @click="isPayed=1" :class="{active: isPayed==1}" class="pay-status-banner-item ">已缴费</div>
|
|
|
<div @click="isPayed=0" :class="{active: isPayed==0}" class="pay-status-banner-item">待缴费</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="contentType==10" class="tc ">
|
|
|
<div><img class="icon" src="../img/i-chuyaozhong.png" alt=""></div>
|
|
|
<div class="lh30 pt13 pb40">正在出药请勿离开!</div>
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="contentType==11" class="tc ">
|
|
|
<div><img class="icon" src="../img/i-chenggong-1.png" alt=""></div>
|
|
|
<div class="lh25 pt13 ">出药成功 请立即领取</div>
|
|
|
<div class="lh25 pb20">如有遗漏请联系工作人员</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="contentType==12" class="tc ">
|
|
|
<div><img class="icon" src="../img/i-quyaoshibai.png" alt=""></div>
|
|
|
<div class="lh30 pt13 pb40">出药失败,请联系工作人员</div>
|
|
|
<div v-if="contentType==4&&!showSettleInfoList.length" class="nodata">
|
|
|
<img src="../img/i-quesheng.png" alt="">
|
|
|
<div class="pt20 tc">无就诊结算信息</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-show="hasTimer" class="timer-panel">{{closeTimes}}s</div>
|
|
|
</div>
|
|
|
</van-popup>
|
|
|
|
|
|
<div class="pt42">
|
|
|
<div v-if="contentType==4||contentType==13" class="panel " :class="{'panel-no-data': !list||!list.length}">
|
|
|
<div class="banner">
|
|
|
<img class="back-icon" src="../img/i-fanhui.png" alt="">
|
|
|
<img class="bg-icon" src="../img/i-banner.png" alt="">
|
|
|
<div class="text">{{contentType==13? "自助取药": "门诊结算"}}</div>
|
|
|
</div>
|
|
|
<div v-if="contentType==13" class="plr17 ptb15">
|
|
|
<div class="pay-status-banner">
|
|
|
<div class="pay-status-banner-item active">已缴费</div>
|
|
|
<div class="pay-status-banner-item">待缴费</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<template v-if="list&&list.length">
|
|
|
<van-checkbox-group v-model="checked">
|
|
|
<div class="order-list fs-13 plr10 pb15">
|
|
|
<div v-if="contentType==4" class="h15"></div>
|
|
|
<div v-for="k in 3" :key="k" class="item ">
|
|
|
<div class="plr10">
|
|
|
<div class="title ">
|
|
|
<div class="box-flex-1"><van-checkbox icon-size="3.46667vw" name="a">就诊日期:2022-2-25 10:46:51</van-checkbox></div>
|
|
|
<div v-if="contentType==4" class="c-ff2626 ">64元</div>
|
|
|
<div v-else class="c-4ecc8f ">已缴费</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="lh25 ptb10">
|
|
|
<div>接诊医生:张军</div>
|
|
|
<div class="c-bold">费用详情:</div>
|
|
|
<template v-else>
|
|
|
<van-checkbox-group v-model="checkedList">
|
|
|
<div class="order-list fs-13 plr10 pb15">
|
|
|
<div v-if="contentType==4" class="h15"></div>
|
|
|
<template v-if="showSettleInfoList.length">
|
|
|
<div v-for="(item, i) in showSettleInfoList" :key="i" class="item ">
|
|
|
<div class="plr10">
|
|
|
<div class="title ">
|
|
|
<div class="box-flex-1"><van-checkbox icon-size="3.46667vw" :name="item">就诊日期:{{item.date}}</van-checkbox></div>
|
|
|
<div v-if="contentType==4||isPayed==0" class="c-ff2626 ">{{item.totalAmount}}元</div>
|
|
|
<div v-else class="c-4ecc8f ">已缴费</div>
|
|
|
<!-- <div v-else class="c-4ecc8f ">未缴费</div> -->
|
|
|
</div>
|
|
|
<div class="drug-list plr10 ptb5 bgc-f6f6f9">
|
|
|
<div>
|
|
|
<div v-for="i in 5" :key="i" class="drug ">
|
|
|
<div class="">复方盐酸伪麻黄碱缓释</div>
|
|
|
<div class="pl5">x3盒</div>
|
|
|
<div class="box-flex-1"></div>
|
|
|
<div>32元</div>
|
|
|
<div>
|
|
|
<div class="lh25 ptb10">
|
|
|
<div>接诊医生:{{item.drName}}</div>
|
|
|
<div>支付类型:{{item.medicalState==1? '医保' : '自费'}}</div>
|
|
|
<div class="c-bold">费用详情:</div>
|
|
|
</div>
|
|
|
<div class="drug-list plr10 ptb5 bgc-f6f6f9">
|
|
|
<div>
|
|
|
<template v-for="(citem, i) in item.ylzMedicalMxDOList">
|
|
|
<div v-if="i<2||showMore" :key="citem.id" class="drug ">
|
|
|
<div class="">{{citem.hisItemName || citem.itemName}}</div>
|
|
|
<div class="pl5">x{{citem.amount}}{{citem.chargeUnitName}}</div>
|
|
|
<div class="box-flex-1"></div>
|
|
|
<div>{{citem.totalMoney}}元</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
<div v-if="item.ylzMedicalMxDOList.length>2" @click="showMore=!showMore" class="mt15 pb4 tc c-999 "><div class="more">{{showMore? '点击收起' : '点击查看更多'}}<span></span></div></div>
|
|
|
</div>
|
|
|
<div class="botton-group kitbox pt17 pb13">
|
|
|
<div class="box-flex-1">
|
|
|
<van-button v-if="isPayed==0" @click="toSettleInfoDetail(item)" color="#2bd3dd" size="small" block round type="primary">立即结算</van-button>
|
|
|
<van-button v-else @click="toSendShipment(item)" color="#2bd3dd" size="small" block round type="primary">立即取药</van-button>
|
|
|
</div>
|
|
|
<!-- <div v-else class="plr7 box-flex-1"><van-button @click="toSettleInfoDetail(item)" color="#22a9fa" size="small" block round type="primary">医保结算</van-button></div> -->
|
|
|
</div>
|
|
|
<div class="mt15 pb4 tc c-999 "><div class="more">点击查看更多<span></span></div></div>
|
|
|
</div>
|
|
|
<div class="botton-group kitbox pt17 pb13">
|
|
|
<div class="pr7 box-flex-1"><van-button color="#2bd3dd" size="small" block round type="primary">自费结算</van-button></div>
|
|
|
<div class="pl7 box-flex-1"><van-button color="#22a9fa" size="small" block round type="primary">医保结算</van-button></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<div v-else class="nodata">
|
|
|
<img src="../img/i-quesheng.png" alt="">
|
|
|
<div class="pt20 tc">无就诊结算信息</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</van-checkbox-group>
|
|
|
<div v-if="isPayed==0||contentType==4" class="bottom-button">
|
|
|
<div class="select"><van-checkbox v-model="isAllCheck" @change="onAllCheckChange" icon-size="3.46667vw">全选</van-checkbox></div>
|
|
|
<div class="">
|
|
|
<van-button v-if="contentType==4||isPayed==0" @click="toSettleInfoDetail(1)" color="#2bd3dd" block type="primary">立即结算</van-button>
|
|
|
<van-button v-else @click="$emit('startSendShipment', item)" color="#2bd3dd" block type="primary">立即取药</van-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</van-checkbox-group>
|
|
|
<div class="bottom-button">
|
|
|
<div class="select"><van-checkbox icon-size="3.46667vw" name="a">全选</van-checkbox></div>
|
|
|
<div class=""><van-button color="#2bd3dd" block type="primary">自费结算</van-button></div>
|
|
|
<div><van-button color="#22a9fa" block type="primary">医保结算</van-button></div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
</template>
|
|
|
<div class="nodata">
|
|
|
<img src="../img/i-quesheng.png" alt="">
|
|
|
<div class="pt20 tc">无就诊结算信息</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-else-if="contentType==5" class="panel " >
|
|
|
<div class="banner">
|
|
|
<img class="back-icon" src="../img/i-fanhui.png" alt="">
|
|
|
<img class="bg-icon" src="../img/i-banner.png" alt="">
|
|
|
<div class="text">门诊结算清单</div>
|
|
|
</div>
|
|
|
<div class="order-list fs-13 plr15 pt7 pb15">
|
|
|
<div v-for="k in 3" :key="k" class="item ">
|
|
|
<div class="plr10">
|
|
|
<div class="title ">
|
|
|
<div class="box-flex-1">结算详情</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="drug-list ptb5">
|
|
|
<div>
|
|
|
<div v-for="(item, i) in list" :key="i" class="drug ">
|
|
|
<div class="c-999">{{item.name}}</div>
|
|
|
<div class="pl5"></div>
|
|
|
<div class="box-flex-1"></div>
|
|
|
<div class="pl5" :class="item.clz">{{item.value}}</div>
|
|
|
<template v-else-if="contentType==5" class="panel " >
|
|
|
<div class="order-list fs-13 plr15 pt7 pb15">
|
|
|
<div v-for="(item) in curSettleList" :key="item.getSettleInfo.id" class="item ">
|
|
|
<div class="plr10">
|
|
|
<div class="title ">
|
|
|
<div class="box-flex-1">结算详情</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="drug-list ptb5">
|
|
|
<div>
|
|
|
<div v-for="(citem, i) in item.list" :key="citem.code" class="drug ">
|
|
|
<div class="c-999">{{citem.name}}</div>
|
|
|
<div class="pl5"></div>
|
|
|
<div class="box-flex-1"></div>
|
|
|
<div class="pl5" :class="citem.clz">{{citem.value}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="count-panel">
|
|
|
<div>总计:560.00元</div>
|
|
|
<div>总的还需支付:0元</div>
|
|
|
</div>
|
|
|
<div class="bottom-button">
|
|
|
<div class="c-22a9fa"><van-button color="#ffffff" block type="primary">返回</van-button></div>
|
|
|
<div><van-button color="#22a9fa" block type="primary">立即结算</van-button></div>
|
|
|
</div>
|
|
|
<div class="count-panel">
|
|
|
<div>总计:{{allMoney}}元</div>
|
|
|
<div>总的还需支付:{{allNeedOnlinePay}}元</div>
|
|
|
</div>
|
|
|
<div class="bottom-button">
|
|
|
<div class="c-22a9fa"><van-button @click="back()" color="#ffffff" block type="primary">返回</van-button></div>
|
|
|
<div><van-button @click="jiesuan" color="#22a9fa" block type="primary">立即结算</van-button></div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
var closeThread
|
|
|
import medicineAbinetApi from '@/api/api-medicineAbinet'
|
|
|
import ybUtils from '../utils/ybUtils'
|
|
|
var closeThread, checkPayThread
|
|
|
export default {
|
|
|
props: ['orgCode', 'isTest', 'deviceNum'],
|
|
|
data() {
|
|
|
return {
|
|
|
isShow: false,
|
|
|
num: '',//64022149 628476381 102792849
|
|
|
keyboardShow: false,
|
|
|
contentType: 5, //1选择取药方式 2订单查询中 3提示 4门诊结算 5结算清单 6选择支付方式 7支付二维码 8结算成功 9结算失败 10出药中 11出药成功 12出药失败 13自助取药
|
|
|
contentType: 0, //1选择取药方式 2订单查询中 3提示 4门诊结算 5结算清单 6选择支付方式 7支付二维码 8结算成功 9结算失败 10出药中 11出药成功 12出药失败 13自助取药 14结算中
|
|
|
nextContentType: 0,
|
|
|
hasTimer: false,
|
|
|
hasClose: true,
|
|
|
closeTimes: 0,
|
|
|
message: '请插入医保卡重试',
|
|
|
list: [
|
|
|
{value: '小陈', name: '就诊人:', clz: ''},
|
|
|
{value: '门诊单号:', name: '门诊单号:', clz: ''},
|
|
|
{value: '门诊卡号:', name: '门诊卡号:', clz: ''},
|
|
|
{value: '科室名称:', name: '科室名称:', clz: ''},
|
|
|
{value: '处方时间:', name: '处方时间:', clz: ''},
|
|
|
{value: '自费支付:', name: '自费支付:', clz: 'c-ff2626'},
|
|
|
{value: '医保个人账户支付:', name: '医保个人账户支付:', clz: 'c-ff2626'},
|
|
|
{value: '医保基金支付:', name: '医保基金支付:', clz: 'c-ff2626'},
|
|
|
{value: '还需线上支付:', name: '还需线上支付:', clz: 'c-ff2626'},
|
|
|
{value: '消费总额:', name: '消费总额:', clz: 'c-ff2626'},
|
|
|
|
|
|
|
|
|
]
|
|
|
message: '',
|
|
|
waitPayList: [],
|
|
|
payedList: [],
|
|
|
checkedList: [],
|
|
|
isAllCheck: false,
|
|
|
curSettleList: [],
|
|
|
allNeedOnlinePay: 0,
|
|
|
allMoney: 0,
|
|
|
lastContentType: [],
|
|
|
isPayed: 1, //1已结算 0未结算
|
|
|
cardSn: '',
|
|
|
cardNo: '',
|
|
|
idcard: '',
|
|
|
userName: '',
|
|
|
}
|
|
|
},
|
|
|
computed:{
|
|
|
showSettleInfoList(){
|
|
|
if(this.contentType == 4){
|
|
|
return this.waitPayList
|
|
|
}
|
|
|
if(this.contentType == 13){
|
|
|
return this.isPayed==1? this.payedList : this.waitPayList
|
|
|
}
|
|
|
return []
|
|
|
},
|
|
|
title(){
|
|
|
return this.num
|
|
|
}
|
|
|
},
|
|
|
created(){
|
|
|
this.$EventBus.$on('DrugTakingEvent', (item)=>{
|
|
|
if(item.type == 'settleSuccessBack'){
|
|
|
this.back()
|
|
|
if(item.params == 1){
|
|
|
this.isPayed = 1
|
|
|
}
|
|
|
this.$loading()
|
|
|
if(this.contentType == 13){
|
|
|
this.checkOrderAndReturn({
|
|
|
cardNum: this.cardNo,
|
|
|
});
|
|
|
}
|
|
|
ybUtils.getSettlementInfoList.call(this);
|
|
|
} else if(item.type == 'hlwyyRecharge'){
|
|
|
this.hlwyyRecharge(item.params)
|
|
|
} else if(item.type == 'shipComplete'){
|
|
|
this.payedList.splice(this.payedList.indexOf(item.params), 1)
|
|
|
}
|
|
|
})
|
|
|
this.$EventBus.$on('MachineTipsDialogOnClose', (item)=>{
|
|
|
if(this.contentType){
|
|
|
this.initCloseTimer()
|
|
|
if(checkPayThread){
|
|
|
clearInterval(checkPayThread)
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
back(){
|
|
|
this.lastContentType.pop()
|
|
|
if(this.lastContentType.length){
|
|
|
var p = this.lastContentType[this.lastContentType.length-1]
|
|
|
p.isBack = true
|
|
|
this.show(p)
|
|
|
} else {
|
|
|
this.onClose()
|
|
|
}
|
|
|
},
|
|
|
showTipsDialog(item){
|
|
|
this.removeInterval(closeThread)
|
|
|
this.$EventBus.$emit('MachineTipsDialog', item)
|
|
|
},
|
|
|
show({
|
|
|
contentType,
|
|
|
hasTimer = true,
|
|
|
hasClose = true
|
|
|
hasClose = true,
|
|
|
message = "",
|
|
|
isBack = false
|
|
|
}){
|
|
|
if(!isBack){
|
|
|
this.lastContentType.push(arguments[0])
|
|
|
}
|
|
|
this.message = message
|
|
|
this.hasTimer = hasTimer
|
|
|
this.hasClose = hasClose
|
|
|
this.contentType = contentType
|
|
|
this.initCloseTimer()
|
|
|
this.isShow = true
|
|
|
this.showTipsDialog({
|
|
|
close: true
|
|
|
})
|
|
|
},
|
|
|
removeInterval(thread){
|
|
|
if(thread){
|
|
@ -258,7 +241,7 @@ export default {
|
|
|
closeThread = setInterval(()=>{
|
|
|
if(this.closeTimes <= 0){
|
|
|
this.removeInterval()
|
|
|
this.onClose()
|
|
|
this.back()
|
|
|
} else {
|
|
|
this.closeTimes--
|
|
|
}
|
|
@ -266,7 +249,17 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
onClose(){
|
|
|
this.isShow = false
|
|
|
this.allNeedOnlinePay = 0
|
|
|
this.allMoney = 0
|
|
|
this.waitPayList = []
|
|
|
this.payedList = []
|
|
|
this.checkedList = []
|
|
|
this.curSettleList = []
|
|
|
this.isAllCheck = false
|
|
|
this.isPayed = 1
|
|
|
this.removeInterval(closeThread)
|
|
|
this.contentType = 0
|
|
|
this.lastContentType = []
|
|
|
this.$emit('onClose', this.contentType)
|
|
|
},
|
|
|
onCheckOrder(){
|
|
@ -277,6 +270,238 @@ export default {
|
|
|
this.$emit('onComplete', this.num)
|
|
|
this.num = ''
|
|
|
this.keyboardShow = false
|
|
|
},
|
|
|
getNeedOnlinePay(item){
|
|
|
var personCash = Number(item.personCash),//个人现金支付
|
|
|
balance = Number(item.balance) //预缴金余额
|
|
|
// personCash//个人现金支付
|
|
|
// balance//预缴金余额
|
|
|
if(balance > personCash){
|
|
|
return 0
|
|
|
}
|
|
|
return (personCash - balance).toFixed(2)
|
|
|
},
|
|
|
toSettleInfoDetail(item){
|
|
|
var curSettleList
|
|
|
if(item == 1){
|
|
|
if(!this.checkedList.length){
|
|
|
return
|
|
|
}
|
|
|
curSettleList = this.checkedList
|
|
|
} else {
|
|
|
curSettleList = [item]
|
|
|
}
|
|
|
this.curSettleList = JSON.parse(JSON.stringify(curSettleList))
|
|
|
ybUtils.getSettlementInfoFirst.call(this);
|
|
|
},
|
|
|
|
|
|
onAllCheckChange(e){
|
|
|
if(e){
|
|
|
this.checkedList = this.showSettleInfoList
|
|
|
} else {
|
|
|
this.checkedList = []
|
|
|
}
|
|
|
},
|
|
|
|
|
|
readcard(){
|
|
|
this.showTipsDialog({
|
|
|
contentType: 2,
|
|
|
})
|
|
|
this.$emit('readcard')
|
|
|
},
|
|
|
toolReadcardMsg(msgobj, nextContentType){
|
|
|
this.nextContentType = nextContentType
|
|
|
try{
|
|
|
if(msgobj.mess.indexOf("异常") != -1 || msgobj.mess.indexOf("读取信息失败") != -1) {
|
|
|
this.showTipsDialog({
|
|
|
contentType: 3,
|
|
|
message: msgobj.mess
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var arr = msgobj.mess.split("\n");
|
|
|
var json = {}
|
|
|
arr.forEach(v => {
|
|
|
var tmp = v.split(":")
|
|
|
json[tmp[0]] = tmp[1]
|
|
|
});
|
|
|
this.cardSn = json['卡识别码']
|
|
|
this.cardNo = json['卡号']
|
|
|
this.idcard = json['身份证号']
|
|
|
this.userName = json['姓名']
|
|
|
if(this.nextContentType == 13){
|
|
|
//取药
|
|
|
this.checkOrderAndReturn({
|
|
|
cardNum: this.cardNo,
|
|
|
contentType: 13
|
|
|
});
|
|
|
ybUtils.getSettlementInfoList.call(this);
|
|
|
} else {
|
|
|
//结算
|
|
|
ybUtils.getSettlementInfoList.call(this, 4);
|
|
|
}
|
|
|
}catch(e){
|
|
|
console.error(e)
|
|
|
}
|
|
|
},
|
|
|
|
|
|
jiesuan(){
|
|
|
var needPay = this.allNeedOnlinePay
|
|
|
// needPay = 10
|
|
|
if(needPay > 0){
|
|
|
this.showTipsDialog({
|
|
|
contentType: 6
|
|
|
})
|
|
|
} else {
|
|
|
this.hlwyyRecharge("")
|
|
|
}
|
|
|
},
|
|
|
hlwyyRecharge(res){
|
|
|
this.$loading("确认结算中..")
|
|
|
var no = _.map(this.curSettleList, v=>{
|
|
|
return v.RECIPE_NO
|
|
|
})
|
|
|
var p = {
|
|
|
recipe_no: no.join(","),
|
|
|
equ_num: this.deviceNum,
|
|
|
depositType: res,
|
|
|
returnUrl: '',
|
|
|
}
|
|
|
console.log('hlwyyRecharge params', p)
|
|
|
medicineAbinetApi
|
|
|
.hlwyyRecharge(p)
|
|
|
.then(res=>{
|
|
|
this.$toast.clear()
|
|
|
console.log('hlwyyRecharge', res)
|
|
|
if(res.status == 200){
|
|
|
new Promise((resolve, reject)=>{
|
|
|
if(!res.obj.errorMsg){
|
|
|
this.showTipsDialog({
|
|
|
contentType: 3,
|
|
|
message: res.obj.errorMsg
|
|
|
})
|
|
|
reject()
|
|
|
// this.$dialog.alert({
|
|
|
// title: '提示',
|
|
|
// message: res.obj.errorMsg
|
|
|
// }).then(()=>{
|
|
|
// resolve(res)
|
|
|
// })
|
|
|
} else {
|
|
|
resolve(res)
|
|
|
}
|
|
|
}).then(res=>{
|
|
|
// res.obj.payUrl = "dsdas"
|
|
|
if(res.obj.payUrl){
|
|
|
this.showTipsDialog({
|
|
|
contentType: 7,
|
|
|
payUrl: res.obj.payUrl
|
|
|
})
|
|
|
checkPayThread = setInterval(()=>{
|
|
|
this.checkpay()
|
|
|
}, 1000)
|
|
|
} else {
|
|
|
this.checkpay()
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
.catch(err=>{
|
|
|
console.error(err)
|
|
|
})
|
|
|
},
|
|
|
checkpay(){
|
|
|
// this.$loading("确认结算中..")
|
|
|
ybUtils.getSettlementInfoByNew.call(this, this.curSettleList, true)
|
|
|
.then(res=>{
|
|
|
this.$toast.clear()
|
|
|
var exist = _.filter(res, v=>{
|
|
|
return v.getSettleInfo.state == 1
|
|
|
})
|
|
|
if(exist){
|
|
|
ybUtils.getSettlementInfoList.call(this);
|
|
|
this.showTipsDialog({
|
|
|
contentType: 8
|
|
|
})
|
|
|
if(checkPayThread){
|
|
|
clearInterval(checkPayThread)
|
|
|
}
|
|
|
} else {
|
|
|
this.$toast('您还未结算')
|
|
|
}
|
|
|
})
|
|
|
.catch(err=>{
|
|
|
console.error(err)
|
|
|
this.$toast.clear()
|
|
|
this.showTipsDialog({
|
|
|
contentType: 9
|
|
|
})
|
|
|
if(checkPayThread){
|
|
|
clearInterval(checkPayThread)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
checkOrderAndReturn({pickUpNum="", cardNum="", ehcCard="", contentType}){
|
|
|
return new Promise((resolve, reject)=>{
|
|
|
this.shippingType = pickUpNum? 1 : 2
|
|
|
this.oldCardNo = cardNum || ''
|
|
|
let p = {
|
|
|
deviceId: this.deviceNum, //设备编号
|
|
|
pickUpNum, //取药码
|
|
|
cardNum, //社保卡号 //"DA7292254" ||
|
|
|
ehcCard //电子社保卡
|
|
|
}
|
|
|
|
|
|
// p = {
|
|
|
// deviceId: this.deviceNum, //设备编号
|
|
|
// cardNum: '',
|
|
|
// ehcCard: "2AA15E2786973077D40FF5DEFFB5E7B12D79E3BD50BE59F22559FF361667E22C:0:445D0CE646F8F9DFEF648D36910287B5:3502A0001GZHA0002"
|
|
|
// }
|
|
|
console.log('params', p)
|
|
|
medicineAbinetApi
|
|
|
.checkOrderAndReturnOrderList(p)
|
|
|
.then(res=>{
|
|
|
console.log('checkOrderAndReturnOrderList', res)
|
|
|
this.$toast.clear()
|
|
|
var list = []
|
|
|
if(res.obj && res.obj.orderList){
|
|
|
list = _.filter(res.obj.orderList, v=>{
|
|
|
return v.status===0
|
|
|
})
|
|
|
if(list.length){
|
|
|
list.forEach(v=>{
|
|
|
var allPrice = 0
|
|
|
v.drugList.forEach(d=>{
|
|
|
allPrice += d.price * ((d.quantity&&Number(d.quantity)) || 1)
|
|
|
})
|
|
|
v.price = allPrice.toFixed(2)
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
this.payedList = list || []
|
|
|
if(contentType){
|
|
|
this.show({
|
|
|
contentType: 13,
|
|
|
})
|
|
|
}
|
|
|
resolve()
|
|
|
})
|
|
|
.catch(err=>{
|
|
|
console.error(err)
|
|
|
this.$toast.clear()
|
|
|
if(contentType){
|
|
|
this.showTipsDialog({
|
|
|
contentType: 3,
|
|
|
message: '获取订单失败'
|
|
|
})
|
|
|
}
|
|
|
resolve()
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
toSendShipment(){
|
|
|
|
|
|
}
|
|
|
},
|
|
|
}
|