luobinjie 3 weeks ago
parent
commit
8cf9612bdf
  1. 44
      src/views/customerReport/combinationDetails.vue
  2. 146
      src/views/customerReport/personnelPositive.vue
  3. 50
      src/views/doctorCheck/unitphysicalexamination.vue

44
src/views/customerReport/combinationDetails.vue

@ -63,6 +63,22 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="query">
<el-checkbox
v-model="combinationDetails"
true-label="Y"
false-label="N"
/>
<span style="margin-left: 5px">明细</span>
</div>
<div class="query">
<el-checkbox
v-model="summary"
true-label="Y"
false-label="N"
/>
<span style="margin-left: 5px">小结</span>
</div>
<div class="query"> <div class="query">
<el-button @click="btnQuery" size="small" class="commonbutton">查询</el-button> <el-button @click="btnQuery" size="small" class="commonbutton">查询</el-button>
</div> </div>
@ -91,6 +107,12 @@
:cell-style="tableRowClassNames" :cell-style="tableRowClassNames"
:header-cell-class-name="addClass" :header-cell-class-name="addClass"
> >
<el-table-column prop="customerOrgName" label="单位" min-width="200" />
<el-table-column prop="departmentName" label="部门" min-width="200" >
<template slot-scope="scope">
{{scope.row.customerOrgName == scope.row.departmentName ? '':scope.row.departmentName}}
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" width="80" align="center"/> <el-table-column prop="patientName" label="姓名" width="80" align="center"/>
<el-table-column prop="sexName" label="性别" width="50" align="center"/> <el-table-column prop="sexName" label="性别" width="50" align="center"/>
<el-table-column prop="age" label="年龄" width="50" align="center"/> <el-table-column prop="age" label="年龄" width="50" align="center"/>
@ -99,12 +121,6 @@
<div>{{scope.row.idNo}}&#031;</div> <div>{{scope.row.idNo}}&#031;</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="customerOrgName" label="单位" min-width="200" />
<el-table-column prop="departmentName" label="部门" min-width="200" >
<template slot-scope="scope">
{{scope.row.customerOrgName == scope.row.departmentName ? '':scope.row.departmentName}}
</template>
</el-table-column>
<el-table-column prop="patientRegisterNo" label="条码号" width="100" align="center"/> <el-table-column prop="patientRegisterNo" label="条码号" width="100" align="center"/>
<el-table-column prop="patientNo" label="档案号" width="80" align="center"/> <el-table-column prop="patientNo" label="档案号" width="80" align="center"/>
<el-table-column prop="mobileTelephone" label="手机号" width="120" align="center"/> <el-table-column prop="mobileTelephone" label="手机号" width="120" align="center"/>
@ -173,6 +189,8 @@ export default {
columnData: [], columnData: [],
flag: true, flag: true,
category: [], category: [],
combinationDetails:'Y',
summary:'Y'
}; };
}, },
@ -440,16 +458,19 @@ page-break-before: avoid;}}`, // 去除页眉页脚
for (let m = 0; m < that.category.length; m++) { for (let m = 0; m < that.category.length; m++) {
for (let i = 0; i < bodys.length; i++) { for (let i = 0; i < bodys.length; i++) {
for (let k = 0; k < bodys[i].registerChecks.length; k++) { for (let k = 0; k < bodys[i].registerChecks.length; k++) {
this.$set(
if(that.summary=="Y"){
this.$set(
bodys[i], bodys[i],
// bodys[i].registerChecks[k].registerCheckId + // bodys[i].registerChecks[k].registerCheckId +
bodys[i].registerChecks[k].checkName + bodys[i].registerChecks[k].checkName +
"小结", "小结",
bodys[i].registerChecks[k].registerCheckSummarys bodys[i].registerChecks[k].registerCheckSummarys
); );
if (bodys[i].registerChecks[k].checkName == that.category[m]) {
}
if(this.combinationDetails=="Y"){
if (bodys[i].registerChecks[k].checkName == that.category[m]) {
for (let j = 0;j < bodys[i].registerChecks[k].registerCheckItems.length;j++) { for (let j = 0;j < bodys[i].registerChecks[k].registerCheckItems.length;j++) {
let templatess = JSON.parse(JSON.stringify(template));
let templatess = JSON.parse(JSON.stringify(template));
templatess.prop = templatess.prop =
// bodys[i].registerChecks[k].registerCheckId + // bodys[i].registerChecks[k].registerCheckId +
bodys[i].registerChecks[k].checkName + bodys[i].registerChecks[k].checkName +
@ -461,7 +482,7 @@ page-break-before: avoid;}}`, // 去除页眉页脚
bodys[i].registerChecks[k].registerCheckItems[j] bodys[i].registerChecks[k].registerCheckItems[j]
.itemName; .itemName;
that.columnData.push(templatess); that.columnData.push(templatess);
this.$set(
this.$set(
bodys[i], bodys[i],
// bodys[i].registerChecks[k].registerCheckId + // bodys[i].registerChecks[k].registerCheckId +
bodys[i].registerChecks[k].checkName + bodys[i].registerChecks[k].checkName +
@ -471,12 +492,15 @@ page-break-before: avoid;}}`, // 去除页眉页脚
) )
} }
} }
}
} }
} }
if(that.summary=="Y"){
let templates = JSON.parse(JSON.stringify(template)); let templates = JSON.parse(JSON.stringify(template));
templates.prop =that.category[m] +"小结"; templates.prop =that.category[m] +"小结";
templates.lable = that.category[m] + "小结"; templates.lable = that.category[m] + "小结";
that.columnData.push(templates); that.columnData.push(templates);
}
} }
this.$nextTick(() => { this.$nextTick(() => {

146
src/views/customerReport/personnelPositive.vue

@ -1,16 +1,15 @@
<template> <template>
<div class="box"> <div class="box">
<div>
<div>
<div class="middlebox"> <div class="middlebox">
<div class="contenttitle"> <div class="contenttitle">
客户报表 / 客户报表 /
<span class="contenttitleBold"
>人员阳性结果</span
>
<span class="contenttitleBold">人员阳性结果</span>
</div> </div>
</div> </div>
<div :style="'display: block;'"> <div :style="'display: block;'">
<div style="background-color: #fff; padding: 15px; border-radius: 8px;display: flex;flex-wrap: wrap; margin-bottom: 10px;height:35px;margin-top: 7px;">
<div
style="background-color: #fff; padding: 15px; border-radius: 8px;display: flex;flex-wrap: wrap; margin-bottom: 10px;height:35px;margin-top: 7px;">
<div class="query"> <div class="query">
<span>体检单位</span> <span>体检单位</span>
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:240px;" size="small" <el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:240px;" size="small"
@ -18,7 +17,7 @@
<el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true" <el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true"
style="font-size: 20px;"></el-button> style="font-size: 20px;"></el-button>
</el-input> </el-input>
</div>
</div>
<!-- <div class="query"> <!-- <div class="query">
<span>检查状态</span> <span>检查状态</span>
<el-select v-model="completeFlag" placeholder="请选择" clearable style="width: 80px" <el-select v-model="completeFlag" placeholder="请选择" clearable style="width: 80px"
@ -55,35 +54,40 @@
<div class="query"> <div class="query">
<el-button @click="onPrint" size="small" class="commonbutton">打印</el-button> <el-button @click="onPrint" size="small" class="commonbutton">打印</el-button>
</div> </div>
</div>
</div>
<div ref="imageDom" style="background-color: #fff; padding: 15px; border-radius: 8px;"> <div ref="imageDom" style="background-color: #fff; padding: 15px; border-radius: 8px;">
<el-table :data="dataList" border width="45%" :height="flag <el-table :data="dataList" border width="45%" :height="flag
?window.pageHeight < 600 ? 415 : window.pageHeight - 185-20: ''"
row-key="id" highlight-current-row ref="dataList" :row-class-name="tableRowClassName" id="table" show-summary
:summary-method="getSummaries">
<el-table-column prop="patientNo" label="档案号" width="120"/>
<el-table-column prop="patientName" label="姓名" width="120"/>
<el-table-column prop="sexName" label="性别" width="50"/>
<el-table-column prop="age" label="年龄" width="80"/>
<el-table-column prop="medicalTimes" label="次数" width="50"/>
<el-table-column prop="mobileTelephone" label="手机号码" width="120"/>
<el-table-column prop="diagnosisNames" label="诊断名称" />
</el-table>
? window.pageHeight < 600 ? 415 : window.pageHeight - 185 - 20 : ''" row-key="id" highlight-current-row
ref="dataList" :row-class-name="tableRowClassName" id="table" show-summary :summary-method="getSummaries">
<el-table-column
:label="`开始时间: ${summary.startDate || ''} 结束时间:${summary.endDate || ''} 男性: ${summary.maleCount} 女性: ${summary.femaleCount}`" align="left">
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="customerOrgParentName" label="单位" />
<el-table-column prop="customerOrgName" label="部门" />
<el-table-column prop="patientNo" label="档案号" width="120" />
<el-table-column prop="patientName" label="姓名" width="120" />
<el-table-column prop="sexName" label="性别" width="50" />
<el-table-column prop="age" label="年龄" width="80" />
<el-table-column prop="medicalTimes" label="次数" width="50" />
<el-table-column prop="mobileTelephone" label="手机号码" width="120" />
<el-table-column prop="diagnosisNames" label="检查结果" />
</el-table-column>
</el-table>
</div> </div>
</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>
</div> </div>
</template> </template>
<script> <script>
import moment from "moment"; 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 { dddw, objCopy, arrayReduce, arrayExistObj,tcdate } from "@/utlis/proFunc";
import { dddw, objCopy, arrayReduce, arrayExistObj, tcdate } from "@/utlis/proFunc";
import CusOrgOCX from "../../components/report/CusOrgOCX.vue"; import CusOrgOCX from "../../components/report/CusOrgOCX.vue";
import { exportToExcel } from "../../utlis/Export2Excel"; import { exportToExcel } from "../../utlis/Export2Excel";
import html2canvas from "html2canvas"; import html2canvas from "html2canvas";
@ -94,11 +98,17 @@ export default {
CusOrgOCX CusOrgOCX
}, },
data() { data() {
return {
return {
dataList: [], // dataList: [], //
completeFlag:"",
classification:"Y",
flag:true
completeFlag: "",
classification: "Y",
flag: true,
summary:{
startDate:"",
endDate:"",
femaleCount:"",
maleCount:""
}
}; };
}, },
@ -110,13 +120,13 @@ export default {
mounted() { mounted() {
// this.btnQuery(); // this.btnQuery();
}, },
computed: { computed: {
...mapState(["window", "dict","patientRegister","report"]),
...mapState(["window", "dict", "patientRegister", "report"]),
}, },
methods: { methods: {
moment,dddw,
moment, dddw,
// //
dictInit() { dictInit() {
// //
@ -136,26 +146,26 @@ export default {
} }
}); });
// //
// getapi("/api/app/medical-type/in-filter").then((res) => {
// if (res.code == 1) {
// this.dict.medicalType = res.data.items;
// }
// });
// //
// getapi("/api/app/medical-type/in-filter").then((res) => {
// if (res.code == 1) {
// this.dict.medicalType = res.data.items;
// }
// });
// //
// getapi("/api/app/item-type/by-code-all").then((res) => {
// if (res.code == 1) {
// this.dict.itemTypeTree = res.data;
// tcdate(this.dict.itemTypeTree);
// }
// });
// //
// getapi("/api/app/item-type/by-code-all").then((res) => {
// if (res.code == 1) {
// this.dict.itemTypeTree = res.data;
// tcdate(this.dict.itemTypeTree);
// }
// });
// postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => {
// if (res.code == 1) {
// this.dict.asbItemAll = res.data;
// }
// });
// postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => {
// if (res.code == 1) {
// this.dict.asbItemAll = res.data;
// }
// });
console.log("dict", this.dict); console.log("dict", this.dict);
}, },
@ -163,10 +173,10 @@ export default {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
switch (row.isCharge) { switch (row.isCharge) {
case 'N': case 'N':
return 'danger';
return 'danger';
default: default:
return ''; return '';
}
}
}, },
getSummaries(param) { getSummaries(param) {
const { columns, data } = param; const { columns, data } = param;
@ -189,7 +199,7 @@ export default {
if (this.report.dataCusOrgOCX.length > 0) { if (this.report.dataCusOrgOCX.length > 0) {
this.report.dataCusOrgOCX.forEach(e => { this.report.dataCusOrgOCX.forEach(e => {
let dateType = '1' let dateType = '1'
switch (e.dateType) {
switch (e.dateType) {
case 'medicalStartDate': case 'medicalStartDate':
dateType = '2' dateType = '2'
break; break;
@ -232,7 +242,7 @@ export default {
// } // }
body.customerOrgs = customerOrgs body.customerOrgs = customerOrgs
// body.diagnosisIds = diagnosisIds
// body.diagnosisIds = diagnosisIds
// if(this.completeFlag) body.completeFlag = this.completeFlag // if(this.completeFlag) body.completeFlag = this.completeFlag
// body.isAudit=this.classification // body.isAudit=this.classification
@ -243,10 +253,14 @@ export default {
postapi('/api/customerreport/getpatientregisterpositivereport', body).then(res => { postapi('/api/customerreport/getpatientregisterpositivereport', body).then(res => {
if (res.code != -1) { if (res.code != -1) {
this.dataList = res.data;
this.dataList = res.data.details;
this.summary.startDate=res.data.startDate;
this.summary.endDate=res.data.endDate;
this.summary.femaleCount=res.data.femaleCount;
this.summary.maleCount=res.data.maleCount;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.dataList.doLayout();
});
this.$refs.dataList.doLayout();
});
} }
}) })
}, },
@ -301,20 +315,23 @@ export default {
@import "../../assets/css/global_form.css"; @import "../../assets/css/global_form.css";
@import "../../assets/css/global_input.css"; @import "../../assets/css/global_input.css";
@import "../../assets/css/global.css"; @import "../../assets/css/global.css";
.query{
margin-right: 10px;
display: flex;
justify-content: center;
align-items: center;
font-size: 14px;
color: #232748;
font-size: 400;
font-family: "NotoSansSC-Regular";
.query {
margin-right: 10px;
display: flex;
justify-content: center;
align-items: center;
font-size: 14px;
color: #232748;
font-size: 400;
font-family: "NotoSansSC-Regular";
} }
.box { .box {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
::v-deep .el-input__inner { ::v-deep .el-input__inner {
/*text-align: center;*/ /*text-align: center;*/
padding-left: 5px; padding-left: 5px;
@ -334,7 +351,8 @@ export default {
::v-deep .el-icon-search:before { ::v-deep .el-icon-search:before {
color: #00F; color: #00F;
} }
.query:last-child{
.query:last-child {
margin-right: 0; margin-right: 0;
} }
</style> </style>

50
src/views/doctorCheck/unitphysicalexamination.vue

@ -56,7 +56,7 @@
<el-table-column :label="reportTitle"> <el-table-column :label="reportTitle">
<el-table-column :label="`单位: ${customerOrgName||''} 体检次数 ${medicalTimes||''} 开始月份: ${startMonth||''} 结束月份: ${endMonth||''}`"> <el-table-column :label="`单位: ${customerOrgName||''} 体检次数 ${medicalTimes||''} 开始月份: ${startMonth||''} 结束月份: ${endMonth||''}`">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.patientRegisterPositiveReports" border show-summary
<el-table :data="scope.row.patientRegisterPositiveReports.details" border show-summary
:summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle"> :summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle">
<el-table-column label="人员阳性结果清单"> <el-table-column label="人员阳性结果清单">
<el-table-column :label="`${startDate||''} <el-table-column :label="`${startDate||''}
@ -65,11 +65,11 @@
体检人员共计 体检人员共计
${sumMedicalNumber|| ''} ${sumMedicalNumber|| ''}
其中男 其中男
${maleMedicalNumber|| ''}
${maleMedicalNumber}
${femaleMedicalNumber||''}
${femaleMedicalNumber}
其他 其他
${otherMedicalNumber||''}
${otherMedicalNumber}
`"> `">
<el-table-column prop="patientNo" label="档案号" width="120" /> <el-table-column prop="patientNo" label="档案号" width="120" />
<el-table-column prop="patientName" label="姓名" width="120" /> <el-table-column prop="patientName" label="姓名" width="120" />
@ -89,13 +89,13 @@
${endDate||''} ${endDate||''}
体检人员共计 体检人员共计
${sumMedicalNumber|| ''}
${sumMedicalNumber}
其中男 其中男
${maleMedicalNumber|| ''}
${maleMedicalNumber}
${femaleMedicalNumber||''}
${femaleMedicalNumber}
其他 其他
${otherMedicalNumber||''}
${otherMedicalNumber}
`"> `">
<template slot-scope="scopes"> <template slot-scope="scopes">
<el-table :data="scopes.row.patientRegisters" border show-summary <el-table :data="scopes.row.patientRegisters" border show-summary
@ -130,13 +130,13 @@
${endDate||''} ${endDate||''}
体检人员共计 体检人员共计
${sumMedicalNumber|| ''}
${sumMedicalNumber}
其中男 其中男
${maleMedicalNumber|| ''}
${maleMedicalNumber}
${femaleMedicalNumber||''}
${femaleMedicalNumber}
其他 其他
${otherMedicalNumber||''}
${otherMedicalNumber}
`"> `">
<el-table-column label="序号" type="index"> <el-table-column label="序号" type="index">
</el-table-column> </el-table-column>
@ -164,20 +164,20 @@
<el-table-column :label="reducereportTitle"> <el-table-column :label="reducereportTitle">
<el-table-column :label="`单位: ${customerOrgName||''} 体检次数 ${medicalTimes||''} 开始月份: ${startMonth||''} 结束月份: ${endMonth||''}`"> <el-table-column :label="`单位: ${customerOrgName||''} 体检次数 ${medicalTimes||''} 开始月份: ${startMonth||''} 结束月份: ${endMonth||''}`">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.patientRegisterPositiveReports" border show-summary
<el-table :data="scope.row.patientRegisterPositiveReports.details" border show-summary
:summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle"> :summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle">
<el-table-column label="人员阳性结果清单"> <el-table-column label="人员阳性结果清单">
<el-table-column :label="`${reducestartDate||''} <el-table-column :label="`${reducestartDate||''}
${reduceendDate||''} ${reduceendDate||''}
体检人员共计 体检人员共计
${reducesumMedicalNumber||''}
${reducesumMedicalNumber}
其中男 其中男
${reducemaleMedicalNumber||''}
${reducemaleMedicalNumber}
${reducefemaleMedicalNumber||''}
${reducefemaleMedicalNumber}
其他 其他
${reduceotherMedicalNumber||''}
${reduceotherMedicalNumber}
`"> `">
<el-table-column prop="patientNo" label="档案号" width="120" /> <el-table-column prop="patientNo" label="档案号" width="120" />
<el-table-column prop="patientName" label="姓名" width="120" /> <el-table-column prop="patientName" label="姓名" width="120" />
@ -198,13 +198,13 @@
${reduceendDate||''} ${reduceendDate||''}
体检人员共计 体检人员共计
${reducesumMedicalNumber||''}
${reducesumMedicalNumber}
其中男 其中男
${reducemaleMedicalNumber||''}
${reducemaleMedicalNumber}
${reducefemaleMedicalNumber||''}
${reducefemaleMedicalNumber}
其他 其他
${reduceotherMedicalNumber||''}
${reduceotherMedicalNumber}
`"> `">
<el-table-column label="序号" type="index"> <el-table-column label="序号" type="index">
</el-table-column> </el-table-column>
@ -222,13 +222,13 @@
${reduceendDate||''} ${reduceendDate||''}
体检人员共计 体检人员共计
${reducesumMedicalNumber||''}
${reducesumMedicalNumber}
其中男 其中男
${reducemaleMedicalNumber||''}
${reducemaleMedicalNumber}
${reducefemaleMedicalNumber||''}
${reducefemaleMedicalNumber}
其他 其他
${reduceotherMedicalNumber||''}
${reduceotherMedicalNumber}
`"> `">
<el-table-column label="序号" type="index"> <el-table-column label="序号" type="index">
</el-table-column> </el-table-column>

Loading…
Cancel
Save