12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379 |
- import store from '@store';
- import {CLEAR_MAIN_SUIT} from '@store/types/mainSuit';
- import {CLEAR_CURRENT_ILL} from '@store/types/currentIll';
- import {CLEAROTHERHISTORY} from '@store/types/otherHistory';
- import {CLEARCHECKBODY} from '@store/types/checkBody';
- import {clearAssistData,addAssistLabel} from '@store/actions/assistCheck';
- import {clearAllLabel,addLabel} from '@store/actions/inspect';
- import {CLEAR_ALL_DIAG} from '@store/types/diagnosticList';
- import {CLEAR_ALL_PUSH_MESSAGE, SET_TIPS,BILLING_ADVICE} from '@store/types/pushMessage';
- import {ISREAD, SETREADDITEMS} from "../store/types/homePage";
- import {CLEAR_FIRST_MAIN_DIAG, CLEAR_ALL_TREAT} from "../store/types/treat";
- import {tabChange} from '@store/actions/tabTemplate';
- import {CLEAR_ASSESS_RESULT_VALUE} from '@types/assessResult';
- import config from '@config/index.js';
- import up from '@images/up.png';
- import down from '@images/down.png';
- /***
- * 工具函数
- *
- * ***/
- const ARR = "Array";
- const NUMBER = "Number";
- const STRING = "String";
- const OBJECT = "Object";
- const UNDEFINED = "Undefined";
- const NULL = "Null";
- const BOOLEAN = "Boolean";
- const qs = require('qs');
- // 数据类型判断
- const Type = {
- typeConstant: {
- 'array': ARR,
- 'number': NUMBER,
- 'string': STRING,
- 'object': OBJECT,
- 'undefined': UNDEFINED,
- 'null': NULL,
- 'boolean': BOOLEAN
- },
- tolower: (str)=> {
- if(typeof str !== "string") {
- return "";
- }
- return str.toLowerCase();
- },
- checkType: (el, type)=> {
- type = Type.tolower(type);
- type = Type.typeConstant[type];
- return Object.prototype.toString.call(el) === "[object "+ type +"]";
- }
- }
- // 计算字符串长度,该长度将一个中文字算作2个字符长度
- const regexp = {
- ch: (str)=> {//匹配中文
- if(typeof str !== "string") {
- return "";
- }
- return str.match(/[\u4e00-\u9fa5]/g) || "";
- },
- chLen: function (str) {//中文长度
- return regexp.ch(str).length;
- },
- strLen: function (str) {//字符串长度(一个中文当作两个英文字母)
- if(typeof str !== "string") {
- return 0;
- }
- return str.length + regexp.chLen(str);
- }
- }
- //判断是否空对象或未定义
- const isUndefined = function (str) {
- if(str === 0 || str === "") {
- return false;
- }
- return (Type.checkType(str, 'null') || Type.checkType(str, 'undefined'));
-
- }
- //sessionStorage方法封装
- const Storage = {
- session: {
- get: function (name) {
- return JSON.parse(sessionStorage.getItem(name));
- },
- set: function (name, data) {
- sessionStorage.setItem(name, JSON.stringify(data));
- },
- remove: function (name) {
- sessionStorage.removeItem(name);
- },
- clear: function () {
- sessionStorage.clear();
- }
- }
- };
- //localStorage方法封装
- const storageLocal = {
- set: function (name, data) {
- if(!data) {
- return;
- }
- if(typeof data !== 'string') {
- data = JSON.stringify(data);
- }
- localStorage.setItem(name, data);
- },
- get: function (name) {
- return localStorage.getItem(name);
- },
- remove: function (name) {
- localStorage.removeItem(name);
- },
- clear: function () {
- localStorage.clear();
- }
- };
- const nullFn = ()=>{};
- //是否为空
- const isNull = (item)=>{
- return String(item)=== "" || String(item)==="null" || String(item)==="undefined";
- };
- const isNotNull = (item)=>{
- return !(isNull(item));
- };
- //判断是否为ie浏览器
- const isIE = () => { //ie?
- if (!!window.ActiveXObject || "ActiveXObject" in window){
- return true;
- } else{
- return false;
- }
- }
- const deepClone = (data)=>{
- return JSON.parse(JSON.stringify(data)||null)||{};
- };
- const getUrlArgObject = (parm) => {
- let query = window.location.search;
- let args = qs.parse(query.substr(1));
- return args[parm];//返回对象
- }
- const getAllDataList =(baseList) =>{ //获取所有模块结构化的数据
- let jsonData = {};
- //月经史公式
- const other = baseList.otherHistory;
- jsonData.lis = {};
- jsonData.chief = baseList.mainSuit.data; //主诉
- jsonData.present = baseList.currentIll.data; //现病史
- jsonData.other = other.data; //其他史
- jsonData.otherHistoryIsEmpty = other.isEmpty;
- jsonData['yjs_1'] = other['yjs_1'];
- jsonData['yjs_2'] = other['yjs_2'];
- jsonData['yjs_3'] = other['yjs_3'];
- jsonData['yjs_4'] = other['yjs_4'];
- jsonData.vital = baseList.checkBody.data; //查体
- jsonData.checkBodyIsEmpty = baseList.checkBody.isEmpty;
- jsonData.lis.labelList = baseList.inspect.labelList; //化验
- jsonData.lis.getExcelDataList = baseList.inspect.getExcelDataList; //化验导入
- jsonData.checkedListImport = baseList.assistCheck.checkedListImport; //辅检导入
- jsonData.pacs = baseList.assistCheck.assistLabel; //辅检
- jsonData.diag = baseList.diagnosticList.diagnosticList; //诊断
- jsonData.advice = baseList.pushMessage.advice; //医嘱
- jsonData.mainSuitSelecteds = baseList.mainSuit.selecteds; //主诉选中状态保存
- jsonData.currentIllSelecteds = baseList.currentIll.selecteds; //主诉选中状态保存
- jsonData.otherHistorySelecteds = baseList.otherHistory.selecteds; //主诉选中状态保存
- jsonData.checkBodySelecteds = baseList.checkBody.selecteds; //主诉选中状态保存
- jsonData.addItems = baseList.homePage.addItems||{};
- jsonData.mainsuitIds = baseList.mainSuit.mainIds; //主诉去重
- jsonData.mainChronicDesease = baseList.mainSuit.chronicDesease; //主诉慢病{}
- jsonData.diagChronicMagItem = baseList.diagnosticList.chronicMagItem; //诊断慢病{}
- jsonData.currentIds = baseList.currentIll.symptomIds; //现病史去重
- jsonData.isFirstMainDiag = baseList.treat.isFirstMainDiag; //治疗方案
- // console.log(jsonData,'结构化数据获取')
- return jsonData;
- }
- const getAllDataStringList =(baseList) =>{ //获取所有模块文本的数据
- let jsonDataString = {};
- jsonDataString.lis = {};
- let chiefData = [],presentData=[],otherData=[],vitalData=[];
- if(baseList.mainSuit.saveText.length == 1 && baseList.mainSuit.saveText[0].trim() == ''){
- chiefData = []
- }else{
- chiefData = baseList.mainSuit.saveText
- }
- if(baseList.currentIll.saveText.length == 1 && baseList.currentIll.saveText[0].trim() == ''){
- presentData = []
- }else{
- presentData = baseList.currentIll.saveText
- }
- const oText = baseList.otherHistory.saveText;
- if(oText.length == 1 && oText[0] && oText[0].trim() == ''){
- otherData = []
- }else{
- otherData = baseList.otherHistory.saveText
- }
- if(baseList.checkBody.saveText.length == 1 && baseList.checkBody.saveText[0].trim() == ''){
- vitalData = []
- }else{
- vitalData = baseList.checkBody.saveText
- }
- jsonDataString = {
- 'chief' : JSON.stringify(chiefData),
- 'present' : JSON.stringify(presentData),
- 'other' : JSON.stringify(otherData),
- 'vital' : JSON.stringify(vitalData),
- 'lis' : baseList.inspect.inspectStrPlus,
- 'pacs' : baseList.assistCheck.dataString,
- 'diag' : baseList.diagnosticList.diagnosticStr,
- 'advice' : baseList.pushMessage.AdviceStr
- }
- // console.log(JSON.stringify(chiefData),chiefData,'文本模式数据获取')
- return jsonDataString;
- }
- /**
- *
- * @param {回读数据} reData
- * @param {回读数据是历史病历'history',还是模板'template'} type
- * @param {什么操作,回读'push'还是清空'clear'} action
- * @param {引用的话是保存时候的文本类型,编辑的时候是当前页面设置的文本类型} whichSign
- */
- const pushAllDataList =(whichSign,action,reData,type) =>{ //回读清空所有的数据
- if(action == 'clear'){ //清空
- const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签
- store.dispatch({type: CLEAR_MAIN_SUIT,data:[],saveText:[],selecteds:[],editClear:true,mainIds:[],mainTailIds:[],clearAction:true,symptomFeature:[],chronicDesease:null});
- store.dispatch({type: CLEAR_CURRENT_ILL,data:[],saveText:[],selecteds:[],editClear:true,symptomIds:[]});
- store.dispatch({type: CLEAROTHERHISTORY,data:[block],isEmpty:true,saveText:[],selecteds:[],editClear:true,yjs_1:'',yjs_2:'',yjs_3:'',yjs_4:''});
- store.dispatch({type: CLEARCHECKBODY,data:[block],isEmpty:true,saveText:[],selecteds:[]});
- store.dispatch(clearAssistData([],'',[]));
- store.dispatch(clearAllLabel([],[],''));
- store.dispatch({
- type: SET_TIPS,
- tips: {}
- })
- store.dispatch({
- type: CLEAR_ALL_DIAG,
- data:[],
- saveText:'',
- mainSuitStr: '',
- chronicMagItem:null
- });
- store.dispatch({
- type: CLEAR_ALL_PUSH_MESSAGE,
- data:{},
- saveText:'',
- });
- store.dispatch({
- type:CLEAR_FIRST_MAIN_DIAG,
- flag:true
- });
- store.dispatch({
- type: CLEAR_ALL_TREAT,
- });
- //清空已选的指标推送数据及填的值
- store.dispatch({
- type: CLEAR_ASSESS_RESULT_VALUE,
- });
- store.dispatch({//推送重置
- type: BILLING_ADVICE,
- determine:[],
- doubt:[],
- possible:[],
- vigilant: [],
- likely:[],
- lab: [],
- pacs:[],
- setPushEmergency:[],
- setPushEmergencyIdx:''
- });
- storageLocal.remove('emrParam');
- // Notify.success('页面已清空')
- }else{
- if (whichSign == 0) {
- let dataJson = JSON.parse(reData.dataJson);
- //其他史data
- const oData = dataJson.other;
- const onlyOneText = oData.length==1&&oData[0].tagType==8&&!(oData[0].name||oData[0].value);
- if(type == 'template'){ //结构化模板回读
- let dataJsonStr = JSON.parse(reData.preview);
- // console.log(dataJson,dataJsonStr,'结构化模板引用')
- store.dispatch({
- type: CLEAR_MAIN_SUIT,
- data:dataJson.chief,
- selecteds:dataJson.mainSuitSelecteds?dataJson.mainSuitSelecteds:[],
- saveText:JSON.parse(dataJsonStr.chief),
- mainIds:dataJson.mainsuitIds?dataJson.mainsuitIds:[],
- chronicDesease:dataJson.mainChronicDesease,
- });
- store.dispatch({
- type: CLEAR_CURRENT_ILL,
- data:dataJson.present,
- selecteds:dataJson.currentIllSelecteds?dataJson.currentIllSelecteds:[],
- saveText:JSON.parse(dataJsonStr.present),
- symptomIds:dataJson.currentIds?dataJson.currentIds:[]
- });
- store.dispatch({
- type: CLEAROTHERHISTORY,
- data:dataJson.other,
- yjs_1:dataJson.yjs_1,
- yjs_2:dataJson.yjs_2,
- yjs_3:dataJson.yjs_3,
- yjs_4:dataJson.yjs_4,
- selecteds:dataJson.otherHistorySelecteds?dataJson.otherHistorySelecteds:[],
- isEmpty:onlyOneText?true:false,//dataJson.otherHistoryIsEmpty,
- saveText:JSON.parse(dataJsonStr.other),
- editClear:dataJson.other.length>0?false:true
- });
- store.dispatch({
- type: CLEARCHECKBODY,
- data:dataJson.vital,
- selecteds:dataJson.checkBodySelecteds?dataJson.checkBodySelecteds:[],
- isEmpty:dataJson.checkBodyIsEmpty,
- saveText:JSON.parse(dataJsonStr.vital)
- });
- store.dispatch(clearAllLabel(
- dataJson.lis.labelList,
- dataJson.lis.getExcelDataList,
- dataJsonStr.lis.split('-')[0],
- dataJsonStr.lis.split('-')[1]
- ));
- store.dispatch(clearAssistData(dataJson.pacs,dataJsonStr.pacs,dataJson.checkedListImport||[]));
- store.dispatch({
- type: CLEAR_ALL_DIAG,
- data:dataJson.diag,
- saveText:dataJsonStr.diag,
- chronicMagItem:dataJson.diagChronicMagItem
- });
- store.dispatch({
- type: CLEAR_ALL_PUSH_MESSAGE,
- data:dataJson.advice,
- saveText:dataJsonStr.advice
- });
- store.dispatch({
- type:SETREADDITEMS,
- data:dataJson.addItems
- });
- store.dispatch({
- type:CLEAR_FIRST_MAIN_DIAG,
- flag:dataJson.isFirstMainDiag
- });
- //tab跳回辅助信息
- store.dispatch(tabChange('0'));
- }else{ //结构化历史病历回读
- /*let dataJson = JSON.parse(reData.dataJson);*/
- let dataJsonStr = reData.detailList;
- // console.log(dataJsonStr,'结构化历史病历回读')
- // console.log(dataJson.mainSuitSelecteds,7887)
- store.dispatch({
- type: CLEAR_MAIN_SUIT,
- data:dataJson.chief,
- selecteds:dataJson.mainSuitSelecteds?dataJson.mainSuitSelecteds:[],
- saveText:dataJsonStr[0].content ? JSON.parse(dataJsonStr[0].content) :[],
- mainIds:dataJson.mainsuitIds?dataJson.mainsuitIds:[],
- chronicDesease:dataJson.mainChronicDesease,
- });
- store.dispatch({
- type: CLEAR_CURRENT_ILL,
- data:dataJson.present,
- selecteds:dataJson.currentIllSelecteds?dataJson.currentIllSelecteds:[],
- saveText:dataJsonStr[1].content ? JSON.parse(dataJsonStr[1].content):[],
- symptomIds:dataJson.currentIds?dataJson.currentIds:[]
- });
- store.dispatch({
- type: CLEAROTHERHISTORY,
- data:dataJson.other,
- yjs_1:dataJson.yjs_1,
- yjs_2:dataJson.yjs_2,
- yjs_3:dataJson.yjs_3,
- yjs_4:dataJson.yjs_4,
- selecteds:dataJson.otherHistorySelecteds?dataJson.otherHistorySelecteds:[],
- saveText:dataJsonStr[2].content ? JSON.parse(dataJsonStr[2].content):[],
- isEmpty:onlyOneText?true:false,//dataJson.otherHistoryIsEmpty,回读回来后判断是否只有一个空标签,是的话要使用模板
- editClear:dataJson.other.length>0?false:true
- });
- store.dispatch({
- type: CLEARCHECKBODY,
- data:dataJson.vital,
- selecteds:dataJson.checkBodySelecteds?dataJson.checkBodySelecteds:[],
- isEmpty:dataJson.checkBodyIsEmpty,
- saveText:dataJsonStr[3].content ? JSON.parse(dataJsonStr[3].content):[]
- });
- store.dispatch(clearAllLabel(
- dataJson.lis.labelList,
- dataJson.lis.getExcelDataList,
- dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[0] :'',
- dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[1] :''
- ));
- store.dispatch(clearAssistData(
- dataJson.pacs,
- dataJsonStr[5].content ? dataJsonStr[5].content:'',
- dataJson.checkedListImport||[]
- ));
- store.dispatch({
- type: CLEAR_ALL_DIAG,
- data:dataJson.diag,
- saveText:dataJsonStr[6].content ? dataJsonStr[6].content:'',
- chronicMagItem:dataJson.diagChronicMagItem
- });
- store.dispatch({
- type: CLEAR_ALL_PUSH_MESSAGE,
- data:dataJson.advice,
- saveText:dataJsonStr[7].content ? dataJsonStr[7].content:''
- });
- store.dispatch({
- type:SETREADDITEMS,
- data:dataJson.addItems
- });
- store.dispatch({
- type:CLEAR_FIRST_MAIN_DIAG,
- flag:dataJson.isFirstMainDiag
- });
- }
- } else {
- if(type == 'template'){ //纯文本模板回读
- let dataJson = JSON.parse(reData.dataJson);
- let dataJsonStr = JSON.parse(reData.preview);
- // console.log(dataJson,dataJsonStr,'纯文本模板引用')
- store.dispatch({ //主诉文本框
- type: CLEAR_MAIN_SUIT,
- data:[],
- saveText:JSON.parse(dataJsonStr.chief)
- });
- store.dispatch({
- type: CLEAR_CURRENT_ILL,
- data:[],
- saveText:JSON.parse(dataJsonStr.present)
- });
- store.dispatch({
- type: CLEAROTHERHISTORY,
- data:[],
- isEmpty:dataJson.otherHistoryIsEmpty,
- saveText:JSON.parse(dataJsonStr.other)
- });
- store.dispatch({
- type: CLEARCHECKBODY,
- data:dataJson.vital,
- isEmpty:dataJson.checkBodyIsEmpty,
- saveText:JSON.parse(dataJsonStr.vital)
- });
- store.dispatch(clearAllLabel(
- dataJson.lis.labelList,
- dataJson.lis.getExcelDataList,
- dataJsonStr.lis.split('-')[0],
- dataJsonStr.lis.split('-')[1]
- ));
- store.dispatch(clearAssistData(dataJson.pacs,dataJsonStr.pacs,dataJson.checkedListImport||[]));
- store.dispatch({
- type: CLEAR_ALL_DIAG,
- data:dataJson.diag,
- saveText:dataJsonStr.diag
- });
- store.dispatch({
- type: CLEAR_ALL_PUSH_MESSAGE,
- data:dataJson.advice,
- saveText:dataJsonStr.advice,
- });
- store.dispatch({
- type:SETREADDITEMS,
- data:dataJson.addItems
- });
- store.dispatch({
- type:CLEAR_FIRST_MAIN_DIAG,
- flag:dataJson.isFirstMainDiag
- });
- //tab跳回辅助信息
- store.dispatch(tabChange('0'));
- }else{ //纯文本历史病历回读
- let dataJson = JSON.parse(reData.dataJson);
- let dataJsonStr = reData.detailList;
- // console.log(dataJson,dataJsonStr,'纯文本历史病历回读')
- if(!dataJson && !dataJsonStr && !reData.sign){
- return;
- }
- store.dispatch({
- type: CLEAR_MAIN_SUIT,
- data:[],
- saveText:dataJsonStr[0].content ? JSON.parse(dataJsonStr[0].content) :[]
- });
- store.dispatch({
- type: CLEAR_CURRENT_ILL,
- data:[],
- saveText:dataJsonStr[1].content ? JSON.parse(dataJsonStr[1].content) :[]
- });
- store.dispatch({
- type: CLEAROTHERHISTORY,
- data:[],
- isEmpty:dataJson.otherHistoryIsEmpty,
- saveText:dataJsonStr[2].content ? JSON.parse(dataJsonStr[2].content) :[]
- });
- store.dispatch({
- type: CLEARCHECKBODY,
- data:dataJson.vital,
- isEmpty:dataJson.checkBodyIsEmpty,
- saveText:dataJsonStr[3].content ? JSON.parse(dataJsonStr[3].content):[]
- });
- store.dispatch(clearAllLabel(
- dataJson.lis.labelList,
- dataJson.lis.getExcelDataList,
- dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[0] :'',
- dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[1]:''
- ));
- store.dispatch(clearAssistData(
- dataJson.pacs,
- dataJsonStr[5].content ? dataJsonStr[5].content:'',
- dataJson.checkedListImport||[]
- ));
- store.dispatch({
- type: CLEAR_ALL_DIAG,
- data:dataJson.diag,
- saveText:dataJsonStr[6].content ? dataJsonStr[6].content:''
- });
- store.dispatch({
- type: CLEAR_ALL_PUSH_MESSAGE,
- data:dataJson.advice,
- saveText:dataJsonStr[7].content ? dataJsonStr[7].content:''
- });
- store.dispatch({
- type:SETREADDITEMS,
- data:dataJson.addItems
- });
- store.dispatch({
- type:CLEAR_FIRST_MAIN_DIAG,
- flag:dataJson.isFirstMainDiag
- });
- }
- }
- }
- store.dispatch({
- type:ISREAD
- });
- }
- function filterArr(arr){
- let tmpArr = arr.filter((item)=>{
- if(item){
- return item
- }
- });
- return tmpArr.join("").replace(/\s/g,'');
- }
- function filterDataArr(arrTmp){ //数据处理
- let tmpArr = [];
- tmpArr = arrTmp.map((it,i)=>{ //连续的标点符号保留第一个
- if(!it)return '';
- if(!it.match(config.punctuationReg)&&!arrTmp[i-1]){ //只有标点符号或者前一个标签无值是(说明本标点灰显,不显示在预览中)
- return '';
- }
- return it.replace(config.punReg,function(word){
- return word.substr(0,1);
- });
- });
- return trimDots(tmpArr.join('')); //去掉开头的标点符号,最后的标点保留第一个,中间连续的保留第一个
- }
- //其他史预览数据处理-月经史
- function filterOtherDataArr(arrTmp,jsonArr){
- let tmpArr = [];
- let index1 = jsonArr.findIndex((item)=>{
- return item.formulaCode=='yjs_1';
- });
- let index2 = jsonArr.findIndex((item)=>{
- return item.formulaCode=='yjs_2';
- });
- let index3 = jsonArr.findIndex((item)=>{
- return item.formulaCode=='yjs_3';
- });
- let index4 = jsonArr.findIndex((item)=>{
- return item.formulaCode=='yjs_4';
- });
- if(index1==-1&&index2==-1&&index3==-1&&index4==-1){//无月经史
- return {str1:filterDataArr(arrTmp),str2:''};
- }
- tmpArr = arrTmp.map((it,i)=>{ //连续的标点符号保留第一个
- if(!it.match(config.punctuationReg)&&!arrTmp[i-1]||[index1,index2,index3,index4].includes(i)){ //只有标点符号或者前一个标签无值是(说明本标点灰显,不显示在预览中)
- return '';
- }
- return it.replace(config.punReg,function(word){
- return word.substr(0,1);
- });
- });
- const splitNum = [index1,index2,index3,index4].find((i)=>i!=-1);
- const str1 = [...tmpArr].splice(0,splitNum).join("");
- const str2 = [...tmpArr].splice(splitNum).join("");
- return {str1:trimDots(str1),str2:trimDots(str2),index:index1};
- }
- //去掉开头的标点符号,最后的标点保留第一个,中间连续的保留第一个
- function trimDots(str){
- return str.replace(config.punReg,function(word){
- return word.substr(0,1);
- }).replace(/^[,,.。::"“??”;;、!!\s]+/,'');
- }
- //标签间连续标点只保留一个,保留前面一个
- function formatContinueDots(data){
- let arr=[];
- arr=data&&data.filter((it,i)=>{
- if(i==0||(it.name&&(it.name.match(config.punctuationReg))||(data[i-1].name&&data[i-1].name.match(config.punctuationReg)))){
- return it;
- }
- if(!it.name){ //主诉现病史病情变化
- return it;
- }
- });
- return arr;
- }
- // 取消默认行为
- function preventDefault(event) {
- if (event.preventDefault) {
- event.preventDefault();
- } else {
- event.returnValue = false;
- }
- }
- //ie8添加解除事件兼容
- function windowEventHandler(type,func,dom){
- let win = dom?dom:window;
- if(win.addEventListener){
- win.addEventListener(type, func);
- }else{
- win.attachEvent('on'+type,func);
- }
- }
- function windowRemoveEventHandler(type,func,dom){
- let win = dom?dom:window;
- if(win.addEventListener){
- win.removeEventListener(type, func);
- }else{
- win.detachEvent('on'+type,func);
- }
- }
- //禁止回车事件
- function handleEnter(event){
- event = event?event:window.event;
- if(event.keyCode==13){return false;}
- }
- //获取病例输入的内容
- function getEMRParams(){
- const state = store.getState();
- const {message} = state.patInfo;
- const {mainSuit,currentIll,otherHistory,checkBody,inspect,assistCheck,diagnosticList} = state;
- //console.log('message', message)
- const main = filterDataArr(mainSuit.saveText)||'',
- current=filterDataArr(currentIll.saveText)||'',
- other = filterDataArr(otherHistory.saveText)||'',
- vital = filterDataArr(checkBody.saveText)||'',
- lis = inspect.pushItem, //化验推送所需数据
- pacs = assistCheck.dataString||'',
- dis=diagnosticList.diagnosticStrNoType||'',
- advice = '',
- diseaeId = [];
- const age = message.patientAge;
- const sex = message.sex;
- const patientId = message.patientId //病人id,取上次用药
- const hosCode = message.hospitalCode
- return {main,current,other,vital,lis,pacs,dis,advice,diseaeId,sex,age, patientId, hosCode};
- };
- function didPushParamChange(){
- const emrData = getEMRParams();
- const oldParams = storageLocal.get('emrParam');
- const newParams = JSON.stringify({
- age: emrData.age,
- diag: emrData.dis,
- lis: emrData.lis,
- other: emrData.other,
- pacs: emrData.pacs,
- sex: emrData.sex,
- vital:emrData.vital,
- symptom: emrData.current + emrData.main,
- hosCode:emrData.hosCode
- });
- if(newParams == oldParams){
- return false;
- }
- return true;
- }
- //判断页面所有数据是否为空
- function isAllClear(jsonData,jsonStr,baseList){
- if ( //结构化和文本数据都为空
- JSON.stringify(jsonData.advice) == '{}' &&
- jsonData.chief.length < 1 &&
- jsonData.present.length < 1 &&
- // jsonData.other.length < 1 &&
- (jsonData.other.length > 0 ? baseList.otherHistory.isEmpty : true) &&
- //jsonData.vital.length < 1 &&
- (jsonData.vital.length > 0 ? baseList.checkBody.isEmpty : true) &&
- jsonData.diag.length < 1 &&
- jsonData.checkedListImport.length < 1 &&
- jsonData.pacs.length < 1 &&
- jsonData.lis.labelList.length < 1 &&
- jsonData.lis.getExcelDataList.length < 1 &&
- filterDataArr(JSON.parse(jsonStr.chief)) == '' &&
- filterDataArr(JSON.parse(jsonStr.present)) == '' &&
- filterDataArr(JSON.parse(jsonStr.other)) == '' && //这里都是filterDataArr不是filterArr,要去符号的
- filterDataArr(JSON.parse(jsonStr.vital)) == ''
- ) {
- return false;
- }else{
- return true;
- }
- }
- //判断除主诉外页面数据是否为空--慢病模板
- function ifOtherClear(jsonData,jsonStr,baseList){
- if ( //结构化和文本数据都为空
- JSON.stringify(jsonData.advice) == '{}' &&
- jsonData.present.length < 1 &&
- (jsonData.other.length > 0 ? baseList.otherHistory.isEmpty : true) &&
- (jsonData.vital.length > 0 ? baseList.checkBody.isEmpty : true) &&
- jsonData.diag.length < 1 &&
- jsonData.pacs.length < 1 &&
- jsonData.lis.labelList.length < 1 &&
- jsonData.lis.getExcelDataList.length < 1 &&
- filterDataArr(JSON.parse(jsonStr.present)) == '' &&
- filterDataArr(JSON.parse(jsonStr.other)) == '' && //这里都是filterDataArr不是filterArr,要去符号的
- filterDataArr(JSON.parse(jsonStr.vital)) == ''
- ) {
- return false;
- }else{
- return true;
- }
- }
- function normalVal(min,max){
- if(!min&&!max){
- return null;
- }else if(min&&max){
- return `正常值: (${min}~${max})`
- }else if(!min && max){
- return `正常值: (<${max})`
- }else if(min && !max){
- return `正常值: (>${min})`
- }
- }
- /**
- *
- * @param {弹窗显示位置是否往下设置} stic
- */
- function getPageCoordinate(event,stic){//获取鼠标点击的位置
- let e = event || window.event;
- var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
- var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
- var x = e.pageX || (e.clientX + scrollX);
- var y = (e.pageY+(stic?25:0)) || (e.clientY + scrollY + (stic?25:0));//弹窗位置偏下25
- let obj = {
- boxLeft : x ,
- boxTop : y+18
- }
- return obj;
- }
- function timestampToTime(timestamp) { //excel导入2019年5月1日会转换成时间戳
- var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
- var Y = date.getFullYear() + '-';
- var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
- var D = date.getDate() + ' ';
- var h = date.getHours() + ':';
- var m = date.getMinutes() + ':';
- var s = date.getSeconds();
- return Y+M+D+h+m+s;
- }
- /**
- *
- * @param {需要年月日传个true,不需要不传或者false} flg
- */
- function getCurrentDate(flg,con){
- let link = con?con:'-'
- let myDate = new Date();
- let year = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
- let mon = myDate.getMonth()-0+1; //获取当前月份(0-11,0代表1月)
- let day = myDate.getDate(); //获取当前日(1-31)
- let date = '';
- if(flg){
- var h = myDate.getHours();
- var m = myDate.getMinutes();
- var s = myDate.getSeconds();
- date = year+link+mon.toString().padStart(2,'0')+link+day.toString().padStart(2,'0')+' '+h.toString().padStart(2,'0')+':'+m.toString().padStart(2,'0')+':'+s.toString().padStart(2,'0');
- }else{
- date = year+link+mon.toString().padStart(2,'0')+link+day.toString().padStart(2,'0');
- }
- return date;
- }
- function inspectAndAssist(){
- const state = store.getState();
- let mainType = state.typeConfig.typeConfig
- if(mainType == 1){return}//文本模式不放化验辅检的模板
- let tmpAll = state.homePage.allModules;
- let tmpInspected = state.inspect.labelList;
- let tmpAssisted = state.assistCheck.assistLabel;
- let tmpInspect = [],tmpAssist = [],assayArr = [],tmpDetail=[],checkArr = [];
- for(let i = 0;i < tmpAll.length;i++){
- let tmpItem = tmpAll[i];
- if(tmpItem.type == 5){
- tmpInspect = tmpItem.moduleDetailDTOList || []
- }else if(tmpItem.type == 6){
- tmpAssist = tmpItem.moduleDetailDTOList || []
- }
- }
- for(let i = 0;i < tmpInspect.length;i++){//化验数据处理
- let tmpObj = { //添加化验
- details: [],
- name: '',
- questionId: '',
- showType: 1,
- uniqueName:''
- }
- if (tmpInspect[i].controlType == 0) {
- tmpDetail = tmpInspect[i].questionMapping
- }else if(tmpInspect[i].controlType == 1 || tmpInspect[i].controlType == 6){
- tmpDetail = new Array(tmpInspect[i])
- }
- tmpObj.questionId = tmpInspect[i].id
- tmpObj.name = tmpInspect[i].name
- tmpObj.details = tmpDetail
- tmpObj.uniqueName = tmpInspect[i].uniqueName || ''
- assayArr.push(tmpObj)
- }
- for(let i = 0;i < tmpAssist.length;i++){//辅检数据处理
- let tmpObj = { //添加辅检
- name: '',
- questionId: '',
- showType: 1,
- time:getCurrentDate(1),
- value:''
- }
- tmpObj.questionId = tmpAssist[i].id
- tmpObj.name = tmpAssist[i].name
- checkArr.push(tmpObj)
- }
- if(assayArr.length>0 && tmpInspected.length == 0){//化验
- store.dispatch(addLabel(assayArr))
- }
- if(checkArr.length > 0 && tmpAssisted.length == 0){//辅检
- store.dispatch(addAssistLabel(checkArr))
- }
- }
- function readyKeepHistory(){
- let baseList = store.getState();
- let jsonStr = getAllDataStringList(baseList);
- if(filterDataArr(JSON.parse(jsonStr.chief)) == ''){
- return 1;//主诉不能为空
- }else if(!jsonStr.diag || jsonStr.diag.trim().length < 1){
- return 2;//诊断不能为空
- }else{
- return 3;
- }
- }
- //评估图表数据转换
- function parseChartData(indexData){
- let arr=[],obj={},temp={};
- let nameArr=[],nameObj={};
- if(!indexData){
- return [];
- }
- indexData.indexData.map((it)=>{
- temp=indexData.indexConfigData.find((i)=>{return it.itemName==i.indexUnique});
- arr=obj[temp.groupType]||[];
- nameArr=nameObj[temp.groupType]||[];
- obj[temp.groupType]=[...arr,it];
- nameObj[temp.groupType]=[...nameArr,it.itemName];
- });
- //nameObj,obj;
- return {nameObj,obj};
- }
- //函数类工具,对函数进行操作 返回函数
- //延时操作
- function debounce(func, delay) {
- let timer = null;
- return function (...args) {
- if (timer) {
- clearTimeout(timer);
- }
- timer = setTimeout(() => {
- func.apply(this, args);
- }, delay);
- }
- }
- // 时间戳转换日期
- function dateParser(timestamp,link = '-'){
- let time = new Date(timestamp);
- let year = time.getFullYear();
- let month = time.getMonth()+1;
- let date = time.getDate();
- let hour = time.getHours().toString().padStart(2,'0');
- let minute = time.getMinutes().toString().padStart(2,'0');
- let second = time.getSeconds().toString().padStart(2,'0');
- // let result = year+link+month+link+date;
- let result = year+link+(month<10?"0"+month:month)+link+(date<10?"0"+date:date)+' '+hour+':'+minute+':'+second;
- return result;
- }
- //时间搓转换年龄
- function getAge(time){
- const birthday = new Date(time),
- year = birthday.getFullYear(),
- month = birthday.getMonth() + 1,
- day = birthday.getDate(),
- now = new Date(),
- now_year = now.getFullYear(),
- now_month = now.getMonth() + 1,
- now_day = now.getDate();
- let age= now_year - year;
- if (now_month > month) {
- age += 1;
- } else if (now_month === month) {
- if (now_day >= day) {
- age += 1;
- }
- }
- return age;
- };
- //获取URL参数-返回json对象
- function parseUrl(url){
- const r = url.substr(1).split("&"),
- obj = {};
- r.forEach((v) => {
- const index = v.indexOf('=');
- if (index > -1) {
- obj[v.substring(0, index)] = v.substring(index + 1);
- }
- });
- return obj;
- }
- //获取组合组件已填文字填入saveText
- function getSaveText(data){//console.log(data)
- const arr = data.questionMapping.map((it)=>{
- return it.value?(it.labelPrefix||'')+(it.value||'')+(it.labelSuffix||''):'';
- });
- return arr.join('');
- }
- //添加自由文本标签
- function notTextLabel(label){
- return +label.tagType!==8;
- }
- /*
- * 给标签组添加自由文本标签
- * 入参:arr源数组,
- * noPre是否不添加前置文本标签,默认false即添加
- * noEnd是否不添加后置文本标签,默认false即添加
- * 出参:newArr添加自由文本标签后的数据Array,
- * saveText添加自由文本后对应的预览数据Array,
- * */
- function fullfillText(arr,noPre=false,noEnd=false){
- let newArr =[],
- pre={},
- textLabel={},
- notText = true,
- saveText=[],
- tempText = '',
- value = '',
- cNum = 0;
- Array.isArray(arr)&&arr.map((it,i)=>{
- notText = notTextLabel(it);
- cNum = i;
- value = it.value||'';
- textLabel = JSON.parse(config.textLabel);
- //n个显示的标签最后一个标签后面要落关标,所以+1
- if(i===0){
- //第一个标签不是文本标签时在前面添加文本标签
- if(!noPre&¬Text){
- newArr.push(textLabel);
- saveText.push('');
- }
- newArr.push(it);
- if(it.tagType != 3){ //非血压类组合标签
- tempText = value?it.labelPrefix+value+it.labelSuffix:'';
- tempText = notText?tempText:it.value||it.name;
- }else{
- tempText = getSaveText(it);
- }
- saveText.push(tempText);
- // 模板只有一个标签时第一项后面也要加空标签
- if(arr.length==1&¬Text){
- newArr.push(JSON.parse(config.textLabel));
- saveText.push('');
- }
- }else{
- pre = arr[i-1];
- //如果本身不是文本标签且前面一个也不是文本标签,该标签前面添加文本标签
- if(notTextLabel(pre)&¬Text){
- newArr.push(textLabel,it);
- if(it.tagType != 3) {
- tempText = value ? it.labelPrefix + value + it.labelSuffix : '';
- }else{
- tempText = getSaveText(it);
- }
- saveText.push("",tempText);
- }else{ //本身是或者前面是文本标签时,前面不添加文本标签
- newArr.push(it);
- if(it.tagType != 3) {
- tempText = value ? it.labelPrefix + value + it.labelSuffix : '';
- tempText = notText ? tempText : (it.value || it.value == "" ? it.value : it.name);
- }else{
- tempText = getSaveText(it);
- }
- saveText.push(tempText);
- }
- if(notText&&!noEnd&&i===arr.length-1){//最后一个非文本标签,后面添加一个文本标签
- //不能用上面的变量textLabel,因为上一个if可能也进了,这样就是同一个对象,值改变时会同步
- newArr.push(JSON.parse(config.textLabel));
- saveText.push("");
- }
- }
- });
- return {newArr,saveText};
- };
- /*
- * 查体添加自由文本标签函数
- * 默认标签直接添加,
- * 前config.showCheckNum个源数据标签默认显示,剩余隐藏收起
- * 入参:arr源数组,
- * noPre是否不添加前置文本标签,默认false即添加
- * noEnd是否不添加后置文本标签,默认false即添加
- * showInCheck是否默认在查体中展开
- * 出参:newArr添加自由文本标签后的数据Array,
- * saveText添加自由文本后对应的预览数据Array,
- * checkHiddenDefault查体是否全部标签展开
- *
- * */
- function checkFullfillText(arr,noPre=false,noEnd=false){
- let newArr =[],
- pre={},
- textLabel={},
- notText = true,
- saveText=[],
- tempText = '',
- value = '',
- item={},
- checkHiddenDefault=false;
- arr&&arr.map((it,i)=>{
- notText = notTextLabel(it);
- value = it.value||'';
- //textLabel = i==0?JSON.parse(config.textLabel):Object.assign({},JSON.parse(config.textLabel),{showInCheck:true});
- //n个显示的标签最后一个标签后面要落关标,所以+1
- //_textLabel = !ifEmpty&&cNum<config.showCheckNum+1?Object.assign({},JSON.parse(config._textLabel),{showInCheck:true}):JSON.parse(config._textLabel);
- if(i===0){
- textLabel = Object.assign({},JSON.parse(config.textLabel),{showInCheck:true});
- //第一个标签不是文本标签时在前面添加文本标签
- if(!noPre&¬Text){
- newArr.push(textLabel);
- saveText.push('');
- }
- item = Object.assign({},it,{showInCheck:true});
- newArr.push(item);
- if(it.tagType != 3){
- tempText = value?it.labelPrefix+value+it.labelSuffix:'';
- tempText = notText?tempText:it.value||it.name;
- }else{
- tempText = getSaveText(it);
- }
- saveText.push(tempText);
- // 模板只有一个标签时第一项后面也要加空标签
- if(arr.length==1&¬Text){
- newArr.push(textLabel);
- saveText.push('');
- }
- }else{
- pre = arr[i-1];
- item = i<config.showCheckNum?Object.assign({},it,{showInCheck:true}):it;
- //判断单选项是否有默认选中,位置在隐藏区域时,查体所有标签展示
- if(!checkHiddenDefault&&i>config.showCheckNum&&+it.tagType===1&&(+it.controlType===0||+it.controlType===1)){
- if(it.questionDetailList.find((it)=>it.defaultSelect=='1')){
- checkHiddenDefault=true;
- }
- }
- //如果本身不是文本标签且前面一个也不是文本标签,该标签前面添加文本标签
- if(notTextLabel(pre)&¬Text){
- textLabel = Object.assign(JSON.parse(config._textLabel),{showInCheck:i-1<config.showCheckNum?true:false});
- newArr.push(textLabel,item);
- if(it.tagType != 3) {
- tempText = value ? it.labelPrefix + value + it.labelSuffix : '';
- }else{
- tempText = getSaveText(it);
- }
- saveText.push("",tempText);
- }else{ //本身是或者前面是文本标签时,前面不添加文本标签
- newArr.push(item);
- if(it.tagType != 3) {
- tempText = value ? it.labelPrefix + value + it.labelSuffix : '';
- tempText = notText ? tempText : (it.value || it.value == "" ? it.value : it.name);
- }else{
- tempText = getSaveText(it);
- }
- saveText.push(tempText);
- }
- if(notText&&!noEnd&&i===arr.length-1){//最后一个非文本标签,后面添加一个文本标签
- const _text = Object.assign(JSON.parse(config.textLabel),{showInCheck:arr.length>config.showCheckNum?false:true});
- newArr.push(_text);
- saveText.push("");
- }
- }
- });
- return {newArr,saveText,checkHiddenDefault};
- }
- //获取标签index,入参:病例项index+标签index+标签内index
- function getLabelIndex(index){
- let ikey = index.split('-')[1];
- return ikey;
- };
- function getWindowInnerHeight(){
- if(window.innerHeight!=undefined){
- return window.innerHeight;
- }else{
- let by = document.body, ele = document.documentElement;
- return Math.min(by.clientHeight,ele.clientHeight);
- }
- };
- function getWindowInnerWidth(){
- let width = window.innerWidth || document.body.clientWidth || document.documentElement.clientWidth
- return width
- };
- function getIds(data){
- let ids = [];
- data&&data.forEach((it,i)=>{
- ids.push(it.id);
- })
- return ids;
- }
- /**
- *
- * @param {日期相关} info
- * @param {时间是否包含时分秒} flg
- * @param {连接符} con
- */
- function getCalendarDate(info,flg,con) {
- let date = '';
- let time = flg?flg:false;
- let conect = con?con:'-';
- if(time){
- date = info.year + conect + (info.month).toString().padStart(2,'0') + conect + (info.day).toString().padStart(2,'0') + ' '+(info.hour).toString().padStart(2,'0')+':'+(info.minute).toString().padStart(2,'0')+':'+(info.second).toString().padStart(2,'0');
- }else{
- date = info.year + conect + (info.month < 10 ? '0' + info.month : info.month) + conect + (info.day < 10 ? '0' + info.day : info.day);
- }
- return date;
- }
- // 导出
- function downloadExportedData(data, fileName) {
- // var blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}); //type表示xlsx类型
- var blob = new Blob([data], {type: 'application/vnd.ms-excel'}); //type表示xlsx类型
- var downloadElement = document.createElement('a');
- var href = window.URL.createObjectURL(blob); //创建下载的链接
- downloadElement.href = href;
- downloadElement.download = fileName; //下载后文件名
- document.body.appendChild(downloadElement);
- downloadElement.click(); //点击下载
- document.body.removeChild(downloadElement); //下载完成移除元素
- window.URL.revokeObjectURL(href);
- }
- function getStatusImg(type,val,status){
- if(type == 0){//正常
- return <span>{val} </span>
- }else if(type == 1){//异常(表单输入的话非数字显示为异常)
- return <span className={'red'}>{val} </span>
- }
- if(status == 1){
- if(type == 2){
- return <span style={{color:'#FF5D5D'}}>{val}<img src={up} alt=""/> </span>
- }else if(type == 3){
- return <span style={{color:"#D949FF"}}>{val}<img src={down} alt=""/> </span>
- }
- }else{
- if(type == 2){
- return <span>{val}<img src={up} alt=""/> </span>
- }else if(type == 3){
- return <span>{val}<img src={down} alt=""/> </span>
- }
- }
- }
- //键值对转换
- function parseNameVal(arr){
- let obj = {};
- Array.isArray(arr)&&arr.map((it)=>{
- obj[it.code]=it.value;
- });
- return obj;
- }
- //化验数据处理
- function getStringPlus(dataList){
- let strPlus = '';
- dataList && dataList.map((item)=>{
- if(item.detailName){
- let strTmp = item.name + ',' + item.detailName + ',' + (item.otherValue ? item.otherValue : (item.value + item.units)) +';'
- strPlus += strTmp;
- }else{
- let strTmp = item.name+';'
- strPlus += strTmp;
- }
- })
- return strPlus;
- }
- /**
- *
- * @param {data1} excel导入的数据 getExcelDataList
- * @param {data2} 填写单数据 labelList
- */
- function getPushList(data1,data2){ //推送数据
- let tmpArr1 = [];
- let tmpArr2 = [];
- let totalTmpArr = [];
- const now = dateParser(new Date());
- data1.length>0 && data1.map((items)=>{ //excel导入的数据拼接
- items.lisExcelRes.map((item)=>{
- item.lisExcelItem.map((part)=>{
- let tmpObj = {};
- tmpObj.name = part.mealName || '';//套餐名
- tmpObj.detailName = part.itemName || '';//化验项名
- tmpObj.uniqueName = part.uniqueName || '';//公表名称
- tmpObj.source = '1';//数据来源
- tmpObj.maxValue = part.max || '';
- tmpObj.minValue = part.min || '';
- tmpObj.time = part.time ||now;
- tmpObj.units = part.unit || '';//单位
- tmpObj.value = (part.value-0) === (part.value-0) ? part.value:'';//值
- tmpObj.otherValue = (part.value-0) === (part.value-0) ?'':part.value; //阴性阳性
- tmpArr1.push(tmpObj);
- })
- })
- })
- data2.length>0 && data2.map((item)=>{ //填写单数据拼接
- item.details && item.details.map((val)=>{
- if(val.value != undefined && val.value != ''){
- let tmpObj = {};
- tmpObj.name = item.name || '';
- tmpObj.detailName = val.name || '';
- tmpObj.uniqueName = val.uniqueName || '';//公表名称
- tmpObj.source = '0'; //数据来源
- tmpObj.maxValue = val.maxValue ? val.maxValue : '';
- tmpObj.minValue = val.minValue ? val.minValue : '';
- tmpObj.time = val.time || now;
- tmpObj.units = val.labelSuffix || '';
- tmpObj.value = (val.value-0) === (val.value-0) ? val.value:'';
- tmpObj.otherValue = (val.value-0) === (val.value-0) ?'':val.value;
- tmpArr2.push(tmpObj);
- }
- })
- })
- totalTmpArr = tmpArr1.concat(tmpArr2);
- return totalTmpArr;
- }
- function getPushLists(data1,data2){ //推送数据
- let tmpArr1 = [];
- let tmpArr2 = [];
- let totalTmpArr = [];
- data1.length>0 && data1.map((items)=>{ //excel导入的数据拼接
- items.lisExcelRes.map((item)=>{
- item.lisExcelItem.map((part)=>{
- let tmpObj = {};
- tmpObj.name = part.mealName || '';//套餐名
- tmpObj.detailName = part.itemName || '';//化验项名
- tmpObj.uniqueName = part.uniqueName || '';//公表名称
- tmpObj.source = '1';//数据来源
- tmpObj.maxValue = part.max || '';
- tmpObj.minValue = part.min || '';
- tmpObj.units = part.unit || '';//单位
- tmpObj.value = (part.value-0) === (part.value-0) ? part.value:'';//值
- tmpObj.otherValue = (part.value-0) === (part.value-0) ?'':part.value; //阴性阳性
- tmpArr1.push(tmpObj);
- })
- })
- })
- data2.length>0 && data2.map((item)=>{ //填写单数据拼接
- if(item.show){
- item.details.map((val)=>{
- if(val.value != undefined && val.value != ''){
- let tmpObj = {};
- tmpObj.name = item.name || '';
- tmpObj.detailName = val.name || '';
- tmpObj.uniqueName = val.uniqueName || '';//公表名称
- tmpObj.source = '0'; //数据来源
- tmpObj.maxValue = val.maxValue ? val.maxValue : '';
- tmpObj.minValue = val.minValue ? val.minValue : '';
- tmpObj.units = val.labelSuffix || '';
- tmpObj.value = (val.value-0) === (val.value-0) ? val.value:'';
- tmpObj.otherValue = (val.value-0) === (val.value-0) ?'':val.value;
- tmpArr2.push(tmpObj);
- }
- })
- }else{
- let tmpObj = {};
- tmpObj.name = item.name;
- tmpArr2.push(tmpObj);
- }
- })
- totalTmpArr = tmpArr1.concat(tmpArr2);
- return totalTmpArr;
- }
- function getAllString(checkedListImport,assistLabel){
- let tmpImportLis = [],tmpString='';
- for(let i = 0;i < checkedListImport.length;i++){
- for(let j = 0;j < checkedListImport[i].length;j++){
- tmpImportLis.push(checkedListImport[i][j])
- }
- }
- let tempArr = tmpImportLis.concat(assistLabel)
- for (let i = 0; i < tempArr.length; i++) {
- let tmpVal = tempArr[i].value ? tempArr[i].value.trim() : tempArr[i].value;
- tmpString += (tempArr[i].name + (tmpVal ? (':' + tmpVal) + ', ' : ': ') + (tempArr[i].time ? '报告日期:' + tempArr[i].time : '') + ';')
- }
- return tmpString;
- }
- module.exports = {
- checkType: Type.checkType,
- getIds,
- getWindowInnerWidth,
- getWindowInnerHeight,
- getLabelIndex,
- fullfillText,
- checkFullfillText,
- parseUrl,
- getAge,
- dateParser,
- debounce,
- regexp,
- isUndefined,
- Storage,
- nullFn,
- isNotNull,
- isNull,
- deepClone,
- isIE,
- storageLocal,
- getUrlArgObject,
- getAllDataList,
- getAllDataStringList,
- pushAllDataList,
- filterArr,
- filterDataArr,
- filterOtherDataArr,
- preventDefault,
- handleEnter,
- didPushParamChange,
- getEMRParams,
- windowEventHandler,
- isAllClear,
- normalVal,
- getPageCoordinate,
- windowRemoveEventHandler,
- timestampToTime,
- formatContinueDots,
- inspectAndAssist,
- getCurrentDate,
- ifOtherClear,
- readyKeepHistory,
- parseChartData,
- getCalendarDate,
- downloadExportedData,
- getStatusImg,
- parseNameVal,
- getStringPlus,
- getPushLists,
- getPushList,
- getAllString
- };
|