完成预开票管理,完善开票管理前端页面
This commit is contained in:
parent
9f11a12223
commit
0434262959
@ -162,6 +162,12 @@ public class FtSettleDaoController extends BaseController {
|
|||||||
case 3:
|
case 3:
|
||||||
ftSettleDao.setType("在线支付");
|
ftSettleDao.setType("在线支付");
|
||||||
break;
|
break;
|
||||||
|
case 4 :
|
||||||
|
ftSettleDao.setType("银行汇款");
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
ftSettleDao.setType("挂账");
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="住院号" prop="hospitalId">
|
<el-form-item label="住院号" prop="hospitalId">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.hospitalId"
|
v-model="queryParams.hospitalId"
|
||||||
placeholder="请输入住院号"
|
placeholder="请输入住院号"
|
||||||
clearable
|
clearable
|
||||||
size="small"
|
size="small"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@ -17,36 +17,36 @@
|
|||||||
size="small"
|
size="small"
|
||||||
@keyup.enter.native="handleQuery">
|
@keyup.enter.native="handleQuery">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in departOptions"
|
v-for="item in departOptions"
|
||||||
:key="item.departName"
|
:key="item.departName"
|
||||||
:label="item.departName"
|
:label="item.departName"
|
||||||
:value="item.departId">
|
:value="item.departId">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="姓名" prop="name">
|
<el-form-item label="姓名" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.name"
|
v-model="queryParams.name"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
clearable
|
clearable
|
||||||
size="small"
|
size="small"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="结算标志" prop="settlementFlag">
|
<!-- <el-form-item label="结算标志" prop="settlementFlag">-->
|
||||||
<el-select v-model="queryParams.settlementFlag" placeholder="请选择"
|
<!-- <el-select v-model="queryParams.settlementFlag" placeholder="请选择"-->
|
||||||
clearable
|
<!-- clearable-->
|
||||||
size="small"
|
<!-- size="small"-->
|
||||||
@keyup.enter.native="handleQuery">
|
<!-- @keyup.enter.native="handleQuery">-->
|
||||||
<el-option
|
<!-- <el-option-->
|
||||||
v-for="item in settlementFlagOptions"
|
<!-- v-for="item in settlementFlagOptions"-->
|
||||||
:key="item.value"
|
<!-- :key="item.value"-->
|
||||||
:label="item.label"
|
<!-- :label="item.label"-->
|
||||||
:value="item.value">
|
<!-- :value="item.value">-->
|
||||||
</el-option>
|
<!-- </el-option>-->
|
||||||
</el-select>
|
<!-- </el-select>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
@ -56,11 +56,11 @@
|
|||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
icon="el-icon-download"
|
icon="el-icon-download"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleExport"
|
@click="handleExport"
|
||||||
v-hasPermi="['fantang:settle:export']"
|
v-hasPermi="['fantang:settle:export']"
|
||||||
>导出
|
>导出
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -74,34 +74,35 @@
|
|||||||
<el-table-column label="科室" align="center" prop="departName"/>
|
<el-table-column label="科室" align="center" prop="departName"/>
|
||||||
<el-table-column label="姓名" align="center" prop="name"/>
|
<el-table-column label="姓名" align="center" prop="name"/>
|
||||||
<el-table-column label="床号" align="center" prop="bedId"/>
|
<el-table-column label="床号" align="center" prop="bedId"/>
|
||||||
<el-table-column label="结算总价" align="center" prop="price"/>
|
<el-table-column label="累计总额" align="center" prop="price"/>
|
||||||
<el-table-column label="结算类型" align="center" prop="type"/>
|
|
||||||
<el-table-column label="结算日期" align="center" prop="settleAt" width="180">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ parseTime(scope.row.settleAt, '{y}-{m}-{d}') }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="退款总额" align="center" prop="refund"/>
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="clickAddNewSettlement(scope.row)"
|
@click="clickAddNewSettlement(scope.row)"
|
||||||
v-hasPermi="['fantang:settle:AddNewSettlement']"
|
v-hasPermi="['fantang:settle:AddNewSettlement']"
|
||||||
>预开票
|
>收费
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="clickAddLeaveSettlement(scope.row)"
|
||||||
|
v-hasPermi="['fantang:settle:AddLeaveSettlement']"
|
||||||
|
>查看详情
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total>0"
|
v-show="total>0"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="queryParams.pageNum"
|
:page.sync="queryParams.pageNum"
|
||||||
:limit.sync="queryParams.pageSize"
|
:limit.sync="queryParams.pageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 日常收费弹出层对话框-->
|
<!-- 日常收费弹出层对话框-->
|
||||||
@ -130,14 +131,14 @@
|
|||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<!-- <el-form-item label="上次结算日期" prop="lastBillingDate" v-if="lastBillFlag">-->
|
<!-- <el-form-item label="上次结算日期" prop="lastBillingDate" v-if="lastBillFlag">-->
|
||||||
<el-form-item label="上次结算 / 用餐日期" prop="lastBillingDate">
|
<el-form-item label="上次结算 / 首次用餐" prop="lastBillingDate">
|
||||||
<!-- <el-input v-model="formAddNewSettlement.lastBillingDate" :disabled="true"/>-->
|
<!-- <el-input v-model="formAddNewSettlement.lastBillingDate" :disabled="true"/>-->
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formAddNewSettlement.lastBillingDate"
|
v-model="formAddNewSettlement.lastBillingDate"
|
||||||
align="right"
|
align="right"
|
||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
:disabled="true">
|
:disabled="true">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -160,13 +161,13 @@
|
|||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="结算日期" prop="selectBillingDate">
|
<el-form-item label="结算日期" prop="selectBillingDate">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formAddNewSettlement.selectBillingDate"
|
v-model="formAddNewSettlement.selectBillingDate"
|
||||||
align="right"
|
align="right"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
@change="changeBillingDate"
|
@change="changeBillingDate"
|
||||||
:picker-options="pickerOptions">
|
:picker-options="pickerOptions">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -174,10 +175,10 @@
|
|||||||
<el-form-item label="支付方式" prop="payType">
|
<el-form-item label="支付方式" prop="payType">
|
||||||
<el-select v-model="formAddNewSettlement.payType" placeholder="请选择支付方式">
|
<el-select v-model="formAddNewSettlement.payType" placeholder="请选择支付方式">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in payTypeOptions"
|
v-for="item in payTypeOptions"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value">
|
:value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -185,14 +186,13 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-form-item label="实收" prop="netPeceipt">
|
<el-form-item label="实收" prop="netPeceipt">
|
||||||
<el-input v-model="formAddNewSettlement.netPeceipt" placeholder="请输入实收"/>
|
<el-input v-model="formAddNewSettlement.netPeceipt" placeholder="请输入实收" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
<el-button @click="clickFormAddNewSettlementCancel">取 消</el-button>
|
<el-button @click="clickFormAddNewSettlementCancel">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
报餐明细
|
报餐明细
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -217,17 +217,98 @@
|
|||||||
<el-table-column label="营养餐价格" align="center" prop="nutritionFoodPrice"/>
|
<el-table-column label="营养餐价格" align="center" prop="nutritionFoodPrice"/>
|
||||||
<el-table-column label="报餐总价" align="center" prop="totalPrice"/>
|
<el-table-column label="报餐总价" align="center" prop="totalPrice"/>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 出院结算弹出层对话框-->
|
||||||
|
<el-dialog title="用餐详情" :visible.sync="open" width="1000px" append-to-body>
|
||||||
|
<el-form ref="leaveForm" :model="leaveForm" :rules="rules" label-width="160px">
|
||||||
|
<el-form-item label="住院号" prop="hospitalId">
|
||||||
|
<el-input v-model="leaveForm.hospitalId" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="姓名" prop="name">
|
||||||
|
<el-input v-model="leaveForm.name" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="科室" prop="departName">
|
||||||
|
<el-input v-model="leaveForm.departName" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="床号" prop="bedId">
|
||||||
|
<el-input v-model="leaveForm.bedId" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="上次结算 / 首次用餐" prop="lastBillingDate">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="leaveForm.lastBillingDate"
|
||||||
|
align="right"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
:disabled="true">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="未结算天数" prop="settlementDays">
|
||||||
|
<el-input v-model="leaveForm.settlementDays" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="结算总价" prop="price">
|
||||||
|
<el-input v-model="this.sumTotalPrice" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-form-item label="已收预付伙食费" prop="prepayment">
|
||||||
|
<el-input v-model="leaveForm.prepayment" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row>
|
||||||
|
报餐明细
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :span="4">
|
||||||
|
正餐总价:{{ dinnerTotalPrice }}
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
营养餐总价:{{ nutritionTotalPrice }}
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
报餐总价:{{ sumTotalPrice }}
|
||||||
|
</el-row>
|
||||||
|
<el-table v-loading="loading" :data="mealsList">
|
||||||
|
<el-table-column label="报餐日期" align="center" prop="createAt" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createAt, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="正餐价格" align="center" prop="price"/>
|
||||||
|
<el-table-column label="营养餐价格" align="center" prop="nutritionFoodPrice"/>
|
||||||
|
<el-table-column label="报餐总价" align="center" prop="totalPrice"/>
|
||||||
|
</el-table>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {addSettle, delSettle, exportSettle, getSettle, showMealsWithSelect} from "@/api/fantang/settle";
|
import {
|
||||||
import {getLastSettlementDate, listAll, listMealsWithInSettle, listNoPay, listPayoff} from "@/api/fantang/meals";
|
addSettle,
|
||||||
import {getUserProfile} from "@/api/system/user";
|
delSettle,
|
||||||
import {getPrepaymentByPatientId} from "@/api/fantang/prepayment";
|
exportSettle,
|
||||||
import {listDepart} from "@/api/fantang/depart";
|
getSettle,
|
||||||
|
showAllMealsWithNoPay,
|
||||||
|
showMealsWithSelect
|
||||||
|
} from "../../../api/fantang/settle";
|
||||||
|
import {getLastSettlementDate, listAll, listMealsWithInSettle, listNoPay, listPayoff} from "../../../api/fantang/meals";
|
||||||
|
import {getUserProfile} from "../../../api/system/user";
|
||||||
|
import {listDepart} from "../../../api/fantang/depart";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Settle",
|
name: "Settle",
|
||||||
@ -399,12 +480,17 @@ export default {
|
|||||||
changeBillingDate(value) {
|
changeBillingDate(value) {
|
||||||
var dateSpan, iDays;
|
var dateSpan, iDays;
|
||||||
let sDate1 = Date.parse(this.formAddNewSettlement.lastBillingDate);
|
let sDate1 = Date.parse(this.formAddNewSettlement.lastBillingDate);
|
||||||
let sDate2 = Date.parse(value);
|
let sDate2 = Date.parse(value + ' 23:59:59');
|
||||||
// console.log("selectBillingDate", this.formAddNewSettlement.selectBillingDate)
|
console.log("lastBillingDate", this.formAddNewSettlement.lastBillingDate)
|
||||||
|
console.log("selectBillingDate", value);
|
||||||
|
|
||||||
dateSpan = sDate2 - sDate1;
|
dateSpan = sDate2 - sDate1;
|
||||||
|
|
||||||
|
console.log("当前选择时间-------", sDate2);
|
||||||
|
console.log("最后结算时间-------", sDate1);
|
||||||
|
|
||||||
if (dateSpan < 0) {
|
if (dateSpan < 0) {
|
||||||
this.msgError("你现在的结算日期小于上一次上次结算 / 用餐日期");
|
this.msgError("你现在的结算日期小于上一次上次结算 / 首次用餐日期");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
dateSpan = Math.abs(dateSpan);
|
dateSpan = Math.abs(dateSpan);
|
||||||
@ -415,9 +501,19 @@ export default {
|
|||||||
if (this.formAddNewSettlement.selectBillingDate != null) {
|
if (this.formAddNewSettlement.selectBillingDate != null) {
|
||||||
showMealsWithSelect(this.formAddNewSettlement).then(response => {
|
showMealsWithSelect(this.formAddNewSettlement).then(response => {
|
||||||
this.mealsList = response.data.reportMealsList;
|
this.mealsList = response.data.reportMealsList;
|
||||||
this.dinnerTotalPrice = response.data.reportMealsPrice.dinnerTotalPrice;
|
|
||||||
this.nutritionTotalPrice = response.data.reportMealsPrice.nutritionTotalPrice;
|
if (response.data.reportMealsPrice == null) {
|
||||||
this.sumTotalPrice = response.data.reportMealsPrice.sumTotalPrice;
|
this.dinnerTotalPrice = 0;
|
||||||
|
this.nutritionTotalPrice = 0;
|
||||||
|
this.sumTotalPrice = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.data.reportMealsPrice != null) {
|
||||||
|
this.dinnerTotalPrice = response.data.reportMealsPrice.dinnerTotalPrice;
|
||||||
|
this.nutritionTotalPrice = response.data.reportMealsPrice.nutritionTotalPrice;
|
||||||
|
this.sumTotalPrice = response.data.reportMealsPrice.sumTotalPrice;
|
||||||
|
this.formAddNewSettlement.netPeceipt = 0;
|
||||||
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.mealsList = null;
|
this.mealsList = null;
|
||||||
@ -432,27 +528,36 @@ export default {
|
|||||||
this.userName = response.data.userName;
|
this.userName = response.data.userName;
|
||||||
this.roleGroup = response.roleGroup;
|
this.roleGroup = response.roleGroup;
|
||||||
this.postGroup = response.postGroup;
|
this.postGroup = response.postGroup;
|
||||||
// console.log(this.userName);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 日常伙食费结算操作按钮
|
// 日常伙食费结算操作按钮
|
||||||
clickAddNewSettlement(row) {
|
clickAddNewSettlement(row) {
|
||||||
|
|
||||||
|
// 清空数据
|
||||||
|
this.mealsList = null;
|
||||||
|
this.sumTotalPrice = 0;
|
||||||
|
this.dinnerTotalPrice = 0;
|
||||||
|
this.nutritionTotalPrice = 0;
|
||||||
|
|
||||||
getLastSettlementDate(row.patientId).then(response => {
|
getLastSettlementDate(row.patientId).then(response => {
|
||||||
// console.log("getLastBillingDateByPatientId-->", response);
|
console.log("getLastBillingDateByPatientId-->", response);
|
||||||
if (response.data.settlementAt === null) {
|
if (response.reportMeals.settlementAt === null) {
|
||||||
this.lastBillFlag = false;
|
this.lastBillFlag = false;
|
||||||
this.formAddNewSettlement.lastBillingDate = response.data.lastCreateDate;
|
this.formAddNewSettlement.lastBillingDate = response.reportMeals.lastCreateDate;
|
||||||
this.msgInfo("该病人首次收费")
|
this.msgInfo("该病人首次收费")
|
||||||
} else {
|
} else {
|
||||||
this.lastBillFlag = true;
|
this.lastBillFlag = true;
|
||||||
this.formAddNewSettlement.lastBillingDate = response.data.settlementAt;
|
this.formAddNewSettlement.lastBillingDate = response.reportMeals.settlementAt;
|
||||||
}
|
}
|
||||||
this.formAddNewSettlement.settlementDays = response.data.days;
|
|
||||||
});
|
|
||||||
|
|
||||||
getPrepaymentByPatientId(row.patientId).then(response => {
|
if (response.prepayment === null) {
|
||||||
// console.log("row-->", response);
|
this.formAddNewSettlement.prepayment = 0;
|
||||||
|
} else {
|
||||||
|
this.formAddNewSettlement.prepayment = response.prepayment.prepaid;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.formAddNewSettlement.settlementDays = response.reportMeals.days;
|
||||||
this.flagAddNewSettlementOpen = true;
|
this.flagAddNewSettlementOpen = true;
|
||||||
this.flagAddPrepaymentShow = false;
|
this.flagAddPrepaymentShow = false;
|
||||||
this.formAddNewSettlement.hospitalId = row.hospitalId;
|
this.formAddNewSettlement.hospitalId = row.hospitalId;
|
||||||
@ -461,17 +566,66 @@ export default {
|
|||||||
this.formAddNewSettlement.bedId = row.bedId;
|
this.formAddNewSettlement.bedId = row.bedId;
|
||||||
this.formAddNewSettlement.patientId = row.patientId;
|
this.formAddNewSettlement.patientId = row.patientId;
|
||||||
this.formAddNewSettlement.price = row.price;
|
this.formAddNewSettlement.price = row.price;
|
||||||
this.formAddNewSettlement.prepayment = response.data.prepaid;
|
|
||||||
this.formAddNewSettlement.netPeceipt = null;
|
this.formAddNewSettlement.netPeceipt = null;
|
||||||
this.formAddNewSettlement.userName = this.userName;
|
this.formAddNewSettlement.userName = this.userName;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 出院伙食费结算按钮
|
// 出院伙食费结算按钮
|
||||||
clickAddLeaveSettlement() {
|
clickAddLeaveSettlement(row) {
|
||||||
this.flagAddNewSettlementOpen = true;
|
|
||||||
this.flagAddPrepaymentShow = true;
|
|
||||||
|
|
||||||
|
// 清空数据
|
||||||
|
this.mealsList = null;
|
||||||
|
this.sumTotalPrice = 0;
|
||||||
|
this.dinnerTotalPrice = 0;
|
||||||
|
this.nutritionTotalPrice = 0;
|
||||||
|
|
||||||
|
// 获取上次结算日期/首次用餐日期
|
||||||
|
getLastSettlementDate(row.patientId).then(response => {
|
||||||
|
if (response.reportMeals.settlementAt === null) {
|
||||||
|
this.lastBillFlag = false;
|
||||||
|
this.leaveForm.lastBillingDate = response.reportMeals.lastCreateDate;
|
||||||
|
} else {
|
||||||
|
this.lastBillFlag = true;
|
||||||
|
this.leaveForm.lastBillingDate = response.reportMeals.settlementAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查看是否有预付款
|
||||||
|
if (response.prepayment === null) {
|
||||||
|
this.leaveForm.prepayment = 0;
|
||||||
|
} else {
|
||||||
|
this.leaveForm.prepayment = response.prepayment.prepaid;
|
||||||
|
}
|
||||||
|
|
||||||
|
showAllMealsWithNoPay(row.patientId).then(response => {
|
||||||
|
console.log(response);
|
||||||
|
this.mealsList = response.data.reportMealsList;
|
||||||
|
|
||||||
|
if (response.data.reportMealsPrice == null) {
|
||||||
|
this.dinnerTotalPrice = 0;
|
||||||
|
this.nutritionTotalPrice = 0;
|
||||||
|
this.sumTotalPrice = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.data.reportMealsPrice != null) {
|
||||||
|
this.dinnerTotalPrice = response.data.reportMealsPrice.dinnerTotalPrice;
|
||||||
|
this.nutritionTotalPrice = response.data.reportMealsPrice.nutritionTotalPrice;
|
||||||
|
this.sumTotalPrice = response.data.reportMealsPrice.sumTotalPrice;
|
||||||
|
this.formAddNewSettlement.netPeceipt = this.sumTotalPrice;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
this.leaveForm.settlementDays = response.reportMeals.days;
|
||||||
|
this.leaveForm.hospitalId = row.hospitalId;
|
||||||
|
this.leaveForm.name = row.name;
|
||||||
|
this.leaveForm.departName = row.departName;
|
||||||
|
this.leaveForm.bedId = row.bedId;
|
||||||
|
this.leaveForm.patientId = row.patientId;
|
||||||
|
this.leaveForm.price = row.price;
|
||||||
|
this.leaveForm.netPeceipt = null;
|
||||||
|
this.leaveForm.userName = this.userName;
|
||||||
|
this.open = true;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 处理筛选结算标志
|
// 处理筛选结算标志
|
||||||
@ -532,6 +686,7 @@ export default {
|
|||||||
flag: null,
|
flag: null,
|
||||||
refund: null
|
refund: null
|
||||||
};
|
};
|
||||||
|
|
||||||
this.formAddNewSettlement = {
|
this.formAddNewSettlement = {
|
||||||
selectBillingDate: null,
|
selectBillingDate: null,
|
||||||
payType: null,
|
payType: null,
|
||||||
|
@ -622,7 +622,6 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
this.leaveForm.settlementDays = response.reportMeals.days;
|
this.leaveForm.settlementDays = response.reportMeals.days;
|
||||||
this.open = true;
|
|
||||||
this.leaveForm.hospitalId = row.hospitalId;
|
this.leaveForm.hospitalId = row.hospitalId;
|
||||||
this.leaveForm.name = row.name;
|
this.leaveForm.name = row.name;
|
||||||
this.leaveForm.departName = row.departName;
|
this.leaveForm.departName = row.departName;
|
||||||
@ -631,6 +630,7 @@ export default {
|
|||||||
this.leaveForm.price = row.price;
|
this.leaveForm.price = row.price;
|
||||||
this.leaveForm.netPeceipt = null;
|
this.leaveForm.netPeceipt = null;
|
||||||
this.leaveForm.userName = this.userName;
|
this.leaveForm.userName = this.userName;
|
||||||
|
this.open = true;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="已开票" prop="invoiceFlag">
|
<el-form-item label="是否已开票" prop="invoiceFlag" label-width="83px">
|
||||||
<el-select v-model="queryParams.invoiceFlag" placeholder="请选择已开票" clearable size="small">
|
<el-select v-model="queryParams.invoiceFlag" placeholder="请选择是否已开票" clearable size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in invoiceFlagOptions"
|
v-for="item in invoiceFlagOptions"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@ -42,7 +42,7 @@
|
|||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
size="mini"
|
size="mini"
|
||||||
:disabled="multiple"
|
:disabled="multiple"
|
||||||
@click=""
|
@click="handleCombination"
|
||||||
v-hasPermi="['fantang:settlement:edit']"
|
v-hasPermi="['fantang:settlement:edit']"
|
||||||
>组合开票
|
>组合开票
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -72,7 +72,7 @@
|
|||||||
<span>{{ parseTime(scope.row.settleAt, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.settleAt, '{y}-{m}-{d}') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="已开票" align="center" prop="invoiceFlag" :formatter="formatInvoiceFlag"/>
|
<el-table-column label="是否已开票" align="center" prop="invoiceFlag" :formatter="formatInvoiceFlag"/>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
@ -108,6 +108,9 @@
|
|||||||
<el-form-item label="结算类型" prop="type">
|
<el-form-item label="结算类型" prop="type">
|
||||||
<el-input v-model="form.type" placeholder="请输入结算类型" :disabled="true"/>
|
<el-input v-model="form.type" placeholder="请输入结算类型" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="开票金额" prop="invoiceAmount">
|
||||||
|
<el-input v-model="form.invoiceAmount" placeholder="请输入开票金额"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="发票名" prop="invoiceName">
|
<el-form-item label="发票名" prop="invoiceName">
|
||||||
<el-input v-model="form.invoiceName" placeholder="请输入发票名"/>
|
<el-input v-model="form.invoiceName" placeholder="请输入发票名"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -117,8 +120,46 @@
|
|||||||
<el-form-item label="发票号" prop="invoiceNum">
|
<el-form-item label="发票号" prop="invoiceNum">
|
||||||
<el-input v-model="form.invoiceNum" placeholder="请输入发票号"/>
|
<el-input v-model="form.invoiceNum" placeholder="请输入发票号"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="开票类型" prop="invoiceType">
|
<el-form-item label="跟踪回款" prop="invoiceType" label-width="80px">
|
||||||
<el-select v-model="form.invoiceType" placeholder="请选择开票类型">
|
<el-select v-model="form.invoiceType" placeholder="请选择跟踪回款">
|
||||||
|
<el-option
|
||||||
|
v-for="item in invoiceTypeOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 组合开票对话框 -->
|
||||||
|
<el-dialog title="组合开票" :visible.sync="combinationOpen" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="应收" prop="payable">
|
||||||
|
<el-input v-model="form.payable" placeholder="请输入应收" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="实收" prop="receipts">
|
||||||
|
<el-input v-model="form.receipts" placeholder="请输入实收" :disabled="true"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="开票金额" prop="invoiceAmount">
|
||||||
|
<el-input v-model="form.invoiceAmount" placeholder="请输入开票金额"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发票名" prop="invoiceName">
|
||||||
|
<el-input v-model="form.invoiceName" placeholder="请输入发票名"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="税号" prop="taxId">
|
||||||
|
<el-input v-model="form.taxId" placeholder="请输入税号"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发票号" prop="invoiceNum">
|
||||||
|
<el-input v-model="form.invoiceNum" placeholder="请输入发票号"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="跟踪回款" prop="invoiceType">
|
||||||
|
<el-select v-model="form.invoiceType" placeholder="请选择跟踪回款">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in invoiceTypeOptions"
|
v-for="item in invoiceTypeOptions"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@ -153,10 +194,10 @@ export default {
|
|||||||
return {
|
return {
|
||||||
invoiceTypeOptions: [{
|
invoiceTypeOptions: [{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: '开票'
|
label: '仅开票'
|
||||||
}, {
|
}, {
|
||||||
value: 2,
|
value: 2,
|
||||||
label: '挂账'
|
label: '开票并跟踪回款'
|
||||||
}],
|
}],
|
||||||
invoiceFlagOptions: [{
|
invoiceFlagOptions: [{
|
||||||
value: true,
|
value: true,
|
||||||
@ -185,6 +226,12 @@ export default {
|
|||||||
loading: true,
|
loading: true,
|
||||||
// 选中数组
|
// 选中数组
|
||||||
ids: [],
|
ids: [],
|
||||||
|
invoiceFlags: [],
|
||||||
|
isErrFlag: [],
|
||||||
|
// 组合结算总价
|
||||||
|
settleTotalPrice: 0,
|
||||||
|
// 组合结算实收
|
||||||
|
settleTotalReceipts: 0,
|
||||||
// 非单个禁用
|
// 非单个禁用
|
||||||
single: true,
|
single: true,
|
||||||
// 非多个禁用
|
// 非多个禁用
|
||||||
@ -199,6 +246,8 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
// 是否显示组合开票弹出层
|
||||||
|
combinationOpen: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@ -245,6 +294,15 @@ export default {
|
|||||||
invoiceType: [
|
invoiceType: [
|
||||||
{required: true, message: "开票类型不能为空", trigger: "blur"}
|
{required: true, message: "开票类型不能为空", trigger: "blur"}
|
||||||
],
|
],
|
||||||
|
invoiceAmount: [
|
||||||
|
{required: true, message: "开票金额不能为空", trigger: "blur"},
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
pattern: "/(^0\\.[1-9]\\d?$)|(^0\\.\\d[1-9]?$)|(^[1-9]\\d{0,7}(\\.\\d{0,2})?$)/",
|
||||||
|
message: "请输入正确的开票金额",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
],
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -252,6 +310,25 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 组合开票
|
||||||
|
handleCombination(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids;
|
||||||
|
console.log("id----------", id);
|
||||||
|
this.isErrFlag = false;
|
||||||
|
for (let i = 0; i < this.invoiceFlags.length; i++) {
|
||||||
|
if (this.invoiceFlags[i] === true) {
|
||||||
|
this.msgError("已开票的结算记录不能再次开票")
|
||||||
|
this.isErrFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.isErrFlag) {
|
||||||
|
this.combinationOpen = true;
|
||||||
|
this.form.receipts = this.settleTotalReceipts;
|
||||||
|
this.form.payable = this.settleTotalPrice;
|
||||||
|
}
|
||||||
|
},
|
||||||
formatInvoiceFlag(row) {
|
formatInvoiceFlag(row) {
|
||||||
if (row.invoiceFlag === true) {
|
if (row.invoiceFlag === true) {
|
||||||
return '是';
|
return '是';
|
||||||
@ -263,16 +340,15 @@ export default {
|
|||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listSettlement(this.queryParams).then(response => {
|
listSettlement(this.queryParams).then(response => {
|
||||||
console.log(response)
|
|
||||||
this.settlementList = response.rows;
|
this.settlementList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
console.log(response.rows)
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
cancel() {
|
cancel() {
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
this.combinationOpen = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
},
|
},
|
||||||
// 表单重置
|
// 表单重置
|
||||||
@ -293,6 +369,7 @@ export default {
|
|||||||
taxId: undefined,
|
taxId: undefined,
|
||||||
invoiceNum: undefined,
|
invoiceNum: undefined,
|
||||||
invoiceType: undefined,
|
invoiceType: undefined,
|
||||||
|
invoiceAmount: undefined,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
@ -311,6 +388,22 @@ export default {
|
|||||||
this.ids = selection.map(item => item.settleId)
|
this.ids = selection.map(item => item.settleId)
|
||||||
this.single = selection.length !== 1
|
this.single = selection.length !== 1
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length
|
||||||
|
|
||||||
|
// 是否开票标志数组
|
||||||
|
this.invoiceFlags = selection.map(item => item.invoiceFlag)
|
||||||
|
console.log(this.invoiceFlags)
|
||||||
|
|
||||||
|
// 清空组合结算总价
|
||||||
|
this.settleTotalPrice = 0;
|
||||||
|
selection.map(item => item.payable).forEach(item => {
|
||||||
|
this.settleTotalPrice += item;
|
||||||
|
})
|
||||||
|
|
||||||
|
// 清空组合结算实收
|
||||||
|
this.settleTotalReceipts = 0;
|
||||||
|
selection.map(item => item.receipts).forEach(item => {
|
||||||
|
this.settleTotalReceipts += item;
|
||||||
|
})
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
@ -322,11 +415,17 @@ export default {
|
|||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const settleId = row.settleId || this.ids
|
const settleId = row.settleId || this.ids
|
||||||
console.log(row)
|
|
||||||
getSettlement(settleId).then(response => {
|
getSettlement(settleId).then(response => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "开票";
|
this.title = "开票";
|
||||||
|
|
||||||
|
// 跟踪回款逻辑判断
|
||||||
|
// if (this.form.payable === this.form.receipts && this.form.receipts > 0) {
|
||||||
|
// this.form.invoiceType = 1
|
||||||
|
// } else if (this.form.receipts === 0) {
|
||||||
|
// this.form.invoiceType = 2
|
||||||
|
// }
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user