pengjun 4 weeks ago
parent
commit
f15dd65592
  1. 12
      src/components/doctorCheck/PatientRegisterBase2.vue
  2. 459
      src/views/customerReport/unitSettlement.vue
  3. 4
      src/views/doctorCheck/sumDoctorCheck.vue

12
src/components/doctorCheck/PatientRegisterBase2.vue

@ -287,12 +287,16 @@ export default {
.then((res) => { .then((res) => {
if (res.code > -1) { if (res.code > -1) {
this.prBase = res.data this.prBase = res.data
if (this.prBase.completeFlag != '3') this.prBase.summaryDoctorId = this.userId
if (this.prBase.completeFlag == '3' && this.prBase.isAudit == 'N') {
this.prBase.auditDoctorId = this.userId
}
// ----------
// if (this.prBase.completeFlag != '3') this.prBase.summaryDoctorId = this.userId
// if (this.prBase.completeFlag == '3' && this.prBase.isAudit == 'N') {
// this.prBase.auditDoctorId = this.userId
// }
// ----------
// console.log('res.data',res.data) // console.log('res.data',res.data)
// console.log('this.prBase',this.prBase) // console.log('this.prBase',this.prBase)
} }
this.afterFind(this.prBase) this.afterFind(this.prBase)
}); });

459
src/views/customerReport/unitSettlement.vue

@ -8,8 +8,7 @@
</div> </div>
</div> </div>
<div :style="'display: block;'"> <div :style="'display: block;'">
<div
style="
<div style="
background-color: #fff; background-color: #fff;
padding: 15px; padding: 15px;
border-radius: 8px; border-radius: 8px;
@ -18,51 +17,26 @@
margin-bottom: 10px; margin-bottom: 10px;
height: 35px; height: 35px;
margin-top: 7px; margin-top: 7px;
"
>
">
<div class="query"> <div class="query">
<span>体检单位</span> <span>体检单位</span>
<el-input
placeholder="请选择体检单位"
v-model="patientRegister.query.cusOrgOCX"
style="'width:350px"
size="small"
disabled
>
<el-button
slot="append"
icon="el-icon-search"
@click="report.dialogCusOrgOCX = true"
style="font-size: 20px"
></el-button>
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="'width:350px" size="small"
disabled>
<el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true"
style="font-size: 20px"></el-button>
</el-input> </el-input>
</div> </div>
<div class="query"> <div class="query">
<span>组合项目</span> <span>组合项目</span>
<el-input
placeholder="请选择组合项目"
v-model="patientRegister.query.asbitemOCX"
style="'width:350px"
size="small"
disabled
>
<el-button
slot="append"
icon="el-icon-search"
@click="report.dialogAsbitemOCX = true"
style="font-size: 20px"
></el-button>
<el-input placeholder="请选择组合项目" v-model="patientRegister.query.asbitemOCX" style="'width:350px" size="small"
disabled>
<el-button slot="append" icon="el-icon-search" @click="report.dialogAsbitemOCX = true"
style="font-size: 20px"></el-button>
</el-input> </el-input>
</div> </div>
<div class="query" v-if="!cut"> <div class="query" v-if="!cut">
<span>报表格式</span> <span>报表格式</span>
<el-select
v-model="registerType"
placeholder="请选择"
clearable
style="width: 80px"
size="small"
>
<el-select v-model="registerType" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option label="按分组包含预登记" value="1" /> <el-option label="按分组包含预登记" value="1" />
<el-option label="按分组不包含预登记" value="2" /> <el-option label="按分组不包含预登记" value="2" />
<el-option label="按分组实检(只检1项也算全部已检)" value="3" /> <el-option label="按分组实检(只检1项也算全部已检)" value="3" />
@ -70,13 +44,7 @@
</div> </div>
<div class="query" v-if="cut"> <div class="query" v-if="cut">
<span>报表格式</span> <span>报表格式</span>
<el-select
v-model="complexregisterType"
placeholder="请选择"
clearable
style="width: 80px"
size="small"
>
<el-select v-model="complexregisterType" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option label="按组合包含预登记" value="1" /> <el-option label="按组合包含预登记" value="1" />
<el-option label="按组合不包含预登记" value="2" /> <el-option label="按组合不包含预登记" value="2" />
<el-option label="按组合实检" value="3" /> <el-option label="按组合实检" value="3" />
@ -84,116 +52,50 @@
</el-select> </el-select>
</div> </div>
<div class="query"> <div class="query">
<el-checkbox
v-model="checkbox"
true-label="1"
false-label="0"
@change="bespeak"
/>
<el-checkbox v-model="checkbox" true-label="1" false-label="0" @change="bespeak" />
<span style="margin-left: 5px">显示人员名单</span> <span style="margin-left: 5px">显示人员名单</span>
</div> </div>
<div class="query"> <div class="query">
<el-checkbox
v-model="isPersonalPayment"
true-label="Y"
false-label="N"
/>
<el-checkbox v-model="isPersonalPayment" true-label="Y" false-label="N" />
<span style="margin-left: 5px">包含个人支付和免费赠送</span> <span style="margin-left: 5px">包含个人支付和免费赠送</span>
</div> </div>
<div class="query"> <div class="query">
<el-button size="small" @click="onSubmit" class="commonbutton"
>查询</el-button
>
<el-button size="small" @click="onSubmit" class="commonbutton">查询</el-button>
</div> </div>
<div class="query"> <div class="query">
<el-button size="small" class="commonbutton" @click="handleExport"
>导出excel</el-button
>
<!--旧导出方式 handleExportbtnExport('expUnitSettlement') -->
<el-button size="small" class="commonbutton" @click="btnExport('expUnitSettlement')">导出excel</el-button>
</div> </div>
<div class="query"> <div class="query">
<el-button size="small" @click="onPrint" class="commonbutton"
>打印</el-button
>
<el-button size="small" @click="onPrint" class="commonbutton">打印</el-button>
</div> </div>
</div> </div>
<div id="domTable">
<div
style="background-color: #fff; padding: 15px; border-radius: 8px"
ref="imageDom0"
v-show="format == 0"
>
<div id="expUnitSettlement">
<div id="expUnitSettlement0" style="background-color: #fff; padding: 15px; border-radius: 8px" ref="imageDom0" v-show="format == 0">
<div> <div>
<el-table
border
:height="
flag
<el-table border :height="flag
? window.pageHeight < 600 ? window.pageHeight < 600
? 415 ? 415
: window.pageHeight - 185 - 25 : window.pageHeight - 185 - 25
: '' : ''
"
:data="tableData"
id="tableData"
ref="tableData"
style="width: 100%"
show-summary
:summary-method="summarizeRegisterCountes"
>
" :data="tableData" id="tableData" ref="tableData" style="width: 100%" show-summary
:summary-method="summarizeRegisterCountes">
<el-table-column label="单位结算统计"> <el-table-column label="单位结算统计">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table
:data="scope.row.groupDetails"
border
show-summary
:summary-method="summarizeRegisterCount"
>
<el-table-column
label="分组"
prop="customerOrgGroupName"
></el-table-column>
<el-table-column
label="分组价格"
prop="customerOrgGroupPrice"
></el-table-column>
<el-table-column
label="人数"
prop="patientCount"
></el-table-column>
<el-table-column
label="总金额"
prop="sumPrice"
></el-table-column>
<el-table :data="scope.row.groupDetails" border show-summary
:summary-method="summarizeRegisterCount">
<el-table-column label="分组" prop="customerOrgGroupName"></el-table-column>
<el-table-column label="分组价格" prop="customerOrgGroupPrice"></el-table-column>
<el-table-column label="人数" prop="patientCount"></el-table-column>
<el-table-column label="总金额" prop="sumPrice"></el-table-column>
</el-table> </el-table>
<el-table
:data="scope.row.addItems"
border
show-summary
:summary-method="summarizeRegisterCount2"
>
<el-table-column
label="加做项目"
prop="asbitemName"
></el-table-column>
<el-table-column
label="人数"
prop="patientCount"
></el-table-column>
<el-table-column
label="标准价格"
prop="standardPrice"
></el-table-column>
<el-table-column
label="应收价格"
prop="price"
></el-table-column>
<el-table-column
label="标准金额"
prop="standardMoney"
></el-table-column>
<el-table-column
label="应收金额"
prop="sumPrice"
></el-table-column>
<el-table :data="scope.row.addItems" border show-summary :summary-method="summarizeRegisterCount2">
<el-table-column label="加做项目" prop="asbitemName"></el-table-column>
<el-table-column label="人数" prop="patientCount"></el-table-column>
<el-table-column label="标准价格" prop="standardPrice"></el-table-column>
<el-table-column label="应收价格" prop="price"></el-table-column>
<el-table-column label="标准金额" prop="standardMoney"></el-table-column>
<el-table-column label="应收金额" prop="sumPrice"></el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
@ -201,123 +103,60 @@
</div> </div>
</div> </div>
<div
style="background-color: #fff; padding: 15px; border-radius: 8px"
ref="imageDom1"
v-show="format == 1"
>
<div id="expUnitSettlement1" style="background-color: #fff; padding: 15px; border-radius: 8px" ref="imageDom1" v-show="format == 1">
<div> <div>
<el-table
border
:height="
flag
<el-table border :height="flag
? window.pageHeight < 600 ? window.pageHeight < 600
? 415 ? 415
: window.pageHeight - 185 - 25 : window.pageHeight - 185 - 25
: '' : ''
"
:data="stafftableData"
id="stafftableData"
ref="stafftableData"
style="width: 100%"
show-summary
:summary-method="summarizeRegisterCountes"
>
" :data="stafftableData" id="stafftableData" ref="stafftableData" style="width: 100%" show-summary
:summary-method="summarizeRegisterCountes">
<el-table-column label="单位结算统计"> <el-table-column label="单位结算统计">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.groupDetails" border> <el-table :data="scope.row.groupDetails" border>
<el-table-column label="分组"> <el-table-column label="分组">
<template slot-scope="scopes"> <template slot-scope="scopes">
<el-table
:data="scopes.row.patients"
border
show-summary
:summary-method="
(params) =>
<el-table :data="scopes.row.patients" border show-summary :summary-method="(params) =>
summarizeRegisterCounts( summarizeRegisterCounts(
params, params,
scopes.row.sumPrice scopes.row.sumPrice
) )
"
>
<el-table-column
:label="
scopes.row.customerOrgGroupName +
">
<el-table-column :label="scopes.row.customerOrgGroupName +
' 价格:' + ' 价格:' +
scopes.row.customerOrgGroupPrice scopes.row.customerOrgGroupPrice
"
>
<el-table-column
label="姓名"
prop="patientName"
></el-table-column>
<el-table-column
label="条码号"
prop="patientRegisterNo"
></el-table-column>
<el-table-column
label="档案号"
prop="patientNo"
></el-table-column>
<el-table-column
label="性别"
prop="sexName"
></el-table-column>
<el-table-column
label="年龄"
prop="age"
></el-table-column>
">
<el-table-column label="姓名" prop="patientName"></el-table-column>
<el-table-column label="条码号" prop="patientRegisterNo"
:formatter="forceStringFormatter"></el-table-column>
<el-table-column label="档案号" prop="patientNo" :formatter="forceStringFormatter">
</el-table-column>
<el-table-column label="性别" prop="sexName"></el-table-column>
<el-table-column label="年龄" prop="age"></el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table
:data="scope.row.addItems"
border
style="margin-top: 10px"
>
<el-table :data="scope.row.addItems" border style="margin-top: 10px">
<el-table-column label="加做项目"> <el-table-column label="加做项目">
<template slot-scope="scopes"> <template slot-scope="scopes">
<el-table
:data="scopes.row.patients"
border
show-summary
:summary-method="
(params) =>
<el-table :data="scopes.row.patients" border show-summary :summary-method="(params) =>
summarizeRegisterCounts( summarizeRegisterCounts(
params, params,
scopes.row.sumPrice scopes.row.sumPrice
) )
"
>
<el-table-column
:label="
scopes.row.asbitemName +
">
<el-table-column :label="scopes.row.asbitemName +
' 价格:' + ' 价格:' +
scopes.row.price scopes.row.price
"
>
<el-table-column
label="姓名"
prop="patientName"
></el-table-column>
<el-table-column
label="条码号"
prop="patientRegisterNo"
></el-table-column>
<el-table-column
label="档案号"
prop="patientNo"
></el-table-column>
<el-table-column
label="性别"
prop="sexName"
></el-table-column>
<el-table-column
label="年龄"
prop="age"
></el-table-column>
">
<el-table-column label="姓名" prop="patientName"></el-table-column>
<el-table-column label="条码号" prop="patientRegisterNo" :formatter="forceStringFormatter"></el-table-column>
<el-table-column label="档案号" prop="patientNo" :formatter="forceStringFormatter"></el-table-column>
<el-table-column label="性别" prop="sexName"></el-table-column>
<el-table-column label="年龄" prop="age"></el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</template> </template>
@ -328,128 +167,54 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<div
style="background-color: #fff; padding: 15px; border-radius: 8px"
ref="imageDom2"
v-show="format == 2"
>
<div id="expUnitSettlement2" style="background-color: #fff; padding: 15px; border-radius: 8px" ref="imageDom2" v-show="format == 2">
<div> <div>
<el-table
border
:height="
flag
<el-table border :height="flag
? window.pageHeight < 600 ? window.pageHeight < 600
? 415 ? 415
: window.pageHeight - 185 - 25 : window.pageHeight - 185 - 25
: '' : ''
"
:data="projecttableData"
id="projecttableData"
ref="projecttableData"
style="width: 100%"
show-summary
:summary-method="projectsummarizeRegisterCount"
>
" :data="projecttableData" id="projecttableData" ref="projecttableData" style="width: 100%"
show-summary :summary-method="projectsummarizeRegisterCount">
<el-table-column label="单位结算统计"> <el-table-column label="单位结算统计">
<el-table-column
label="项目类别"
prop="itmeTypeName"
></el-table-column>
<el-table-column
label="组合项目"
prop="asbitemName"
></el-table-column>
<el-table-column
label="标准价格"
prop="standardPrice"
></el-table-column>
<el-table-column
label="价格"
prop="chargePrice"
></el-table-column>
<el-table-column
label="人数"
prop="patientCount"
></el-table-column>
<el-table-column
label="标准金额"
prop="standardAmount"
></el-table-column>
<el-table-column
label="折扣"
prop="discount"
></el-table-column>
<el-table-column
label="金额"
prop="chargeAmount"
></el-table-column>
<el-table-column label="项目类别" prop="itmeTypeName"></el-table-column>
<el-table-column label="组合项目" prop="asbitemName"></el-table-column>
<el-table-column label="标准价格" prop="standardPrice"></el-table-column>
<el-table-column label="价格" prop="chargePrice"></el-table-column>
<el-table-column label="人数" prop="patientCount"></el-table-column>
<el-table-column label="标准金额" prop="standardAmount"></el-table-column>
<el-table-column label="折扣" prop="discount"></el-table-column>
<el-table-column label="金额" prop="chargeAmount"></el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<div
style="background-color: #fff; padding: 15px; border-radius: 8px"
ref="imageDom3"
v-show="format == 3"
>
<div id="expUnitSettlement3" style="background-color: #fff; padding: 15px; border-radius: 8px" ref="imageDom3" v-show="format == 3">
<div> <div>
<el-table
border
:height="
flag
<el-table border :height="flag
? window.pageHeight < 600 ? window.pageHeight < 600
? 415 ? 415
: window.pageHeight - 185 - 25 : window.pageHeight - 185 - 25
: '' : ''
"
:data="projectcomplextableData"
id="projectcomplextableData"
ref="projectcomplextableData"
style="width: 100%"
show-summary
:summary-method="projectcomplexsummarizeRegisterCountes"
>
" :data="projectcomplextableData" id="projectcomplextableData" ref="projectcomplextableData"
style="width: 100%" show-summary :summary-method="projectcomplexsummarizeRegisterCountes">
<el-table-column label="单位结算统计"> <el-table-column label="单位结算统计">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table
:data="scope.row.patients"
border
show-summary
:summary-method="
(params) =>
<el-table :data="scope.row.patients" border show-summary :summary-method="(params) =>
projectcomplexsummarizeRegisterCounts( projectcomplexsummarizeRegisterCounts(
params, params,
scope.row.chargeAmount scope.row.chargeAmount
) )
"
>
<el-table-column
:label="
scope.row.asbitemName +
">
<el-table-column :label="scope.row.asbitemName +
' 价格:' + ' 价格:' +
scope.row.chargePrice scope.row.chargePrice
"
>
<el-table-column
label="姓名"
prop="patientName"
></el-table-column>
<el-table-column
label="条码号"
prop="patientRegisterNo"
></el-table-column>
<el-table-column
label="档案号"
prop="patientNo"
></el-table-column>
<el-table-column
label="性别"
prop="sexName"
></el-table-column>
<el-table-column
label="年龄"
prop="age"
></el-table-column>
">
<el-table-column label="姓名" prop="patientName"></el-table-column>
<el-table-column label="条码号" prop="patientRegisterNo" :formatter="forceStringFormatter"></el-table-column>
<el-table-column label="档案号" prop="patientNo" :formatter="forceStringFormatter"></el-table-column>
<el-table-column label="性别" prop="sexName"></el-table-column>
<el-table-column label="年龄" prop="age"></el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</template> </template>
@ -461,23 +226,13 @@
</div> </div>
</div> </div>
<!--通用选单位体检次数分组的控件--> <!--通用选单位体检次数分组的控件-->
<el-dialog
title="体检单位选择"
:visible.sync="report.dialogCusOrgOCX"
:close-on-click-modal="false"
width="880px"
height="600px"
>
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false" width="880px"
height="600px">
<CusOrgOCX :initDateType="'creationTime'" :useCustomerOrg="true" /> <CusOrgOCX :initDateType="'creationTime'" :useCustomerOrg="true" />
</el-dialog> </el-dialog>
<!--通用选组合项目的控件--> <!--通用选组合项目的控件-->
<el-dialog
title="组合项目选择"
:visible.sync="report.dialogAsbitemOCX"
:close-on-click-modal="false"
width="700px"
height="600px"
>
<el-dialog title="组合项目选择" :visible.sync="report.dialogAsbitemOCX" :close-on-click-modal="false" width="700px"
height="600px">
<AsbitemOCX /> <AsbitemOCX />
</el-dialog> </el-dialog>
</div> </div>
@ -487,6 +242,7 @@ import moment from "moment";
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { exportToExcel } from "../../utlis/Export2Excel"; import { exportToExcel } from "../../utlis/Export2Excel";
import FileSaver from 'file-saver';
import html2canvas from "html2canvas"; import html2canvas from "html2canvas";
import printJs from "print-js"; import printJs from "print-js";
import CusOrgOCX from "../../components/report/CusOrgOCX.vue"; import CusOrgOCX from "../../components/report/CusOrgOCX.vue";
@ -511,7 +267,7 @@ export default {
complexregisterType: "2", complexregisterType: "2",
}; };
}, },
created() {},
created() { },
mounted() { mounted() {
if (this.report.dataAsbitemOCX.length > 0) { if (this.report.dataAsbitemOCX.length > 0) {
this.cut = true; this.cut = true;
@ -606,6 +362,33 @@ page-break-before: avoid;}}`, // 去除页眉页脚
this.flag = true; this.flag = true;
}); });
}, },
//
forceStringFormatter(row, column, cellValue) {
// cellValue
return cellValue ? "\u200C" + String(cellValue) : cellValue
},
//
btnExport(elId) {
// HTML
// let table = document.getElementById(elId); //.cloneNode(true)
this.$nextTick(() => {
// let refsTable = this.$refs[elId] //.cloneNode(true) true
let table = document.getElementById(elId + this.format)
// console.log('table,refsTable', table, refsTable)
let tableData = table.innerHTML
let fileName = moment(new Date()).format('yyyyMMDDHHmmss')
let blob = new Blob([tableData], { type: "text/plain;charset=utf-8" });
FileSaver.saveAs(blob, fileName + '.xls');
})
},
onSubmit() { onSubmit() {
let body = {}, let body = {},
customerOrgs = [], customerOrgs = [],
@ -854,6 +637,8 @@ page-break-before: avoid;}}`, // 去除页眉页脚
}); });
return sums; return sums;
}, },
//
handleExport() { handleExport() {
if (this.format == 0) { if (this.format == 0) {
exportToExcel("#tableData", "单位体检结算", true, [2]); exportToExcel("#tableData", "单位体检结算", true, [2]);
@ -887,6 +672,8 @@ page-break-before: avoid;}}`, // 去除页眉页脚
exportToExcel("#projectcomplextableData", "单位体检结算", true, list); exportToExcel("#projectcomplextableData", "单位体检结算", true, list);
} }
}, },
}, },
updated() { updated() {
this.$nextTick(() => { this.$nextTick(() => {

4
src/views/doctorCheck/sumDoctorCheck.vue

@ -1075,7 +1075,8 @@ export default {
// ID // ID
triggerQuery(rd) { triggerQuery(rd) {
// console.log('triggerQuery.rd', rd)
//console.log('triggerQuery.rd', rd)
//console.log('this.patient_register',JSON.stringify(this.patient_register),'rd',JSON.stringify(rd))
this.patient_register = Object.assign({}, this.patient_register, rd) this.patient_register = Object.assign({}, this.patient_register, rd)
this.refParamsQuery = Object.assign({}, this.refParamsQuery, rd, this.refParamsQuery = Object.assign({}, this.refParamsQuery, rd,
{ {
@ -1812,6 +1813,7 @@ export default {
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body) postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then(res => { .then(res => {
if (res.code > -1) { if (res.code > -1) {
//console.log('this.patient_register',JSON.stringify(this.patient_register),'res.data',JSON.stringify(res.data))
this.patient_register = Object.assign({}, this.patient_register, res.data) this.patient_register = Object.assign({}, this.patient_register, res.data)
} }
}) })

Loading…
Cancel
Save