pengjun 2 years ago
parent
commit
be14ea31c9
  1. BIN
      public/pic/occGrant.jpg
  2. 18
      src/components/doctorCheck/ButtonList.vue
  3. 4
      src/components/doctorCheck/CheckItemList.vue
  4. 3
      src/components/doctorCheck/CheckSumSug.vue
  5. 1524
      src/components/follow/FollowCriticalCheck.vue
  6. 3
      src/components/occDisease/occReport.vue
  7. 43
      src/components/report/PatientRegisterListNobtn.vue
  8. 4
      src/components/report/PatientRegisterQueryNobtn.vue
  9. 38
      src/components/sumDoctorCheck/ButtonList.vue
  10. 13
      src/components/sumDoctorCheck/CheckDetails.vue
  11. 6
      src/components/sumDoctorCheck/SumSug.vue
  12. 2
      src/store/index.js
  13. 15
      src/views/doctorCheck/doctorCheck.vue
  14. 6
      src/views/doctorCheck/sumDoctorCheck.vue

BIN
public/pic/occGrant.jpg

After

Width: 704  |  Height: 900  |  Size: 51 KiB

18
src/components/doctorCheck/ButtonList.vue

@ -101,8 +101,9 @@
<!-- 体检人员登记 -->
<el-dialog :title="doctorCheck.prBase.id ? '体检人员--编辑' : '体检人员--新增'" :visible.sync="dialogWin.PatientRegisterEdit"
:close-on-click-modal="false" fullscreen @close="closeDialogWinPatientRegisterEdit">
<el-dialog :title="doctorCheck.prBase.id ? '体检人员--编辑' : '体检人员--新增'"
:visible.sync="dialogWin.PatientRegisterEdit" :close-on-click-modal="false" fullscreen
@close="closeDialogWinPatientRegisterEdit">
<!-- :formInitData="formData" -->
<PatientRegisterEdit style="z-index:30001;" :isDoctor="'1'" :patientRegisterId="doctorCheck.prBase.id"
:editTimes="editTimes" :refreshRegister="refreshRegister" />
@ -121,14 +122,17 @@
</el-dialog>
<el-dialog title="历次结果" :visible.sync="dialogVisibleCheckHistory" :close-on-click-modal="false" width="800px">
<div style="padding: 0 20px;">
<div>
<el-tabs v-model="tabChoosed">
<el-tab-pane label="明细结果" name="2">
<CheckDetails :patientRegisterId="doctorCheck.prBase.id" />
</el-tab-pane>
<el-tab-pane label="项目对比" name="4">
<SumItemsType :patientId="doctorCheck.prBase.patientId" />
<el-tab-pane label="本次图文报告" name="4">
<ImageTextReport :refParams="{ place: 'doctor' }" />
</el-tab-pane>
<!-- <el-tab-pane label="项目对比" name="4">
<SumItemsType :patientId="doctorCheck.prBase.patientId" />
</el-tab-pane> -->
<el-tab-pane label="横向对比" name="5">
<SumItems :patientId="doctorCheck.prBase.patientId" />
</el-tab-pane>
@ -158,6 +162,7 @@ import SumItemsType from "../../components/sumDoctorCheck/SumItemsType.vue";
import SumItems from "../../components/sumDoctorCheck/SumItems.vue";
import SumHistory from "../../components/sumDoctorCheck/SumHistory.vue";
import OccDisease from "../../components/occDisease/OccDisease.vue"
import ImageTextReport from "../../components/occDisease/ImageTextReport.vue";
import moment from 'moment';
export default {
@ -168,7 +173,8 @@ export default {
SumItemsType,
SumItems,
SumHistory,
OccDisease
OccDisease,
ImageTextReport
},
props: ["optGrant", "addSummary", "btnMakeDiagnosis", "save", "audit", "unAudit", "doctorBtnDisabled"],

4
src/components/doctorCheck/CheckItemList.vue

@ -26,7 +26,7 @@
</el-table-column>
<el-table-column prop="criticalFlag" label="危急" width="40" align="center">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.criticalFlag" size="small" true-label="Y" false-label="N" />
<el-checkbox v-model="scope.row.criticalFlag" size="small" true-label="Y" false-label="N" @change="dialogWin.FollowCriticalCheck = true"/>
</template>
</el-table-column>
</el-table>
@ -144,7 +144,7 @@ export default {
},
computed: {
...mapState(["window", "dataTransOpts", "dict", "doctorCheck"]),
...mapState(["window", "dataTransOpts", "dict","dialogWin", "doctorCheck"]),
tableHeight() {
let temp = this.window.pageHeight < 600 ? 600 : this.window.pageHeight

3
src/components/doctorCheck/CheckSumSug.vue

@ -262,8 +262,9 @@ export default {
this.dialogWin.queue = true
},
//
btnCritical(){
console.log('危急值')
this.dialogWin.FollowCriticalCheck = true
},
//

1524
src/components/follow/FollowCriticalCheck.vue
File diff suppressed because it is too large
View File

3
src/components/occDisease/occReport.vue

@ -378,7 +378,7 @@ export default {
//
// if (this.format == 0)
let ReportCode = '0009';
let ReportCode = this.format == 0 ? '0009':'0010';
let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user');
@ -393,6 +393,7 @@ export default {
{ Name: "printer", Value: user },
{ Name: "hisLog", Value: "pic/hisLog.jpg" },
{ Name: 'pageFooter', Value: 'pic/peisQrCode.jpg' },
{ Name: "picExtOne", Value: "pic/occGrant.jpg" },
],
BusinessCode:JSON.stringify(customerOrgs)
};

43
src/components/report/PatientRegisterListNobtn.vue

@ -2,8 +2,8 @@
<div>
<div>
<el-table :data="patientRegister.prList" border ref="info" id="info"
:height="(window.pageHeight < 600) ? 230 : (window.pageHeight - 370)" highlight-current-row @row-click="rowClick"
size="small" @selection-change="handleSelectionChange">
:height="(window.pageHeight < 600) ? 230 : (window.pageHeight - 370)" highlight-current-row
@row-click="rowClick" size="small" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" />
<el-table-column prop="completeFlag" label="体检进度" sortable>
<template slot-scope="scope">
@ -265,7 +265,7 @@ export default {
this.patientRegister.prList = [];
let body = {}
console.log(`this.patientRegister.query`, this.patientRegister.query)
// console.log(`this.patientRegister.query`, this.patientRegister.query)
body = deepCopy(this.patientRegister.query)
if (this.patientRegister.query.customerOrgFlag) {
@ -359,6 +359,37 @@ export default {
postapi('/api/app/peisreport/getpatientregisterreport', body).then(res => {
if (res.code > -1) {
if (this.patientRegister.query.isSeries == 'Y' && this.patientRegister.query.patientRegisterNo) {
if (this.dataTransOpts.tableM.patient_register.length == 0) {
this.patientRegister.prList = res.data.items
// this.dataTransOpts.tableM.patient_register = res.data.items
} else {
// console.log('isSeries',this.patientRegister.prList,res.data.items[0].patientRegisterId)
// console.log('isSeries',arrayExistObj(this.patientRegister.prList,'patientRegisterId',res.data.items[0].patientRegisterId))
if (res.data.items.length > 0 && arrayExistObj(this.patientRegister.prList, 'patientRegisterId', res.data.items[0].patientRegisterId) == -1) {
this.patientRegister.prList = this.patientRegister.prList.concat(res.data.items)
// this.dataTransOpts.tableM.patient_register.push(res.data.items[0])
}
}
if (this.patientRegister.prList.length > 0 && res.data.items.length > 0) {
let lfind = arrayExistObj(this.patientRegister.prList, 'patientRegisterId', res.data.items[0].patientRegisterId)
if (lfind > -1) {
// this.$refs['info'].setCurrentRow();
this.$refs['info'].setCurrentRow(this.patientRegister.prList[lfind]);
this.rowClick(this.patientRegister.prList[lfind])
}
}
//
this.$nextTick(function () {
this.patientRegister.prList.forEach(row => {
if(arrayExistObj(this.dataTransOpts.tableM.patient_register, 'patientRegisterId', row.patientRegisterId) == -1) this.$refs['info'].toggleRowSelection(row)
})
});
} else {
//
this.loadOpts.totalCount = res.data.totalCount
@ -366,11 +397,14 @@ export default {
this.patientRegister.prList = [];
}
this.patientRegister.prList = this.patientRegister.prList.concat(res.data.items)
if (body.skipCount == 0 && this.patientRegister.prList.length == 1) {
if (body.skipCount == 0 && this.patientRegister.prList.length > 0) {
this.rowClick(this.patientRegister.prList[0])
this.$refs['info'].setCurrentRow();
this.$refs['info'].setCurrentRow(this.patientRegister.prList[0]);
} else {
this.$refs['info'].setCurrentRow();
this.dataTransOpts.tableS.patient_register = { id: '' }
//
this.dataTransOpts.refresh.patient_register.S++
@ -380,6 +414,7 @@ export default {
this.dataTransOpts.refresh.register_check.M++
}
}
}
})
},

4
src/components/report/PatientRegisterQueryNobtn.vue

@ -10,6 +10,10 @@
style="font-size: 20px;"></el-button>
</el-input>
</div>
<div class="query">
<span class="spanClass">连续扫码</span>
<el-checkbox v-model="patientRegister.query.isSeries" size="small" true-label="Y" false-label="N" />
</div>
<div class="query">
<span class="spanClass">条码号</span>
<el-input placeholder="条码号" v-model="patientRegister.query.patientRegisterNo" size="small" clearable

38
src/components/sumDoctorCheck/ButtonList.vue

@ -255,6 +255,44 @@ export default {
break
}
}
if (!message) {
let male_disable_keywords = ['子宫', '宫颈', '卵巢', '白带', '阴道']
let female_disable_keywords = ['睾丸', '阴茎']
let disable_keywords = []
switch (this.dataTransOpts.tableS.patient_register.sexId) {
case 'M':
case 'F':
disable_keywords = this.dataTransOpts.tableS.patient_register.sexId == 'M' ? male_disable_keywords : female_disable_keywords
disable_keywords.forEach(key => {
this.sumDoctorCheck.summaryList.forEach(e => {
if (e.summaryTitle && e.summaryTitle.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
if (e.details) {
e.details.forEach(d => {
if (d.summaryContent && d.summaryContent.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
});
}
});
this.sumDoctorCheck.suggestionList.forEach(e => {
if (e.suggestionTitle && e.suggestionTitle.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
if (e.diagnosisNames) {
e.diagnosisNames.forEach(d => {
if (d && d.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
});
}
});
});
break;
default:
break;
}
}
if (message) {
this.$message.error({ showClose: true, message })
return

13
src/components/sumDoctorCheck/CheckDetails.vue

@ -51,7 +51,7 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj, getColorStr } from '@/utlis/proFunc';
export default {
components: {},
props: ["patientRegisterId","tabChoosed"],
props: ["patientRegisterId","tabChoosed","refParams"],
data() {
return {
tableData: [],
@ -69,8 +69,15 @@ export default {
...mapState(['window', 'dict', 'dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
return tempHeight - 195
let tableHeight = 465
switch (this.refParams.place) {
case 'summary': //
tableHeight = (this.window.pageHeight < 600 ? 600 : this.window.pageHeight) - 195
break;
default:
break;
}
return tableHeight
},
},

6
src/components/sumDoctorCheck/SumSug.vue

@ -469,7 +469,7 @@ export default {
//
btnChooseDiagnosis(index) {
this.suggestionCurRow = index
this.choosedDiagnosisIds = this.sumDoctorCheck.suggestionList[index].diagnosisIds
this.choosedDiagnosisIds = this.sumDoctorCheck.suggestionList[index].diagnosisIds||[]
this.disabledDiagnosisIds = []
this.sumDoctorCheck.suggestionList.forEach((e, i) => {
@ -482,8 +482,10 @@ export default {
this.diagnosisesChoosed = []
this.diagnosises.forEach(e => {
if (this.disabledDiagnosisIds.indexOf(e.id) == -1) {
if (e.id && this.disabledDiagnosisIds.indexOf(e.id) == -1) {
console.log('this.disabledDiagnosisIds',e.id,this.disabledDiagnosisIds,this.choosedDiagnosisIds)
if (this.choosedDiagnosisIds.indexOf(e.id) == -1) {
console.log('this.diagnosisesFilter',e.id,this.diagnosisesFilter)
if (this.diagnosisesFilter.length < 20) this.diagnosisesFilter.push(e)
} else {
this.diagnosisesChoosed.push(e)

2
src/store/index.js

@ -142,6 +142,7 @@ export default new Vuex.Store({
patientName: '', //姓名
sex: '', //性别
idCardNo: '', //身份证号
isSeries: 'N',
}, //查询条件
customerOrgGroup: [], //分组(针对单位)
patientRegisterAbs: [], //人员已选组合项目
@ -461,6 +462,7 @@ export default new Vuex.Store({
ImportOrgData: false, // 导入企业(青藏公司)数据
RoomEdit:false, //房间
queue:false, // 排队信息
FollowCriticalCheck:false, // 危急值
}
},

15
src/views/doctorCheck/doctorCheck.vue

@ -58,6 +58,14 @@
</div>
</div>
</div>
<!--组件弹窗-->
<div>
<!-- 危急值 -->
<el-dialog title="危急值" :visible.sync="dialogWin.FollowCriticalCheck" width="800px"
:show-close="false" :close-on-click-modal="false" :append-to-body="true">
<FollowCriticalCheck />
</el-dialog>
</div>
</div>
</template>
<script>
@ -74,7 +82,9 @@ import QueueCheckList from "../../components/doctorCheck/QueueCheckList.vue";
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue";
import CheckSumSug from "../../components/doctorCheck/CheckSumSug.vue";
import RegisterCheckEdit from "../../components/doctorCheck/RegisterCheckEdit.vue";
import FollowCriticalCheck from "../../components/follow/FollowCriticalCheck.vue";
import moment from 'moment';
import Follow from "@/components/follow/follow.vue";
export default {
components: {
@ -85,7 +95,8 @@ export default {
CheckPicture,
CheckItemList,
CheckSumSug,
RegisterCheckEdit
RegisterCheckEdit,
FollowCriticalCheck,
},
data() {
return {
@ -164,7 +175,7 @@ export default {
// },
computed: {
...mapState(["window", "dataTransOpts", "dict", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck"]),
...mapState(["window", "dataTransOpts", "dict", "dialogWin","patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck"]),
},
methods: {

6
src/views/doctorCheck/sumDoctorCheck.vue

@ -35,7 +35,7 @@
</el-tab-pane>
<el-tab-pane label="明细结果" name="2">
<CheckDetails :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed" />
<CheckDetails :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/>
</el-tab-pane>
<!--
<el-tab-pane label="危急值" name="3"> </el-tab-pane>
@ -47,10 +47,10 @@
<ImageTextReport :refParams="{ place: 'summary' }"/>
</el-tab-pane>
<el-tab-pane label="历次结果" name="5">
<SumItems :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed" />
<SumItems :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/>
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">
<SumHistory :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed" />
<SumHistory :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/>
</el-tab-pane>
<!--
<el-tab-pane label="职业病" name="7">

Loading…
Cancel
Save