|
@@ -45,7 +45,6 @@ function getAdviceStr(advice) {
|
|
|
const check = advice.check || '';
|
|
|
const followUp = advice.followUp || '';
|
|
|
let AdviceStr = advice.AdviceStr || '';
|
|
|
-
|
|
|
if(assay || check) {
|
|
|
AdviceStr = assay + check +'; ' + AdviceStr;
|
|
|
}
|
|
@@ -56,13 +55,35 @@ function getAdviceStr(advice) {
|
|
|
AdviceStr = AdviceStr + '回访时间:'+followUp + '后回访,不适随诊' + ';';
|
|
|
}
|
|
|
for (let i = 0; i < scheme.length; i++) {
|
|
|
- for (let j = 0; j < scheme[i].treatment.length; j++) {
|
|
|
- if(scheme[i].treatment[j].treatmentStr === '') {
|
|
|
- AdviceStr = AdviceStr + scheme[i].treatment[j].treatmentStr
|
|
|
- } else {
|
|
|
- AdviceStr = AdviceStr + scheme[i].treatment[j].treatmentStr + ', '
|
|
|
+ for(let j = 0; j < scheme[i].treatment.length; j++){
|
|
|
+ for(let k = 0; k < scheme[i].treatment[j].meditionDetails.length; k++) {
|
|
|
+ for(let l = 0; l < scheme[i].treatment[j].meditionDetails[k].treatment.length; l++) {
|
|
|
+ const treatmentItem = scheme[i].treatment[j].meditionDetails[k].treatment[l]
|
|
|
+ if(treatmentItem.treatmentStr === '') {
|
|
|
+ AdviceStr += treatmentItem.treatmentStr
|
|
|
+ }else {
|
|
|
+ AdviceStr += treatmentItem.treatmentStr + ', '
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // for (let j = 0; j < scheme[i].treatment.length; j++) {
|
|
|
+ // if(scheme[i].treatment[j].treatmentStr === '') {
|
|
|
+ // AdviceStr = AdviceStr + scheme[i].treatment[j].treatmentStr
|
|
|
+ // } else {
|
|
|
+ // AdviceStr = AdviceStr + scheme[i].treatment[j].treatmentStr + ', '
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
if(AdviceStr.slice(AdviceStr.length-2) == ', ') {
|
|
|
AdviceStr = AdviceStr.slice(0, AdviceStr.length-2)
|
|
@@ -84,22 +105,29 @@ export const addScheme = (state, action) => {
|
|
|
const treatment = action.treatment;
|
|
|
const treatItem = {};
|
|
|
treatItem.name = action.title;
|
|
|
- const scheme = res.advice.scheme || [];
|
|
|
+ let scheme = res.advice.scheme || [];
|
|
|
let isRepeat = false;
|
|
|
let RepeatIndex;
|
|
|
let SelectedDrugNum = 0 //选中的药品数量
|
|
|
for (let i = 0; i < treatment.length; i++) {
|
|
|
- let treatmentStr = '';
|
|
|
- let drugList = []
|
|
|
- for (let j = 0; j < treatment[i].medicitionsList.length; j++) {
|
|
|
- if(treatment[i].medicitionsList[j].selected) {
|
|
|
- treatmentStr = treatmentStr + treatment[i].medicitionsList[j].medicitionName + ', '
|
|
|
- drugList.push({conceptId: treatment[i].medicitionsList[j].conceptId, conceptName: treatment[i].medicitionsList[j].medicitionName })
|
|
|
- SelectedDrugNum++
|
|
|
+ for(let j = 0; j < treatment[i].meditionDetails.length; j++) {
|
|
|
+ for(let k = 0; k < treatment[i].meditionDetails[j].treatment.length; k++) {
|
|
|
+ let treatmentStr = '';
|
|
|
+ let drugList = []
|
|
|
+ for(let l = 0; l < treatment[i].meditionDetails[j].treatment[k].medicitionsList.length; l++) {
|
|
|
+ const drugItem = treatment[i].meditionDetails[j].treatment[k].medicitionsList[l]
|
|
|
+ if(drugItem.selected) {
|
|
|
+ treatmentStr = treatmentStr + drugItem.medicitionName + ', '
|
|
|
+ drugList.push({conceptId: drugItem.conceptId, conceptName: drugItem.medicitionName })
|
|
|
+ SelectedDrugNum++
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ treatment[i].meditionDetails[j].treatment[k].treatmentStr = treatmentStr.substring(0,treatmentStr.length-2)
|
|
|
+ treatment[i].meditionDetails[j].treatment[k].drugList = drugList
|
|
|
}
|
|
|
- }
|
|
|
- treatment[i].treatmentStr = treatmentStr.substring(0,treatmentStr.length-2)
|
|
|
- treatment[i].drugList = drugList
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
if(SelectedDrugNum > 0) { //如果有选中的药品,滚动到医嘱框
|
|
|
document.getElementById("adviceBox").scrollIntoView(true)
|
|
@@ -119,22 +147,76 @@ export const addScheme = (state, action) => {
|
|
|
})
|
|
|
if (isRepeat) {
|
|
|
//将同类药添加到一起
|
|
|
- for (let i = 0; i < scheme[RepeatIndex].treatment.length; i++) {
|
|
|
- for (let j = 0; j < treatment.length; j++) {
|
|
|
- if (scheme[RepeatIndex].treatment[i].id === treatment[j].id && scheme[RepeatIndex].treatment[i].bigdrugsName === treatment[j].bigdrugsName && scheme[RepeatIndex].treatment[i].subdrugsName === treatment[j].subdrugsName) {
|
|
|
- for(let z = 0; z < treatment[j].medicitionsList.length; z++) {
|
|
|
- if(treatment[j].medicitionsList[z].selected) {
|
|
|
- if(scheme[RepeatIndex].treatment[i].treatmentStr !== '') {
|
|
|
- scheme[RepeatIndex].treatment[i].treatmentStr = scheme[RepeatIndex].treatment[i].treatmentStr + ', ' + treatment[j].medicitionsList[z].medicitionName
|
|
|
- } else {
|
|
|
- scheme[RepeatIndex].treatment[i].treatmentStr = scheme[RepeatIndex].treatment[i].treatmentStr + '' + treatment[j].medicitionsList[z].medicitionName
|
|
|
+ const schemeTreatmentCopy = scheme[RepeatIndex].treatment.slice()
|
|
|
+ for (let i = 0; i < scheme[RepeatIndex].treatment.length; i++) {
|
|
|
+ for(let x = 0; x < treatment.length; x++) {
|
|
|
+ const hasNoCont = scheme[RepeatIndex].treatment.findIndex(item => item.title === treatment[x].title)
|
|
|
+ if(hasNoCont === -1) {
|
|
|
+ if(treatment[x].title != scheme[RepeatIndex].treatment[i].title) {
|
|
|
+ const treatmentCopy = JSON.parse(JSON.stringify(treatment[x]))
|
|
|
+ for(let o = 0; o < treatmentCopy.meditionDetails.length; o++) {
|
|
|
+ for(let p = 0; p < treatmentCopy.meditionDetails[o].treatment.length; p++) {
|
|
|
+ treatmentCopy.meditionDetails[o].treatment[p].treatmentStr = ""
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ schemeTreatmentCopy.splice(x, 0, treatmentCopy)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ scheme[RepeatIndex].treatment = schemeTreatmentCopy
|
|
|
+ for (let i = 0; i < scheme[RepeatIndex].treatment.length; i++) {
|
|
|
+ const schemeTreatmentCopy2 = scheme[RepeatIndex].treatment[i].meditionDetails.slice()
|
|
|
+
|
|
|
+ for(let x = 0; x < treatment.length; x++) {
|
|
|
+ if(treatment[x].title === scheme[RepeatIndex].treatment[i].title) {
|
|
|
+ for(let j = 0; j < scheme[RepeatIndex].treatment[i].meditionDetails.length; j++) {
|
|
|
+ for(let y = 0; y < treatment[x].meditionDetails.length;y++) {
|
|
|
+ const hasNoCont = scheme[RepeatIndex].treatment[i].meditionDetails.findIndex(item => item.description === treatment[x].meditionDetails[y].description)
|
|
|
+ if(hasNoCont === -1) {
|
|
|
+ schemeTreatmentCopy2.splice(y, 0, treatment[x].meditionDetails[y])
|
|
|
+ }
|
|
|
}
|
|
|
- scheme[RepeatIndex].treatment[i].drugList.push({conceptId: treatment[j].medicitionsList[z].conceptId, conceptName: treatment[j].medicitionsList[z].medicitionName })
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+ }
|
|
|
+ scheme[RepeatIndex].treatment[i].meditionDetails = schemeTreatmentCopy2
|
|
|
+
|
|
|
+ }
|
|
|
+ for (let i = 0; i < scheme[RepeatIndex].treatment.length; i++) {
|
|
|
+ for(let j = 0; j < scheme[RepeatIndex].treatment[i].meditionDetails.length; j++) {
|
|
|
+ for(let k = 0; k < scheme[RepeatIndex].treatment[i].meditionDetails[j].treatment.length; k++) {
|
|
|
+ const schemeItem = scheme[RepeatIndex].treatment[i].meditionDetails[j].treatment[k]
|
|
|
+
|
|
|
+ for(let x = 0; x < treatment.length; x++) {
|
|
|
+ for(let y = 0; y < treatment[x].meditionDetails.length;y++) {
|
|
|
+ for(let z = 0; z < treatment[x].meditionDetails[y].treatment.length; z++) {
|
|
|
+ let treatItem = treatment[x].meditionDetails[y].treatment[z]
|
|
|
+ if(schemeItem.id === treatItem.id && schemeItem.bigdrugsName === treatItem.bigdrugsName && schemeItem.subdrugsName === treatItem.subdrugsName) {
|
|
|
+ for(let w = 0; w < treatItem.medicitionsList.length; w++) {
|
|
|
+ const medicitionsItem = treatItem.medicitionsList[w]
|
|
|
+ if(medicitionsItem.selected) {
|
|
|
+ if(schemeItem.treatmentStr !== '') {
|
|
|
+ schemeItem.treatmentStr += ', ' +medicitionsItem.medicitionName
|
|
|
+ } else {
|
|
|
+ schemeItem.treatmentStr += '' +medicitionsItem.medicitionName
|
|
|
+ }
|
|
|
+ schemeItem.drugList.push({conceptId: medicitionsItem.conceptId, conceptName: medicitionsItem.medicitionName })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// let repeatDiag = res.advice.scheme[RepeatIndex].treatment
|
|
@@ -147,10 +229,16 @@ export const addScheme = (state, action) => {
|
|
|
// }
|
|
|
// repeatDiag = repeatDiag.concat(action.treatment)
|
|
|
} else {
|
|
|
+ loop:
|
|
|
for (let i = 0; i < treatItem.treatment.length; i++) {
|
|
|
- for (let j = 0; j < treatItem.treatment[i].medicitionsList.length; j++) {
|
|
|
- if(treatItem.treatment[i].medicitionsList[j].selected) {
|
|
|
- res.advice.scheme = scheme.concat(treatItem)
|
|
|
+ for(let j = 0; j < treatItem.treatment[i].meditionDetails.length; j++) {
|
|
|
+ for(let k = 0; k < treatItem.treatment[i].meditionDetails[j].treatment.length; k++) {
|
|
|
+ for(let l = 0; l < treatItem.treatment[i].meditionDetails[j].treatment[k].medicitionsList.length; l++) {
|
|
|
+ if(treatItem.treatment[i].meditionDetails[j].treatment[k].medicitionsList[l].selected) {
|
|
|
+ res.advice.scheme = scheme.concat(treatItem)
|
|
|
+ break loop;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -164,13 +252,18 @@ export const addScheme = (state, action) => {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//获取开单到医嘱的药品列表
|
|
|
function getDrugList(scheme) {
|
|
|
const drugList = [];
|
|
|
for(let i = 0 ; i < scheme.length; i++) {
|
|
|
for(let j = 0; j <scheme[i].treatment.length; j++ ) {
|
|
|
- for (let z = 0; z < scheme[i].treatment[j].drugList.length; z++) {
|
|
|
- drugList.push(scheme[i].treatment[j].drugList[z]);
|
|
|
+ for(let k = 0; k < scheme[i].treatment[j].meditionDetails.length; k++) {
|
|
|
+ for(let l = 0; l < scheme[i].treatment[j].meditionDetails[k].treatment.length; l++) {
|
|
|
+ for (let m = 0; m < scheme[i].treatment[j].meditionDetails[k].treatment[l].drugList.length; m++) {
|
|
|
+ drugList.push(scheme[i].treatment[j].meditionDetails[k].treatment[l].drugList[m]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|