Browse Source

sumDoctor

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

151
src/components/doctorCheck/PatientRegisterBase.vue

@ -7,11 +7,11 @@
</div> </div>
<div> <div>
<span class="query">档案号</span> <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>
<div> <div>
<span class="query">姓名</span> <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>
<div> <div>
<span class="query">性别</span> <span class="query">性别</span>
@ -66,18 +66,18 @@
</div> </div>
</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> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import moment from "moment"; import moment from "moment";
import { mapState, mapMutations} from "vuex";
import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; 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"; import PatientRegisterForChoose from "../../components/patientRegister/PatientRegisterForChoose.vue";
export default { export default {
@ -87,7 +87,7 @@ export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
prBase:{
prBase: {
id: '', //ID id: '', //ID
patientRegisterNo: '', // patientRegisterNo: '', //
patientNo: '', // patientNo: '', //
@ -103,49 +103,58 @@ export default {
nationId: '', // nationId: '', //
mobileTelephone: '', // mobileTelephone: '', //
}, },
prBaseInit:{},
PatientRegisterForChooseParams:{}, //
prBaseInit: {},
PatientRegisterForChooseParams: {}, //
}; };
}, },
created() { created() {
this.prBaseInit = Object.assign({},this.prBase)
this.prBaseInit = Object.assign({}, this.prBase)
}, },
// //
mounted() { mounted() {
//
this.enterToQuery() this.enterToQuery()
//
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id)
}, },
computed: { computed: {
...mapState(["dict","dialogWin", "dataTransOpts","patientRegister", "doctorCheck", "sumDoctorCheck"]),
...mapState(["dict", "dialogWin", "dataTransOpts", "patientRegister", "doctorCheck", "sumDoctorCheck"]),
}, },
methods: { methods: {
...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']),
dddw,moment,
...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']),
dddw, moment,
// //
findPR(rd){
findPR(rd) {
// debugger // debugger
// console.log('rd,this.doctorCheck.prBase',rd.id,this.doctorCheck.prBase.id) // 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.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(() => { setTimeout(() => {
//
this.dataTransOpts.refresh.register_check.M++ this.dataTransOpts.refresh.register_check.M++
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}, 20); }, 20);
// objCopy(rd,this.doctorCheck.prBase) // objCopy(rd,this.doctorCheck.prBase)
// this.sumPREditInit() // 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) // objCopy(rd,this.sumDoctorCheck.sumPREdit)
this.patientRegister.photo = rd.photo this.patientRegister.photo = rd.photo
}, },
// //
unfindPR(queryType){
unfindPR(queryType) {
this.$message.warning("没有找到相应的数据") this.$message.warning("没有找到相应的数据")
let val = this.prBase[queryType] let val = this.prBase[queryType]
@ -153,7 +162,12 @@ export default {
this.doctorCheckPrBaseInit() this.doctorCheckPrBaseInit()
this.dataTransOpts.tableS.patient_register.id = '' this.dataTransOpts.tableS.patient_register.id = ''
setTimeout(() => { setTimeout(() => {
//
this.dataTransOpts.refresh.register_check.M++ this.dataTransOpts.refresh.register_check.M++
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}, 20); }, 20);
this.sumPREditInit() this.sumPREditInit()
@ -169,17 +183,17 @@ export default {
onQueryByPatientRegisterNo() { onQueryByPatientRegisterNo() {
let patientRegisterNo = this.prBase.patientRegisterNo let patientRegisterNo = this.prBase.patientRegisterNo
let body = { let body = {
sType:1,
sType: 1,
patientRegisterNo, patientRegisterNo,
isFilterPreRegistration:'Y' // Y= N= N (CompleteFlag0null)
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
} }
console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
postapi('/api/app/patientregister/getpatientregisterorpatient',body)
console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
.then((res) => { .then((res) => {
if (res.code != -1) { if (res.code != -1) {
if(res.data){
if (res.data) {
this.findPR(res.data) this.findPR(res.data)
}else{
} else {
this.unfindPR('patientRegisterNo') this.unfindPR('patientRegisterNo')
} }
} }
@ -190,17 +204,17 @@ export default {
onQueryByPatientNo() { onQueryByPatientNo() {
let patientNo = this.prBase.patientNo let patientNo = this.prBase.patientNo
let body = { let body = {
sType:2,
sType: 2,
patientNo, patientNo,
isFilterPreRegistration:'Y' // Y= N= N (CompleteFlag0null)
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
} }
console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
postapi('/api/app/patientregister/getpatientregisterorpatient',body)
console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
.then((res) => { .then((res) => {
if (res.code != -1) { if (res.code != -1) {
if(res.data){
if (res.data) {
this.findPR(res.data) this.findPR(res.data)
}else{
} else {
this.unfindPR('patientRegisterNo') this.unfindPR('patientRegisterNo')
} }
} }
@ -208,26 +222,41 @@ export default {
}, },
// //
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.PatientRegisterForChooseParams = body //
this.dialogWin.PatientRegisterForChoose = true // this.dialogWin.PatientRegisterForChoose = true //
setTimeout(() => { 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 //ID
async getPatientRegister(patientRegisterId){
if(!patientRegisterId){
getPatientRegister(patientRegisterId) {
if (!patientRegisterId) {
this.prBase = deepCopy(this.prBaseInit) this.prBase = deepCopy(this.prBaseInit)
return return
} }
let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
.then(res => {
if (res.code != -1) {
this.prBase = res.data this.prBase = res.data
//
this.dataTransOpts.refresh.register_check.M++
//
this.dataTransOpts.refresh.sumDoctor.M++
this.dataTransOpts.refresh.sum_diagnosis.M++
}
})
}, },
@ -244,25 +273,25 @@ export default {
let inputs = document.querySelectorAll(["input"]); // //.inline-input let inputs = document.querySelectorAll(["input"]); // //.inline-input
// //
inputs.forEach((input,i) => {
inputs.forEach((input, i) => {
// console.log('input',input); // console.log('input',input);
input.addEventListener('keydown', (event) => { input.addEventListener('keydown', (event) => {
if (event.keyCode === 13){
if (event.keyCode === 13) {
// //
event.preventDefault(); event.preventDefault();
// //
console.log(input.getAttribute('placeholder'),input.value)
console.log(input.getAttribute('placeholder'), input.value)
let placeholder = input.getAttribute('placeholder') let placeholder = input.getAttribute('placeholder')
switch (placeholder) { switch (placeholder) {
case '条码号': case '条码号':
if(input.value) this.onQueryByPatientRegisterNo()
if (input.value) this.onQueryByPatientRegisterNo()
break; break;
case '档案号': case '档案号':
if(input.value) this.onQueryByPatientNo()
if (input.value) this.onQueryByPatientNo()
break; break;
case '姓名': case '姓名':
if(input.value) this.getlistinfilterByName(input.value)
if (input.value) this.getlistinfilterByName(input.value)
break; break;
} }
} }
@ -273,24 +302,24 @@ export default {
}, },
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)
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);
// } // }
// console.log(222);
}
},
// },
// //
"dataTransOpts.refresh.patient_register.S":{
immediate:true,
"dataTransOpts.refresh.patient_register.S": {
// immediate:true,
handler(newVal, oldVal) { 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.getPatientRegister(this.dataTransOpts.tableS.patient_register.id)

2
src/components/sumDoctorCheck/ButtonList.vue

@ -41,7 +41,7 @@
<div v-show="sumDoctorCheck.sumDoctorCheckDialogVisible" <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"/> <PatientRegisterList win="sumDoctorCheck" :winAbsolute="true"/>

17
src/components/sumDoctorCheck/CheckDetails.vue

@ -58,13 +58,11 @@ export default {
// //
mounted() { mounted() {
// if(this.patientRegisterId){
// this.CheckDetails(this.patientRegisterId);
// }
this.CheckDetails(this.dataTransOpts.tableS.patient_register.id);
}, },
computed: { computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() { divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -104,14 +102,15 @@ export default {
// //
watch: { watch: {
//
"patientRegisterId": {
immediate: true,
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M": {
// immediate:true,
handler(newVal, oldVal) { 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> </script>

54
src/components/sumDoctorCheck/SumAsbItemStatus.vue

@ -3,28 +3,29 @@
<div class="asbitemListClass"> <div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #F56C6C;">未检组合项目</div> <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;"> <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>
<el-tag type="danger" style="margin-left: 5px;" v-for="item in data.unCheckedAsbitem" :key="item" size="mini">{{
item }}</el-tag>
</div> </div>
</div> </div>
<div class="asbitemListClass"> <div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #909399;">弃检组合项目</div> <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;"> <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> </div>
<div class="asbitemListClass"> <div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #409EFF;">组合项目已检但无值的明细项目</div> <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;"> <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> </div>
<div class="asbitemListClass"> <div class="asbitemListClass">
<div style="margin-top:2px;font-size:9px;color: #E6A23C;">组合项目已检但弃检的明细项目</div> <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;"> <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> </div>
</div> </div>
@ -52,26 +53,29 @@ export default {
// //
mounted() { mounted() {
if (this.patientRegisterId) {
this.getSumAsbItemStatus(this.patientRegisterId);
}
this.getSumAsbItemStatus(this.dataTransOpts.tableS.patient_register.id);
}, },
computed: { 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 return tempHeight - 320
}, },
}, },
methods: { methods: {
getSumAsbItemStatus(PatientRegisterId) { getSumAsbItemStatus(PatientRegisterId) {
if (!PatientRegisterId) {
this.data.unCheckedAsbitem = []; this.data.unCheckedAsbitem = [];
this.data.giveUpAsbitem = []; this.data.giveUpAsbitem = [];
this.data.checkedNullValueItem = []; this.data.checkedNullValueItem = [];
this.data.checkedGiveUpItem = []; this.data.checkedGiveUpItem = [];
return
}
if(!PatientRegisterId) return
getapi(`/api/app/patientregister/getpatientregisteritemstatus?PatientRegisterId=${PatientRegisterId}`).then(res => { getapi(`/api/app/patientregister/getpatientregisteritemstatus?PatientRegisterId=${PatientRegisterId}`).then(res => {
if (res.code != -1) { if (res.code != -1) {
this.data.unCheckedAsbitem = res.data.unCheckedAsbitem; this.data.unCheckedAsbitem = res.data.unCheckedAsbitem;
@ -86,13 +90,22 @@ export default {
// //
watch: { watch: {
//ID //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) { 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> <style scoped>
.asbitemListClass { .asbitemListClass {
display: block; 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; margin-left: 3px;
} }
@ -114,4 +127,5 @@ export default {
height: 52px; height: 52px;
margin-top: 2px; margin-top: 2px;
font-size: 8x; font-size: 8x;
}</style>
}
</style>

17
src/components/sumDoctorCheck/SumDiagnosis.vue

@ -62,13 +62,15 @@ export default {
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
this.dictInit(); this.dictInit();
this.getDiagnosisList(this.patientRegisterId);
}, },
// //
mounted() { },
mounted() {
this.getDiagnosisList(this.dataTransOpts.tableS.patient_register.id);
},
computed: { computed: {
...mapState(["window", "dict", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]),
...mapState(["window", "dict","dataTransOpts", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]),
sumHeight(){ sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
return tempHeight - 352 return tempHeight - 352
@ -192,10 +194,11 @@ export default {
// //
watch: { watch: {
"patientRegisterId":{
immediate:true,
handler(newVal, oldVal){
this.getDiagnosisList(newVal)
"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);
} }
}, },
}, },

19
src/components/sumDoctorCheck/SumHistory.vue

@ -1,5 +1,5 @@
<template> <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"> <table width="800">
<tbody v-for="(item, index) of tableData" :key="index"> <tbody v-for="(item, index) of tableData" :key="index">
<tr height="40"> <tr height="40">
@ -26,7 +26,7 @@
</table> </table>
</div> </div>
</template> </template>
<script lang="ts">
<script>
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";
@ -47,10 +47,11 @@ export default {
// if(this.patientId){ // if(this.patientId){
// this.SumHistory(this.patientId); // this.SumHistory(this.patientId);
// } // }
this.SumHistory(this.patientId)
}, },
computed: { computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() { divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
return tempHeight - 195 return tempHeight - 195
@ -90,15 +91,15 @@ export default {
// //
watch: { watch: {
//
"patientId": {
immediate: true,
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) { 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> </script>

20
src/components/sumDoctorCheck/SumItems.vue

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

16
src/components/sumDoctorCheck/SumItemsType.vue

@ -28,13 +28,11 @@ export default {
// //
mounted() { mounted() {
// if(this.patientId){
// this.SumItems(this.patientId);
// }
this.SumItems(this.patientId)
}, },
computed: { computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
divHeight() { divHeight() {
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -101,12 +99,12 @@ export default {
// //
watch: { watch: {
//
"patientId": {
immediate: true,
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) { 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)
} }
}, },
}, },

74
src/components/sumDoctorCheck/SumPREdit.vue

@ -3,25 +3,17 @@
<div style="display: flex; flex-wrap: wrap;height:32px; width: 100%"> <div style="display: flex; flex-wrap: wrap;height:32px; width: 100%">
<div> <div>
<span class="query">总检医生</span> <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> </el-select>
</div> </div>
<div> <div>
<span class="query">总检日期</span> <span class="query">总检日期</span>
<el-date-picker v-model="sumDoctorCheck.sumPREdit.summaryDate" value-format="yyyy-MM-dd" <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" />
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' ? true : false" type="date" style="width: 90px"
size="small" />
</div> </div>
<div style="margin-top: 3px;"> <div style="margin-top: 3px;">
<span class="query">总检</span> <span class="query">总检</span>
@ -29,23 +21,15 @@
</div> </div>
<div> <div>
<span class="query">审核医生</span> <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> </el-select>
</div> </div>
<div> <div>
<span class="query">审核日期</span> <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>
<div style="margin-top: 3px;"> <div style="margin-top: 3px;">
<span class="query">审核</span> <span class="query">审核</span>
@ -63,32 +47,56 @@ export default {
components: {}, components: {},
data() { data() {
return { return {
users:[],
users: [],
}; };
}, },
created() {},
created() { },
// //
mounted() { mounted() {
this.dictInit() this.dictInit()
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id);
}, },
computed: { computed: {
...mapState(["dict", "doctorCheck","sumDoctorCheck"]),
...mapState(["dict", "dataTransOpts", "doctorCheck", "sumDoctorCheck"]),
}, },
methods: { methods: {
// //
dictInit(){
dictInit() {
getapi('/api/identity/users/getlist') getapi('/api/identity/users/getlist')
.then(res =>{
if(res.code != -1){
.then(res => {
if (res.code != -1) {
this.users = res.data.items 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> </script>

17
src/components/sumDoctorCheck/SumSug.vue

@ -108,10 +108,13 @@ export default {
mounted() { mounted() {
this.rowDrop(); this.rowDrop();
this.rowDropSuggestion(); this.rowDropSuggestion();
this.summaryList(this.dataTransOpts.tableS.patient_register.id)
this.suggestionList(this.dataTransOpts.tableS.patient_register.id)
}, },
computed: { computed: {
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict','dataTransOpts', 'doctorCheck', 'sumDoctorCheck']),
sumHeight(){ sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
@ -352,13 +355,13 @@ export default {
// //
watch: { watch: {
//
"patientRegisterId":{
immediate:true,
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
// immediate:true,
handler(newVal, oldVal) { 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: { S: 0, M: 0 }, // 体检人员登记的项目(合并后)
register_check_item: { S: 0, M: 0 }, // 体检人员登记的明细项目 register_check_item: { S: 0, M: 0 }, // 体检人员登记的明细项目
role_menu_info: { 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) //表当前数据(单条记录 S--single)
tableS: { tableS: {
@ -317,11 +320,12 @@ export default new Vuex.Store({
customer_org_group_detail: { id: '' }, // 单位分组包含的组合项目明细 customer_org_group_detail: { id: '' }, // 单位分组包含的组合项目明细
charge: { id: '' }, // 收费 charge: { id: '' }, // 收费
menu_info: { 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: '' }, // 角色对应的菜单 role_menu_info: { id: '' }, // 角色对应的菜单
sum_diagnosis: { id: '' }, // 总检诊断
}, },
//表当前数据(多条记录 M--more) //表当前数据(多条记录 M--more)
tableM: { tableM: {
@ -335,11 +339,12 @@ export default new Vuex.Store({
customer_org_group_detail: [], // 单位分组包含的组合项目明细 customer_org_group_detail: [], // 单位分组包含的组合项目明细
charge: [], // 收费 charge: [], // 收费
menu_info: [], // 菜单与页面 menu_info: [], // 菜单与页面
patient_register: [],
register_asbitem: [],
register_check: [],
register_check_item: [],
patient_register: [], // 体检人员记录
register_asbitem: [], // 体检人员登记的项目(合并前)
register_check: [], // 体检人员登记的项目(合并后)
register_check_item: [], // 体检人员登记的明细项目
role_menu_info: [], // 角色对应的菜单 role_menu_info: [], // 角色对应的菜单
sum_diagnosis: [], // 总检诊断
}, },
plus: { plus: {
clearPatientRegisterQuery: 0, clearPatientRegisterQuery: 0,

Loading…
Cancel
Save