Ver Fonte

药品申购订金功能

lighter há 5 meses atrás
pai
commit
e96c68b196

+ 7 - 0
src/api/import-drug-purchase.js

@@ -15,3 +15,10 @@ export function onShelfDrugInquiry(name) {
     params: {name},
   })
 }
+
+export function getHistoryPurchase() {
+  return request({
+    url: '/drugConsult/getHistoryPurchase',
+    method: 'get',
+  })
+}

+ 6 - 1
src/router/index.js

@@ -246,10 +246,15 @@ export const constantRoutes = [
     meta: { title: '未成功的预约' },
   },
   {
-    path: '/importDrugPurchase/:phoneNo',
+    path: '/importDrugPurchase',
     component: () => import('../views/hospital-service/medicine-consult/import-drug/ImportDrugPurchase.vue'),
     meta: { title: '药品申购' },
   },
+  {
+    path: '/historyPurchase',
+    component: () => import('../views/hospital-service/medicine-consult/import-drug/HistoryPurchaseList.vue'),
+    meta: { title: '历史申购' },
+  },
   {
     path: '/onShelfInquiry',
     component: () => import('../views/hospital-service/medicine-consult/on-shelf-inquiry/OnShelfInquiry.vue'),

+ 1 - 4
src/views/hospital-service/medicine-consult/ChooseConsultBranch.vue

@@ -5,7 +5,7 @@
         label="咨询、代购各类进口药品"
         is-link
         center
-        @click="routeTo('/importDrugPurchase/'+defaultCard.phone)">
+        @click="routeTo('/importDrugPurchase')">
     </van-cell>
     <van-cell
         title="在架药品查询"
@@ -26,9 +26,6 @@
 
 <script setup>
 import router from "@/router";
-import store from "@/store";
-
-const defaultCard = store.getters.getDefaultCard
 
 const routeTo = (val) => {
   router.push(val)

+ 86 - 0
src/views/hospital-service/medicine-consult/import-drug/HistoryPurchaseList.vue

@@ -0,0 +1,86 @@
+<template>
+  <window-size>
+    <van-empty v-if="showEmpty" :image="empty" description="暂无数据"></van-empty>
+    <div class="card-list">
+      <div v-for="drug in dataList">
+        <van-card
+            :desc="drug.createTime"
+            :title="drug.drugName"
+            :thumb="drug.drugImg"
+        >
+          <template #tags>
+            <van-tag plain :type="drug.tagType1">
+              {{drug.tagContent1}}
+            </van-tag>
+            <van-tag plain :type="drug.tagType2" style="margin-left: 4px;">
+              {{drug.tagContent2}}
+            </van-tag>
+          </template>
+          <template #price>
+            ¥{{drug.prepayAmt}}
+          </template>
+          <template #num>
+            x{{drug.drugQuantity}}
+            <van-button
+                v-if="drug.showPayButton"
+                size="mini"
+                style="margin-left: 4px"
+                @click="goPayPreAmt(drug)"
+            >
+              支付订金
+            </van-button>
+          </template>
+        </van-card>
+      </div>
+    </div>
+  </window-size>
+</template>
+
+<script setup>
+import empty from "@/assets/empty.png";
+import {computed, onMounted, ref} from "vue";
+import {getHistoryPurchase} from "@/api/import-drug-purchase";
+import store from "@/store";
+import router from "@/router";
+
+const defaultCard = store.getters.getDefaultCard
+
+const dataList = ref([])
+const showEmpty = computed(() => {
+  return dataList.value.length === 0
+})
+
+function goPayPreAmt(drug) {
+  let createOrderRequest = {
+    hisOrdNum: 'NONE',
+    patientId: defaultCard.patientId || 'none',
+    chargeList: [],
+    body: '药品申购订金',
+    orderType: 9,
+    totalFee: drug.prepayAmt,
+    drugPurchaseId: drug.id,
+    fundpayAmt: 0,
+    acctpayAmt: 0,
+    couponAmt: 0,
+  }
+  store.dispatch({
+    type: 'storeCreateOrderRequest',
+    createOrderRequest
+  }).then(() => {
+    router.push('/cashier');
+  })
+}
+
+onMounted(() => {
+  getHistoryPurchase().then(res => {
+    dataList.value = res
+  })
+})
+</script>
+
+<style lang="scss" scoped>
+.card-list {
+  height: 100%;
+  overflow-y: auto;
+}
+</style>

+ 6 - 1
src/views/hospital-service/medicine-consult/import-drug/ImportDrugPurchase.vue

@@ -1,5 +1,8 @@
 <template>
   <window-size>
+    <div style="margin: 14px 16px 0 16px">
+      <van-cell title="历史申购" is-link @click="router.push('/historyPurchase')"></van-cell>
+    </div>
     <van-form @submit="onSubmit" style="margin-top: 12px">
       <van-cell-group inset>
         <van-field
@@ -71,8 +74,10 @@ import {reactive, ref} from "vue";
 import {resize} from "@/utils/image";
 import {importDrugPurchase} from "@/api/import-drug-purchase";
 import {showDialog} from "vant";
+import store from "@/store";
 
-const phoneNo = router.currentRoute.value.params.phoneNo
+const defaultCard = store.getters.getDefaultCard
+const phoneNo = defaultCard.phone
 
 const files = ref([])
 const request = reactive({

+ 6 - 3
src/views/public-pages/Cashier.vue

@@ -11,7 +11,9 @@
       <div class="label money-box">
         待缴金额:
         <span class="money">{{ psnCashpayAmt }}</span>
-        <div v-if="createOrderRequest.orderType !== 6" class="detail-box">
+        <div
+            v-if="createOrderRequest.orderType !== 6 && createOrderRequest.orderType !== 9"
+            class="detail-box">
           <div>
             <div>
               总计金额:{{makeMoneyStyle(createOrderRequest.totalFee)}}
@@ -118,6 +120,7 @@ function makeMoneyStyle(m) {
 }
 
 function weChatPay() {
+  console.log(createOrderRequest)
   createPayOrder(createOrderRequest).then((order) => {
     createOrderRequest.tradeNo = order.tradeNo
     store.dispatch({
@@ -167,13 +170,13 @@ function getHisOrdNum() {
     case 3:
       return 'INPATIENT_PREPAY'
     default:
-      return 'UNKNOWN';
+      return 'NONE';
   }
 }
 
 onMounted(() => {
   if (createOrderRequest.orderType === 1) {
-    getDeptPos(createOrderRequest.deptCode).then(res => {
+    getDeptPos(createOrderRequest.deptCode, createOrderRequest.ampm).then(res => {
       createOrderRequest.deptPos = res
     })
   }