luobinjie 3 months ago
parent
commit
2570f84a75
  1. 27
      src/components/doctorCheck/PatientRegisterList.vue
  2. 13
      src/components/patientRegister/PatientRegisterList.vue
  3. 29
      src/components/report/PatientRegisterListNobtn.vue
  4. 45
      src/components/sumDoctorCheck/CheckDetails.vue

27
src/components/doctorCheck/PatientRegisterList.vue

@ -43,9 +43,9 @@
style="width:140px;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-option v-for="item in users" :key="item.id" :value="item.id" :label="item.surname" />
</el-select> </el-select>
<el-select v-model="local.query.checkAsb" placeholder="请选择组合项目" size="small" filterable
<el-select v-model="local.query.checkAsbs" placeholder="请选择组合项目" size="small" filterable
:filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(asbItemQuick)" default-first-option :filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(asbItemQuick)" default-first-option
ref="quickAsbOCX" style="width:200px;text-align: left;margin-left: 2px;">
ref="quickAsbOCX" style="width:200px;text-align: left;margin-left: 2px;" multiple collapse-tags>
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" /> <el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select> </el-select>
</div> </div>
@ -178,6 +178,12 @@
</span> </span>
</div> </div>
</div> </div>
<el-table v-if="checkStatistics.length > 0 ? true:false" :data="checkStatistics" border height="105">
<el-table-column prop="checkStatus" label="检查" />
<el-table-column prop="maleCount" label="男" />
<el-table-column prop="femaleCount" label="女" />
<el-table-column prop="unknownCount" label="未知" />
</el-table>
<!--通用选单位体检次数分组的控件--> <!--通用选单位体检次数分组的控件-->
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false" <el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false"
@ -206,6 +212,7 @@ export default {
data() { data() {
return { return {
dataList: [], // dataList: [], //
checkStatistics:[], //
multipleSelection: [], // multipleSelection: [], //
dialogVisible: false, dialogVisible: false,
dialogCamera: false, dialogCamera: false,
@ -227,7 +234,6 @@ export default {
sex: '', // sex: '', //
idCardNo: '', // idCardNo: '', //
haveImage: false, haveImage: false,
checkAsb: '', //
checkCompleteFlag: '', // checkCompleteFlag: '', //
isAuditCheck: '', // isAuditCheck: '', //
medicalTypeIds: [], medicalTypeIds: [],
@ -276,8 +282,12 @@ export default {
return 175 return 175
} }
}, },
//
tableHeight() { tableHeight() {
return this.winAbsolute ? (this.window.pageHeight - 46 - 30 - this.divHeight) : (this.window.pageHeight - 46 - this.divHeight)
let tableH = this.winAbsolute ? (this.window.pageHeight - 46 - 30 - this.divHeight) : (this.window.pageHeight - 46 - this.divHeight)
if(this.checkStatistics.length > 0) tableH = tableH - 105
return tableH
}, },
}, },
methods: { methods: {
@ -500,7 +510,7 @@ export default {
if (this.local.query.sex) body.sexId = this.local.query.sex if (this.local.query.sex) body.sexId = this.local.query.sex
if (this.local.query.isAudit) body.isAudit = this.local.query.isAudit if (this.local.query.isAudit) body.isAudit = this.local.query.isAudit
if (this.local.query.completeFlag) body.completeFlag = this.local.query.completeFlag if (this.local.query.completeFlag) body.completeFlag = this.local.query.completeFlag
if (this.local.query.checkAsb) body.asbitems = [this.local.query.checkAsb]
if (Array.isArray(this.local.query.checkAsbs) && this.local.query.checkAsbs.length > 0) body.asbitems = this.local.query.checkAsbs
if (this.local.query.haveImage) body.isPicture = 'Y' if (this.local.query.haveImage) body.isPicture = 'Y'
if (this.local.query.checkCompleteFlag) body.asbitemCompleteFlag = this.local.query.checkCompleteFlag if (this.local.query.checkCompleteFlag) body.asbitemCompleteFlag = this.local.query.checkCompleteFlag
if (this.local.query.isAuditCheck) body.asbitemIsAudit = this.local.query.isAuditCheck if (this.local.query.isAuditCheck) body.asbitemIsAudit = this.local.query.isAuditCheck
@ -541,9 +551,12 @@ export default {
// //
this.loadOpts.totalCount = res.data.totalCount this.loadOpts.totalCount = res.data.totalCount
if (body.skipCount == 0) this.dataList = [];
if (body.skipCount == 0){
this.dataList = []
this.checkStatistics = []
}
this.dataList = this.dataList.concat(res.data.items) this.dataList = this.dataList.concat(res.data.items)
this.checkStatistics = res.data.checkStatistics||[]
} }
}) })
// .finally(() =>{ // .finally(() =>{

