tools.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. import store from '@store';
  2. import {CLEAR_MAIN_SUIT} from '@store/types/mainSuit';
  3. import {CLEAR_CURRENT_ILL} from '@store/types/currentIll';
  4. import {CLEAROTHERHISTORY} from '@store/types/otherHistory';
  5. import {CLEARCHECKBODY} from '@store/types/checkBody';
  6. import {clearAssistData} from '@store/actions/assistCheck';
  7. import {clearAllLabel} from '@store/actions/inspect';
  8. import {CLEAR_ALL_DIAG} from '@store/types/diagnosticList';
  9. import {CLEAR_ALL_PUSH_MESSAGE, SET_TIPS} from '@store/types/pushMessage';
  10. import {ISREAD, SETREADDITEMS} from "../store/types/homePage";
  11. /***
  12. * 工具函数
  13. *
  14. * ***/
  15. const ARR = "Array";
  16. const NUMBER = "Number";
  17. const STRING = "String";
  18. const OBJECT = "Object";
  19. const UNDEFINED = "Undefined";
  20. const NULL = "Null";
  21. const BOOLEAN = "Boolean";
  22. const qs = require('qs');
  23. // 数据类型判断
  24. const Type = {
  25. typeConstant: {
  26. 'array': ARR,
  27. 'number': NUMBER,
  28. 'string': STRING,
  29. 'object': OBJECT,
  30. 'undefined': UNDEFINED,
  31. 'null': NULL,
  32. 'boolean': BOOLEAN
  33. },
  34. tolower: (str)=> {
  35. if(typeof str !== "string") {
  36. return "";
  37. }
  38. return str.toLowerCase();
  39. },
  40. checkType: (el, type)=> {
  41. type = Type.tolower(type);
  42. type = Type.typeConstant[type];
  43. return Object.prototype.toString.call(el) === "[object "+ type +"]";
  44. }
  45. }
  46. // 计算字符串长度,该长度将一个中文字算作2个字符长度
  47. const regexp = {
  48. ch: (str)=> {//匹配中文
  49. if(typeof str !== "string") {
  50. return "";
  51. }
  52. return str.match(/[\u4e00-\u9fa5]/g) || "";
  53. },
  54. chLen: function (str) {//中文长度
  55. return regexp.ch(str).length;
  56. },
  57. strLen: function (str) {//字符串长度(一个中文当作两个英文字母)
  58. if(typeof str !== "string") {
  59. return 0;
  60. }
  61. return str.length + regexp.chLen(str);
  62. }
  63. }
  64. //判断是否空对象或未定义
  65. const isUndefined = function (str) {
  66. if(str === 0 || str === "") {
  67. return false;
  68. }
  69. return (Type.checkType(str, 'null') || Type.checkType(str, 'undefined'));
  70. }
  71. //sessionStorage方法封装
  72. const Storage = {
  73. session: {
  74. get: function (name) {
  75. return JSON.parse(sessionStorage.getItem(name));
  76. },
  77. set: function (name, data) {
  78. sessionStorage.setItem(name, JSON.stringify(data));
  79. },
  80. remove: function (name) {
  81. sessionStorage.removeItem(name);
  82. },
  83. clear: function () {
  84. sessionStorage.clear();
  85. }
  86. }
  87. };
  88. //localStorage方法封装
  89. const storageLocal = {
  90. set: function (name, data) {
  91. if(!data) {
  92. return;
  93. }
  94. if(typeof data !== 'string') {
  95. data = JSON.stringify(data);
  96. }
  97. localStorage.setItem(name, data);
  98. },
  99. get: function (name) {
  100. return localStorage.getItem(name);
  101. },
  102. remove: function (name) {
  103. localStorage.removeItem(name);
  104. },
  105. clear: function () {
  106. localStorage.clear();
  107. }
  108. };
  109. const nullFn = ()=>{};
  110. //是否为空
  111. const isNull = (item)=>{
  112. return String(item)=== "" || String(item)==="null" || String(item)==="undefined";
  113. };
  114. const isNotNull = (item)=>{
  115. return !(isNull(item));
  116. };
  117. //判断是否为ie浏览器
  118. const isIE = () => { //ie?
  119. if (!!window.ActiveXObject || "ActiveXObject" in window){
  120. return true;
  121. } else{
  122. return false;
  123. }
  124. }
  125. const deepClone = (data)=>{
  126. return JSON.parse(JSON.stringify(data))
  127. };
  128. const getUrlArgObject = (parm) => {
  129. /*let args=new Object();
  130. let query=window.location.href;//获取查询串
  131. let pairs,arr;
  132. if(query.indexOf("?") != -1){
  133. pairs=query.split("?")[1].split("&");
  134. for(let i=0;i<pairs.length;i++){
  135. let pos=pairs[i].indexOf('=');//查找name=value
  136. if(pos==-1){//如果没有找到就跳过
  137. continue;
  138. }
  139. let argname=pairs[i].substring(0,pos);//提取name
  140. let value=decodeURIComponent(pairs[i].substring(pos+1));//提取value
  141. args[argname]=unescape(value);//存为属性
  142. }
  143. }*/
  144. let query = window.location.search;
  145. let args = qs.parse(query.substr(1));
  146. return args[parm];//返回对象
  147. }
  148. const getAllDataList =(baseList) =>{ //获取所有模块结构化的数据
  149. let jsonData = {};
  150. jsonData.lis = {};
  151. jsonData.chief = baseList.mainSuit.data; //主诉
  152. jsonData.present = baseList.currentIll.data; //现病史
  153. jsonData.other = baseList.otherHistory.data; //其他史
  154. jsonData.vital = baseList.checkBody.data; //查体
  155. jsonData.lis.labelList = baseList.inspect.labelList; //化验
  156. jsonData.lis.getExcelDataList = baseList.inspect.getExcelDataList; //化验导入
  157. jsonData.pacs = baseList.assistCheck.assistLabel; //辅检
  158. jsonData.diag = baseList.diagnosticList.diagnosticList; //诊断
  159. jsonData.advice = baseList.pushMessage.advice; //医嘱
  160. jsonData.mainSuitSelecteds = baseList.mainSuit.selecteds; //主诉选中状态保存
  161. jsonData.currentIllSelecteds = baseList.currentIll.selecteds; //主诉选中状态保存
  162. jsonData.otherHistorySelecteds = baseList.otherHistory.selecteds; //主诉选中状态保存
  163. jsonData.checkBodySelecteds = baseList.checkBody.selecteds; //主诉选中状态保存
  164. jsonData.addItems = baseList.homePage.addItems||{};
  165. jsonData.mainsuitIds = baseList.mainSuit.mainIds; //主诉去重
  166. jsonData.currentIds = baseList.currentIll.symptomIds; //现病史去重
  167. // console.log(jsonData,'结构化数据获取')
  168. return jsonData;
  169. }
  170. const getAllDataStringList =(baseList) =>{ //获取所有模块文本的数据
  171. let jsonDataString = {};
  172. jsonDataString.lis = {};
  173. let chiefData = [],presentData=[],otherData=[],vitalData=[];
  174. if(baseList.mainSuit.saveText.length == 1 && baseList.mainSuit.saveText[0].trim() == ''){
  175. chiefData = []
  176. }else{
  177. chiefData = baseList.mainSuit.saveText
  178. }
  179. if(baseList.currentIll.saveText.length == 1 && baseList.currentIll.saveText[0].trim() == ''){
  180. presentData = []
  181. }else{
  182. presentData = baseList.currentIll.saveText
  183. }
  184. if(baseList.otherHistory.saveText.length == 1 && baseList.otherHistory.saveText[0].trim() == ''){
  185. otherData = []
  186. }else{
  187. otherData = baseList.otherHistory.saveText
  188. }
  189. if(baseList.checkBody.saveText.length == 1 && baseList.checkBody.saveText[0].trim() == ''){
  190. vitalData = []
  191. }else{
  192. vitalData = baseList.checkBody.saveText
  193. }
  194. jsonDataString = {
  195. 'chief' : JSON.stringify(chiefData),
  196. 'present' : JSON.stringify(presentData),
  197. 'other' : JSON.stringify(otherData),
  198. 'vital' : JSON.stringify(vitalData),
  199. 'lis' : baseList.inspect.inspectStrPlus,
  200. 'pacs' : baseList.assistCheck.dataString,
  201. 'diag' : baseList.diagnosticList.diagnosticStr,
  202. 'advice' : baseList.pushMessage.AdviceStr
  203. }
  204. // console.log(jsonDataString,'文本模式数据获取')
  205. return jsonDataString;
  206. }
  207. /**
  208. *
  209. * @param {回读数据} reData
  210. * @param {回读数据是历史病历'history',还是模板'template'} type
  211. * @param {什么操作,回读'push'还是清空'clear'} action
  212. * @param {引用的话是保存时候的文本类型,编辑的时候是当前页面设置的文本类型} whichSign
  213. */
  214. const pushAllDataList =(whichSign,action,reData,type) =>{ //回读清空所有的数据
  215. store.dispatch({
  216. type:ISREAD
  217. });
  218. if(action == 'clear'){ //清空
  219. store.dispatch({type: CLEAR_MAIN_SUIT,data:[],saveText:[],selecteds:[],editClear:true,mainIds:[]});
  220. store.dispatch({type: CLEAR_CURRENT_ILL,data:[],saveText:[],selecteds:[],editClear:true,symptomIds:[]});
  221. store.dispatch({type: CLEAROTHERHISTORY,data:[],saveText:[],selecteds:[],editClear:true});
  222. store.dispatch({type: CLEARCHECKBODY,data:[],saveText:[],selecteds:[]});
  223. store.dispatch(clearAssistData([],''));
  224. store.dispatch(clearAllLabel([],[],''));
  225. store.dispatch({
  226. type: SET_TIPS,
  227. tips: {}
  228. })
  229. store.dispatch({
  230. type: CLEAR_ALL_DIAG,
  231. data:[],
  232. saveText:'',
  233. mainSuitStr: '',
  234. });
  235. store.dispatch({
  236. type: CLEAR_ALL_PUSH_MESSAGE,
  237. data:{}
  238. });
  239. // Notify.success('页面已清空')
  240. }else{
  241. if (whichSign == 0) {
  242. if(type == 'template'){ //结构化模板回读
  243. let dataJson = JSON.parse(reData.dataJson);
  244. let dataJsonStr = JSON.parse(reData.preview);
  245. // console.log(dataJson,dataJsonStr,'结构化模板引用')
  246. store.dispatch({
  247. type: CLEAR_MAIN_SUIT,
  248. data:dataJson.chief,
  249. selecteds:dataJson.mainSuitSelecteds?dataJson.mainSuitSelecteds:[],
  250. saveText:JSON.parse(dataJsonStr.chief),
  251. mainIds:dataJson.mainsuitIds?dataJson.mainsuitIds:[],
  252. });
  253. store.dispatch({
  254. type: CLEAR_CURRENT_ILL,
  255. data:dataJson.present,
  256. selecteds:dataJson.currentIllSelecteds?dataJson.currentIllSelecteds:[],
  257. saveText:JSON.parse(dataJsonStr.present),
  258. symptomIds:dataJson.currentIds?dataJson.currentIds:[]
  259. });
  260. store.dispatch({
  261. type: CLEAROTHERHISTORY,
  262. data:dataJson.other,
  263. selecteds:dataJson.otherHistorySelecteds?dataJson.otherHistorySelecteds:[],
  264. saveText:JSON.parse(dataJsonStr.other),
  265. editClear:dataJson.other.length>0?false:true
  266. });
  267. store.dispatch({
  268. type: CLEARCHECKBODY,
  269. data:dataJson.vital,
  270. selecteds:dataJson.checkBodySelecteds?dataJson.checkBodySelecteds:[],
  271. saveText:JSON.parse(dataJsonStr.vital)
  272. });
  273. store.dispatch(clearAllLabel(
  274. dataJson.lis.labelList,
  275. dataJson.lis.getExcelDataList,
  276. dataJsonStr.lis.split('-')[0],
  277. dataJsonStr.lis.split('-')[1]
  278. ));
  279. store.dispatch(clearAssistData(dataJson.pacs,dataJsonStr.pacs));
  280. store.dispatch({
  281. type: CLEAR_ALL_DIAG,
  282. data:dataJson.diag,
  283. saveText:dataJsonStr.diag
  284. });
  285. store.dispatch({
  286. type: CLEAR_ALL_PUSH_MESSAGE,
  287. data:dataJson.advice,
  288. saveText:dataJsonStr.advice
  289. });
  290. store.dispatch({
  291. type:SETREADDITEMS,
  292. data:dataJson.addItems
  293. });
  294. }else{ //结构化历史病历回读
  295. let dataJson = JSON.parse(reData.dataJson);
  296. let dataJsonStr = reData.detailList;
  297. // console.log(dataJson,dataJsonStr,'结构化历史病历回读')
  298. // console.log(dataJson.mainSuitSelecteds,7887)
  299. store.dispatch({
  300. type: CLEAR_MAIN_SUIT,
  301. data:dataJson.chief,
  302. selecteds:dataJson.mainSuitSelecteds?dataJson.mainSuitSelecteds:[],
  303. saveText:dataJsonStr[0].content ? JSON.parse(dataJsonStr[0].content) :[],
  304. mainIds:dataJson.mainsuitIds?dataJson.mainsuitIds:[]
  305. });
  306. store.dispatch({
  307. type: CLEAR_CURRENT_ILL,
  308. data:dataJson.present,
  309. selecteds:dataJson.currentIllSelecteds?dataJson.currentIllSelecteds:[],
  310. saveText:dataJsonStr[1].content ? JSON.parse(dataJsonStr[1].content):[],
  311. symptomIds:dataJson.currentIds?dataJson.currentIds:[]
  312. });
  313. store.dispatch({
  314. type: CLEAROTHERHISTORY,
  315. data:dataJson.other,
  316. selecteds:dataJson.otherHistorySelecteds?dataJson.otherHistorySelecteds:[],
  317. saveText:dataJsonStr[2].content ? JSON.parse(dataJsonStr[2].content):[],
  318. editClear:dataJson.other.length>0?false:true
  319. });
  320. store.dispatch({
  321. type: CLEARCHECKBODY,
  322. data:dataJson.vital,
  323. selecteds:dataJson.checkBodySelecteds?dataJson.checkBodySelecteds:[],
  324. saveText:dataJsonStr[3].content ? JSON.parse(dataJsonStr[3].content):[]
  325. });
  326. store.dispatch(clearAllLabel(
  327. dataJson.lis.labelList,
  328. dataJson.lis.getExcelDataList,
  329. dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[0] :'',
  330. dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[1] :''
  331. ));
  332. store.dispatch(clearAssistData(
  333. dataJson.pacs,
  334. dataJsonStr[5].content ? dataJsonStr[5].content:''
  335. ));
  336. store.dispatch({
  337. type: CLEAR_ALL_DIAG,
  338. data:dataJson.diag,
  339. saveText:dataJsonStr[6].content ? dataJsonStr[6].content:''
  340. });
  341. store.dispatch({
  342. type: CLEAR_ALL_PUSH_MESSAGE,
  343. data:dataJson.advice,
  344. saveText:dataJsonStr[7].content ? dataJsonStr[7].content:''
  345. });
  346. store.dispatch({
  347. type:SETREADDITEMS,
  348. data:dataJson.addItems
  349. });
  350. }
  351. } else {
  352. if(type == 'template'){ //纯文本模板回读
  353. let dataJson = JSON.parse(reData.dataJson);
  354. let dataJsonStr = JSON.parse(reData.preview);
  355. // console.log(dataJson,dataJsonStr,'纯文本模板引用')
  356. store.dispatch({ //主诉文本框
  357. type: CLEAR_MAIN_SUIT,
  358. data:[],
  359. saveText:JSON.parse(dataJsonStr.chief)
  360. });
  361. store.dispatch({
  362. type: CLEAR_CURRENT_ILL,
  363. data:[],
  364. saveText:JSON.parse(dataJsonStr.present)
  365. });
  366. store.dispatch({
  367. type: CLEAROTHERHISTORY,
  368. data:[],
  369. saveText:JSON.parse(dataJsonStr.other)
  370. });
  371. store.dispatch({
  372. type: CLEARCHECKBODY,
  373. data:dataJson.vital,
  374. saveText:JSON.parse(dataJsonStr.vital)
  375. });
  376. store.dispatch(clearAllLabel(
  377. dataJson.lis.labelList,
  378. dataJson.lis.getExcelDataList,
  379. dataJsonStr.lis.split('-')[0],
  380. dataJsonStr.lis.split('-')[1]
  381. ));
  382. store.dispatch(clearAssistData(dataJson.pacs,dataJsonStr.pacs));
  383. store.dispatch({
  384. type: CLEAR_ALL_DIAG,
  385. data:dataJson.diag,
  386. saveText:dataJsonStr.diag
  387. });
  388. store.dispatch({
  389. type: CLEAR_ALL_PUSH_MESSAGE,
  390. data:dataJson.advice,
  391. saveText:dataJsonStr.advice,
  392. });
  393. store.dispatch({
  394. type:SETREADDITEMS,
  395. data:dataJson.addItems
  396. });
  397. }else{ //纯文本历史病历回读
  398. let dataJson = JSON.parse(reData.dataJson);
  399. let dataJsonStr = reData.detailList;
  400. // console.log(dataJson,dataJsonStr,'纯文本历史病历回读')
  401. if(!dataJson && !dataJsonStr && !reData.sign){
  402. return;
  403. }
  404. store.dispatch({
  405. type: CLEAR_MAIN_SUIT,
  406. data:[],
  407. saveText:dataJsonStr[0].content ? JSON.parse(dataJsonStr[0].content) :[]
  408. });
  409. store.dispatch({
  410. type: CLEAR_CURRENT_ILL,
  411. data:[],
  412. saveText:dataJsonStr[1].content ? JSON.parse(dataJsonStr[1].content) :[]
  413. });
  414. store.dispatch({
  415. type: CLEAROTHERHISTORY,
  416. data:[],
  417. saveText:dataJsonStr[2].content ? JSON.parse(dataJsonStr[2].content) :[]
  418. });
  419. store.dispatch({
  420. type: CLEARCHECKBODY,
  421. data:dataJson.vital,
  422. saveText:dataJsonStr[3].content ? JSON.parse(dataJsonStr[3].content):[]
  423. });
  424. store.dispatch(clearAllLabel(
  425. dataJson.lis.labelList,
  426. dataJson.lis.getExcelDataList,
  427. dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[0] :'',
  428. dataJsonStr[4].content ? dataJsonStr[4].content.split('-')[1]:''
  429. ));
  430. store.dispatch(clearAssistData(
  431. dataJson.pacs,
  432. dataJsonStr[5].content ? dataJsonStr[5].content:''
  433. ));
  434. store.dispatch({
  435. type: CLEAR_ALL_DIAG,
  436. data:dataJson.diag,
  437. saveText:dataJsonStr[6].content ? dataJsonStr[6].content:''
  438. });
  439. store.dispatch({
  440. type: CLEAR_ALL_PUSH_MESSAGE,
  441. data:dataJson.advice,
  442. saveText:dataJsonStr[7].content ? dataJsonStr[7].content:''
  443. });
  444. store.dispatch({
  445. type:SETREADDITEMS,
  446. data:dataJson.addItems
  447. });
  448. }
  449. }
  450. }
  451. }
  452. function filterArr(arr){
  453. let tmpArr = arr.filter((item)=>{
  454. if(item){
  455. return item
  456. }
  457. });
  458. return tmpArr.join("").replace(/\s/g,'');
  459. }
  460. function filterDataArr(arrTmp){ //数据处理
  461. let tmpArr = [];
  462. let arr = arrTmp.join('').split('');
  463. for(let i = 0;i < arr.length;i++){
  464. if(arr[i] && arr[i].indexOf('undefined') == -1){
  465. if(tmpArr[tmpArr.length-1] != ',' && tmpArr[tmpArr.length-1] != ',' && tmpArr[tmpArr.length-1] != '、' && tmpArr[tmpArr.length-1] != '。'){
  466. tmpArr.push(arr[i])
  467. }else {
  468. if(tmpArr[tmpArr.length-1] == '。' && arr[i] != ',' && arr[i] != ',' && arr[i] != '、' && arr[i] != '。'){
  469. tmpArr.push(arr[i]);
  470. }else if(tmpArr[tmpArr.length-1] != '。'){
  471. if(arr[i] == '。'){
  472. tmpArr.pop();
  473. tmpArr.push(arr[i]);
  474. }else if(arr[i] != '。' && tmpArr[tmpArr.length-1] == '、'){ //前面逗号后面顿号 [',','、']
  475. if(arr[i] != ',' && arr[i] != ',' && arr[i] != '、'){
  476. tmpArr.push(arr[i]);
  477. }else{
  478. tmpArr.pop();
  479. tmpArr.push(arr[i]);
  480. }
  481. }else if(arr[i] != '。' && tmpArr[tmpArr.length-1] != '、'){
  482. if(arr[i] != ',' && arr[i] != ',' && arr[i] != '、'){
  483. tmpArr.push(arr[i]);
  484. }
  485. }
  486. }
  487. }
  488. }
  489. }
  490. return (tmpArr.join('')).replace(/^,+/,"").replace(/,+$/,"").replace(/,+$/,"").replace(/,+$/,"").replace(/、+$/,"");
  491. }
  492. filterDataArr(['sds','、',',','sds'])
  493. // 取消默认行为
  494. function preventDefault(event) {
  495. if (event.preventDefault) {
  496. event.preventDefault();
  497. } else {
  498. event.returnValue = false;
  499. }
  500. }
  501. //ie8添加解除事件兼容
  502. function windowEventHandler(type,func){
  503. if(window.addEventListener){
  504. window.addEventListener(type, func);
  505. }else{
  506. window.attachEvent('on'+type,func);
  507. }
  508. }
  509. //禁止回车事件
  510. function handleEnter(event){
  511. event = event?event:window.event;
  512. if(event.keyCode==13){return false;}
  513. }
  514. //获取病例输入的内容
  515. function getEMRParams(){
  516. const state = store.getState();
  517. const {message} = state.patInfo;
  518. const {mainSuit,currentIll,otherHistory,checkBody,inspect,assistCheck,diagnosticList} = state;
  519. const main = filterDataArr(mainSuit.saveText)||'',
  520. current=filterDataArr(currentIll.saveText)||'',
  521. other = filterDataArr(otherHistory.saveText)||'',
  522. vital = filterDataArr(checkBody.saveText)||'',
  523. lis = inspect.pushItem, //化验推送所需数据
  524. pacs = assistCheck.dataString||'',
  525. dis=diagnosticList.diagnosticStr||'',
  526. advice = '',
  527. diseaeId = [];
  528. const age = message.patientAge;
  529. const sex = message.sex;
  530. return {main,current,other,vital,lis,pacs,dis,advice,diseaeId,sex,age};
  531. };
  532. function didPushParamChange(){
  533. const emrData = getEMRParams();
  534. const oldParams = storageLocal.get('emrParam');
  535. const newParams = JSON.stringify({
  536. age: emrData.age,
  537. featureType: "5,6,7",
  538. diag: emrData.dis,
  539. lis: emrData.lis,
  540. other: emrData.other,
  541. pacs: emrData.pacs,
  542. sex: emrData.sex,
  543. vital:emrData.vital,
  544. symptom: emrData.current + emrData.main
  545. });
  546. if(newParams == oldParams){
  547. return false;
  548. }
  549. return true;
  550. }
  551. module.exports = {
  552. checkType: Type.checkType,
  553. regexp,
  554. isUndefined,
  555. Storage,
  556. nullFn,
  557. isNotNull,
  558. isNull,
  559. deepClone,
  560. isIE,
  561. storageLocal,
  562. getUrlArgObject,
  563. getAllDataList,
  564. getAllDataStringList,
  565. pushAllDataList,
  566. filterArr,
  567. filterDataArr,
  568. preventDefault,
  569. handleEnter,
  570. didPushParamChange,
  571. getEMRParams,
  572. windowEventHandler
  573. };