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: [], timeShow: false, }, /* 赛选项目 */ typeOptions: [], statusOptions: [ { value: "0", label: "待支付", }, { value: "1", label: "已支付", }, ], showAll: false, showTimeSelector: false, defaultLabel: "待支付", defaultName: "待支付", defaultStatus: "待支付", }, didMount() { /* 服务预警,缴费记录查询 */ reportCmPV_YL({ title: "缴费记录查询", }); }, onInit() { }, methods: { onFilterHandel(filters) { if (!this.hisPatientId) return this.filters = filters; this.scrollRef.refresh(); }, saveRef(ref) { this.scrollRef = ref; }, saveSubscribe(ref) { this.subscribe = ref; }, onService(page) { const { type, status } = this.filters || {}; if(!this.hisPatientId) return if(this.filters.status === '1'){ this.setData({ showTimeSelector: true }) if(!this.filters.startTime){ my.showToast({ type: "fail", content: "请选择时间段", duration: 3000, }); } return } else { this.setData({ showTimeSelector: false }) } return payHistory({ ...this.filters, type: type || "9", status: status || "0", ...page, hisPatientId: this.hisPatientId }); }, onAutoFilter(patient) { if (patient) { this.hisPatientId = patient.hisPatientId; this.scrollRef.refresh(); } }, // 进入详情 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(); }, }, });