13
src/components/patientRegister/PatientRegisterList.vue

@ -1937,12 +1937,13 @@ export default {
this.patientRegister.query.isSeries, this.patientRegister.query.isSeries,
this.patientRegister.query.patientRegisterNo this.patientRegister.query.patientRegisterNo
); );
if (
!(
this.patientRegister.query.isSeries == "Y" &&
this.patientRegister.query.patientRegisterNo
)
) {
if (this.patientRegister.query.isSeries == "Y" && this.patientRegister.query.patientRegisterNo){
//
for (let index = curLoad.length - 1; index > -1; index--) {
const e = curLoad[index];
if(arrayExistObj(this.tableData,'id',e.id) > -1) curLoad.splice(index,1)
}
}else{
if (body.skipCount == 0) { if (body.skipCount == 0) {
// //
this.tableData = []; this.tableData = [];

29
src/components/report/PatientRegisterListNobtn.vue

@ -528,17 +528,12 @@ export default {
postapi('/api/app/peisreport/getpatientregisterreport', body).then(res => { postapi('/api/app/peisreport/getpatientregisterreport', body).then(res => {
if (res.code > -1) { if (res.code > -1) {
this.lazyLoading = false this.lazyLoading = false
if (this.patientRegister.query.isSeries == 'Y' && this.patientRegister.query.patientRegisterNo) {
if (this.dataTransOpts.tableM.patient_register.length == 0) {
this.patientRegister.prList = this.prListTrans(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(this.prListTrans(res.data.items))
// this.dataTransOpts.tableM.patient_register.push(res.data.items[0])
}
//
// console.log('this.patientRegister.query',this.patientRegister.query)
if (this.patientRegister.query.isSeries == 'Y' && this.patientRegister.query.patientRegisterNo ) {
if (res.data.items.length > 0 && arrayExistObj(this.patientRegister.prList, 'patientRegisterId', res.data.items[0].patientRegisterId) == -1) {
this.patientRegister.prList = this.patientRegister.prList.concat(this.prListTrans(res.data.items))
} }
if (this.patientRegister.prList.length > 0 && res.data.items.length > 0) { if (this.patientRegister.prList.length > 0 && res.data.items.length > 0) {
@ -550,12 +545,12 @@ export default {
} }
} }
//
this.$nextTick(function () {
this.patientRegister.prList.forEach(row => {
if (arrayExistObj(this.dataTransOpts.tableM.patient_register, 'patientRegisterId', row.patientRegisterId) == -1) this.$refs['info'].toggleRowSelection(row)
})
});
// ()
// this.$nextTick(function () {
// this.patientRegister.prList.forEach(row => {
// this.$refs['info'].toggleRowSelection(row)
// })
// });
} else { } else {
// //

45
src/components/sumDoctorCheck/CheckDetails.vue

@ -10,9 +10,9 @@
cellspacing="0" bordercolor="#909399" style="border-collapse:collapse;"> cellspacing="0" bordercolor="#909399" style="border-collapse:collapse;">
<tr height="24"> <tr height="24">
<td width="200" class="tdCellClass">{{ item2.asbitemNames }}</td> <td width="200" class="tdCellClass">{{ item2.asbitemNames }}</td>
<td width="604" class="tdCellClass" colspan="7">{{ '检查日期:' + item2.checkDate.substring(0, 10) + ' 检查医生:' +
item2.checkDoctorName
}}</td>
<td width="604" class="tdCellClass" colspan="7" style="white-space: pre-line;">
{{ getCheckDisp(item2) }}
</td>
</tr> </tr>
<tr style="text-align: center;" height="24"> <tr style="text-align: center;" height="24">
@ -55,6 +55,11 @@
<template slot="header"> <template slot="header">
<div style="width: 180px;background-color: #f4f8ff;">组合项目</div> <div style="width: 180px;background-color: #f4f8ff;">组合项目</div>
</template> </template>
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
{{ scope.row.asbitemNames }}
</div>
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@ -64,11 +69,10 @@
style="font-size:14px;border-collapse:collapse;"> style="font-size:14px;border-collapse:collapse;">
<tr height="24"> <tr height="24">
<td width="200" class="tdCellClass">{{ details.asbitemNames }}</td> <td width="200" class="tdCellClass">{{ details.asbitemNames }}</td>
<td width="604" class="tdCellClass" colspan="7">{{ '检查日期:' + details.checkDate + ' 检查医生:' +
details.checkDoctorName
}}</td>
<td width="604" class="tdCellClass" colspan="7" style="white-space: pre-line;">
{{ getCheckDisp(details) }}
</td>
</tr> </tr>
<tr style="text-align: center;" height="24"> <tr style="text-align: center;" height="24">
<td width="160">项目</td> <td width="160">项目</td>
<td width="280">本次结果</td> <td width="280">本次结果</td>
@ -106,7 +110,8 @@
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import Sortable from "sortablejs"; import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj, deepCopy, getColorStr } from '@/utlis/proFunc';
import { arrayExistObj, deepCopy, getColorStr, setCheckStatusColor } from '@/utlis/proFunc';
export default { export default {
components: {}, components: {},
props: ["patientRegisterId", "tabChoosed", "refParams",], props: ["patientRegisterId", "tabChoosed", "refParams",],
@ -152,7 +157,7 @@ export default {
}, },
methods: { methods: {
getColorStr,
getColorStr,setCheckStatusColor,
// //
CheckDetails(patientRegisterId) { CheckDetails(patientRegisterId) {
this.tableData = [] this.tableData = []
@ -185,6 +190,28 @@ export default {
}); });
}, },
//
getCheckDisp(details) {
let ret = ''
if (details.checkDate && details.checkDoctorName) {
ret = '检 查 日 期 : ' + details?.checkDate.substring(0, 10) + ' 检查医生:' + details.checkDoctorName
}
if (details.previousCheckDate && details.previousCheckDoctorName) {
if (ret) {
ret += '\n上 次 日 期 : ' + details?.previousCheckDate.substring(0, 10) + ' 检查医生:' + details.previousCheckDoctorName
} else {
ret = '上 次 日 期 : ' + details?.previousCheckDate.substring(0, 10) + ' 检查医生:' + details.previousCheckDoctorName
}
}
if (details.previousTwoCheckDate && details.previousTwoCheckDoctorName) {
if (ret) {
ret += '\n上上次日期: ' + details?.previousTwoCheckDate.substring(0, 10) + ' 检查医生:' + details.previousTwoCheckDoctorName
} else {
ret = '上上次日期: ' + details?.previousTwoCheckDate.substring(0, 10) + ' 检查医生:' + details.previousTwoCheckDoctorName
}
}
return ret
},
mergeSummarys(array, itemKey) { mergeSummarys(array, itemKey) {

Loading…
Cancel
Save