123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829 |
- <template>
- <div class="layout_container">
- <header>
- <el-button type="success" icon="Plus" @click="openShouFee"
- >收费</el-button
- >
- <el-button type="primary" icon="Delete" @click="clearData"
- >清空</el-button
- >
- <el-button type="success" icon="Plus" @click="openSjh"
- >设置收据号</el-button
- >
- <el-button type="danger" icon="Money" @click="openPos"
- >智能POS工具包</el-button
- >
- </header>
- <div class="layout_main">
- <div class="demo-collapse">
- <el-form
- ref="ruleFormRef"
- label-width="127px"
- :model="formData"
- class="demo-ruleForm"
- :size="formSize"
- >
- <el-collapse v-model="activeName">
- <el-collapse-item title="基本信息" name="1" disabled>
- <el-row>
- <el-col :span="6">
- <el-form-item label="住院号" prop="inpatientNo">
- <el-input
- v-model="formData.inpatientNo"
- clearable
- @keyup.enter="queryPatientList(formData.inpatientNo)"
- >
- <template #append>
- <el-button
- icon="Search"
- @click="queryPatientList(formData.inpatientNo)"
- />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="门诊号" prop="patientId">
- <el-input
- v-model="formData.patientId"
- clearable
- @keyup.enter="queryPatientList(formData.patientId)"
- >
- <template #append>
- <el-button
- icon="Search"
- @click="queryPatientList(formData.patientId)"
- />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="姓名" prop="name">
- <el-input
- v-model="formData.name"
- clearable
- @keyup.enter="queryPatientList(formData.name)"
- >
- <template #append>
- <el-button
- icon="Search"
- @click="queryPatientList(formData.name)"
- />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="性别" prop="sexName">
- <el-input v-model="formData.sexName" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="6">
- <el-form-item label="床号" prop="bedNo">
- <el-input v-model="formData.bedNo" disabled />
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="病房" prop="wardName">
- <el-input v-model="formData.wardName" disabled />
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="入院日期" prop="admissDate">
- <el-input v-model="formData.admissDate" disabled />
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="身份" prop="responceTypeName">
- <el-input v-model="formData.responceTypeName" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="6">
- <el-form-item label="总费用" prop="totalAmount">
- <el-input v-model="formData.totalCharge" disabled />
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="余额" prop="wardName">
- <el-input v-model="formData.balance" disabled />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="" prop="inpatientNoType">
- <el-radio-group v-model="formData.inOutFlag">
- <el-radio-button label="在院病人" :value="0" />
- <el-radio-button label="出院病人" :value="1" />
- </el-radio-group>
- </el-form-item>
- </el-col>
- <!-- <el-col :span="12">
- <el-form-item label="" prop="inpatientNoType">
- <button @click="printSjNew">打印</button>
- </el-form-item>
- </el-col> -->
- </el-row>
- </el-collapse-item>
- </el-collapse>
- </el-form>
- </div>
- <div class="layout_el-table">
- <el-table :data="tableData" stripe style="width: 100%">
- <el-table-column
- align="center"
- property="admissTimes"
- label="住院次数"
- />
- <el-table-column align="center" property="ledgerSn" label="账页号" />
- <el-table-column
- align="center"
- width="150"
- property="depoDate"
- label="时间"
- />
- <el-table-column align="center" property="statusName" label="事务" />
- <el-table-column align="center" property="depoAmount" label="金额" />
- <el-table-column align="center" property="receiptNo" label="收据号" />
- <el-table-column
- align="center"
- property="depoTypeName"
- label="收费方式"
- >
- </el-table-column>
- <el-table-column align="center" property="chequeNo" label="凭证号" />
- <el-table-column align="center" property="opIdName" label="操作员" />
- <el-table-column label="操作" width="200">
- <template #default="scope">
- <el-button
- v-if="
- formData.inOutFlag === 0 &&
- scope.row.settleType === '0' &&
- scope.row.status === '1' &&
- scope.row.reportFlag !== '1'
- "
- size="small"
- type="danger"
- icon="Back"
- @click="openRefund(scope.row)"
- >退费</el-button
- >
- <el-button
- v-if="
- formData.inOutFlag === 0 &&
- scope.row.printed !== 1 &&
- scope.row.status === '1' &&
- scope.row.reportFlag !== '1'
- "
- size="small"
- type="primary"
- icon="Printer"
- @click="
- printShouJu(scope.row.inpatientNo, scope.row.receiptNo, false)
- "
- >打印收据</el-button
- >
- <el-button
- v-if="
- formData.inOutFlag === 0 &&
- scope.row.status === '1' &&
- scope.row.printed === 1 &&
- scope.row.reportFlag !== '1'
- "
- size="small"
- type="primary"
- icon="Printer"
- @click="
- printShouJu(scope.row.inpatientNo, scope.row.receiptNo, true)
- "
- >重打收据</el-button
- >
- </template>
- </el-table-column>
- </el-table>
- <div
- style="
- width: 100%;
- height: 50px;
- margin-top: 10px;
- margin-left: 20px;
- font-size: 18px;
- "
- >
- <el-row>
- <el-col :span="12">预交金合计: {{ formData.yjjHj }}</el-col>
- <el-col :span="12">直退押金合计: {{ formData.ztYjjHj }}</el-col>
- </el-row>
- </div>
- </div>
- </div>
- </div>
- <el-dialog v-model="patientVisible" title="病人信息" width="500" draggable>
- <el-table
- :data="patientTableData"
- style="width: 100%"
- height="300"
- stripe
- border
- @row-click="fetchPatient"
- >
- <el-table-column align="center" prop="name" label="姓名" />
- <el-table-column align="center" prop="inpatientNo" label="住院号" />
- <el-table-column align="center" prop="admissTimes" label="住院次数" />
- <el-table-column align="center" prop="sexName" label="性别" />
- </el-table>
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="patientVisible = false">关闭</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog
- v-model="shouFeeVisible"
- title="缴费"
- width="400"
- @closed="clearShouFeeForm"
- draggable
- >
- <el-form class="demo-ruleForm" label-width="127px" :size="formSize">
- <el-row>
- <el-col :span="24">
- <el-form-item label="收费方式*">
- <el-select v-model="shouFeeForm.depoType">
- <el-option
- v-for="item in zdChequeTypes"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="金额">
- <el-input-number
- v-model="shouFeeForm.depoAmount"
- :controls="false"
- :precision="2"
- :min="0"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="凭证号">
- <el-input v-model="shouFeeForm.chequeNo" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <div class="dialog-footer">
- <el-button type="primary" @click="shuaKa">刷卡/扫码</el-button>
- <el-button type="success" icon="Check" @click="saveShouFee"
- >保存</el-button
- >
- <el-button @click="shouFeeVisible = false">关闭</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog v-model="refundVisible" title="退费" width="400" draggable>
- <el-form class="demo-ruleForm" label-width="127px">
- <el-row>
- <el-col :span="24">
- <el-form-item label="支付方式*">
- <el-select v-model="refundForm.depoType">
- <el-option
- v-for="item in zdChequeTypes"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="金额">
- <el-input v-model="refundForm.depoAmount" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="收据号">
- <el-input v-model="refundForm.receiptNo" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <div class="dialog-footer">
- <el-button type="primary" @click="refundYjj(0)">普通退费</el-button>
- <el-button type="success" @click="refundYjj(1)">原路退费</el-button>
- <el-button @click="refundVisible = false">关闭</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog v-model="sjhVisible" title="设置收据号" width="400" draggable>
- <el-form class="demo-ruleForm" label-width="127px">
- <el-row>
- <el-col :span="24">
- <el-form-item label="当前收据号:">
- <el-input-number v-model="currentNo" :min="1" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <div class="dialog-footer">
- <el-button type="primary" @click="saveSjh">保存</el-button>
- <el-button @click="sjhVisible = false">关闭</el-button>
- </div>
- </template>
- </el-dialog>
- <div
- id="report_table"
- v-show="false"
- style="
- width: 192mm;
- height: 97mm;
- margin: 0 auto;
- border: 1px solid #337ab7;
- font-size: 10px;
- padding-top: 5mm;
- overflow-y: auto;
- overflow-x: hidden;
- "
- >
- <div id="report_table_1">
- <div style="text-align: center; font-weight: 700; padding-top: -8mm">
- {{ hospitalName }}
- </div>
- <div style="text-align: center; font-weight: 700; margin-top: 5px">
- 预交金收据
- </div>
- <div>
- <span>收据日期:</span
- ><span style="margin-left: 4mm" id="printDate">{{
- getFormatDatetime(new Date(), "YYYY-MM-DD HH:mm:ss")
- }}</span>
- <span style="margin-left: 40mm">收据号:</span
- ><span style="margin-left: 4mm">{{ printData.receiptNo }}</span
- ><span style="margin-left: 2mm">{{ printData.cdFlag }}</span>
- </div>
- <table class="pageTable" style="width: 170mm">
- <tbody>
- <tr>
- <td style="width: 15mm">病人ID</td>
- <td style="width: 20mm">{{ printData.patientId }}</td>
- <td>住院号</td>
- <td style="width: 20mm">{{ printData.inpatientNo }}</td>
- <td colspan="3">姓名</td>
- <td colspan="2">{{ printData.name }}</td>
- </tr>
- <tr>
- <td>住院科室</td>
- <td colspan="2">{{ printData.admissDeptName }}</td>
- <td>支付方式</td>
- <td colspan="2">{{ printData.depoTypeName }}</td>
- <td colspan="2">操作类型</td>
- <td>交款</td>
- </tr>
- <tr>
- <td>金额</td>
- <td>{{ printData.depoAmount }}</td>
- <td>支票号</td>
- <td colspan="6">{{ printData.chequeNo }}</td>
- </tr>
- <tr>
- <td>大写金额</td>
- <td colspan="5">{{ printData.depoAmountDx }}</td>
- <td colspan="2">收费员</td>
- <td>{{ printData.opIdCodeName }}</td>
- </tr>
- <tr>
- <td colspan="9" rowspan="3" style="height: 26mm">
- 1、此系临时收据,请妥善保管。出院时凭此收据按实用医疗费用换取住院发票。<br />
- 2、此收据遗失,请及时携带病人身份证和挂失人身份证到出院结算处办理挂失手续。如存在第三方肇事者预缴医疗费用,挂失时另需公安机关出示证明。<br />
- 3、如果您的缴费方式为银行卡支付,请您妥善保管好缴费的刷卡单,并于办理出院退费时带上缴费时所用银行卡。
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <PosTransaction ref="posTransactionRef"></PosTransaction>
- </template>
- <script setup>
- import { onMounted, ref } from "vue";
- import router from "@/router";
- import sleep from "@/utils/sleep";
- import {
- queryAdvancePayment,
- saveAdvancePayment,
- printZyDepositFile,
- queryPrintAdvancePayment,
- queryLastMzZyReq,
- queryAdvancePaymentPatientList,
- } from "@/api/zy-gl/advance-paymentDeal";
- import { queryHospitalName } from "@/api/zy-gl/zy-daily";
- import { getLodop, initLodop } from "@/utils/c-lodop.js";
- import { ElMessage, ElMessageBox } from "element-plus";
- import PosTransaction from "@/components/zfsf/PosTransaction.vue";
- import { queryZdChequeType } from "@/api/zfsf/cashier-process.js";
- import { stringIsBlank, stringNotBlank } from "@/utils/blank-utils.js";
- import { consume } from "@/api/zfsf/pos-transaction.js";
- import { getFormatDatetime } from "../../../utils/date.js";
- import { saveYjjSjh, queryYjjSjh } from "@/api/zfsf/sfbillno";
- import { queryLastWindowsIpAddress } from "@/api/zy-gl/admission-registration.js";
- const sjhVisible = ref(false);
- const currentNo = ref(null);
- const openSjh = () => {
- sjhVisible.value = true;
- queryYjjSjh({}).then(res => {
- currentNo.value = res.currentNo;
- });
- };
- const saveSjh = () => {
- saveYjjSjh({
- currentNo: currentNo.value,
- }).then(res => {
- sjhVisible.value = false;
- });
- };
- const hospitalName = ref("");
- const posTransactionRef = ref(null);
- const printData = ref({
- patientId: "",
- receiptNo: "",
- inpatientNo: "",
- name: "",
- admissDeptName: "",
- depoTypeName: "",
- depoAmount: "",
- depoAmountDx: "",
- opIdCodeName: "",
- cdFlag: "",
- depoDate: "",
- });
- onActivated(async () => {
- const params = router.currentRoute.value.query;
- if (params && params.patNo) {
- await sleep(300);
- formData.value.inpatientNo = params.patNo;
- queryPatientList(params.patNo);
- }
- });
- const clearPrintData = () => {
- printData.value = {
- patientId: "",
- inpatientNo: "",
- name: "",
- admissDeptName: "",
- depoTypeName: "",
- depoAmount: "",
- depoAmountDx: "",
- opIdCodeName: "",
- cdFlag: "",
- };
- };
- const formData = ref({
- inpatientNo: "",
- patientId: "",
- name: "",
- sexName: "",
- bedNo: "",
- wardName: "",
- admissDate: "",
- responceTypeName: "",
- totalCharge: null,
- balance: null,
- inOutFlag: 0,
- yjjHj: 0,
- ztYjjHj: 0,
- });
- const shouFeeVisible = ref(false);
- const shouFeeForm = ref({
- depoType: "O",
- status: "",
- autoFlag: 0,
- inpatientNo: "",
- depoAmount: null,
- chequeNo: "",
- psordnum: "",
- agtordnum: "",
- transDate: "",
- parChannel: "",
- traceNo: "",
- receiptNo: "",
- });
- // 保存收费
- const saveShouFee = () => {
- shouFeeForm.value.inpatientNo = formData.value.inpatientNo;
- shouFeeForm.value.status = "1";
- saveAdvancePayment(shouFeeForm.value).then(res => {
- shouFeeVisible.value = false;
- ElMessage.success("收费成功");
- ElMessageBox.confirm("请确认是否打印收据?", {
- cancelButtonText: "取消",
- confirmButtonText: "确定",
- }).then(() => {
- printShouJu(res.inpatientNo, res.receiptNo, false);
- });
- });
- };
- const refundVisible = ref(false);
- const openRefund = row => {
- refundForm.value.inpatientNo = row.inpatientNo;
- refundForm.value.receiptNo = row.receiptNo;
- refundForm.value.depoType = row.depoType;
- refundForm.value.status = 2;
- refundForm.value.depoAmount = row.depoAmount;
- refundVisible.value = true;
- };
- const refundForm = ref({
- depoType: "",
- inpatientNo: "",
- depoAmount: "",
- receiptNo: "",
- status: 2,
- refundType: 0,
- });
- // 退费
- const refundYjj = refundType => {
- refundForm.value.refundType = refundType;
- saveAdvancePayment(refundForm.value).then(res => {
- ElMessage.success("退费成功");
- if (stringNotBlank(res.warMessage)) {
- ElMessage.warning(warMessage);
- }
- refundVisible.value = false;
- queryPatientList(res.inpatientNo);
- });
- };
- // 打印收据 flag true 重打 false 首次打印
- const printShouJu = (inpatientNo, receiptNo, flag) => {
- // 重打
- if (flag) {
- printReal(inpatientNo, receiptNo, flag);
- } else {
- printZyDepositFile(receiptNo).then(res => {
- printReal(inpatientNo, receiptNo, flag);
- queryPatientList(inpatientNo);
- });
- }
- };
- const printReal = (inpatientNo, receiptNo, flag) => {
- queryPrintAdvancePayment({
- inpatientNo: inpatientNo,
- receiptNo: receiptNo,
- }).then(res => {
- printData.value.inpatientNo = res.inpatientNo;
- printData.value.patientId = res.patientId;
- printData.value.name = res.name;
- printData.value.admissDeptName = res.admissDeptName;
- printData.value.depoAmount = res.depoAmount;
- printData.value.depoTypeName = res.depoTypeName;
- printData.value.depoAmountDx = res.depoAmountDx;
- printData.value.opIdCodeName = res.opIdCodeName;
- printData.value.receiptNo = res.receiptNo;
- printData.value.depoDate = getFormatDatetime(
- res.depoDate,
- "YYYY年MM月DD日"
- );
- if (flag) {
- printData.value.cdFlag = "重打";
- }
- setTimeout(printSjNew, 1000);
- });
- };
- const printCode = ref(null);
- function printSjNew() {
- let LODOP = getLodop();
- //设置默认打印机
- // if(stringIsBlank(printCode.value)){
- // ElMessage.error('请选择打印机')
- // return
- // }
- // LODOP.SET_PRINTER_INDEX(printCode.value);
- // LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
- // LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "192mm");
- // LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "97mm");
- // LODOP.SET_PRINT_PAGESIZE(2, "192mm", "97mm", "CreateCustomPage");
- // LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "住院预交金");//对新建的纸张重命名
- // let strStyle = "<style>table{width: 170mm;} table,td,th {border-width: 1px;border-style: solid;border-collapse: collapse;padding: 8px;}</style>"
- // LODOP.ADD_PRINT_HTM("0mm", "8mm", "120mm", "280mm", strStyle + document.getElementById("report_table_1").innerHTML);
- // LODOP.PRINT();
- LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
- LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "210mm");
- LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "290mm");
- LODOP.SET_PRINT_PAGESIZE(1, "210mm", "290mm", "CreateCustomPage");
- LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "住院预交金"); //对新建的纸张重命名
- let strStyle =
- "<style>table{width: 180mm;} table,td,th {border-width: 1px;border-style: solid;border-collapse: collapse;padding: 8px;}</style>";
- let printContent = document.getElementById("report_table_1").innerHTML;
- // + `<div style="margin-bottom:30px"></div>` + document.getElementById("report_table_1").innerHTML
- LODOP.ADD_PRINT_HTM("0mm", "8mm", "130mm", "280mm", strStyle + printContent);
- // LODOP.PRINT();
- LODOP.PREVIEW();
- // setTimeout(() => {
- // printAgain()
- // }, 200);
- }
- const printAgain = row => {
- let LODOP = getLodop();
- LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
- LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "210mm");
- LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "290mm");
- LODOP.SET_PRINT_PAGESIZE(1, "210mm", "290mm", "CreateCustomPage");
- LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "住院预交金"); //对新建的纸张重命名
- let strStyle =
- "<style>table{width: 180mm;} table,td,th {border-width: 1px;border-style: solid;border-collapse: collapse;padding: 8px;}</style>";
- LODOP.ADD_PRINT_HTM(
- "0mm",
- "8mm",
- "130mm",
- "280mm",
- strStyle + document.getElementById("report_table_1").innerHTML
- );
- // LODOP.PRINT();
- LODOP.PREVIEW();
- clearPrintData();
- };
- const clearShouFeeForm = () => {
- shouFeeForm.value = {
- depoType: "O",
- status: "",
- autoFlag: 0,
- inpatientNo: "",
- depoAmount: "",
- chequeNo: "",
- psordnum: "",
- agtordnum: "",
- transDate: "",
- parChannel: "",
- traceNo: "",
- receiptNo: "",
- };
- };
- // 刷卡
- const shuaKa = () => {
- if (stringIsBlank(shouFeeForm.value.depoAmount)) {
- ElMessage.error("输入收费金额");
- return;
- }
- let obj = {
- chequeType: shouFeeForm.value.depoType,
- amt: shouFeeForm.value.depoAmount,
- type: 1,
- };
- consume(obj).then(res => {
- // 1 联机刷卡 0 不联机 直接输凭证号
- shouFeeForm.value.autoFlag = 1;
- shouFeeForm.value.psordnum = res.refNo;
- shouFeeForm.value.agtordnum = res.wxAliPayOrderNo;
- shouFeeForm.value.transDate = res.transDate;
- shouFeeForm.value.parChannel = res.payChannel;
- shouFeeForm.value.traceNo = res.traceNo;
- shouFeeForm.value.receiptNo = res.lsOrderNo;
- });
- };
- const openShouFee = () => {
- if (stringIsBlank(formData.value.name)) {
- ElMessage.error("请先查询出要缴费的病人信息");
- return;
- }
- queryLastMzZyReq({ inpatientNo: formData.value.patientId }).then(res => {
- if (res.deposit != null && res.deposit > 0) {
- shouFeeForm.value.depoAmount = res.deposit;
- }
- });
- shouFeeVisible.value = true;
- };
- const zdChequeTypes = ref([]);
- const openPos = () => {
- posTransactionRef.value.openOuter();
- };
- const patientVisible = ref(false);
- const patientTableData = ref([]);
- const clearData = () => {
- formData.value = {
- inpatientNo: "",
- patientId: "",
- name: "",
- sexName: "",
- bedNo: "",
- wardName: "",
- admissDate: "",
- responceTypeName: "",
- totalCharge: null,
- balance: null,
- inOutFlag: 0,
- yjjHj: 0,
- ztYjjHj: 0,
- };
- tableData.value = [];
- };
- function setformData(data) {
- formData.value.inpatientNo = data.inpatientNo;
- formData.value.patientId = data.patientId;
- formData.value.name = data.name;
- formData.value.sexName = data.sexName;
- formData.value.bedNo = data.bedNo;
- formData.value.wardName = data.wardName;
- formData.value.admissDate = data.admissDate;
- formData.value.responceTypeName = data.responceTypeName;
- formData.value.totalCharge = data.totalCharge;
- formData.value.balance = data.balance;
- formData.value.yjjHj = data.yjjHj;
- formData.value.ztYjjHj = data.ztYjjHj;
- }
- onMounted(() => {
- initLodop();
- queryZdChequeType().then(res => {
- zdChequeTypes.value = res;
- });
- queryHospitalName().then(res => (hospitalName.value = res));
- queryLastWindowsIpAddress().then(res => {
- printCode.value = res.zyYjjPrintIndex;
- });
- });
- const fetchPatient = row => {
- queryAdvancePayment({
- inpatientNo: row.inpatientNo,
- inOutFlag: formData.value.inOutFlag,
- admissTimes: row.admissTimes,
- }).then(res => {
- patientVisible.value = false;
- if (res == null || res.length === 0) {
- ElMessage.error("没有查询到数据");
- clearData();
- } else {
- setformData(res);
- tableData.value = res.zyDepositFiles;
- }
- });
- };
- const queryPatientList = code => {
- queryAdvancePaymentPatientList({
- inpatientNo: code,
- inOutFlag: formData.value.inOutFlag,
- }).then(res => {
- if (res == null || res.length === 0) {
- ElMessage.error("没有查询到数据");
- clearData();
- } else if (res.length === 1) {
- let row = {
- inpatientNo: res[0].inpatientNo,
- admissTimes: res[0].admissTimes,
- };
- fetchPatient(row);
- } else if (res.length > 1) {
- patientVisible.value = true;
- patientTableData.value = res;
- }
- });
- };
- const tableData = ref([]);
- const activeName = ref(["1", "2"]);
- const formSize = ref("default");
- </script>
- <style scoped lang="scss">
- .pageTable tr td,
- .pageTable tr th {
- border: 1px solid black;
- text-align: center;
- font-size: 12px;
- padding: 0 0;
- }
- .pageTable {
- border-collapse: collapse;
- }
- </style>
|