import { payHistory } from './service'; import history from '../../utils/history'; import { tradePay } from '../../utils/tradePay'; import { reportCmPV_YL } from '../../utils/cloudMonitorHelper'; Component({ props: {}, data: { empty: true, clinicCard: {}, filterParams: { type: '9', cardNum: '', endTime: '', startTime: '', medicCards: [] }, /* 赛选项目 */ typeOptions: [{ value: '1', label: '挂号订单' }, { value: '2', label: '充值订单' }, { value: '3', label: '诊间订单' }], statusOptions: [{ value: '0', label: '待支付' }, { value: '1', label: '已支付' }, { value: '9', label: '已取消' }] }, didMount() { /* 服务预警,缴费记录查询 */ reportCmPV_YL({ title: '缴费记录查询' }); }, methods: { onFilterHandel(filters) { this.filters = filters; this.scrollRef.refresh(); }, saveRef(ref) { this.scrollRef = ref; }, saveSubscribe(ref) { this.subscribe = ref; }, onService(page) { const { type } = this.filters || {}; return payHistory({ ...this.filters, type: type || '9', ...page }); }, // 进入详情 toDetail(e) { history.push({ title: '缴费详情', query: e.target.dataset, pageType: 'hospital-payment-detail' }); }, // 付款 async onPayment(e) { const { medicareBinded = false, item } = e.target.dataset; // 同意订阅消息后发起支付 // 挂号 if (item.type === 1) { await tradePay({ type: item.type, idNum: item.outTradeNo, depName: item.depName }, { tradeType: 'Appointment' }); } else if (item.type === 2) { // 充值 await tradePay({ type: item.type, idNum: item.outTradeNo, amount: item.amount }, { tradeType: 'Appointment' }); } else { // 门诊订单 await tradePay({ useBalance: !medicareBinded, useMedicare: medicareBinded, outTradeNo: item.outTradeNo }, { tradeType: 'Outpatient' }); } // 支付成功去订单详情页 this.toDetail({ target: { dataset: { outTradeNo: item.outTradeNo, type: item.type } } }); // 发起消息订阅 this.subscribe.subscribeMessage(); } } });