lihong пре 2 месеци
родитељ
комит
41aac4345b

+ 10 - 4
src/api/zy-gl/zy-daily.js

@@ -5,14 +5,20 @@ let url = "/zyDaily/";
 
 /**
  * 获取未结算日结报表的明细
- * @param code
- * @returns {*}
  */
-export function getZyDailySettlementVo() {
+export function getZyDailySettlementVo(data) {
   return request({
     url: url + "getZyDailySettlementVo",
-    method: "get",
+    method: "post",
+    data,
+  });
+}
 
+export function queryZyDayclosingRecord(data) {
+  return request({
+    url: url + "queryZyDayclosingRecord",
+    method: "post",
+    data,
   });
 }
 

+ 2 - 2
src/views/hospitalization/zfsf/CashierProcessInfo.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="layout_container">
     <header>
-      <PatientBaseList ref="patientBaseListRef" @selectPatientInfo="selectPatient"></PatientBaseList>
+      <PatientBaseList ref="patientBaseListRef" :inOutFlag="1" @selectPatientInfo="selectPatient"></PatientBaseList>
     </header>
     <div class="layout_main">
       <el-container>
@@ -44,7 +44,7 @@
             <div style="height:25px">
               <el-button :disabled="saveFlag" icon="Check" type="success" @click="saveCashData">保存</el-button>
               <el-button :disabled="qxFlag"  icon="Minus" type="danger"  @click="cancelCash">取消出纳</el-button>
-              <el-button  type="primary" icon="RefreshLeft"  @click="chongZhiData" >重置</el-button>
+              <el-button  type="primary" icon="RefreshLeft"  @click="chongZhiData" >清空</el-button>
               <el-button  type="primary" icon="Money"  @click="openPos" >智能POS工具包</el-button>
             </div>
           </div>

+ 31 - 27
src/views/hospitalization/zy-gl/AdvancePaymentDeal.vue

@@ -323,6 +323,7 @@ const printData = ref({
   depoAmountDx:'',
   opIdCodeName:'',
   cdFlag:'',
+  depoDate:'',
 })
 
 onActivated(async ()=>{
@@ -454,8 +455,9 @@ const printReal =(inpatientNo,receiptNo,flag)=>{
     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 = '重打'
+      printData.value.cdFlag = '(重打)'
     }else {
       printData.value.cdFlag = ''
     }
@@ -473,7 +475,7 @@ function printSjNew(){
   LODOP.SET_PRINT_PAGESIZE(1, "80mm", "108mm", "CreateCustomPage");
   LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "住院预交金");//对新建的纸张重命名
   LODOP.SET_PRINT_STYLE("FontSize", 11); //字体大小
-  LODOP.ADD_PRINT_TEXT("1mm", "6mm", "75mm", "3mm", hospitalName.value+"预交金缴费凭证");
+  LODOP.ADD_PRINT_TEXT("1mm", "6mm", "75mm", "3mm", hospitalName.value+"预交金缴费凭证"+printData.value.cdFlag);
   LODOP.ADD_PRINT_TEXT("6mm", "2mm", "30mm", "3mm", "姓名:"+printData.value.name);
   LODOP.ADD_PRINT_TEXT("6mm", "32mm", "40mm", "3mm", "住院号:"+printData.value.inpatientNo);
   LODOP.ADD_PRINT_TEXT("11mm", "2mm", "75mm", "3mm", "住院科室:"+printData.value.admissDeptName);
@@ -482,31 +484,9 @@ function printSjNew(){
   LODOP.ADD_PRINT_TEXT("27mm", "2mm", "80mm", "3mm", "-------------------------------------");
   LODOP.ADD_PRINT_TEXT("32mm", "2mm", "35mm", "3mm", "金额:"+printData.value.depoAmount);
   LODOP.ADD_PRINT_TEXT("32mm", "37mm", "45mm", "3mm", "大写金额:"+printData.value.depoAmountDx);
-  LODOP.ADD_PRINT_TEXT("37mm", "2mm", "80mm", "3mm", "-------------------------------------");
-  LODOP.ADD_PRINT_TEXT("43mm", "2mm", "75mm", "3mm", "收费员:"+printData.value.opIdCodeName);
-  LODOP.ADD_PRINT_TEXT("50mm", "2mm", "80mm", "3mm", "收费日期:"+getFormatDatetime(new Date(),'YYYY年MM月DD日'));
-  LODOP.ADD_PRINT_TEXT("56mm", "2mm", "80mm", "3mm", "1、此系临时收据,请妥善保管。出院时凭此");
-  LODOP.ADD_PRINT_TEXT("62mm", "2mm", "80mm", "3mm", "收据按实用医疗费用换取住院发票。");
-  LODOP.ADD_PRINT_TEXT("68mm", "2mm", "80mm", "3mm", "2、此收据遗失,请及时携带病人身份证和挂");
-  LODOP.ADD_PRINT_TEXT("72mm", "2mm", "80mm", "3mm", "失人身份证到出院结算处办理挂失手续。");
-  LODOP.ADD_PRINT_TEXT("78mm", "2mm", "80mm", "3mm", "如存在第三方肇事者预缴医疗费用,挂失时");
-  LODOP.ADD_PRINT_TEXT("84mm", "2mm", "80mm", "3mm", "另需公安机关出示证明。");
-  LODOP.ADD_PRINT_TEXT("90mm", "2mm", "80mm", "3mm", "3、如果您的缴费方式为银行卡支付,请您妥");
-  LODOP.ADD_PRINT_TEXT("96mm", "2mm", "80mm", "3mm", "善保管好缴费的刷卡单,并于办理出院退费");
-  LODOP.ADD_PRINT_TEXT("102mm", "2mm", "80mm", "3mm", "时带上缴费时所用银行卡。");
-  LODOP.NewPageA();
-  LODOP.ADD_PRINT_TEXT("1mm", "6mm", "75mm", "3mm", hospitalName.value+"预交金缴费凭证");
-  LODOP.ADD_PRINT_TEXT("6mm", "2mm", "30mm", "3mm", "姓名:"+printData.value.name);
-  LODOP.ADD_PRINT_TEXT("6mm", "32mm", "40mm", "3mm", "住院号:"+printData.value.inpatientNo);
-  LODOP.ADD_PRINT_TEXT("11mm", "2mm", "75mm", "3mm", "住院科室:"+printData.value.admissDeptName);
-  LODOP.ADD_PRINT_TEXT("16mm", "2mm", "75mm", "3mm", "收据号:"+printData.value.receiptNo);
-  LODOP.ADD_PRINT_TEXT("21mm", "2mm", "75mm", "3mm", "支付方式:"+printData.value.depoTypeName);
-  LODOP.ADD_PRINT_TEXT("27mm", "2mm", "80mm", "3mm", "-------------------------------------");
-  LODOP.ADD_PRINT_TEXT("32mm", "2mm", "35mm", "3mm", "金额:"+printData.value.depoAmount);
-  LODOP.ADD_PRINT_TEXT("32mm", "37mm", "45mm", "3mm", "大写金额:"+printData.value.depoAmountDx);
-  LODOP.ADD_PRINT_TEXT("37mm", "2mm", "80mm", "3mm", "-------------------------------------");
-  LODOP.ADD_PRINT_TEXT("43mm", "2mm", "75mm", "3mm", "收费员:"+printData.value.opIdCodeName);
-  LODOP.ADD_PRINT_TEXT("50mm", "2mm", "80mm", "3mm", "收费日期:"+getFormatDatetime(new Date(),'YYYY年MM月DD日'));
+  LODOP.ADD_PRINT_TEXT("38mm", "2mm", "75mm", "3mm", "收费员:"+printData.value.opIdCodeName);
+  LODOP.ADD_PRINT_TEXT("44mm", "2mm", "80mm", "3mm", "收费日期:"+printData.value.depoDate);
+  LODOP.ADD_PRINT_TEXT("50mm", "2mm", "80mm", "3mm", "-------------------------------------");
   LODOP.ADD_PRINT_TEXT("56mm", "2mm", "80mm", "3mm", "1、此系临时收据,请妥善保管。出院时凭此");
   LODOP.ADD_PRINT_TEXT("62mm", "2mm", "80mm", "3mm", "收据按实用医疗费用换取住院发票。");
   LODOP.ADD_PRINT_TEXT("68mm", "2mm", "80mm", "3mm", "2、此收据遗失,请及时携带病人身份证和挂");
@@ -516,6 +496,30 @@ function printSjNew(){
   LODOP.ADD_PRINT_TEXT("90mm", "2mm", "80mm", "3mm", "3、如果您的缴费方式为银行卡支付,请您妥");
   LODOP.ADD_PRINT_TEXT("96mm", "2mm", "80mm", "3mm", "善保管好缴费的刷卡单,并于办理出院退费");
   LODOP.ADD_PRINT_TEXT("102mm", "2mm", "80mm", "3mm", "时带上缴费时所用银行卡。");
+  if(printData.value.cdFlag ===''){
+    LODOP.NewPageA();
+    LODOP.ADD_PRINT_TEXT("1mm", "6mm", "75mm", "3mm", hospitalName.value+"预交金缴费凭证"+printData.value.cdFlag);
+    LODOP.ADD_PRINT_TEXT("6mm", "2mm", "30mm", "3mm", "姓名:"+printData.value.name);
+    LODOP.ADD_PRINT_TEXT("6mm", "32mm", "40mm", "3mm", "住院号:"+printData.value.inpatientNo);
+    LODOP.ADD_PRINT_TEXT("11mm", "2mm", "75mm", "3mm", "住院科室:"+printData.value.admissDeptName);
+    LODOP.ADD_PRINT_TEXT("16mm", "2mm", "75mm", "3mm", "收据号:"+printData.value.receiptNo);
+    LODOP.ADD_PRINT_TEXT("21mm", "2mm", "75mm", "3mm", "支付方式:"+printData.value.depoTypeName);
+    LODOP.ADD_PRINT_TEXT("27mm", "2mm", "80mm", "3mm", "-------------------------------------");
+    LODOP.ADD_PRINT_TEXT("32mm", "2mm", "35mm", "3mm", "金额:"+printData.value.depoAmount);
+    LODOP.ADD_PRINT_TEXT("32mm", "37mm", "45mm", "3mm", "大写金额:"+printData.value.depoAmountDx);
+    LODOP.ADD_PRINT_TEXT("38mm", "2mm", "75mm", "3mm", "收费员:"+printData.value.opIdCodeName);
+    LODOP.ADD_PRINT_TEXT("44mm", "2mm", "80mm", "3mm", "收费日期:"+printData.value.depoDate);
+    LODOP.ADD_PRINT_TEXT("50mm", "2mm", "80mm", "3mm", "-------------------------------------");
+    LODOP.ADD_PRINT_TEXT("56mm", "2mm", "80mm", "3mm", "1、此系临时收据,请妥善保管。出院时凭此");
+    LODOP.ADD_PRINT_TEXT("62mm", "2mm", "80mm", "3mm", "收据按实用医疗费用换取住院发票。");
+    LODOP.ADD_PRINT_TEXT("68mm", "2mm", "80mm", "3mm", "2、此收据遗失,请及时携带病人身份证和挂");
+    LODOP.ADD_PRINT_TEXT("72mm", "2mm", "80mm", "3mm", "失人身份证到出院结算处办理挂失手续。");
+    LODOP.ADD_PRINT_TEXT("78mm", "2mm", "80mm", "3mm", "如存在第三方肇事者预缴医疗费用,挂失时");
+    LODOP.ADD_PRINT_TEXT("84mm", "2mm", "80mm", "3mm", "另需公安机关出示证明。");
+    LODOP.ADD_PRINT_TEXT("90mm", "2mm", "80mm", "3mm", "3、如果您的缴费方式为银行卡支付,请您妥");
+    LODOP.ADD_PRINT_TEXT("96mm", "2mm", "80mm", "3mm", "善保管好缴费的刷卡单,并于办理出院退费");
+    LODOP.ADD_PRINT_TEXT("102mm", "2mm", "80mm", "3mm", "时带上缴费时所用银行卡。");
+  }
   LODOP.PREVIEW();
   // LODOP.PRINT();;
   clearPrintData()

+ 130 - 40
src/views/hospitalization/zy-gl/ZyDaily.vue

@@ -2,8 +2,7 @@
   <div class="layout_container" style="background-color: white">
     <header>
       <el-row>
-        <el-col :span="1"></el-col>
-        <el-col :span="4">
+        <el-col :span="14">
           打印份数
           <el-input-number
               v-model="printNum"
@@ -11,11 +10,39 @@
               :max="10"
               size="small"
           />
+          &nbsp;&nbsp;
+          <el-select v-model="queryParam.type" size="small" style="width: 120px" @change="typeChange">
+            <el-option
+                label="结账"
+                value="1"
+            ></el-option>
+            <el-option
+                label="重打查询"
+                value="2"
+            ></el-option>
+          </el-select>
+          &nbsp;&nbsp;
+          <el-date-picker v-if="queryParam.type === '2'" v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期" :clearable="false"
+                @change="getClosingRecordList"    value-format="YYYY-MM-DD"      end-placeholder="结束日期" :shortcuts="shortcuts" style="width: 300px;margin-left: 3px"></el-date-picker>
+          &nbsp;&nbsp;
+          结账记录:<el-select v-if="queryParam.type === '2'" v-model="queryParam.code" style="width: 200px" @change="initAllData"  filterable>
+            <el-option
+                v-for="(item,index) in closingRecordList"
+                :key="index"
+                :label="item.opName"
+                :value="index"
+            >
+              <span style="color: #8492a6; font-size: 12px">{{ item.opName }}</span>
+              <el-divider direction="vertical"></el-divider>
+              <span style="color: #8492a6; font-size: 12px">{{ item.closingDate }}</span>
+            </el-option>
+          </el-select>
         </el-col>
-        <el-col :span="16">
+        <el-col :span="10">
           <el-button type="primary" icon="Search" @click="initAllData">查询</el-button>
-          <el-button type="danger" icon="Delete" @click="printNum = 1">清空</el-button>
-          <el-button type="success" icon="Check" @click="dcountCharge">结账处理</el-button>
+          <el-button type="danger" icon="Delete" @click="clearAllData">清空</el-button>
+          <el-button type="success" icon="Printer" @click="printData(false)">打印</el-button>
+          <el-button v-if="queryParam.type==='1'" type="success" icon="Check" @click="dcountCharge">结账处理</el-button>
         </el-col>
       </el-row>
     </header>
@@ -27,9 +54,14 @@
             <div id="report_table_1">
               <h2 style="text-align:center;font-weight: 700;">{{hosName}}住院结账统计日报表</h2>
               <div style="margin-top: 20px;">
-                <span>收费员:</span><span id="username">{{zyDailyData.opName}}</span><span
-                  style="margin-left: 120px;">工号:</span><span id="userIdCode">{{zyDailyData.opCodeRs}}</span><span
-                  style="margin-left: 120px;">结账时间:</span><span id="lastDailyDate">{{zyDailyData.lastDailyDate}}</span>至<span id="currentDate">{{zyDailyData.currentDate}}</span></div>
+                <span>收费员:</span><span id="username">{{zyDailyData.opName}}</span>
+                <span style="margin-left: 120px;">工号:</span><span id="userIdCode">{{zyDailyData.opCodeRs}}</span>
+                <span style="margin-left: 50px;"></span><span>结账时间:</span>
+                <span v-if="queryParam.type === '1'" id="lastDailyDate">{{zyDailyData.lastDailyDate}}</span>
+                <span v-if="queryParam.type === '1'">至</span>
+                <span v-if="queryParam.type === '1'" id="currentDate">{{zyDailyData.currentDate}}</span>
+                <span v-if="queryParam.type === '2'" id="currentDate">{{closeDate}}</span>
+              </div>
               <table style="width: 96%;">
                 <tbody>
                 <tr>
@@ -267,9 +299,6 @@
                 </tr>
                 </tbody>
               </table>
-
-            </div>
-            <div id="zbr_div">
               <div  style="margin-bottom: 50px;">
                 <table v-if="zyDailyData.refunfZyDepositFileList !=null && zyDailyData.refunfZyDepositFileList.length > 0" style="width: 96%;padding-left: 20px;"
                        id="sfzffpmx_table" >
@@ -277,14 +306,14 @@
                   <tr>
                     <td colspan="9">预交金作废/退费:</td>
                   </tr>
-                    <tr style="border-top:1px solid">
-                      <td width="180px">住院号</td>
-                      <td width="120px">金额</td>
-                      <td width="100px">发票号</td>
-                      <td width="180px">结算时间</td>
-                      <td width="120px">收款方式</td>
-                      <td width="100px">类型</td>
-                    </tr>
+                  <tr style="border-top:1px solid">
+                    <td width="180px">住院号</td>
+                    <td width="120px">金额</td>
+                    <td width="100px">发票号</td>
+                    <td width="180px">结算时间</td>
+                    <td width="120px">收款方式</td>
+                    <td width="100px">类型</td>
+                  </tr>
                   </thead>
                   <tbody id="sfzffpmx">
                   <tr v-for="(item,index) in zyDailyData.refunfZyDepositFileList">
@@ -303,11 +332,12 @@
                 <div>
                   <span>回收预交金:<span id="hsJe">{{zyDailyData.hsJe}}</span></span>
                 </div>
-               <div>
-                 <span>预交金收据号:</span><span id="receiptNoBegin">{{zyDailyData.receiptNoBegin}}</span>至<span >{{zyDailyData.receiptNoEnd}}</span>
-               </div>
                 <div>
-                  <span>结算收据号:</span><span id="jsReceiptNoBegin">{{zyDailyData.jsReceiptNoBegin}}</span>至<span
+                  <span>预交金收据号:</span><span id="receiptNoBegin">{{zyDailyData.receiptNoBegin}}</span>至&nbsp;<span >{{zyDailyData.receiptNoEnd}}</span>
+                </div>
+                <div>
+                  <span>结算收据号:</span><span id="jsReceiptNoBegin">{{zyDailyData.jsReceiptNoBegin}}</span><span v-if="zyDailyData.jsReceiptNoEnd !=null">至</span>
+                  &nbsp;<span
                     id="jsReceiptNoEnd">{{zyDailyData.jsReceiptNoEnd}}</span>
                 </div>
               </div>
@@ -408,14 +438,18 @@
 import {
  queryHospitalName,
     dayClosing,
-    getZyDailySettlementVo
+    getZyDailySettlementVo,
+  queryZyDayclosingRecord
 } from '@/api/zy-gl/zy-daily'
 import {getWindowSize} from "@/utils/window-size";
 import {onMounted} from "vue";
 import {getLodop,initLodop} from "@/utils/c-lodop.js";
 import { getFormatDatetime } from "@/utils/date"
+import {shortcuts} from "@/data/shortcuts.js";
+import {ElMessage} from "element-plus";
 const printNum = ref(1)
 const hosName = ref('')
+const dateRange = ref([])
 
 const zyDailyData = ref({})
 const jsYjjDetailList = ref([])
@@ -423,8 +457,57 @@ const chargeZyDepositFileList = ref([])
 const zyChargeDetailList = ref([])
 const jsfydjbb = ref([])
 
+const clearAllData = ()=>{
+  zyDailyData.value = {}
+  jsYjjDetailList.value = []
+  chargeZyDepositFileList.value = []
+  zyChargeDetailList.value = []
+  jsfydjbb.value = []
+  printNum.value = 1
+}
+
+const queryParam = ref({
+  dateStart:'',
+  dateEnd:'',
+  opId:'',
+  type:'1',
+  code:null,
+})
+//结账记录
+const closingRecordList = ref([])
+const closeDate = ref('')
+const getClosingRecordList = ()=>{
+  closingRecordList.value = []
+  queryParam.value.code =null
+  if(queryParam.value.type ==='2'){
+    queryParam.value.dateStart = dateRange.value[0] +' 00:00:00'
+    queryParam.value.dateEnd = dateRange.value[1] +' 23:59:59'
+    queryZyDayclosingRecord(queryParam.value).then((res)=>{
+      closingRecordList.value = res
+    })
+  }
+}
+
+const typeChange = ()=>{
+  if(queryParam.value.type ==='1'){
+    initAllData()
+  }else {
+    getClosingRecordList()
+  }
+}
+
 const initAllData = ()=>{
-  getZyDailySettlementVo().then(res=>{
+  if(queryParam.value.type ==='2'){
+    if(closingRecordList.value.length === 0 || closingRecordList.value[queryParam.value.code] == null){
+       ElMessage.error('请选择结账记录');
+      return
+    }
+    queryParam.value.dateStart = closingRecordList.value[queryParam.value.code].dateStart
+    queryParam.value.dateEnd = closingRecordList.value[queryParam.value.code].dateEnd
+    queryParam.value.opId = closingRecordList.value[queryParam.value.code].opId
+    closeDate.value = closingRecordList.value[queryParam.value.code].closingDate
+  }
+  getZyDailySettlementVo(queryParam.value).then(res=>{
     zyDailyData.value = res
     jsYjjDetailList.value = res.jsYjjDetailList == null ? [] : res.jsYjjDetailList
     chargeZyDepositFileList.value = res.chargeZyDepositFileList == null ? [] : res.chargeZyDepositFileList
@@ -437,29 +520,36 @@ onMounted(()=>{
   queryHospitalName().then(res=>{
     hosName.value = res
   })
+  dateRange.value=[getFormatDatetime(new Date(),'YYYY-MM-DD'),getFormatDatetime(new Date(),'YYYY-MM-DD')]
   initAllData()
 })
 
 const dcountCharge = ()=>{
   dayClosing(zyDailyData.value.currentDate).then(re=>{
-    for (let i = 0; i < printNum.value; i++) {
-     let LODOP = getLodop();
-      LODOP.PRINT_INITA(6, 0, "210mm", "297mm", "住院收费收入日报表");
-      LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
-      //设置默认打印机
-      LODOP.SET_PRINTER_INDEX(-1);
-      LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "210mm");
-      LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "297mm");
-      var strStyle = "<style>table{width: 96%;margin-top: 20px;margin-bottom: 10px;} table,td,th {border-width: 1px;border-style: solid;border-collapse: collapse}</style>";
-      LODOP.ADD_PRINT_HTM("0mm", "5mm", "200mm", "280mm", strStyle + document.getElementById("report_table_1").innerHTML);
-      LODOP.NewPageA();
-      LODOP.ADD_PRINT_HTM("0mm", "5mm", "200mm", "280mm", document.getElementById("zbr_div").innerHTML);
-      LODOP.PREVIEW();
-      //LODOP.PRINT();
-    }
+    printData(clearFlag)
   })
 }
 
+const printData = (clearFlag)=>{
+  for (let i = 0; i < printNum.value; i++) {
+    let LODOP = getLodop();
+    LODOP.PRINT_INITA(6, 0, "210mm", "297mm", "住院收费收入日报表");
+    LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小
+    //设置默认打印机
+    LODOP.SET_PRINTER_INDEX(-1);
+    LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "210mm");
+    LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "297mm");
+    var strStyle = "<style>table{width: 96%;margin-top: 20px;margin-bottom: 10px;} table,td,th {border-width: 1px;border-style: solid;border-collapse: collapse}</style>";
+    LODOP.ADD_PRINT_HTM("0mm", "5mm", "200mm", "280mm", strStyle + document.getElementById("report_table_1").innerHTML);
+    LODOP.PREVIEW();
+    if(clearFlag){
+      clearAllData()
+    }
+    //LODOP.PRINT();
+  }
+}
+
+
 const activeName = ref('one')
 const style = ref({
   width: '920px',