dev
This commit is contained in:
parent
2bc30d1833
commit
eeb3c909e3
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
|
|
@ -1,13 +1,12 @@
|
|||
<template>
|
||||
<Panel title="收费队列">
|
||||
<template #tools>
|
||||
<el-button type="primary" plain size="small" @click="addChargeOrder">新增患者</el-button>
|
||||
<el-button type="primary" size="small" plain @click="setDate">
|
||||
{{ selectedDateStr }}
|
||||
<el-icon class="el-icon--right">
|
||||
<CaretBottom/>
|
||||
<div @click="setDate" class="date-btn">
|
||||
<span>{{ selectedDateStr }}</span>
|
||||
<el-icon style="margin-left: 21px">
|
||||
<Calendar/>
|
||||
</el-icon>
|
||||
</el-button>
|
||||
</div>
|
||||
<el-date-picker
|
||||
v-model="selectedDate"
|
||||
type="date"
|
||||
|
|
@ -25,12 +24,15 @@
|
|||
</span>
|
||||
</div>
|
||||
<div class="search">
|
||||
<div class="search-input">
|
||||
<el-input
|
||||
v-model="query.keyword"
|
||||
style="height: 100%;width: 100%"
|
||||
placeholder="根据姓名搜索"
|
||||
@input="search"
|
||||
/>
|
||||
</div>
|
||||
<div class="add" @click="addChargeOrder">新增患者</div>
|
||||
<!-- <el-button type="success" @click="addChargeOrder" size="small">+收费</el-button>-->
|
||||
</div>
|
||||
<div class="list" v-loading="loading">
|
||||
|
|
@ -65,8 +67,8 @@
|
|||
import {nextTick, onMounted, ref, watch} from "vue";
|
||||
import {post} from "@/utils/request.ts";
|
||||
import Panel from "@/components/common/Panel.vue";
|
||||
import {formatListTime, getCurrentDate, getEndOfDay, getToday} from "@/utils/dateUtils.ts";
|
||||
import {CaretBottom} from "@element-plus/icons-vue";
|
||||
import {formatListTime, getCurrentDate, getEndOfDay} from "@/utils/dateUtils.ts";
|
||||
import {Calendar} from "@element-plus/icons-vue";
|
||||
import {apiConfig} from "@/assets/config/apiConfig.ts";
|
||||
import Edit from "@/components/registration/Edit.vue";
|
||||
|
||||
|
|
@ -105,8 +107,7 @@ const init = async () => {
|
|||
try {
|
||||
let data: any = await post(apiConfig.RecordGetChargeQueue, {query: query.value}, {catch_error: true})
|
||||
ChargeQueueList.value = data.list
|
||||
}
|
||||
catch {
|
||||
} catch {
|
||||
ChargeQueueList.value = []
|
||||
} finally {
|
||||
loading.value = false
|
||||
|
|
@ -199,7 +200,21 @@ const search = (v: any) => {
|
|||
height: 74px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
margin: 0;
|
||||
.search-input {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
.add{
|
||||
width: 128px;
|
||||
height: 42px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #FFFFFF;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #979797;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.list {
|
||||
|
|
@ -315,6 +330,16 @@ const search = (v: any) => {
|
|||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.date-btn {
|
||||
width: 98px;
|
||||
height: 32px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #EAEAEC;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
:deep(.el-input--prefix) {
|
||||
visibility: hidden;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<Mask :width="696" :height="409" title="收费" :is-show="show" @close="close" :show-footer="true">
|
||||
<template #default>
|
||||
<div class="content">
|
||||
<div class="content" v-loading="loading">
|
||||
<div class="btns">
|
||||
<div
|
||||
class="btn"
|
||||
|
|
@ -68,7 +68,7 @@ const socialCard = ref<any>({
|
|||
mdtrtCertNo: null,
|
||||
payInfo: {}
|
||||
});
|
||||
|
||||
const loading = ref(false);
|
||||
const show = ref(false)
|
||||
const printReceipt = ref(false);
|
||||
const payType = ref(null);
|
||||
|
|
@ -110,6 +110,7 @@ const completeSettlement = () => {
|
|||
socialSettlement();
|
||||
} else {
|
||||
//其他结算
|
||||
loading.value = true;
|
||||
post('charge/completeOrder', {id: retailOrder.value.id, payType: payType.value}).then((res: any) => {
|
||||
orderCompleted()
|
||||
})
|
||||
|
|
@ -119,6 +120,7 @@ const completeSettlement = () => {
|
|||
|
||||
|
||||
const orderCompleted = () => {
|
||||
loading.value = false;
|
||||
show.value = false;
|
||||
ElMessage.success("保存成功")
|
||||
emit('orderCompleted', printReceipt.value)
|
||||
|
|
@ -144,6 +146,7 @@ const socialSettlement = () => {
|
|||
ElMessage.warning("请刷卡")
|
||||
return;
|
||||
}
|
||||
loading.value = true;
|
||||
const params = {
|
||||
mdtrtCertType: socialCard.value.mdtrtCertType,
|
||||
mdtrtCertNo: socialCard.value.mdtrtCertNo,
|
||||
|
|
@ -161,6 +164,7 @@ const socialSettlement = () => {
|
|||
}
|
||||
const psnPaymentRef = ref();
|
||||
const openPsnPayment = (payInfo: any, orderInfo: any) => {
|
||||
loading.value = false;
|
||||
nextTick(() => {
|
||||
psnPaymentRef.value?.open(payInfo, orderInfo);
|
||||
})
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ const openSettlement =()=>{
|
|||
<div class="footer">
|
||||
<div>总金额:<span class="text icon">¥</span><span class="text">{{ totalAmount || '0' }}</span></div>
|
||||
<div class="btn-group" v-if="status">
|
||||
<el-button type="primary" @click="openCheckOut">追溯码</el-button>
|
||||
<el-button type="primary" @click="openSettlement">收费</el-button>
|
||||
<span type="primary" @click="openCheckOut">追溯码</span>
|
||||
<span type="primary" @click="openSettlement">收费</span>
|
||||
</div>
|
||||
</div>
|
||||
</Panel>
|
||||
|
|
@ -49,4 +49,18 @@ const openSettlement =()=>{
|
|||
color: #FF282E
|
||||
}
|
||||
}
|
||||
.btn-group{
|
||||
span{
|
||||
display: inline-block;
|
||||
width: 119px;
|
||||
height: 48px;
|
||||
background: #4D6DE4;
|
||||
border-radius: 8px;
|
||||
margin-left: 24px;
|
||||
color: #fff;
|
||||
line-height: 48px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -76,7 +76,10 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" v-if="props.status">
|
||||
<template #default="scope">
|
||||
<el-button type="danger" link @click="delGoods(scope.row)">X</el-button>
|
||||
<el-button type="danger" link @click="delGoods(scope.row)">
|
||||
<el-icon style="margin-right: 3px"><Delete /></el-icon>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -103,6 +106,7 @@ import Panel from "@/components/common/Panel.vue";
|
|||
import {ref} from "vue";
|
||||
import {post} from "@/utils/request.ts";
|
||||
import {ElMessage} from "element-plus";
|
||||
import {Delete} from "@element-plus/icons-vue";
|
||||
|
||||
const props = defineProps({
|
||||
status: {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,10 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" v-if="props.status">
|
||||
<template #default="scope">
|
||||
<el-button type="danger" link @click="delService(scope.row)">X</el-button>
|
||||
<el-button type="danger" link @click="delService(scope.row)">
|
||||
<el-icon style="margin-right: 3px"><Delete /></el-icon>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -66,12 +69,13 @@
|
|||
</Panel>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {defineProps, watchEffect, ref} from "vue";
|
||||
import {defineProps, ref} from "vue";
|
||||
import SearchInput from "@/components/SearchInput.vue";
|
||||
import Panel from "@/components/common/Panel.vue";
|
||||
import {post} from "@/utils/request.ts";
|
||||
import chrgitm_lv from "@/assets/config/directory/chrgitmLv.json"
|
||||
import {ElMessage} from "element-plus";
|
||||
import {ElMessage} from "element-plus"
|
||||
import {Delete} from "@element-plus/icons-vue";
|
||||
|
||||
const props = defineProps({
|
||||
status: {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<template #tools>
|
||||
<div @click="setDate" class="date-btn">
|
||||
<span>{{ selectedDateStr }}</span>
|
||||
<el-icon style="margin-left: 24px">
|
||||
<el-icon style="margin-left: 21px">
|
||||
<Calendar/>
|
||||
</el-icon>
|
||||
</div>
|
||||
|
|
@ -324,12 +324,13 @@ watch(() => selectedDate.value, (newValue, oldValue) => {
|
|||
|
||||
.date-btn {
|
||||
width: 98px;
|
||||
height: 33px;
|
||||
height: 32px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #EAEAEC;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #ececee;
|
||||
}
|
||||
|
||||
:deep(.el-input) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue