Browse Source

sumDoctor

master
pengjun 2 years ago
parent
commit
0429f28f28
  1. 223
      src/components/doctorCheck/PatientRegisterBase.vue
  2. 2
      src/components/sumDoctorCheck/ButtonList.vue
  3. 19
      src/components/sumDoctorCheck/CheckDetails.vue
  4. 64
      src/components/sumDoctorCheck/SumAsbItemStatus.vue
  5. 19
      src/components/sumDoctorCheck/SumDiagnosis.vue
  6. 21
      src/components/sumDoctorCheck/SumHistory.vue
  7. 22
      src/components/sumDoctorCheck/SumItems.vue
  8. 18
      src/components/sumDoctorCheck/SumItemsType.vue
  9. 98
      src/components/sumDoctorCheck/SumPREdit.vue
  10. 17
      src/components/sumDoctorCheck/SumSug.vue
  11. 21
      src/store/index.js

223
src/components/doctorCheck/PatientRegisterBase.vue

@ -7,11 +7,11 @@
</div>
<div>
<span class="query">档案号</span>
<el-input placeholder="档案号" v-model="prBase.patientNo" size="small" style="width: 100px;" clearable/>
<el-input placeholder="档案号" v-model="prBase.patientNo" size="small" style="width: 100px;" clearable />
</div>
<div>
<span class="query">姓名</span>
<el-input placeholder="姓名" v-model="prBase.patientName" size="small" style="width: 100px;" clearable/>
<el-input placeholder="姓名" v-model="prBase.patientName" size="small" style="width: 100px;" clearable />
</div>
<div>
<span class="query">性别</span>
@ -66,18 +66,18 @@
</div>
</div>
<!-- 体检人员记录列表 -->
<el-dialog title="体检人员列表" :visible.sync="dialogWin.PatientRegisterForChoose" width="800px" :show-close="false" :close-on-click-modal="false"
:append-to-body="true">
<PatientRegisterForChoose :params="PatientRegisterForChooseParams"/>
<el-dialog title="体检人员列表" :visible.sync="dialogWin.PatientRegisterForChoose" width="800px" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<PatientRegisterForChoose :params="PatientRegisterForChooseParams" />
</el-dialog>
</div>
</template>
<script>
import moment from "moment";
import { mapState, mapMutations} from "vuex";
import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { dddw,deepCopy,objCopy, opjCopy } from '../../utlis/proFunc'
import { dddw, deepCopy, objCopy, opjCopy } from '../../utlis/proFunc'
import PatientRegisterForChoose from "../../components/patientRegister/PatientRegisterForChoose.vue";
export default {
@ -87,7 +87,7 @@ export default {
data() {
return {
dialogVisible: false,
prBase:{
prBase: {
id: '', //ID
patientRegisterNo: '', //
patientNo: '', //
@ -103,65 +103,79 @@ export default {
nationId: '', //
mobileTelephone: '', //
},
prBaseInit:{},
PatientRegisterForChooseParams:{}, //
prBaseInit: {},
PatientRegisterForChooseParams: {}, //
};
},
created() {
this.prBaseInit = Object.assign({},this.prBase)
created() {
this.prBaseInit = Object.assign({}, this.prBase)
},
//
mounted() {
mounted() {
//
this.enterToQuery()
},
//
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id)
},
computed: {
...mapState(["dict","dialogWin", "dataTransOpts","patientRegister", "doctorCheck", "sumDoctorCheck"]),
...mapState(["dict", "dialogWin", "dataTransOpts", "patientRegister", "doctorCheck", "sumDoctorCheck"]),
},
methods: {
...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']),
dddw,moment,
...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']),
dddw, moment,
//
findPR(rd){
findPR(rd) {
// debugger
// console.log('rd,this.doctorCheck.prBase',rd.id,this.doctorCheck.prBase.id)
objCopy(rd,this.prBase)
objCopy(rd, this.prBase)
this.dataTransOpts.tableS.patient_register.id = rd.id
this.doctorCheck.prBase = Object.assign({},this.doctorCheck.prBase,rd)
this.doctorCheck.prBase = Object.assign({}, this.doctorCheck.prBase, rd)
setTimeout(() => {
//
this.dataTransOpts.refresh.register_check.M++
}, 20);
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}, 20);
// objCopy(rd,this.doctorCheck.prBase)
// this.sumPREditInit()
this.sumDoctorCheck.sumPREdit = Object.assign({},this.sumDoctorCheck.sumPREdit,rd)
this.sumDoctorCheck.sumPREdit = Object.assign({}, this.sumDoctorCheck.sumPREdit, rd)
// objCopy(rd,this.sumDoctorCheck.sumPREdit)
this.patientRegister.photo = rd.photo
},
//
unfindPR(queryType){
unfindPR(queryType) {
this.$message.warning("没有找到相应的数据")
let val = this.prBase[queryType]
this.doctorCheckPrBaseInit()
this.dataTransOpts.tableS.patient_register.id = ''
setTimeout(() => {
//
this.dataTransOpts.refresh.register_check.M++
}, 20);
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}, 20);
this.sumPREditInit()
setTimeout(() => {
this.prBase[queryType] = val
}, 100);
}, 100);
this.patientRegister.photo = ''
},
@ -169,132 +183,147 @@ export default {
onQueryByPatientRegisterNo() {
let patientRegisterNo = this.prBase.patientRegisterNo
let body = {
sType:1,
sType: 1,
patientRegisterNo,
isFilterPreRegistration:'Y' // Y= N= N (CompleteFlag0null)
}
console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
postapi('/api/app/patientregister/getpatientregisterorpatient',body)
.then((res) => {
if (res.code != -1) {
if(res.data){
this.findPR(res.data)
}else{
this.unfindPR('patientRegisterNo')
}
}
});
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
}
console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
.then((res) => {
if (res.code != -1) {
if (res.data) {
this.findPR(res.data)
} else {
this.unfindPR('patientRegisterNo')
}
}
});
},
//
onQueryByPatientNo() {
let patientNo = this.prBase.patientNo
let body = {
sType:2,
sType: 2,
patientNo,
isFilterPreRegistration:'Y' // Y= N= N (CompleteFlag0null)
}
console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
postapi('/api/app/patientregister/getpatientregisterorpatient',body)
.then((res) => {
if (res.code != -1) {
if(res.data){
this.findPR(res.data)
}else{
this.unfindPR('patientRegisterNo')
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
}
console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
.then((res) => {
if (res.code != -1) {
if (res.data) {
this.findPR(res.data)
} else {
this.unfindPR('patientRegisterNo')
}
}
}
});
});
},
//
getlistinfilterByName(v){
let body={
patientName:v,
isFilterPreRegistration:'Y' // Y= N= N (CompleteFlag0null)
getlistinfilterByName(v) {
let body = {
patientName: v,
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
}
this.PatientRegisterForChooseParams = body //
this.dialogWin.PatientRegisterForChoose = true //
setTimeout(() => {
this.dataTransOpts.refresh.patient_register.M++
}, 10);
//
this.dataTransOpts.refresh.register_check.M++
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}, 20);
},
//ID
async getPatientRegister(patientRegisterId){
if(!patientRegisterId){
getPatientRegister(patientRegisterId) {
if (!patientRegisterId) {
this.prBase = deepCopy(this.prBaseInit)
return
}
let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
this.prBase = res.data
postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
.then(res => {
if (res.code != -1) {
this.prBase = res.data
//
this.dataTransOpts.refresh.register_check.M++
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}
})
},
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
//
enterToQuery() {
// console.log('enterToTab');
this.$nextTick(() => {
let inputs = document.querySelectorAll(["input"]); // //.inline-input
//
inputs.forEach((input,i) => {
inputs.forEach((input, i) => {
// console.log('input',input);
input.addEventListener('keydown', (event) => {
if (event.keyCode === 13){
if (event.keyCode === 13) {
//
event.preventDefault();
//
console.log(input.getAttribute('placeholder'),input.value)
console.log(input.getAttribute('placeholder'), input.value)
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
if(input.value) this.onQueryByPatientRegisterNo()
if (input.value) this.onQueryByPatientRegisterNo()
break;
case '档案号':
if(input.value) this.onQueryByPatientNo()
if (input.value) this.onQueryByPatientNo()
break;
case '姓名':
if(input.value) this.getlistinfilterByName(input.value)
break;
if (input.value) this.getlistinfilterByName(input.value)
break;
}
}
}
});
});
});
},
},
},
watch:{
"doctorCheck.prBase.id":{
immediate:true,
handler(newVal, oldVal) {
// debugger
// console.log("watch 2doctorCheck.prBase.id newVal", newVal, " oldVal", oldVal);
// if (newVal != oldVal) {
objCopy(this.doctorCheck.prBase,this.prBase)
// this.prBase = Object.assign({},this.doctorCheck.prBase)
// }
// console.log(222);
}
},
watch: {
// "doctorCheck.prBase.id":{
// immediate:true,
// handler(newVal, oldVal) {
// // debugger
// // console.log("watch 2doctorCheck.prBase.id newVal", newVal, " oldVal", oldVal);
// // if (newVal != oldVal) {
// objCopy(this.doctorCheck.prBase,this.prBase)
// // this.prBase = Object.assign({},this.doctorCheck.prBase)
// // }
// // console.log(222);
// }
// },
//
"dataTransOpts.refresh.patient_register.S":{
immediate:true,
"dataTransOpts.refresh.patient_register.S": {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.id}`);
console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.id}`);
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id)
this.dataTransOpts.refresh.register_check.M++
this.dataTransOpts.refresh.register_check.M++
}
},
},
@ -310,7 +339,7 @@ export default {
::v-deep .test .el-input__inner {
background-color: yellow !important;
background-color: yellow !important;
color: red !important;
}
</style>

2
src/components/sumDoctorCheck/ButtonList.vue

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

19
src/components/sumDoctorCheck/CheckDetails.vue

@ -58,13 +58,11 @@ export default {
//
mounted() {
// if(this.patientRegisterId){
// this.CheckDetails(this.patientRegisterId);
// }
this.CheckDetails(this.dataTransOpts.tableS.patient_register.id);
},
computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -103,15 +101,16 @@ export default {
},
//
watch: {
//
"patientRegisterId": {
immediate: true,
watch: {
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M": {
// immediate:true,
handler(newVal, oldVal) {
console.log("watch patientRegisterId newVal:", newVal, " oldVal:", oldVal);
this.CheckDetails(newVal);
console.log(`watch 总检--检查明细结果 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.CheckDetails(this.dataTransOpts.tableS.patient_register.id);
}
},
},
};
</script>

64
src/components/sumDoctorCheck/SumAsbItemStatus.vue

@ -2,29 +2,30 @@
<div style="display: flex;height:90px;">
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #F56C6C;">未检组合项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="danger" style="margin-left: 5px;" v-for="item in data.unCheckedAsbitem" :key="item" size="mini">{{ item }}</el-tag>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="danger" style="margin-left: 5px;" v-for="item in data.unCheckedAsbitem" :key="item" size="mini">{{
item }}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #909399;">弃检组合项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="info" style="margin-left: 5px;" v-for="item in data.giveUpAsbitem" :key="item"
size="mini">{{ item }}</el-tag>
<el-tag type="info" style="margin-left: 5px;" v-for="item in data.giveUpAsbitem" :key="item" size="mini">{{ item
}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #409EFF;">组合项目已检但无值的明细项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag style="margin-left: 5px;" v-for="item in data.checkedNullValueItem" :key="item"
size="mini">{{ item }}</el-tag>
<el-tag style="margin-left: 5px;" v-for="item in data.checkedNullValueItem" :key="item" size="mini">{{ item
}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #E6A23C;">组合项目已检但弃检的明细项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="warning" style="margin-left: 5px;" v-for="item in data.checkedGiveUpItem" :key="item"
size="mini">{{ item }}</el-tag>
<el-tag type="warning" style="margin-left: 5px;" v-for="item in data.checkedGiveUpItem" :key="item" size="mini">{{
item }}</el-tag>
</div>
</div>
</div>
@ -52,26 +53,29 @@ export default {
//
mounted() {
if (this.patientRegisterId) {
this.getSumAsbItemStatus(this.patientRegisterId);
}
this.getSumAsbItemStatus(this.dataTransOpts.tableS.patient_register.id);
},
computed: {
...mapState(["window","dict", "doctorCheck", "sumDoctorCheck"]),
sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
...mapState(["window", "dict","dataTransOpts", "doctorCheck", "sumDoctorCheck"]),
sumHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
return tempHeight - 320
},
},
methods: {
getSumAsbItemStatus(PatientRegisterId) {
this.data.unCheckedAsbitem = [];
this.data.giveUpAsbitem = [];
this.data.checkedNullValueItem = [];
this.data.checkedGiveUpItem = [];
if(!PatientRegisterId) return
if (!PatientRegisterId) {
this.data.unCheckedAsbitem = [];
this.data.giveUpAsbitem = [];
this.data.checkedNullValueItem = [];
this.data.checkedGiveUpItem = [];
return
}
getapi(`/api/app/patientregister/getpatientregisteritemstatus?PatientRegisterId=${PatientRegisterId}`).then(res => {
if (res.code != -1) {
this.data.unCheckedAsbitem = res.data.unCheckedAsbitem;
@ -86,13 +90,22 @@ export default {
//
watch: {
//ID
"patientRegisterId":{
immediate:true,
// "patientRegisterId":{
// immediate:true,
// handler(newVal, oldVal) {
// console.log("watch patientRegisterId newVal", newVal, " oldVal", oldVal);
// this.getSumAsbItemStatus(newVal);
// }
// },
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M": {
// immediate:true,
handler(newVal, oldVal) {
console.log("watch patientRegisterId newVal:", newVal, " oldVal:", oldVal);
this.getSumAsbItemStatus(newVal);
console.log(`watch 总检--检查状态汇总 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.getSumAsbItemStatus(this.dataTransOpts.tableS.patient_register.id);
}
},
},
};
@ -100,7 +113,7 @@ export default {
<style scoped>
.asbitemListClass {
display: block;
width: v-bind("Math.floor((window.pageWidth - 110 - 15 - 15)/4) + 'px'");
width: v-bind("Math.floor((window.pageWidth - 110 - 15 - 15) / 4) + 'px'");
margin-left: 3px;
}
@ -114,4 +127,5 @@ export default {
height: 52px;
margin-top: 2px;
font-size: 8x;
}</style>
}
</style>

19
src/components/sumDoctorCheck/SumDiagnosis.vue

@ -62,13 +62,15 @@ export default {
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
this.dictInit();
this.getDiagnosisList(this.patientRegisterId);
},
//
mounted() { },
mounted() {
this.getDiagnosisList(this.dataTransOpts.tableS.patient_register.id);
},
computed: {
...mapState(["window", "dict", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]),
...mapState(["window", "dict","dataTransOpts", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]),
sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
return tempHeight - 352
@ -191,11 +193,12 @@ export default {
},
//
watch: {
"patientRegisterId":{
immediate:true,
handler(newVal, oldVal){
this.getDiagnosisList(newVal)
watch: {
"dataTransOpts.refresh.sum_diagnosis.M": {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch 总检--诊断 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.getDiagnosisList(this.dataTransOpts.tableS.patient_register.id);
}
},
},

21
src/components/sumDoctorCheck/SumHistory.vue

@ -1,5 +1,5 @@
<template>
<div :style="'overflow: scroll;width:100%;height:' + divHeight + 'px;'">
<div :style="'overflow: scroll;font-size: 14px;width:100%;height:' + divHeight + 'px;'">
<table width="800">
<tbody v-for="(item, index) of tableData" :key="index">
<tr height="40">
@ -26,7 +26,7 @@
</table>
</div>
</template>
<script lang="ts">
<script>
import { mapState } from 'vuex';
import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
@ -47,10 +47,11 @@ export default {
// if(this.patientId){
// this.SumHistory(this.patientId);
// }
this.SumHistory(this.patientId)
},
computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
return tempHeight - 195
@ -89,16 +90,16 @@ export default {
},
//
watch: {
//
"patientId": {
immediate: true,
watch: {
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) {
console.log("watch SumHistory.patientId newVal:", newVal, " oldVal:", oldVal);
debugger
this.SumHistory(newVal)
console.log(`watch 总检--历次综述建议 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId}`);
this.SumHistory(this.patientId)
}
},
},
};
</script>

22
src/components/sumDoctorCheck/SumItems.vue

@ -57,13 +57,11 @@ export default {
//
mounted() {
// if(this.sumDoctorCheck.sumPREdit.patientId){
// this.registerCheckList(this.sumDoctorCheck.sumPREdit.patientId);
// }
this.registerCheckList(this.patientId)
},
computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict', 'dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -90,7 +88,7 @@ export default {
console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
getapi(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
.then((res) => {
console.log("获取项目对比 SumItems", res.data);
console.log("获取横向对比 SumItems", res.data);
if (res.code != -1) {
this.RegisterCheckList = res.data;
if (res.data.length > 0) this.rowClick(res.data[0])
@ -119,7 +117,7 @@ export default {
console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
getapi(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
.then((res) => {
console.log("获取项目对比 SumItems", res.data);
console.log("获取横向对比 SumItems", res.data);
if (res.code != -1) {
this.crossTable(res.data);
}
@ -172,13 +170,13 @@ export default {
},
//
watch: {
//
"patientId": {
immediate: true,
watch: {
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) {
console.log("watch patientId newVal:", newVal, " oldVal:", oldVal);
this.registerCheckList(newVal)
console.log(`watch 总检--横向对比 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId}`);
this.registerCheckList(this.patientId)
}
},
},

18
src/components/sumDoctorCheck/SumItemsType.vue

@ -28,13 +28,11 @@ export default {
//
mounted() {
// if(this.patientId){
// this.SumItems(this.patientId);
// }
this.SumItems(this.patientId)
},
computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -100,13 +98,13 @@ export default {
},
//
watch: {
//
"patientId": {
immediate: true,
watch: {
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) {
console.log("watch patientId newVal:", newVal, " oldVal:", oldVal);
this.SumItems(newVal)
console.log(`watch 总检--项目对比 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId}`);
this.SumItems(this.patientId)
}
},
},

98
src/components/sumDoctorCheck/SumPREdit.vue

@ -1,56 +1,40 @@
<template>
<div style="display: flex;height:32px;margin-top: 2px;">
<div style="display: flex; flex-wrap: wrap;height:32px; width: 100%">
<div style="display: flex; flex-wrap: wrap;height:32px; width: 100%">
<div>
<span class="query">总检医生</span>
<el-select
v-model="sumDoctorCheck.sumPREdit.summaryDoctor"
filterable clearable :disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' ? true:false"
placeholder="请选择"
style="width: 80px" size="small"
>
<el-option
v-for="item in users"
:key="item.id"
:label="item.userName"
:value="item.id"
/>
<el-select v-model="sumDoctorCheck.sumPREdit.summaryDoctor" filterable clearable
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' ? true : false" placeholder="请选择" style="width: 80px"
size="small">
<el-option v-for="item in users" :key="item.id" :label="item.userName" :value="item.id" />
</el-select>
</div>
<div>
<span class="query">总检日期</span>
<el-date-picker v-model="sumDoctorCheck.sumPREdit.summaryDate" value-format="yyyy-MM-dd"
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' ? true:false"
type="date" style="width: 90px" size="small" />
<el-date-picker v-model="sumDoctorCheck.sumPREdit.summaryDate" value-format="yyyy-MM-dd"
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' ? true : false" type="date" style="width: 90px"
size="small" />
</div>
<div style="margin-top: 3px;">
<span class="query">总检</span>
<el-checkbox :value="sumDoctorCheck.sumPREdit.completeFlag == '3'" disabled></el-checkbox>
</div>
<el-checkbox :value="sumDoctorCheck.sumPREdit.completeFlag == '3'" disabled></el-checkbox>
</div>
<div>
<span class="query">审核医生</span>
<el-select
v-model="sumDoctorCheck.sumPREdit.auditDoctor"
disabled placeholder="请选择"
style="width: 80px" size="small"
>
<el-option
v-for="item in users"
:key="item.id"
:label="item.userName"
:value="item.id"
/>
<el-select v-model="sumDoctorCheck.sumPREdit.auditDoctor" disabled placeholder="请选择" style="width: 80px"
size="small">
<el-option v-for="item in users" :key="item.id" :label="item.userName" :value="item.id" />
</el-select>
</div>
<div>
<span class="query">审核日期</span>
<el-date-picker v-model="sumDoctorCheck.sumPREdit.auditDate" value-format="yyyy-MM-dd"
disabled type="date" style="width: 90px" size="small" />
<el-date-picker v-model="sumDoctorCheck.sumPREdit.auditDate" value-format="yyyy-MM-dd" disabled type="date"
style="width: 90px" size="small" />
</div>
<div style="margin-top: 3px;">
<span class="query">审核</span>
<el-checkbox :value="sumDoctorCheck.sumPREdit.isAudit == 'Y'" disabled></el-checkbox>
</div>
<el-checkbox :value="sumDoctorCheck.sumPREdit.isAudit == 'Y'" disabled></el-checkbox>
</div>
</div>
</div>
</template>
@ -63,32 +47,56 @@ export default {
components: {},
data() {
return {
users:[],
users: [],
};
},
created() {},
created() { },
//
mounted() {
this.dictInit()
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id);
},
computed: {
...mapState(["dict", "doctorCheck","sumDoctorCheck"]),
...mapState(["dict", "dataTransOpts", "doctorCheck", "sumDoctorCheck"]),
},
methods: {
methods: {
//
dictInit(){
dictInit() {
getapi('/api/identity/users/getlist')
.then(res =>{
if(res.code != -1){
this.users = res.data.items
}
})
.then(res => {
if (res.code != -1) {
this.users = res.data.items
}
})
},
//
getPatientRegister(patientRegisterId) {
if (!patientRegisterId) {
this.sumDoctorCheck.sumPREdit = {}
return
}
postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
.then(res => {
if (res.code != -1) this.sumDoctorCheck.sumPREdit = res.data
})
},
},
//
watch: {
"dataTransOpts.refresh.sumDoctor.M": {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch 总检状态 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id);
}
},
},
};
</script>

17
src/components/sumDoctorCheck/SumSug.vue

@ -108,10 +108,13 @@ export default {
mounted() {
this.rowDrop();
this.rowDropSuggestion();
this.summaryList(this.dataTransOpts.tableS.patient_register.id)
this.suggestionList(this.dataTransOpts.tableS.patient_register.id)
},
computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
@ -352,13 +355,13 @@ export default {
//
watch: {
//
"patientRegisterId":{
immediate:true,
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) {
console.log("watch patientRegisterId newVal:", newVal, " oldVal:", oldVal);
this.summaryList(newVal)
this.suggestionList(newVal)
console.log(`watch 总检--综述建议 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.summaryList(this.dataTransOpts.tableS.patient_register.id)
this.suggestionList(this.dataTransOpts.tableS.patient_register.id)
}
},

21
src/store/index.js

@ -304,6 +304,9 @@ export default new Vuex.Store({
register_check: { S: 0, M: 0 }, // 体检人员登记的项目(合并后)
register_check_item: { S: 0, M: 0 }, // 体检人员登记的明细项目
role_menu_info: { S: 0, M: 0 }, // 角色对应的菜单
sum_diagnosis: { S: 0, M: 0 }, // 总检诊断
sumDoctor:{ S: 0, M: 0 }, // 虚拟表 触发强制刷新 (sumDoctor.M 合并包含:综述、建议、对比、历史等,不包含总检诊断)
},
//表当前数据(单条记录 S--single)
tableS: {
@ -317,11 +320,12 @@ export default new Vuex.Store({
customer_org_group_detail: { id: '' }, // 单位分组包含的组合项目明细
charge: { id: '' }, // 收费
menu_info: { id: '' }, // 菜单与页面
patient_register: { id: '' },
register_asbitem: { id: '' },
register_check: { id: '' },
register_check_item: { id: '' },
patient_register: { id: '' }, // 体检人员记录
register_asbitem: { id: '' }, // 体检人员登记的项目(合并前)
register_check: { id: '' }, // 体检人员登记的项目(合并后)
register_check_item: { id: '' }, // 体检人员登记的明细项目
role_menu_info: { id: '' }, // 角色对应的菜单
sum_diagnosis: { id: '' }, // 总检诊断
},
//表当前数据(多条记录 M--more)
tableM: {
@ -335,11 +339,12 @@ export default new Vuex.Store({
customer_org_group_detail: [], // 单位分组包含的组合项目明细
charge: [], // 收费
menu_info: [], // 菜单与页面
patient_register: [],
register_asbitem: [],
register_check: [],
register_check_item: [],
patient_register: [], // 体检人员记录
register_asbitem: [], // 体检人员登记的项目(合并前)
register_check: [], // 体检人员登记的项目(合并后)
register_check_item: [], // 体检人员登记的明细项目
role_menu_info: [], // 角色对应的菜单
sum_diagnosis: [], // 总检诊断
},
plus: {
clearPatientRegisterQuery: 0,

Loading…
Cancel
Save