|
@@ -62,6 +62,7 @@ export const setData = (state,action) =>{
|
|
|
const mainIds = action.info.mainIds;
|
|
|
res.symptomIds = JSON.parse(JSON.stringify(mainIds));
|
|
|
const num = action.info.num;//点击了几次添加病情变化
|
|
|
+ const symptomFeature = action.info.symptomFeature;//分词
|
|
|
// const useEmpty = action.info.useEmpty;
|
|
|
let useEmpty,mainData;
|
|
|
// let mainData = JSON.parse(JSON.stringify(action.info.mainData));//主诉模板数据
|
|
@@ -84,10 +85,9 @@ export const setData = (state,action) =>{
|
|
|
/*let mainLabelModuleArr = objToArr.filter((item)=>{
|
|
|
return item.questionMapping.length>0;
|
|
|
})*/
|
|
|
-
|
|
|
// 是否使用空模板:num=0时判断mainIds,num>=1,截取第一病程遍历是否有症状exist
|
|
|
if(num==0){
|
|
|
- useEmpty = mainIds.length>0?false:true;
|
|
|
+ useEmpty = mainIds.length>0 ? false:true;
|
|
|
mainData = mainModleData;
|
|
|
}else{
|
|
|
let sliceIdx;
|
|
@@ -102,36 +102,37 @@ export const setData = (state,action) =>{
|
|
|
})
|
|
|
useEmpty = existData&&existData.length>0?false:true;
|
|
|
}
|
|
|
-
|
|
|
+ // console.log(888,useEmpty);
|
|
|
if (useEmpty) {
|
|
|
// res.data = res.emptyData;
|
|
|
res.data = JSON.parse(JSON.stringify(res.emptyData));
|
|
|
} else {
|
|
|
- // 目前只需要将第一个主诉病程移植到现病史
|
|
|
- let tongYong = "";
|
|
|
- let main = [];//主症状
|
|
|
- let withs = [];//伴随
|
|
|
- let firstT = 0;
|
|
|
- for(let i=0; i<mainData.length; i++){
|
|
|
- if(mainData[i].id==config.tongYId && !mainData[i].pos){//第一个通用特征描述
|
|
|
- if(mainData[i].value){
|
|
|
- tongYong = mainData[i].value;
|
|
|
- }
|
|
|
- }
|
|
|
- else if(mainData[i].exist){
|
|
|
- mainData[i].exist==1?main.push(mainData[i]):withs.push(mainData[i])
|
|
|
- }
|
|
|
-
|
|
|
- // 处理时间和主诉通用症状--现病史模板无“主诉通用症状” 1-7
|
|
|
- for(let j=0; j<current.length; j++){
|
|
|
- if(mainData[i].id==current[j].id && mainData[i].controlType==5){//处理时间,避免手动输入的值
|
|
|
- firstT++
|
|
|
- if(mainData[i].value && firstT==1){
|
|
|
- current[j] = {id:mainData[i].id,name:mainData[i].value,value:mainData[i].value,tagType:config.tagType}
|
|
|
+ if(mainData&&mainData.length>0){//主诉使用模板
|
|
|
+ // 目前只需要将第一个主诉病程移植到现病史
|
|
|
+ let tongYong = "";
|
|
|
+ let main = [];//主症状
|
|
|
+ let withs = [];//伴随
|
|
|
+ let firstT = 0;
|
|
|
+ for(let i=0; i<mainData.length; i++){
|
|
|
+ if(mainData[i].id==config.tongYId && !mainData[i].pos){//第一个通用特征描述
|
|
|
+ if(mainData[i].value){
|
|
|
+ tongYong = mainData[i].value;
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
+ else if(mainData[i].exist){
|
|
|
+ mainData[i].exist==1?main.push(mainData[i]):withs.push(mainData[i])
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理时间和主诉通用症状--现病史模板无“主诉通用症状” 1-7
|
|
|
+ for(let j=0; j<current.length; j++){
|
|
|
+ if(mainData[i].id==current[j].id && mainData[i].controlType==5){//处理时间,避免手动输入的值
|
|
|
+ firstT++
|
|
|
+ if(mainData[i].value && firstT==1){
|
|
|
+ current[j] = {id:mainData[i].id,name:mainData[i].value,value:mainData[i].value,tagType:config.tagType}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
// 主症状添加tongYong标签选中文字
|
|
|
let tongYText = tongYong?{name:tongYong,value:tongYong,tagType:config.tagType}:'';
|
|
@@ -250,7 +251,52 @@ export const setData = (state,action) =>{
|
|
|
}
|
|
|
let currentData = JSON.parse(JSON.stringify(current));
|
|
|
res.data = fullfillText(currentData).newArr;
|
|
|
-
|
|
|
+ }else{//分词
|
|
|
+ if(symptomFeature&&symptomFeature.length>0){
|
|
|
+ let featureData = JSON.parse(JSON.stringify(symptomFeature));
|
|
|
+ let ind = 0;
|
|
|
+ let insertInd = 0;
|
|
|
+ let lengArr=[];
|
|
|
+ for(let k=0; k <symptomFeature.length;k++){
|
|
|
+ mainLabelModuleArr.map((v,i)=>{
|
|
|
+ if(symptomFeature[k].id==v.id){
|
|
|
+ ind++;
|
|
|
+ let items = v.questionMapping.filter((item)=>{
|
|
|
+ return item.symptomType==0||item.symptomType==1;
|
|
|
+ })
|
|
|
+ lengArr[k] = items.length; //每一个主诉尾巴长度
|
|
|
+
|
|
|
+ if(items.length==0){//没有尾巴时给症状后加逗号(3.5)
|
|
|
+ for(let j=0; j<featureData.length; j++){
|
|
|
+ if(featureData[j].id==symptomFeature[k].id){
|
|
|
+ featureData[j].value = featureData[j].name = symptomFeature[k].value+',';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ind>1){
|
|
|
+ insertInd += lengArr[k-1];
|
|
|
+ }
|
|
|
+ featureData.splice(k+insertInd+1,0,...items);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //组装好的主症状和伴随症状插入现病史模板(flag=4前)
|
|
|
+ let endFeatureData = JSON.parse(JSON.stringify(featureData));
|
|
|
+ let insertIdx = null;
|
|
|
+ for(let j=0; j<current.length; j++){
|
|
|
+ if(current[j].flag && current[j].flag==4){
|
|
|
+ insertIdx = j;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for(let k=0; k<endFeatureData.length; k++){
|
|
|
+ let pos = insertIdx+k;
|
|
|
+ current.splice(pos,0,endFeatureData[k]);
|
|
|
+ }
|
|
|
+ let currentData = JSON.parse(JSON.stringify(current));
|
|
|
+ res.data = fullfillText(currentData).newArr;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
let resData = JSON.parse(JSON.stringify(res.data));
|
|
|
res.saveText = fullfillText(resData).saveText;
|