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-select>
</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">
<el-button @click="btnQuery" size="small" class="commonbutton">查询</el-button>
</div>
@ -91,6 +107,12 @@
:cell-style="tableRowClassNames"
: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="sexName" 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>
</template>
</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="patientNo" label="档案号" width="80" align="center"/>
<el-table-column prop="mobileTelephone" label="手机号" width="120" align="center"/>
@ -173,6 +189,8 @@ export default {
columnData: [],
flag: true,
category: [],
combinationDetails:'Y',
summary:'Y'
};
},
@ -440,16 +458,19 @@ page-break-before: avoid;}}`, // 去除页眉页脚
for (let m = 0; m < that.category.length; m++) {
for (let i = 0; i < bodys.length; i++) {
for (let k = 0; k < bodys[i].registerChecks.length; k++) {
this.$set(
if(that.summary=="Y"){
this.$set(
bodys[i],
// bodys[i].registerChecks[k].registerCheckId +
bodys[i].registerChecks[k].checkName +
"小结",
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++) {
let templatess = JSON.parse(JSON.stringify(template));
let templatess = JSON.parse(JSON.stringify(template));
templatess.prop =
// bodys[i].registerChecks[k].registerCheckId +
bodys[i].registerChecks[k].checkName +
@ -461,7 +482,7 @@ page-break-before: avoid;}}`, // 去除页眉页脚
bodys[i].registerChecks[k].registerCheckItems[j]
.itemName;
that.columnData.push(templatess);
this.$set(
this.$set(
bodys[i],
// bodys[i].registerChecks[k].registerCheckId +
bodys[i].registerChecks[k].checkName +
@ -471,12 +492,15 @@ page-break-before: avoid;}}`, // 去除页眉页脚
)
}
}
}
}
}
if(that.summary=="Y"){
let templates = JSON.parse(JSON.stringify(template));
templates.prop =that.category[m] +"小结";
templates.lable = that.category[m] + "小结";
that.columnData.push(templates);
}
}
this.$nextTick(() => {

146
src/views/customerReport/personnelPositive.vue

@ -1,16 +1,15 @@
<template>
<div class="box">
<div>
<div>
<div class="middlebox">
<div class="contenttitle">
客户报表 /
<span class="contenttitleBold"
>人员阳性结果</span
>
<span class="contenttitleBold">人员阳性结果</span>
</div>
</div>
<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">
<span>体检单位</span>
<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"
style="font-size: 20px;"></el-button>
</el-input>
</div>
</div>
<!-- <div class="query">
<span>检查状态</span>
<el-select v-model="completeFlag" placeholder="请选择" clearable style="width: 80px"
@ -55,35 +54,40 @@
<div class="query">
<el-button @click="onPrint" size="small" class="commonbutton">打印</el-button>
</div>
</div>
</div>
<div ref="imageDom" style="background-color: #fff; padding: 15px; border-radius: 8px;">
<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>
<!--通用选单位体检次数分组的控件-->
<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" />
</el-dialog>
</el-dialog>
</div>
</template>
<script>
import moment from "moment";
import { mapState, mapActions } from "vuex";
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 { exportToExcel } from "../../utlis/Export2Excel";
import html2canvas from "html2canvas";
@ -94,11 +98,17 @@ export default {
CusOrgOCX
},
data() {
return {
return {
dataList: [], //
completeFlag:"",
classification:"Y",
flag:true
completeFlag: "",
classification: "Y",
flag: true,
summary:{
startDate:"",
endDate:"",
femaleCount:"",
maleCount:""
}
};
},
@ -110,13 +120,13 @@ export default {
mounted() {
// this.btnQuery();
},
computed: {
...mapState(["window", "dict","patientRegister","report"]),
...mapState(["window", "dict", "patientRegister", "report"]),
},
methods: {
moment,dddw,
moment, dddw,
//
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);
},
@ -163,10 +173,10 @@ export default {
tableRowClassName({ row, rowIndex }) {
switch (row.isCharge) {
case 'N':
return 'danger';
return 'danger';
default:
return '';
}
}
},
getSummaries(param) {
const { columns, data } = param;
@ -189,7 +199,7 @@ export default {
if (this.report.dataCusOrgOCX.length > 0) {
this.report.dataCusOrgOCX.forEach(e => {
let dateType = '1'
switch (e.dateType) {
switch (e.dateType) {
case 'medicalStartDate':
dateType = '2'
break;
@ -232,7 +242,7 @@ export default {
// }
body.customerOrgs = customerOrgs
// body.diagnosisIds = diagnosisIds
// body.diagnosisIds = diagnosisIds
// if(this.completeFlag) body.completeFlag = this.completeFlag
// body.isAudit=this.classification
@ -243,10 +253,14 @@ export default {
postapi('/api/customerreport/getpatientregisterpositivereport', body).then(res => {
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.$refs.dataList.doLayout();
});
this.$refs.dataList.doLayout();
});
}
})
},
@ -301,20 +315,23 @@ export default {
@import "../../assets/css/global_form.css";
@import "../../assets/css/global_input.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 {
display: flex;
flex-direction: column;
}
::v-deep .el-input__inner {
/*text-align: center;*/
padding-left: 5px;
@ -334,7 +351,8 @@ export default {
::v-deep .el-icon-search:before {
color: #00F;
}
.query:last-child{
.query:last-child {
margin-right: 0;
}
</style>

50
src/views/doctorCheck/unitphysicalexamination.vue

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

Loading…
Cancel
Save