Explorar el Código

微信支付还是要获取已经结算的报销数据

lighter hace 9 meses
padre
commit
ea5e68a8f6

+ 0 - 16
src/api/pay-mz-fee.js

@@ -24,22 +24,6 @@ export function getMzPaidList(patientId) {
   })
 }
 
-export function getUnsettledMedinsTrade(mdtrtId) {
-  return request({
-    url: '/payMzFee/getUnsettledMedinsTrade',
-    method: 'get',
-    params: { mdtrtId },
-  })
-}
-
-export function medinsSettle(data) {
-  return request({
-    url: '/payMzFee/medinsSettle',
-    method: 'post',
-    data,
-  })
-}
-
 export function getMzPaidDetail(hisOrdNum) {
   return request({
     url: '/payMzFee/getMzPaidDetail',

+ 1 - 7
src/router/index.js

@@ -103,7 +103,7 @@ export const constantRoutes = [
     meta: { title: '选择就诊人' },
   },
   {
-    path: '/mzFeeList/:active/:patientId',
+    path: '/mzFeeList/:active?/:patientId',
     component: () => import('../views/hospital-service/pay-mz-fee/MzFeeList.vue'),
     meta: { title: '门诊缴费' },
   },
@@ -112,12 +112,6 @@ export const constantRoutes = [
     component: () => import('../views/hospital-service/pay-mz-fee/FromGuideBillQrScan.vue'),
     meta: { title: '待缴费列表' },
   },
-  {
-    path: '/medinsSettle/:patientId/:hisOrdNum/:patientName/:deptName/:doctorCode/:doctorName/:mdtrtId/:totalAmt?/:fundPay?/:acctPay?/:selfAmt?',
-    name: 'medinsSettle',
-    component: () => import('../views/hospital-service/pay-mz-fee/MedInsSettle.vue'),
-    meta: { title: '医保结算' },
-  },
   {
     path: '/unPaidDetail/:patientId/:hisOrdNum/:patientName/:deptName/:doctorCode/:doctorName/:mdtrtId?/:totalAmt/:selfAmt/:fundPay?/:acctPay?',
     name: 'unPaidDetail',

+ 1 - 13
src/views/hospital-service/pay-mz-fee/FromGuideBillQrScan.vue

@@ -41,19 +41,7 @@ const onClickFeeItem = (item) => {
       acctPay: res.acctPay,
       selfAmt: item.totalAmt - res.fundPaySumamt - res.acctPay
     }
-    if (res.mdtrtId && !res.setlId) {
-      routeParams.mdtrtId = res.mdtrtId;
-      toMedinsSettle(routeParams);
-    } else {
-      toDetail(routeParams);
-    }
-  })
-}
-
-const toMedinsSettle = (params) => {
-  router.push({
-    name: 'medinsSettle',
-    params,
+    toDetail(routeParams);
   })
 }
 

+ 0 - 126
src/views/hospital-service/pay-mz-fee/MedInsSettle.vue

@@ -1,126 +0,0 @@
-<template>
-  <window-size>
-    <van-notice-bar
-        left-icon="warning-o"
-        text="以下为医保预结算数据,最终结果以医保结算为准。"
-    />
-    <van-cell title="就诊人姓名">
-      <template #default>
-        <span>{{ presettle.psnName }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="医保就诊ID">
-      <template #default>
-        <span>{{ presettle.mdtrtId }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="医保就诊时间">
-      <template #default>
-        <span>{{ presettle.createTime }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="医保参保类型">
-      <template #default>
-        <span>{{ presettle.insutypeName }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="医保就诊类别">
-      <template #default>
-        <span>{{ presettle.medTypeName }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="处方总金额">
-      <template #default>
-        <span style="color: orangered">{{ makeMoney(presettle.medfeeSumamt) }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="医保报销金额">
-      <template #default>
-        <span style="color: orangered">{{ makeMoney(presettle.fundPaySumamt) }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="个账支付金额">
-      <template #default>
-        <span style="color: orangered">{{ makeMoney(presettle.acctPay) }}</span>
-      </template>
-    </van-cell>
-    <van-cell title="自付金额">
-      <template #default>
-        <span style="color: orangered">{{ makeMoney(presettle.psnCashPay) }}</span>
-      </template>
-    </van-cell>
-
-    <van-button style="margin-top: 20px" type="primary" block @click="showAcctPayPicker = true">医保结算</van-button>
-
-    <van-popup v-model:show="showAcctPayPicker" round position="bottom">
-      <van-picker
-          :columns="acctPayColumns"
-          @cancel="showAcctPayPicker = false"
-          @confirm="executeSettle"
-      />
-    </van-popup>
-
-  </window-size>
-</template>
-
-<script setup>
-
-import router from "@/router";
-import { getUnsettledMedinsTrade, medinsSettle } from '@/api/pay-mz-fee'
-import {onMounted, ref} from "vue";
-import {showDialog} from "vant";
-
-const routeParams = router.currentRoute.value.params
-const presettle = ref({})
-
-const showAcctPayPicker = ref(false)
-const acctPayColumns = [
-  {text: '不使用个人账户', value: '0'},
-  {text: '使用本人个人账户', value: '1'},
-  {text: '使用共济人个人账户', value: '2'},
-]
-
-const executeSettle = ({selectedValues}) => {
-  let autoSaved = false
-  showAcctPayPicker.value = false
-  presettle.value.acctUsedFlag = selectedValues[0]
-  medinsSettle(presettle.value).then(res => {
-    let message = `<div>处方总金额:<span style="color: orangered">¥${res.totalCost}</span></div><div>医保报销金额:<span style="color: orangered">¥${res.fundPay}</span></div><div>个账支付金额:<span style="color: orangered">¥${res.acctPay}</span></div><div>个人自付金额:<span style="color: orangered">¥${res.selfPay}</span></div>`
-    if (Number.parseFloat(res.selfPay) === 0) {
-      autoSaved = true
-      message += `<div style="margin-top: 12px;color: red">您的自费部分为0,已为您自动保存处方。</div>`
-    }
-    showDialog({
-      title: '结算成功',
-      message: message,
-      allowHtml: true,
-      confirmButtonText: autoSaved ? '确定' : '前往缴费'
-    }).then(() => {
-      if (autoSaved) {
-        router.push('/hospitalService')
-      } else {
-        routeParams.totalAmt = Number.parseFloat(res.totalCost) * 100
-        routeParams.selfAmt = Number.parseFloat(res.selfPay) * 100
-        routeParams.fundPay = Number.parseFloat(res.fundPay) * 100
-        routeParams.acctPay = Number.parseFloat(res.acctPay) * 100
-        router.push({
-          name: 'unPaidDetail',
-          params: routeParams,
-        })
-      }
-
-    })
-  })
-}
-
-onMounted(() => {
-  getUnsettledMedinsTrade(routeParams.mdtrtId).then(res => {
-    presettle.value = res
-  })
-})
-
-function makeMoney(money) {
-  return '¥' + Number.parseFloat(money).toFixed(2)
-}
-
-</script>

+ 1 - 1
src/views/hospital-service/pay-mz-fee/MzFeeList.vue

@@ -24,7 +24,7 @@ import MzFeePaymentRecords from "@/views/mine/mz-pay-record/MzFeePaymentRecords.
 const router = useRouter()
 const params = router.currentRoute.value.params
 const patientId = params.patientId
-const activeTab = ref(params.active)
+const activeTab = ref(params.active || 'unpaid')
 
 const handleTabChange = (val) => {
   activeTab.value = val.name

+ 18 - 16
src/views/hospital-service/pay-mz-fee/UnPaidList.vue

@@ -23,7 +23,7 @@
 </template>
 
 <script setup>
-import {getUnPaidFee} from '@/api/pay-mz-fee'
+import {getFundPayAmt, getUnPaidFee} from '@/api/pay-mz-fee'
 import empty from '@/assets/empty.png'
 import {computed, onMounted, ref} from 'vue'
 import {lockOrder} from "@/api/medins-mobile-pay";
@@ -53,21 +53,23 @@ function handleClickHisItem(item) {
 }
 
 const toWxPay = (item) => {
-  const params = {
-    patientId: props.patientId,
-    hisOrdNum: item.hisOrdNum,
-    patientName: item.patName,
-    deptName: item.deptName,
-    doctorCode: item.doctorCode,
-    doctorName: item.doctorName,
-    totalAmt: item.totalAmt,
-    fundPay: 0,
-    acctPay: 0,
-    selfAmt: item.totalAmt
-  }
-  router.push({
-    name: 'unPaidDetail',
-    params,
+  getFundPayAmt(item.hisOrdNum).then(res => {
+    const params = {
+      patientId: props.patientId,
+      hisOrdNum: item.hisOrdNum,
+      patientName: item.patName,
+      deptName: item.deptName,
+      doctorCode: item.doctorCode,
+      doctorName: item.doctorName,
+      totalAmt: item.totalAmt,
+      fundPay: res.fundPaySumamt,
+      acctPay: res.acctPay,
+      selfAmt: item.totalAmt - res.fundPaySumamt - res.acctPay
+    }
+    router.push({
+      name: 'unPaidDetail',
+      params,
+    })
   })
 }