pengjun 3 months ago
parent
commit
038fd5eb0a
  1. 2
      src/components/doctorCheck/ButtonList.vue
  2. 72
      src/components/doctorCheck/PatientRegisterList.vue
  3. 149
      src/components/report/BtnReport.vue
  4. 2
      src/components/sumDoctorCheck/ButtonList.vue

2
src/components/doctorCheck/ButtonList.vue

@ -107,7 +107,7 @@
<div v-show="doctorCheck.doctorCheckDialogVisible"
:style="`z-index:2;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:50px;right:120px;width:300px;height: ${window.pageHeight - 42 - 10}px;opacity:1;`">
:style="`z-index:2;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:50px;right:120px;width:350px;height: ${window.pageHeight - 42 - 10}px;opacity:1;`">
<PatientRegisterList win="doctorCheck" :winAbsolute="true" />

72
src/components/doctorCheck/PatientRegisterList.vue

@ -10,7 +10,7 @@
</el-tooltip>
</div>
<div class="query" style="display: flex;padding-top: 2px;">
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:238px;" size="small"
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:288px;" size="small"
disabled>
</el-input>
<el-button icon="el-icon-search" @click="report.dialogCusOrgOCX = true"
@ -19,65 +19,63 @@
<div class="query">
<span>姓名</span>
<el-input placeholder="姓名" v-model="local.query.patientName" size="small" clearable style="width: 110px" />
<el-input placeholder="姓名" v-model="local.query.patientName" size="small" clearable style="width: 130px" />
</div>
<div class="query">
<span>性别</span>
<el-select v-model="local.query.sex" placeholder="请选择" clearable style="width: 80px" size="small">
<el-select v-model="local.query.sex" placeholder="请选择" clearable style="width: 120px" size="small">
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
</div>
<div class="query">
<span>体检类别</span>
<el-select v-model="local.query.medicalTypeIds" placeholder="请选择" clearable filterable style="width: 207px"
<el-select v-model="local.query.medicalTypeIds" placeholder="请选择体检类别" clearable filterable style="width: 170px"
size="small" multiple collapse-tags>
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
<el-select v-model="local.query.personnelTypeIds" placeholder="请选择人员类别" clearable filterable style="width: 170px;margin-left: 2px;"
size="small" multiple collapse-tags >
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div v-if="win == 'doctorCheck'" class="query">
<span>检查医生</span>
<el-select v-model="local.query.checkDoctorIds" placeholder="请选择医生" size="small" filterable clearable
style="width:207px;text-align: left;" multiple collapse-tags>
style="width:140px;text-align: left;" multiple collapse-tags>
<el-option v-for="item in users" :key="item.id" :value="item.id" :label="item.surname" />
</el-select>
<el-select v-model="local.query.checkAsb" placeholder="请选择组合项目" size="small" filterable
:filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(asbItemQuick)" default-first-option
ref="quickAsbOCX" style="width:200px;text-align: left;margin-left: 2px;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>
<div v-else class="query">
<span>总检医生</span>
<el-select v-model="local.query.summaryDoctorIds" placeholder="请选择医生" size="small" filterable clearable
style="width:207px;text-align: left;" multiple collapse-tags>
style="width:270px;text-align: left;" multiple collapse-tags>
<el-option v-for="item in users" :key="item.id" :value="item.id" :label="item.surname" />
</el-select>
</div>
<div class="query">
<span>人员状态</span>
<el-select v-model="local.query.completeFlag" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option v-for="item in local.completeFlag" :key="item.id" :label="item.displayName" :value="item.id">
<div class="query" v-if="win == 'doctorCheck'">
<span>检查状态</span>
<el-select v-model="local.query.checkCompleteFlag" placeholder="请选择" clearable style="width: 110px" size="small">
<el-option v-for="item in dict.checkCompleteFlag" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
<el-select v-model="local.query.isAudit" placeholder="请选择" clearable style="width: 75px;margin: 0 2px;"
<el-select v-model="local.query.isAuditCheck" placeholder="请选择" clearable style="width: 95px;margin: 0 2px;"
size="small">
<el-option label="未审核" value="N" />
<el-option label="已审核" value="Y" />
</el-select>
<el-checkbox v-if="win == 'doctorCheck'" v-model="local.query.haveImage">有图</el-checkbox>
<el-checkbox v-model="local.query.haveImage">有图</el-checkbox>
</div>
<div class="query" v-if="win == 'doctorCheck'">
<span>组合项目</span>
<el-select v-model="local.query.checkAsb" placeholder="请选择组合项目" size="small" filterable
:filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(asbItemQuick)" default-first-option
ref="quickAsbOCX" style="width:207px;text-align: left;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>
<div class="query" v-if="win == 'doctorCheck'">
<span>检查状态</span>
<el-select v-model="local.query.checkCompleteFlag" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option v-for="item in dict.checkCompleteFlag" :key="item.id" :label="item.displayName" :value="item.id">
<div class="query">
<span>人员状态</span>
<el-select v-model="local.query.completeFlag" placeholder="请选择" clearable style="width: 110px" size="small">
<el-option v-for="item in local.completeFlag" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
<el-select v-model="local.query.isAuditCheck" placeholder="请选择" clearable style="width: 75px;margin: 0 2px;"
<el-select v-model="local.query.isAudit" placeholder="请选择" clearable style="width: 95px;margin: 0 2px;"
size="small">
<el-option label="未审核" value="N" />
<el-option label="已审核" value="Y" />
@ -93,7 +91,7 @@
<u-table :data="dataList" border width="100%" :height="tableHeight" row-key="id" size="small" highlight-current-row
@row-click="rowClick" @row-dblclick="rowDblclick" ref="info" id="info" style="border-radius:10px;"
:row-class-name="tableRowClassName" @table-body-scroll="scrollFull" use-virtual :row-height="23" big-data-checkbox :data-changes-scroll-top="false">
<u-table-column type="index" label="序号" width="40" align="center" />
<u-table-column type="index" label="序号" width="50" align="center" />
<u-table-column prop="customerOrgParentName" label="单位" width="120" sortable show-overflow-tooltip>
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName :
@ -233,6 +231,7 @@ export default {
checkCompleteFlag: '', //
isAuditCheck: '', //
medicalTypeIds: [],
personnelTypeIds: [],
checkDoctorIds: [],
summaryDoctorIds: [],
},
@ -272,9 +271,9 @@ export default {
...mapState(["window", "dataTransOpts", "dict", "customerOrg", "patientRegister", "doctorCheck", "sumDoctorCheck", "report"]),
divHeight() {
if (this.win == "doctorCheck") {
return 240
return 210
} else {
return 170
return 175
}
},
tableHeight() {
@ -331,6 +330,13 @@ export default {
}
});
//
getapi("/api/app/personnel-type/in-filter").then((res) => {
if (res.code == 1) {
this.dict.personnelType = res.data;
}
});
//
postapi('/api/app/asbitem/GetBasicList', { isFilterActive: 'Y' }).then(res => {
if (res.code != -1) {
@ -501,6 +507,10 @@ export default {
if (Array.isArray(this.local.query.medicalTypeIds) && this.local.query.medicalTypeIds.length > 0) {
body.medicalTypeIds = this.local.query.medicalTypeIds
}
if (Array.isArray(this.local.query.personnelTypeIds) && this.local.query.personnelTypeIds.length > 0) {
body.personnelTypeIds = this.local.query.personnelTypeIds
}
if (Array.isArray(this.local.query.checkDoctorIds) && this.local.query.checkDoctorIds.length > 0) {
body.checkDoctorIds = this.local.query.checkDoctorIds
}

149
src/components/report/BtnReport.vue

@ -2,151 +2,81 @@
<div>
<div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnQuery"
>查询</el-button
>
<el-button type="primary" class="commonbutton" @click="btnQuery">查询</el-button>
</div>
<div class="listBtn">
<el-button
type="primary"
class="commonbutton"
@click="btnImportResult('pacs')"
>导入检查结果</el-button
>
<el-button type="primary" class="commonbutton" @click="btnImportResult('pacs')">导入检查结果</el-button>
</div>
<div class="listBtn">
<el-button
type="primary"
class="commonbutton"
@click="btnImportResult('lis')"
>导入检验结果</el-button
>
<el-button type="primary" class="commonbutton" @click="btnImportResult('lis')">导入检验结果</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnReport(true)"
>预览报告</el-button
>
<el-button type="primary" class="commonbutton" @click="btnReport(true)">预览报告</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnReport(false)"
>打印报告</el-button
>
<el-button type="primary" class="commonbutton" @click="btnReport(false)">打印报告</el-button>
</div>
<div class="listBtn">
<el-button
type="primary"
class="commonbutton"
@click="btnReportExport(false)"
>导出 pdf 报告</el-button
>
<el-button type="primary" class="commonbutton" @click="btnReportExport(false)">导出 pdf 报告</el-button>
</div>
<div class="listBtn">
<el-button
type="primary"
class="commonbutton"
@click="btnGetReport('Y')"
>领取报告</el-button
>
<el-button type="primary" class="commonbutton" @click="btnGetReport('Y')">领取报告</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnUpReport"
>上传Web</el-button
>
<el-button type="primary" class="commonbutton" @click="btnUpReport">上传Web</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnCheckHistory"
>历次结果</el-button
>
<el-button type="primary" class="commonbutton" @click="btnCheckHistory">历次结果</el-button>
</div>
<div class="listBtn">
<!-- <download-excel :fields="jsonFields" :fetch="btnExport" type="xls" :name="xlsName">
<el-button type="" class="commonbutton" style="width:100%">人员信息导出</el-button>
</download-excel> -->
<el-button type="" class="commonbutton" @click="btnExport"
>人员信息导出</el-button
>
<el-button type="" class="commonbutton" @click="btnExport">人员信息导出</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="exportZip"
>导出Zip</el-button
>
<el-button type="primary" class="commonbutton" @click="exportZip">导出Zip</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="exportJpg"
>导出Jpg</el-button
>
<el-button type="primary" class="commonbutton" @click="exportJpg">导出Jpg</el-button>
</div>
</div>
<div>
<!-- 通用进度条 -->
<el-dialog
title="数据处理中……"
:visible.sync="elProgress.display"
width="640px"
:show-close="false"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="数据处理中……" :visible.sync="elProgress.display" width="640px" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<ElProgressOCX />
</el-dialog>
<el-dialog
title="报告领取"
:visible.sync="dialogGetReport"
width="350px"
:show-close="false"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="报告领取" :visible.sync="dialogGetReport" width="350px" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<div>
<div class="query" style="display: flex; margin: 0 0 30px 10px">
<span class="spanClass">领取人</span>
<el-input
placeholder="领取人"
v-model="receiveReport.reportReceiveName"
size="small"
clearable
style="width: 120px"
/>
<el-input placeholder="领取人" v-model="receiveReport.reportReceiveName" size="small" clearable
style="width: 120px" />
</div>
<div style="display: flex; justify-content: space-between">
<div></div>
<div style="display: flex">
<div>
<el-button
type="primary"
class="commonbutton"
@click="btnGetReportOk"
>确定</el-button
>
<el-button type="primary" class="commonbutton" @click="btnGetReportOk">确定</el-button>
</div>
<div style="margin-left: 10px">
<el-button
type="primary"
class="commonbutton"
@click="dialogGetReport = false"
>取消</el-button
>
<el-button type="primary" class="commonbutton" @click="dialogGetReport = false">取消</el-button>
</div>
</div>
</div>
</div>
</el-dialog>
<el-dialog
title="历次结果"
:visible.sync="dialogVisibleCheckHistory"
:close-on-click-modal="false"
width="900px"
>
<el-dialog title="历次结果" :visible.sync="dialogVisibleCheckHistory" :close-on-click-modal="false" width="900px">
<div>
<el-tabs v-model="tabChoosed">
<!---->
<el-tab-pane label="明细结果" name="2">
<CheckDetails
:patientRegisterId="dataTransOpts.tableS.patient_register.id"
:refParams="{ place: 'doctor' }"
/>
<CheckDetails :patientRegisterId="dataTransOpts.tableS.patient_register.id"
:refParams="{ place: 'doctor' }" />
</el-tab-pane>
<el-tab-pane label="本次图文报告" name="4">
<ImageTextReport :refParams="{ place: 'doctor' }" />
@ -155,16 +85,10 @@
<SumItemsType :patientId="doctorCheck.prBase.patientId" />
</el-tab-pane> -->
<el-tab-pane label="横向对比" name="5">
<SumItems
:patientId="dataTransOpts.tableS.patient_register.id"
:refParams="{ place: 'doctor' }"
/>
<SumItems :patientId="dataTransOpts.tableS.patient_register.id" :refParams="{ place: 'doctor' }" />
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">
<SumHistory
:patientId="dataTransOpts.tableS.patient_register.id"
:refParams="{ place: 'doctor' }"
/>
<SumHistory :patientId="dataTransOpts.tableS.patient_register.id" :refParams="{ place: 'doctor' }" />
</el-tab-pane>
</el-tabs>
</div>
@ -800,7 +724,7 @@ export default {
let user = window.sessionStorage.getItem("user");
let toOutShell = {
ReportCode,
Templatecode:undefined,
Templatecode: undefined, //
token,
isBuildImage: "N",
IsUploadPdf: "N",
@ -829,16 +753,25 @@ export default {
],
};
//
let JSONtoOutShell = ''
if (isPreview) {
toOutShell.ReportCode =
rds[0].isPatientOccupationalDisease == "Y" ? "0006" : "0005";
toOutShell.BusinessCode = rds[0].patientRegisterId;
//
if (toOutShell.ReportCode == "0005" && rd.reportFormatTemplateId) toOutShell.Templatecode = rds[0].reportFormatTemplateId
//
if (this.medical_report_print_after_summary_check_is_audit == 'Y') {
//if (rds[0].completeFlag != "3") toOutShell.preViewCanPrint = "N";
//if (rd.completeFlag != "3") toOutShell.preViewCanPrint = "N";
if (rds[0].isAudit == "N") toOutShell.preViewCanPrint = "N";
}
// let res = await postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.patientRegister.patientRegisterId}`)
// toOutShell.ReportTable = res.data
let JSONtoOutShell = JSON.stringify(toOutShell);
if (isPreview) {
JSONtoOutShell = JSON.stringify(toOutShell);
console.log("$peisAPI.printPre", toOutShell, JSONtoOutShell);
this.$peisAPI
.printPre(JSONtoOutShell)

2
src/components/sumDoctorCheck/ButtonList.vue

@ -101,7 +101,7 @@
</div>
<div v-show="sumDoctorCheck.sumDoctorCheckDialogVisible"
:style="`z-index:3;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:50px;right:120px;width:300px;height: ${window.pageHeight - 42 - 10}px;opacity:1;`">
:style="`z-index:3;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:50px;right:120px;width:350px;height: ${window.pageHeight - 42 - 10}px;opacity:1;`">
<PatientRegisterList win="sumDoctorCheck" :winAbsolute="true" />

Loading…
Cancel
Save