import { payHistory } from "./service"; import history from "../../utils/history"; import { tradePay } from "../../utils/tradePay"; import { reportCmPV_YL } from "../../utils/cloudMonitorHelper"; import { getSubscribeAuth } from "../../../../core/utils/ywtService"; import { createSubscribe } from "applet-page-component"; Component( createSubscribe({ async onShow() { this.scrollRef.refresh(); }, })({ 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, showCardSelector: false, defaultLabel: "待支付", defaultName: "待支付", defaultStatus: "待支付", alertTitle: "", }, didMount() { /* 服务预警,缴费记录查询 */ reportCmPV_YL({ title: "门诊缴费", }); }, onInit() {}, methods: { onFilterHandel(filters) { const { status: prevStatus } = this.filters || {}; const { status: curStatus } = filters || {}; if (!this.hisPatientId) return; this.filters = filters; const { status, startTime, endTime } = this.filters || {}; // 当状态未改变时,做时间筛选校验,拦截请求;当状态被改变时,做时间校验的同时,不拦截请求 // 状态:已支付 // if (status && status === "1") { // if (!startTime || this.getTimeChange(startTime, endTime, 15)) { // my.showToast({ // type: "fail", // content: "请选择15天以内的时间", // duration: 1500, // }); // if (prevStatus === curStatus) return; // } // } // 状态:未支付 // if (!status || status === "0") { // if (!startTime || this.getTimeChange(startTime, endTime, 3)) { // my.showToast({ // type: "fail", // content: "请选择3天以内的时间", // duration: 1500, // }); // if (prevStatus === curStatus) return; // } // } this.scrollRef.refresh(); }, saveRef(ref) { this.scrollRef = ref; }, saveSubscribe(ref) { this.subscribe = ref; }, getTimeChange(startTime, endTime, len) { if (!startTime || !endTime) { return true; } const time1 = Date.parse(startTime); const time2 = Date.parse(endTime); const timeDiff = time2 - time1; const duration = len * 24 * 60 * 60 * 1000; return timeDiff < 0 || timeDiff > duration; }, onService(page) { const { status, startTime, endTime } = this.filters || {}; if (!this.hisPatientId) return; return payHistory({ ...this.filters, status: status || "0", ...page, hisPatientId: this.hisPatientId, }); }, onAutoFilter(patient) { if (patient) { this.hisPatientId = patient.hisPatientId; this.scrollRef.refresh(); } }, // 进入详情 toDetail(e) { const { item: { type, outTradeNo, status, tradeNo, invoiceNo, hisPatientId, date, depName, amount, name, age, sex, prescribeDate, hisOrderNo, doctorName, doctorCode, total, hisClinicCode, deptName, orderItems, orderInsType, medInsFee, selfFee, payName, patName, }, } = e.target.dataset; history.push({ title: "缴费详情", query: { type: type || 0, outTradeNo, status, tradeNo, invoiceNo, hisPatientId, date, depName, amount, name, age, sex, prescribeDate, hisOrderNo, doctorName, doctorCode, total, hisClinicCode, deptName, orderInsType, orderItems: encodeURIComponent(JSON.stringify(orderItems || "")), medInsFee, selfFee, payName, patName, }, pageType: "hospital-payment-detail", }); }, // 付款 async onPayment(e) { this.toDetail(e); }, }, }) );