Quellcode durchsuchen

Merge remote-tracking branch 'origin/codeOptimize' into dev5.3.3

zhouna vor 5 Jahren
Ursprung
Commit
1c89e751c3
61 geänderte Dateien mit 459 neuen und 26494 gelöschten Zeilen
  1. 2 1
      build/webpack.dev.conf.js
  2. 1 0
      build/webpack.prod.conf.js
  3. BIN
      favicon.ico
  4. 6 3
      src/common/components/DropList/index.jsx
  5. 10 10
      src/common/components/DropList/index.less
  6. 31 0
      src/common/components/LiItem/index.jsx
  7. 31 0
      src/common/components/LiItem/index.less
  8. 6 4
      src/common/components/SearchBox/index.jsx
  9. 2 6
      src/common/less/variables.less
  10. 5 7
      src/components/CommonSymptom/index.less
  11. 131 0
      src/components/ListItem/index.jsx
  12. 47 0
      src/components/ListItem/index.less
  13. 85 0
      src/components/ListItems/index.jsx
  14. 22 0
      src/components/ListItems/index.less
  15. 7 3
      src/components/Multiple/SlideItem/index.jsx
  16. 2 9
      src/components/Multiple/SlideItem/index.less
  17. 2 2
      src/components/Multiple/index.jsx
  18. 0 3
      src/components/Multiple/index.less
  19. 6 5
      src/components/SearchDrop/index.jsx
  20. 0 17
      src/components/SearchDrop/index.less
  21. 2 202
      src/components/SpreadDrop/index.jsx
  22. 0 77
      src/components/SpreadDrop/index.less
  23. 1 1
      src/containers/MainSuit.js
  24. 1 39
      src/store/actions/checkBody.js
  25. 0 40
      src/store/actions/currentIll.js
  26. 0 13
      src/store/actions/mainSuit.js
  27. 0 25
      src/store/actions/otherHistory.js
  28. 3 3
      src/store/reducers/checkBody.js
  29. 3 3
      src/store/reducers/currentIll.js
  30. 4 4
      src/store/reducers/mainSuit.js
  31. 3 3
      src/store/reducers/otherHistory.js
  32. 1 1
      src/utils/tools.js
  33. 45 1
      src/utils/utils.js
  34. 0 101
      static/pages/case_info.html
  35. 0 243
      static/pages/chronic-info/css/info.css
  36. BIN
      static/pages/chronic-info/img/icon-2.png
  37. 0 105
      static/pages/chronic-info/index.html
  38. 0 414
      static/pages/chronic-info/js/chronic-info.js
  39. 0 1
      static/pages/chronic-info/lib/echarts.min.js
  40. 0 9597
      static/pages/chronic-info/lib/jquery-1.9.1.min.js
  41. 0 221
      static/pages/diag_push.html
  42. 0 65
      static/pages/hisLib/case_info.js
  43. 0 159
      static/pages/hisLib/diag_push.js
  44. BIN
      static/pages/hisLib/img/bg.jpg
  45. BIN
      static/pages/hisLib/img/hospital.png
  46. BIN
      static/pages/hisLib/img/login.jpg
  47. BIN
      static/pages/hisLib/img/logo.png
  48. BIN
      static/pages/hisLib/img/password.png
  49. BIN
      static/pages/hisLib/img/user.png
  50. 0 118
      static/pages/hisLib/info_push.js
  51. 0 115
      static/pages/hisLib/infomation.js
  52. 0 4241
      static/pages/hisLib/jquery-1.3.1.js
  53. 0 9597
      static/pages/hisLib/jquery-1.9.1.min.js
  54. 0 157
      static/pages/hisLib/login.css
  55. 0 175
      static/pages/hisLib/param.js
  56. 0 207
      static/pages/info_push.html
  57. 0 139
      static/pages/information.html
  58. 0 114
      static/pages/login.html
  59. 0 119
      static/pages/test.html
  60. 0 75
      static/pages/test2.html
  61. 0 49
      static/pages/test3.html

+ 2 - 1
build/webpack.dev.conf.js

@@ -73,7 +73,8 @@ module.exports = merge(baseWebpackConfig, {
         new HtmlWebpackPlugin({
             filename: 'index.html',
             template: 'index.html',
-            inject: 'body'
+            inject: 'body',
+          favicon:'./favicon.ico',
         }),
         new FriendlyErrorsPlugin()
     ]

+ 1 - 0
build/webpack.prod.conf.js

@@ -119,6 +119,7 @@ const webpackConfig = merge(baseWebpackConfig, {
             filename: config.build.index,
             template: 'index.html',
             inject: 'body',
+            favicon:'./favicon.ico',
             minify: {
                 removeComments: true,
                 collapseWhitespace: true,

BIN
favicon.ico


+ 6 - 3
src/common/components/DropList/index.jsx

@@ -1,4 +1,5 @@
 import React,{Component} from 'react';
+import LiItem from '@common/components/LiItem';
 import classNames from 'classnames';
 
 import style from "./index.less";
@@ -39,10 +40,12 @@ class DropList extends Component{
     return <div className={this.getClass()} contentEditable='false'>
         <ul>
           {data&&data.map((it)=>{
-            /*return <li onClick={(e)=>this.handleSelect(e,it)} className={it.selected||(it.selected!==false&&+it.defaultSelect===1)?style['selected']:''}>{it.labelPrefix}{it.questionDetailList&&it.questionDetailList.length>0?it.questionDetailList[0].name:it.name}{it.labelSuffix}</li>*/
-            return <li onClick={(e)=>this.handleSelect(e,it)} className={it.selected||(boxMark!=1&&!hideTag&&it.selected!==false&&+it.defaultSelect===1)?style['selected']:''}>{it.labelPrefix}{it.name}{it.labelSuffix}</li>
+            return <LiItem handleClick={(e)=>this.handleSelect(e,it)}
+                            type='border'
+                            selected={it.selected||(boxMark!=1&&!hideTag&&it.selected!==false&&+it.defaultSelect===1)}
+                            >{it.labelPrefix}{it.name}{it.labelSuffix}</LiItem>
           })}
-          <li onClick={(e)=>this.handleClear(e)} className='red'>清空选项</li>
+          <li onClick={(e)=>this.handleClear(e)} className={style['mclear']}>清空选项</li>
         </ul>
       </div>;
   }

+ 10 - 10
src/common/components/DropList/index.less

@@ -3,16 +3,16 @@
   .pop;
   padding: 0 0 10px;
   color: @text-color;
-  li{
-    line-height: 35px;
-    border:1px #fff solid;
-    padding: 0 15px;
-    white-space: nowrap;
-    cursor: pointer;
-  }
-  li:hover,.selected{
-    border-color:#3B9ED0;
-  }
+}
+.mclear{
+  height: 32px;
+  line-height: 32px;
+  border:1px #fff solid;
+  padding: 0 20px;
+  white-space: nowrap;
+  text-align: center;
+  cursor: pointer;
+  color: @red;
 }
 .hide{
   display: none;

+ 31 - 0
src/common/components/LiItem/index.jsx

@@ -0,0 +1,31 @@
+import classNames from 'classnames';
+import styles from './index.less';
+/**
+ * 单/多选列表的一行
+ * selected:是否被选中
+ * noHover:是否有hover状态
+ * noDot:无最大宽度缩略...样式
+ * disabled:灰色样式,与selected,noHover互斥
+ * handleClick:点击事件
+ * title,style:原生属性
+ * type: border边框选中样式,check蓝色对勾选中样式(默认),noneCheck黑色对勾选中样式
+ *
+ * **/
+function LiItem(props){
+  const {children,handleClick,title,style,noHover,selected,disabled,noDot} = props;
+  const type = props.type||'check';     //选中样式默认多选选中样式
+  const dot = noDot?styles['no-dot']:'';
+  if(disabled){
+    return <li onClick={handleClick} className={classNames(styles["disabled"],dot,styles["li-item"])} title={title} style={style}>{children}</li>;
+  }
+  const typeMap = {
+    border:'border-selected',
+    check:'check-selected',
+    noneCheck:'black-selected',
+  };
+  const hover = noHover?'':styles['hoverable'];
+  const select = selected?styles[typeMap[type]]:'';
+  return <li onClick={handleClick} className={classNames(hover,select,dot,styles["li-item"])} title={title} style={style}>{children}</li>;
+};
+
+export default LiItem;

+ 31 - 0
src/common/components/LiItem/index.less

@@ -0,0 +1,31 @@
+@import "~@less/mixin.less";
+
+.li-item{
+  height:30px;
+  line-height: 30px;
+  padding: 0 18px 0 22px;
+  border:1px #fff solid;
+  text-align: left;
+  white-space: nowrap;
+  max-width: 100%;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  cursor: pointer;
+}
+.hoverable:hover,.border-selected{
+  border-color:#3B9ED0;
+}
+.check-selected,.black-selected{
+  .select-li;
+}
+.black-selected{
+  background-image:url('@common/images/then.png');
+}
+.disabled{
+  color: @disable-color;
+}
+.no-dot{
+  /*max-width:100%;
+  width: unset;
+  text-overflow: unset;*/
+}

+ 6 - 4
src/common/components/SearchBox/index.jsx

@@ -4,7 +4,7 @@ import clear from './imgs/clear.png';
 import search from './imgs/search.png';
 import config from '@config/index';
 import classNames from 'classnames';
-import SearchDrop from '@components/SearchDrop';
+import LiItem from '@common/components/LiItem';
 import ScrollArea from 'react-scrollbar';
 /**
  * 主诉“添加症状”下拉中的:搜索框(含结果下拉)
@@ -25,7 +25,7 @@ class SearchBox extends React.Component {
         this.handleFocus = this.handleFocus.bind(this);
         this.handleBlur = this.handleBlur.bind(this);
         this.clickIcon = this.clickIcon.bind(this);
-        this.handleSearchSelect = this.handleSearchSelect.bind(this);
+        //this.handleSearchSelect = this.handleSearchSelect.bind(this);
         this.reset = this.reset.bind(this);
     }
     handleClearVal(){
@@ -37,7 +37,7 @@ class SearchBox extends React.Component {
         });
         clearSearch&&clearSearch();
     }
-    handleSearchSelect(e,item){
+    handleSearchSelect(item,e){
       e.stopPropagation();
       e.preventDefault();
       const {clearSearch,onSelect} = this.props;
@@ -149,7 +149,9 @@ class SearchBox extends React.Component {
                       <ul>
                         {mainSearchData&&mainSearchData.map((it)=>{
                           litext = it.showType==1?it.name:it.name+'('+it.retrievalName+')';
-                          return <li key={it.conceptId} onClick={(e)=>this.handleSearchSelect(e,it)} title={litext}>{litext}</li>
+                          return <LiItem key={it.conceptId}
+                                         handleClick={this.handleSearchSelect.bind(this,it)}
+                                         title={litext}>{litext}</LiItem>
                         })}
                       </ul>
                     </ScrollArea>

+ 2 - 6
src/common/less/variables.less

@@ -90,14 +90,10 @@
   width: 100%;
   font-size: 14px;
   text-align: left;
-  border: none;
   color:#000000;
-  /*padding-left: 40px;*/
+  border: 1px solid #fff;
   cursor: pointer;
-  background: rgba(59,158,208,0.1);
-  background-image: url(../images/first.png);
-  background-repeat: no-repeat;
-  background-position: 0px 10px;
+  background:url(../images/first.png) rgba(59,158,208,0.1) 5px 8px no-repeat;
 }
 .clear{
   width: 60px;

+ 5 - 7
src/components/CommonSymptom/index.less

@@ -21,19 +21,17 @@
     text-indent: 15px;
   }
   li{
-    width: 85px;
+    width: 92px;
     line-height: 30px;
-    padding-left: 15px;
-    margin-right: 5px;
+    padding-left: 20px;
+    /*margin-right: 5px;*/
+    border:1px solid #fff;
     cursor: pointer;
     display: inline-block;
   }
-  li:hover{
-    border-color:#3B9ED0;
-  }
   .selected{
     .select-li;
-    width: 85px;
+    width: 92px;
   }
   .clear{
     .btnCom;

+ 131 - 0
src/components/ListItem/index.jsx

@@ -0,0 +1,131 @@
+import classNames from "classnames";
+import {Component} from "react";
+import ScrollArea from 'react-scrollbar';
+import {getIds} from '@utils/tools.js';
+import LiItem from '@common/components/LiItem';
+import style from './index.less';
+
+class ListItem extends Component{
+  constructor(props){
+    super(props);
+    this.getData = this.getData.bind(this);
+    this.getLis = this.getLis.bind(this);
+  }
+  handleClick(item,i,e){
+    e.stopPropagation();
+    // window.event? window.event.cancelBubble = true : e.stopPropagation();
+    const {handleClick,isExclu,isRadio,data,exists,noneIds,withs,joint,listIndex} = this.props;
+    const index=listIndex+''+i;
+    //列单选处理
+    if(isRadio){
+      let selected = exists.find((i)=>{
+        return i.questionId===item.questionId;
+      })||withs.find((i)=>{
+        return i.questionId===item.questionId;
+      })||noneIds.find((i)=>{
+        return i.id===item.questionId;
+      });
+      /*const selected = data.find((it)=>{console.log(exists)
+        return exists.findIndex((i)=>i.questionId===it.id)!==-1||noneIds.includes(it.id)||withs.findIndex((i)=>i.questionId===it.id)!==-1;
+      });*/
+      if(selected&&selected.id!=item.id){     //该列已有选中项,传回已选中的id,name取消选中
+        handleClick&&handleClick(item,isExclu,joint,index,{id:selected.id,name:selected.name,questionId:selected.questionId});
+      }else{
+        handleClick&&handleClick(item,isExclu,joint,index);
+      }
+      return;
+    }
+    handleClick&&handleClick(item,isExclu,joint,index);
+  }
+  getLis(){
+    const {exclusion,noneIds,exists,withs,ban,isSpecialPos,datas} = this.props;
+    let type='';    //选中样式类型
+    let selected = false;  //是否选中
+    const list = Object.keys(ban).length>0?[...exists,...withs,ban]:[...exists,...withs];
+    const arrs = [...noneIds,...getIds(list)];   //非无殊选中项id集合
+    return datas&&datas.map((it,i)=>{
+      if(isSpecialPos){
+        //无殊部分,非无殊项有选中,则无殊项灰显(仍可点,选中非无殊项取消选中,反之亦然)
+        selected = exclusion===it.id;
+        return <LiItem handleClick={this.handleClick.bind(this,it,i)}
+                       key={it.id}
+                       noHover={true}
+                       selected={selected}
+                       noDot={true}
+                       disabled={(exclusion&&!selected)||arrs.length>0}
+                       type='check'
+                       >{it.name}</LiItem>
+      }
+      //非无殊项,有无殊项被选中,则灰显,“无”选中黑√随后选中的项也黑√选中,
+      type = noneIds.includes(it.id)?'noneCheck':'check';
+      selected = arrs.includes(it.id);
+      return <LiItem handleClick={this.handleClick.bind(this,it,i)}
+                     key={it.id}
+                     type={type}
+                     noHover={true}
+                     selected={selected}
+                     disabled={exclusion}
+                     title={it.name.length>8?it.name:''}>{it.name&&it.name.length>8?it.name.slice(0,8)+'...':it.name}</LiItem>
+    })
+  }
+  getData(){
+    const {datas} = this.props;
+    const contStyle={
+      opacity:'0.4',
+      right:'0',
+      top:'1px',
+      zIndex:'15',
+      width:'6px',
+      background:'#f1f1f1'};
+    const barStyle={background:'#777',width:'100%'};
+    if(!datas||datas.length===0){
+      return <li className={style['no-push-data']}>暂无推送</li>
+    }
+    const liArr = this.getLis();
+    if(datas&&datas.length>11){
+      //超过最多显示条数,添加自定义滚动条,不能全部添加,不需要滚动条时不能阻止外部滚动条滚动事件
+      return <ScrollArea speed={0.8}
+                         horizontal={false}
+                         stopScrollPropagation={true}
+                         style={{maxHeight:'330px'}}
+                         className={style["area"]}
+                         verticalContainerStyle={contStyle}
+                         verticalScrollbarStyle={barStyle}
+                         contentClassName="content">
+        {liArr}
+      </ScrollArea>;
+    }
+    return liArr;
+  }
+
+  getMainData(){//主诉添加症状-带搜索框
+    const {exists,withs,ban,datas} = this.props;
+    if(!datas||datas.length===0){
+      return <li className={style['no-push-data']}>暂无推送数据,可通过搜索查找更多内容~ </li>
+    }
+    const arrs = getIds([...exists,...withs,ban]);   //非无殊选中项id集合
+    return datas&&datas.map((it,i)=>{
+      return <LiItem handleClick={this.handleClick.bind(this,it,i)}
+                 key={it.id}
+                 noHover={true}
+                 selected={arrs.includes(it.id)}
+                 title={it.name.length>4?it.name:''}
+                 style={{'width':'58px','display':'inline-block'}}>
+        {it.name&&it.name.length>4?it.name.slice(0,4)+'...':it.name}
+      </LiItem>
+    });
+  }
+
+  render(){
+    const {isSpecialPos,boxMark,tagType,listIndex,isSingle,pos} = this.props;
+    const posit = isSpecialPos?style['independent']:'';
+    const ifMainSear = boxMark==1 && tagType==11 && !pos?true:false;
+    // 单列直接设置宽度,多列则第二列设置(伴字ul不设置宽度)
+    const main = ifMainSear&&!isSingle&&listIndex==1?style['mainUl']:(ifMainSear&&isSingle?style['mainUl']:'');
+    return  <ul className={classNames(style['row'],posit,main)} onBlur={(e)=>e.stopPropagation()}>
+      {ifMainSear?this.getMainData():this.getData()}
+    </ul>
+  }
+}
+
+export default ListItem;

+ 47 - 0
src/components/ListItem/index.less

@@ -0,0 +1,47 @@
+@import "~@less/mixin.less";
+
+.row{
+  display: inline-block;
+  vertical-align: top;
+  margin-left: 8px;
+  max-height: 330px;
+  overflow-y: auto;
+}
+.independent{
+  display: block;
+  width: 100%;
+  border-bottom: 1px @disable-border-color solid;
+}
+.mainUl{
+  width: 495px;
+  white-space: normal;
+  li{
+    width: 99px !important;
+  }
+  .no-push-data{
+    color:@disable-color;
+    width: auto !important;
+  }
+}
+.no-push-data{
+  color:@disable-color;
+}
+.tag,.selected-tag{
+  cursor: pointer;
+  line-height: 20px;
+  &.ext{
+    color: @extBlue;
+  }
+}
+
+.selected-tag{
+  padding: 0;
+  color: @text-color;
+  border-bottom: 1px @border-color solid;
+  line-height: 22px;
+  word-break: break-all;
+}
+.orderTips{
+  color: #bfbfbf;
+  margin:0 0 0 28px;
+}

+ 85 - 0
src/components/ListItems/index.jsx

@@ -0,0 +1,85 @@
+import React, {Component} from "react";
+import SearchBox from '@containers/SearchBox'
+import ListItem from '@components/ListItem';
+import style from './index.less';
+
+class ListItems extends Component{
+  constructor(props){
+    super(props);
+    this.$cont = React.createRef();
+    this.clickConfirm = this.clickConfirm.bind(this);
+  }
+  getLabels(){
+    const {data,handleSelect} = this.props;
+    let detail = [];
+    let isSpecialPos = false;       //是否特殊位置(单行在上面,如无殊)
+    let isExclu = false;      //是否与其他互斥
+    let isRadio;      //是否为单选列,默认多选列
+    let isSingle = data.length == 1?true:false; //是否为单列,无伴的情况
+    const list = data&&data.map((it,i)=>{
+      isSpecialPos = (+it.formPosition === 1);
+      isExclu = (+it.exclusionType===1);
+      isRadio = (+it.tagType ===1&&+it.controlType === 1);
+      if(+it.controlType===0){
+        detail = it.questionMapping;
+      }else{
+        detail = it.questionDetailList;
+      }
+      return <ListItem datas={detail}
+                       isRadio={isRadio}
+                       isSingle={isSingle}
+                       joint={it.joint}
+                       listIndex={i}
+                       isSpecialPos={isSpecialPos}
+                       isExclu={isExclu}
+                       handleClick={handleSelect}
+                       {...this.props}></ListItem>;
+    });
+    return list;
+  }
+  clickConfirm(){
+    const {handleConfirm} = this.props;
+    this.child&&this.child.reset();//重置搜索框中的数据
+    handleConfirm();
+  }
+  getStyle(){
+    const {show,left} = this.props;
+    return {
+      display:show?'block':'none',
+      left:left
+    }
+  }
+  searchSelect(item){
+    const {handleSelect,handleConfirm} = this.props;
+    //添加id字段,用于调尾巴
+    const it = Object.assign({id:item.questionId},item);
+    handleSelect&&handleSelect(it);     //添加到大数据推送一起选中
+    handleConfirm&&handleConfirm();       //确定事件
+  }
+  getPushItemIds(list){         //获取推送症状的id数组,去重用
+    return list&&list.map((it)=>{
+      return it.conceptId;
+    })||[];
+  }
+  render (){
+    const {handleClear,order,parDiv,boxMark,tagType,show,data,pos} = this.props;
+    const pushUl = data.find((it)=>it.controlType===99);
+    const pushList = pushUl&&pushUl.questionDetailList;
+    //推送标签没有推送结果时不显示顺序说明
+    const noPush = tagType===11&&(!pushList||pushList.length===0);
+    const noSearch = boxMark==1 && tagType==11 && !pos;       //非第一病程添加症状标签不显示搜索
+    return <div className={style["drop-list"]} ref={parDiv} style={this.getStyle()} contentEditable="false" onClick={(e)=>{e.stopPropagation();}}>
+      {noPush?'':<p className={style['orderTips']}>按{order?'从左到右从上到下':'点击'}顺序成文</p>}
+      {this.getLabels()}
+      {noSearch && <div className="search">
+        <SearchBox show={show} pushIds={this.getPushItemIds(pushList)} onSelect={this.searchSelect.bind(this)} onRef={(child)=>{this.child = child;}}/>
+      </div>}
+      <div className="oper clearfix">
+        <span className={style['clear']} onClick={handleClear}>清空选项</span>
+        <span className={style['confirm']} onClick={this.clickConfirm}>确定</span>
+      </div>
+    </div>
+  }
+}
+
+export default ListItems;

+ 22 - 0
src/components/ListItems/index.less

@@ -0,0 +1,22 @@
+@import "~@less/mixin.less";
+.drop-list{
+  .pop;
+  padding:8px 20px 25px 0;
+}
+.orderTips{
+  color: #bfbfbf;
+  margin:0 0 0 28px;
+}
+.clear{
+  .btnCom;
+  .clear;
+  height: auto;
+  line-height: unset;
+}
+.confirm{
+  .btnCom;
+  .confirm;
+  height: auto;
+  line-height: unset;
+  width: 60px;
+}

+ 7 - 3
src/components/Multiple/SlideItem/index.jsx

@@ -2,6 +2,7 @@ import react from "react";
 import style from "./index.less";
 import classNames from 'classnames';
 import {deepClone} from '@utils/tools.js';
+import LiItem from '@common/components/LiItem';
 /**
   单列多选组件下拉 2019-2-20 By_liucf
   接收参数:
@@ -30,13 +31,13 @@ class SlideItem extends react.Component{
     return classNames(style['list'],isHide);
   }
 
-  getSeleStyle(id){
+  /*getSeleStyle(id){
     const {seleId} = this.state;
     if(seleId.includes(id)){
       return style['selected'];
     }
     return '';
-  }
+  }*/
 
   handleSelect(e,item){
     e&&e.stopPropagation();
@@ -77,10 +78,13 @@ class SlideItem extends react.Component{
   }
   render(){
     const {data} = this.props;
+    const {seleId} = this.state;
     return <div className={this.getListClass()} style={this.getStyle()} contentEditable="false">
         <ul>
           {data&&data.map((it)=>{
-          return <li onClick={(e)=>this.handleSelect(e,it)} className={this.getSeleStyle(it.id)} title={it.name.length>8?it.name:''}>{it.name&&it.name.length>8?it.name.slice(0,8)+'...':it.name}</li>
+          return <LiItem handleClick={(e)=>this.handleSelect(e,it)}
+                         selected={seleId.includes(it.id)}
+                         title={it.name.length>8?it.name:''}>{it.name&&it.name.length>8?it.name.slice(0,8)+'...':it.name}</LiItem>
         })}
           <li onClick={this.handleClear} className={style['mClear']}>清空选项</li>
           <li onClick={this.handleClick} className={style['mConfirm']}>确定</li>

+ 2 - 9
src/components/Multiple/SlideItem/index.less

@@ -1,23 +1,17 @@
 @import "~@less/mixin.less";
-.selected{
-    .select-li;
-  }
 .list{
   .pop;
   padding: 0 0 10px;
   color: @text-color;
-  li{
+  .mClear,.mConfirm{
     height: 32px;
     line-height: 32px;
     border:1px #fff solid;
     padding: 0 20px;
     white-space: nowrap;
+    text-align: center;
     cursor: pointer;
   }
-  // li:hover,.selected{
-  li:hover{
-    border-color:#3B9ED0;
-  }
 }
 .hide{
   display: none;
@@ -28,7 +22,6 @@
 }
 .mConfirm{
   color: #3B9ED0;
-  text-align: center;
   border: 1px solid #3B9ED0;
 
 }

+ 2 - 2
src/components/Multiple/index.jsx

@@ -166,13 +166,13 @@ class Multiple extends react.Component{
       onKeyDown={handleEnter}
       contentEditable={editable}>{value||placeholder}</div>
       <div className={this.getListClass()} contentEditable="false">
-        <SlideItem 
+        <SlideItem
           show={show}
           data={data} 
           seleData={seleData} 
           seleId={seleId} 
           handleConfirm={(obj)=>this.handleConfirm(obj)}
-          ></SlideItem>
+          ></SlideItem >
       </div>
     </div>
   }

+ 0 - 3
src/components/Multiple/index.less

@@ -3,9 +3,6 @@
   display: inline-block;
   cursor: pointer;
 }
-/* .selected{
-    .select-li;
-  } */
 .tag,.selected-tag{
   cursor: pointer;
   line-height: 20px;

+ 6 - 5
src/components/SearchDrop/index.jsx

@@ -1,5 +1,6 @@
 import React,{Component} from 'react';
 import classNames from 'classnames';
+import LiItem from '@common/components/LiItem';
 import ScrollArea from 'react-scrollbar';
 
 import style from "./index.less";
@@ -47,7 +48,7 @@ class SearchDrop extends Component{
       top:top?top+'px':''
     }
   }
-  handleSelect(e,item){
+  handleSelect(item,e){
     // onClick事件换成onmouseup--点击清除后谷歌下搜索结果点击不上去的情况
     e.stopPropagation();
     const {onSelect,onShow} = this.props;
@@ -70,7 +71,7 @@ class SearchDrop extends Component{
         <ScrollArea speed={0.8}
                     horizontal={false}
                     stopScrollPropagation={data.length>6?true:false}
-                    style={{maxHeight:'225px'}}
+                    style={{maxHeight:'180px'}}
                     className={style["area"]}
                     verticalContainerStyle={contStyle}
                     verticalScrollbarStyle={barStyle}
@@ -78,7 +79,7 @@ class SearchDrop extends Component{
           <ul>
             {data&&data.map((it)=>{
               litext = it.showType==1?it.name:it.name+'('+it.retrievalName+')';
-              return <li onClick={(e)=>this.handleSelect(e,it)} title={litext}>{litext}</li>
+              return <LiItem handleClick={this.handleSelect.bind(this,it)} title={litext}>{litext}</LiItem>
             })}
           </ul>
         </ScrollArea>
@@ -89,7 +90,7 @@ class SearchDrop extends Component{
         <ScrollArea speed={0.8}
                     horizontal={false}
                     stopScrollPropagation={data.length>6?true:false}
-                    style={{maxHeight:'225px'}}
+                    style={{maxHeight:'180px'}}
                     className={style["area"]}
                     verticalContainerStyle={contStyle}
                     verticalScrollbarStyle={barStyle}
@@ -97,7 +98,7 @@ class SearchDrop extends Component{
           <ul>
             {data&&data.map((it)=>{
               litext = it.showType==1?it.name:it.name+'('+it.retrievalName+')';
-              return <li onClick={(e)=>this.handleSelect(e,it)} title={litext}>{litext}</li>
+              return <LiItem handleClick={this.handleSelect.bind(this,it)} title={litext}>{litext}</LiItem>
             })}
           </ul>
         </ScrollArea>

+ 0 - 17
src/components/SearchDrop/index.less

@@ -5,21 +5,4 @@
   overflow-x: hidden;
   .pop;
   padding: 0 0 10px;
-  li{
-    width: 200px;
-    line-height: 35px;
-    border:1px #fff solid;
-    padding: 0 20px 0 30px;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    cursor: pointer;
-  }
-  li:hover{
-    border-color:#3B9ED0;
-  }
 }
-/*
-.hide{
-  display: none;
-}*/

+ 2 - 202
src/components/SpreadDrop/index.jsx

@@ -2,10 +2,9 @@ import React,{Component} from 'react';
 import classNames from 'classnames';
 import config from '@config/index.js';
 import style from './index.less';
-import {setPosition,deepClone,filterArr,handleEnter,isIE,windowEventHandler,filterDataArr,getIds,getPageCoordinate} from '@utils/tools.js';
+import {setPosition,deepClone,handleEnter,isIE,windowEventHandler,filterDataArr,getIds,getPageCoordinate} from '@utils/tools.js';
 import {Notify} from '@commonComp';
-import ScrollArea from 'react-scrollbar';
-import SearchBox from '@containers/SearchBox'
+import ListItems from '@components/ListItems';
 import $ from 'jquery';
 /****
  * 标签组合下拉,选中的项目展开
@@ -387,203 +386,4 @@ class SpreadDrop extends Component{
   }
 }
 
-class ListItems extends Component{
-  constructor(props){
-    super(props);
-    this.$cont = React.createRef();
-    this.clickConfirm = this.clickConfirm.bind(this);
-  }
-  getLabels(){
-    const {data,handleSelect} = this.props;
-    let detail = [];
-    let isSpecialPos = false;       //是否特殊位置(单行在上面,如无殊)
-    let isExclu = false;      //是否与其他互斥
-    let isRadio;      //是否为单选列,默认多选列
-    let isSingle = data.length == 1?true:false; //是否为单列,无伴的情况
-    const list = data&&data.map((it,i)=>{
-      isSpecialPos = (+it.formPosition === 1);
-      isExclu = (+it.exclusionType===1);
-      isRadio = (+it.tagType ===1&&+it.controlType === 1);
-      if(+it.controlType===0){
-        detail = it.questionMapping;
-      }else{
-        detail = it.questionDetailList;
-      }
-      return <ListItem datas={detail}
-                       isRadio={isRadio}
-                       isSingle={isSingle}
-                       joint={it.joint}
-                       listIndex={i}
-                       isSpecialPos={isSpecialPos}
-                       isExclu={isExclu}
-                       handleClick={handleSelect}
-                       {...this.props}></ListItem>;
-    });
-    return list;
-  }
-  clickConfirm(){
-    const {handleConfirm} = this.props;
-    this.child&&this.child.reset();//重置搜索框中的数据
-    handleConfirm();   
-  }
-  getStyle(){
-    const {show,left} = this.props;
-    return {
-      display:show?'block':'none',
-      left:left
-    }
-  }
-  searchSelect(item){
-    const {handleSelect,handleConfirm} = this.props;
-    //添加id字段,用于调尾巴
-    const it = Object.assign({id:item.questionId},item);
-    handleSelect&&handleSelect(it);     //添加到大数据推送一起选中
-    handleConfirm&&handleConfirm();       //确定事件
-  }
-  getPushItemIds(list){         //获取推送症状的id数组,去重用
-    return list&&list.map((it)=>{
-      return it.conceptId;
-    })||[];
-  }
-  render (){
-    const {handleClear,order,parDiv,boxMark,tagType,show,data,pos} = this.props;
-    const pushUl = data.find((it)=>it.controlType===99);
-    const pushList = pushUl&&pushUl.questionDetailList;
-    //推送标签没有推送结果时不显示顺序说明
-    const noPush = tagType===11&&(!pushList||pushList.length===0);
-    const noSearch = boxMark==1 && tagType==11 && !pos;       //非第一病程添加症状标签不显示搜索
-    return <div className={style["drop-list"]} ref={parDiv} style={this.getStyle()} contentEditable="false" onClick={(e)=>{e.stopPropagation();}}>
-      {noPush?'':<p className={style['orderTips']}>按{order?'从左到右从上到下':'点击'}顺序成文</p>}
-        {this.getLabels()}
-        {noSearch && <div className="search">
-          <SearchBox show={show} pushIds={this.getPushItemIds(pushList)} onSelect={this.searchSelect.bind(this)} onRef={(child)=>{this.child = child;}}/>
-        </div>}
-        <div className="oper clearfix">
-          <span className={style['clear']} onClick={handleClear}>清空选项</span>
-          <span className={style['confirm']} onClick={this.clickConfirm}>确定</span>
-        </div>
-      </div>
-  }
-}
-
-class ListItem extends Component{
-  constructor(props){
-    super(props);
-    this.getData = this.getData.bind(this);
-  }
-  handleClick(e,item,i){
-    e.stopPropagation();
-    // window.event? window.event.cancelBubble = true : e.stopPropagation();
-    const {handleClick,isExclu,isRadio,data,exists,noneIds,withs,joint,listIndex} = this.props;
-    const index=listIndex+''+i;
-    //列单选处理
-    if(isRadio){
-      let selected = exists.find((i)=>{
-        return i.questionId===item.questionId;
-      })||withs.find((i)=>{
-        return i.questionId===item.questionId;
-      })||noneIds.find((i)=>{
-        return i.id===item.questionId;
-      });
-      /*const selected = data.find((it)=>{console.log(exists)
-        return exists.findIndex((i)=>i.questionId===it.id)!==-1||noneIds.includes(it.id)||withs.findIndex((i)=>i.questionId===it.id)!==-1;
-      });*/
-      if(selected&&selected.id!=item.id){     //该列已有选中项,传回已选中的id,name取消选中
-        handleClick&&handleClick(item,isExclu,joint,index,{id:selected.id,name:selected.name,questionId:selected.questionId});
-      }else{
-        handleClick&&handleClick(item,isExclu,joint,index);
-      }
-      return;
-    }
-    handleClick&&handleClick(item,isExclu,joint,index);
-  }
-  getClass(id){     //无之后显示黑色,之前显示蓝色
-    const {exclusion,nones,noneIds,exists,withs,isExclu,ban} = this.props;
-    if(exclusion!=''){
-      if(+id===+exclusion){
-        return style['selected'];
-      }else{
-        return style['exclusion'];
-      }
-    }else{
-      if(isExclu&&([...noneIds,...exists,...withs].length>0||ban.id)){
-        return style['exclusion'];
-      }
-      if(noneIds.includes(id)){
-        return style['none-selected'];
-      }
-      let existsIds = getIds(exists);
-      let withsIds = getIds(withs);
-      // if(existsIds.includes(id)||withsIds.includes(id)){
-      if(existsIds.includes(id)||withsIds.includes(id)||ban.id && ban.id==id){
-        return style['selected'];
-      }
-
-      return '';
-    }
-  }
-  getData(){
-    const {datas,isSpecialPos} = this.props;
-    const contStyle={
-      opacity:'0.4',
-      right:'0',
-      top:'1px',
-      zIndex:'15',
-      width:'6px',
-      background:'#f1f1f1'};
-    const barStyle={background:'#777',width:'100%'};
-    if(!datas||datas.length===0){
-      return <li className={style['no-push-data']}>暂无推送</li>
-    }
-    if(datas&&datas.length>11){
-      return <ScrollArea speed={0.8}
-                    horizontal={false}
-                    stopScrollPropagation={true}
-                    style={{maxHeight:'330px'}}
-                    className={style["area"]}
-                    verticalContainerStyle={contStyle}
-                    verticalScrollbarStyle={barStyle}
-                    contentClassName="content">
-          {datas&&datas.map((it,i)=>{
-            if(isSpecialPos){
-              return <li onClick={(e)=>this.handleClick(e,it,i)} className={this.getClass(it.id)}>{it.name}</li>
-            }
-            return <li onClick={(e)=>this.handleClick(e,it,i)} className={this.getClass(it.id)} title={it.name.length>8?it.name:''}>{it.name&&it.name.length>8?it.name.slice(0,8)+'...':it.name}</li>
-          })}
-        </ScrollArea>;
-    }
-    return datas&&datas.map((it,i)=>{
-      if(isSpecialPos){
-        return <li onClick={(e)=>this.handleClick(e,it,i)} className={this.getClass(it.id)}>{it.name}</li>
-      }
-      return <li onClick={(e)=>this.handleClick(e,it,i)} className={this.getClass(it.id)} title={it.name.length>8?it.name:''}>{it.name&&it.name.length>8?it.name.slice(0,8)+'...':it.name}</li>
-    });
-  }
-
-  getMainData(){//主诉添加症状-带搜索框
-    const {datas,isSpecialPos} = this.props;
-    if(!datas||datas.length===0){
-      return <li className={style['no-push-data']}>暂无推送数据,可通过搜索查找更多内容~ </li>
-    }
-    return datas&&datas.map((it,i)=>{
-      return <li onClick={(e)=>this.handleClick(e,it,i)} 
-            className={this.getClass(it.id)} 
-            title={it.name.length>4?it.name:''}
-            style={{'width':'55px','display':'inline-block'}}>
-            {it.name&&it.name.length>4?it.name.slice(0,4)+'...':it.name}
-          </li>
-    });
-  }
-
-  render(){
-    const {datas,isSpecialPos,boxMark,tagType,listIndex,isSingle,pos} = this.props;
-    const posit = isSpecialPos?style['independent']:'';
-    const ifMainSear = boxMark==1 && tagType==11 && !pos?true:false;
-    // 单列直接设置宽度,多列则第二列设置(伴字ul不设置宽度)
-    const main = ifMainSear&&!isSingle&&listIndex==1?style['mainUl']:(ifMainSear&&isSingle?style['mainUl']:'');
-    return  <ul className={classNames(style['row'],posit,main)} onBlur={(e)=>e.stopPropagation()}>
-      {ifMainSear?this.getMainData():this.getData()}
-    </ul>
-  }
-}
 export default SpreadDrop;

+ 0 - 77
src/components/SpreadDrop/index.less

@@ -3,81 +3,4 @@
 .container{
   /*position: relative;*/
   display: inline-block;
-}
-.drop-list{
-  .pop;
-  padding:8px 20px 25px 0;
-  .row{
-    display: inline-block;
-    // width: 200px;
-    vertical-align: top;
-    margin-left: 8px;
-    max-height: 330px;
-    overflow-y: auto;
-  }
-  .independent{
-    display: block;
-    width: 100%;
-    border-bottom: 1px @disable-border-color solid;
-  }
-  .mainUl{
-    width: 495px;
-    white-space: normal;
-    li{
-      width: 99px !important;
-    }
-    .no-push-data{
-      color:@disable-color;
-      width: auto !important;
-    }
-  }
-  li{
-    padding-left: 20px;
-    cursor: pointer;
-    .mult-li;
-    height: 30px;
-    line-height: 30px;
-  }
-  .selected{
-    .select-li;
-  }
-  .none-selected{
-    .select-li;
-    background-image: url(../../common/images/then.png);
-  }
-  .no-push-data,.exclusion{
-    color:@disable-color;
-  }
-}
-.tag,.selected-tag{
-  cursor: pointer;
-  line-height: 20px;
-  &.ext{
-    color: @extBlue;
-  }
-}
-
-.selected-tag{
-  padding: 0;
-  color: @text-color;
-  border-bottom: 1px @border-color solid;
-  line-height: 22px;
-  word-break: break-all;
-}
-.orderTips{
-  color: #bfbfbf;
-  margin:0 0 0 28px;
-}
-.clear{
-  .btnCom;
-  .clear;
-  height: auto;
-  line-height: unset;
-}
-.confirm{
-  .btnCom;
-  .confirm;
-  height: auto;
-  line-height: unset;
-  width: 60px;
 }

+ 1 - 1
src/containers/MainSuit.js

@@ -14,7 +14,7 @@ import {getInitModules} from '@store/async-actions/homePage.js';
 import {SHOW_REFER_RECORD} from '@store/types/diagnosticList';
 import { SET_READ_MODE } from "@store/types/typeConfig";
 
-function mapStateToProps(state) {//console.log(state)
+function mapStateToProps(state) {
   const {mainSuit,homePage,diagnosticList,typeConfig} = state;
   return {
     showDrop:mainSuit.showDrop,//用于更新

+ 1 - 39
src/store/actions/checkBody.js

@@ -1,5 +1,5 @@
 import config from '@config/index.js';
-import {formatContinueDots,getLabelIndex,checkFullfillText,handleLocalDelTag,shiftLocalDelTag} from '@utils/tools.js';
+import {formatContinueDots,getLabelIndex,handleLocalDelTag,checkFullfillText} from '@utils/tools.js';
 
 export function preSetCheckbody(state,action) {
   let res = Object.assign({},state);
@@ -81,32 +81,6 @@ export const confirm = (state,action) =>{
   return res;
 };
 
-//复制标签(如血压)事件
-export function addLabelItem(state,action){
-  let res = Object.assign({},state);
-  const {data,i} = action;
-  const textLabel = Object.assign({},JSON.parse(config._textLabel),{showInCheck:JSON.parse(data).showInCheck});
-  //使用Object.assign({},data)拷贝操作时复制项和原项会同步修改
-  if(!data) return res;
-  res.data.splice(+i+2,0,JSON.parse(data),textLabel);
-  res.saveText.splice(+i+2,0,'','');
-  res.selecteds.splice(+i+2,0,null,null);
-  res.update = Math.random();
-  return res;
-}
-//自由文本
-export function setCheckText(state,action) {
-  let res = Object.assign({},state);
-  const {i,text} = action;
-  if(res.data[i]){
-    res.data[i].value=text;
-    //res.data[i].name='';      //默认显示的文字
-  }
-  res.saveText[i] = text;
-  res.update = Math.random();
-  return res;
-}
-
 //多选文字,如杂音
 export function setCheckBoxValue(state,action) {
   let res = Object.assign({},state);
@@ -345,16 +319,4 @@ export function setImportCheckbodyLabel(state,action) {
   res.importLabel = action.labels;
   res.update = Math.random();
   return res;
-}
-//恢复已删除的标签
-export function recoveTag(state,action) {
-  let res = Object.assign({},state);
-  let arr = [...res.data];
-  const text = Object.assign({showInCheck:action.data.showInCheck},JSON.parse(config.textLabel));
-  arr.splice(action.index,0,action.data,text);
-  res.data = checkFullfillText(arr).newArr;
-  res.saveText = checkFullfillText(arr).saveText;
-  shiftLocalDelTag();
-  res.update = Math.random();
-  return res;
 }

+ 0 - 40
src/store/actions/currentIll.js

@@ -521,21 +521,6 @@ export const bigDataSymptom = (state,action) => {
   return res;
 }
 
-
-//自由文本
-export function setCheckText(state,action) {
-  let res = Object.assign({},state);
-  const {i,text} = action;
-  if(res.data[i]){
-    res.data[i].value=text;
-    //res.data[i].name='';      //默认显示的文字
-  }
-  res.saveText[i] = text;
-  res.update = Math.random();
-  return res;
-}
-
-
 //搜索 插入标签数据
 export function insertLabelData(state,action){
   let res = Object.assign({},state); 
@@ -656,19 +641,6 @@ export const clearCurrentEdit = (state,action)=>{
     res.editClear = action.editClear
     return res;
   }
-//复制标签(如血压)事件
-export function addLabelItem(state,action){
-  let res = Object.assign({},state);
-  const {data,i} = action;
-  const textLabel = Object.assign({},JSON.parse(config._textLabel),{showInCheck:JSON.parse(data).showInCheck});
-  //使用Object.assign({},data)拷贝操作时复制项和原项会同步修改
-  if(!data) return res;
-  res.data.splice(+i+2,0,JSON.parse(data),textLabel);
-  res.saveText.splice(+i+2,0,'','');
-  res.selecteds.splice(+i+2,0,null,null);
-  res.update = Math.random();
-  return res;
-}
 
 // backspace删除
 export function backspaceText(state,action){
@@ -791,16 +763,4 @@ export function delSingleLable(state,action){
   }
   res.update = Math.random();
   return res;
-}
-//恢复已删除的标签
-export function recoveTag(state,action) {
-  let res = Object.assign({},state);
-  let arr = [...res.data];
-  //const text = Object.assign({},JSON.parse(config.textLabel));
-  arr.splice(action.index,0,action.data);
-  res.data = fullfillText(arr).newArr;
-  res.saveText = fullfillText(arr).saveText;
-  shiftLocalDelTag();
-  res.update = Math.random();
-  return res;
 }

+ 0 - 13
src/store/actions/mainSuit.js

@@ -807,16 +807,3 @@ export function getSymptomFeature(state,action){
   res.update = Math.random();
   return res;
 }
-
-//恢复已删除的标签
-export function recoveTag(state,action) {
-  let res = Object.assign({},state);
-  let arr = [...res.data];
-  //const text = Object.assign({},JSON.parse(config.textLabel));
-  arr.splice(action.index,0,action.data);
-  res.data = fullfillText(arr).newArr;
-  res.saveText = fullfillText(arr).saveText;
-  shiftLocalDelTag();
-  res.update = Math.random();
-  return res;
-}

+ 0 - 25
src/store/actions/otherHistory.js

@@ -256,19 +256,6 @@ export function setNumberValue(state,action){
   return res;
 }
 
-//复制标签(如血压)事件
-export function addLabelItem(state,action){
-  let res = Object.assign({},state);
-  const {data,i} = action;
-  const textLabel = Object.assign({},JSON.parse(config._textLabel),{showInCheck:JSON.parse(data).showInCheck});
-  //使用Object.assign({},data)拷贝操作时复制项和原项会同步修改
-  if(!data) return res;
-  res.data.splice(+i+2,0,JSON.parse(data),textLabel);
-  res.saveText.splice(+i+2,0,'','');
-  res.selecteds.splice(+i+2,0,null,null);
-  res.update = Math.random();
-  return res;
-}
 export const otherEditClear = (state,action)=>{
   const res = Object.assign({},state);
   res.editClear = action.bool;
@@ -387,16 +374,4 @@ export function delSingleLable(state,action){
   }
   res.update = Math.random();
   return res;
-}
-//恢复已删除的标签
-export function recoveTag(state,action) {
-  let res = Object.assign({},state);
-  let arr = [...res.data];
-  //const text = Object.assign({},JSON.parse(config.textLabel));
-  arr.splice(action.index,0,action.data);
-  res.data = fullfillText(arr).newArr;
-  res.saveText = fullfillText(arr).saveText;
-  shiftLocalDelTag();
-  res.update = Math.random();
-  return res;
 }

+ 3 - 3
src/store/reducers/checkBody.js

@@ -2,10 +2,10 @@ import {RECOVER_TAG_CHECK,SET,SETNUMBER4,SETSELECTED4,SETCHECKBOX,ADDLABELITEM,S
   SELECTSEARCHDATA,CHANGECHECKTEXTLABEL,CLEARCHECKBODY,CHECK_FOCUS_INDEX,CHECKBODY_CLEAR,
   SETCHECKINPUT,DEL_CHECKBODY,CHECKCONFIRMSELECTED,
   CHECKBODY_MUL,DEL_CHECKBODY_LABLE,SET_CK_RADIO_INPUT_VAL,SET_IMPORT_CHECKBODY_LABEL,PRESET} from '../types/checkBody.js';
-import {recoveTag,set,setCheckBoxValue,addLabelItem,setCheckText,
+import {set,setCheckBoxValue,
   setSearchData,insertLabelData,changeLabelVal,clearCheckBody,backspaceText
   ,confirm,multipleComfirn,delSingleLable,setImportCheckbodyLabel,preSetCheckbody} from '../actions/checkBody.js';
-import {setRadioInputValue,setRadioValue,setNumberValue,setInputLabel} from '@utils/utils';
+import {recoveTag,setRadioInputValue,setRadioValue,setNumberValue,setCheckText,addLabelItem,setInputLabel} from '@utils/utils';
 import config from '@config/index.js';
 
 const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签
@@ -32,7 +32,7 @@ export default function(state=initState,action){
     case SETSELECTED4:
       return setRadioValue(state,action);
     case ADDLABELITEM:
-      return addLabelItem(state,action);
+      return addLabelItem(state,action,'4');
     case SETCHECKTEXT:
       return setCheckText(state,action);
     case SETSEARCHDATA:

+ 3 - 3
src/store/reducers/currentIll.js

@@ -3,10 +3,10 @@ import {RECOVER_TAG_CURRENT,SET_CURRENT,CURRENT_CONFIRM,INSERT_PROCESS,SET_CURRE
   CURRENT_RADIO,CURRENT_NUMBER,CURRENT_TEXT_LABEL,CLEAR_CURRENT_ILL,SETTEXTMODEVALUE,CURRENT_GET_BIGDATAPUSH,CURRENT_CLEAR,
   SET_CURRENT_SEARCH,SETCURRENTTEXT,CURRENT_FOCUS_INDEX,SELECT_SEARCHDATA,CLEAR_CURRENT_EDIT,CURRENTADDLABELITEM,
   SETCURRENTINPUT,DEL_CURRENT,REMOVE_CURR_ID,CURRENT_MUL,DEL_CURRENT_LABLE,SET_RADIO_INPUT_VALUE,CURRENT_CHRONIC,SAVE_CURR_FREE} from '../types/currentIll';
-import {recoveTag,confirm,insertProcess,setData,setCheckBox,changeLabelVal,clearCurrentIll,
-  setTextModeValue,setModule,bigDataSymptom,setCheckText,insertLabelData,clearCurrentEdit,addLabelItem,
+import {confirm,insertProcess,setData,setCheckBox,changeLabelVal,clearCurrentIll,
+  setTextModeValue,setModule,bigDataSymptom,insertLabelData,clearCurrentEdit,
   backspaceText,removeId,multipleComfirn,delSingleLable,fillChronicModule} from '../actions/currentIll';
-import {setRadioInputValue,setRadioValue,setNumberValue,setInputLabel} from '@utils/utils';
+import {recoveTag,setRadioInputValue,setRadioValue,setNumberValue,setCheckText,addLabelItem,setInputLabel} from '@utils/utils';
 
 const initState = {
   moduleData:[],

+ 4 - 4
src/store/reducers/mainSuit.js

@@ -3,11 +3,11 @@ import {RECOVER_TAG_MAIN,COMM_SYMPTOMS,CLEAR_COMSYMPTOMS,SHOW_TAIL,INSERT_MAIN,
   RADIO_SELECT,COMM_CONFIRM,CHANGE_LABELVAL,SAVE_FREE,CLEAR_MAIN_SUIT,SET_DATA,
   INSERT_SEARCH,MAIN_FOCUS_INDEX,SETTEXTMODEVALUE,SETMAINTEXT,MAINADDLABELITEM,SETMAININPUT,DEL_MAIN,
   REMOVE_MAIN_ID,MAINSUIT_MUL,DEL_MAIN_LABLE,SET_FEATURE,SET_MS_RADIO_INPUT_VAL,SAVE_CHRONIC,MAIN_REMOVE_SPAN,SET_ADD_SEARCH,CLEAR_ADD_SEARCH} from '../types/mainSuit'
-import {recoveTag,getCommSymptoms,handleTailClick,insertMain,setSearch,getBigSymptom,setMainMoudle,confirm,
-  commConfirm,changeLabelVal,saveFreeVal,clearMainSuit,insertSearch,setTextModeValue,setCheckText,
-  addLabelItem,backspaceText,removeId,multipleComfirn,delSingleLable,
+import {getCommSymptoms,handleTailClick,insertMain,setSearch,getBigSymptom,setMainMoudle,confirm,
+  commConfirm,changeLabelVal,saveFreeVal,clearMainSuit,insertSearch,setTextModeValue,
+  backspaceText,removeId,multipleComfirn,delSingleLable,
   getSymptomFeature} from '../actions/mainSuit'
-import {setRadioInputValue,setNumberValue,setRadioValue,setInputLabel} from '@utils/utils';
+import {recoveTag,setRadioInputValue,setNumberValue,setRadioValue,setCheckText,addLabelItem,setInputLabel} from '@utils/utils';
 
 const initState = {
   showDrop:false,

+ 3 - 3
src/store/reducers/otherHistory.js

@@ -1,10 +1,10 @@
 import {RECOVER_TAG_OTHER,SETDATA,CONFIRMSELECTED,SETRADIO,SETNUMBER,SETOTHERCHECKBOX,SETOTHERTEXT,SETOTHERSEARCHDATA,
   SELECTOTHERSEARCHDATA,CLEAROTHERHISTORY,CHANGEOTHERTEXTLABEL,SETOTHERINPUT,SETTEXTMODEVALUE,OTHER_FOCUS_INDEX,OTHERHIS_CLEAR,
   OTHERADDLABELITEM,OTHEREDICLEAR,DEL_OTHERHIS,OTHERHIS_MUL,REMOVE_OTHER_ID,DEL_OTHERHIS_LABLE,SET_OT_RADIO_INPUT_VAL} from '../types/otherHistory';
-import {recoveTag,confirm,setCheckBoxValue,setCheckText,setSearchData,insertLabelData,clearOtherHistory,
-  changeTextLabel,setTextModeValue,addLabelItem,setNumberValue,otherEditClear,backspaceText,multipleComfirn,
+import {confirm,setCheckBoxValue,setSearchData,insertLabelData,clearOtherHistory,
+  changeTextLabel,setNumberValue,setTextModeValue,otherEditClear,backspaceText,multipleComfirn,
   removeId,delSingleLable} from '../actions/otherHistory';
-import {setRadioInputValue,setRadioValue,setInputLabel} from '@utils/utils';
+import {recoveTag,setRadioInputValue,setRadioValue,addLabelItem,setCheckText,setInputLabel} from '@utils/utils';
 import config from '@config/index';
 
 const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签

+ 1 - 1
src/utils/tools.js

@@ -1303,7 +1303,7 @@ function setPosition (e,dom,setHighter){
     let btmHt = wrapHt-(clickHt-111)-scrollHt;//点击位置距离底部的距离
     // console.log(wrapHt,clickHt,scrollHt,btmHt,contHt)
     if(btmHt<contHt){
-      setHighter(contHt-btmHt+20);
+      setHighter&&setHighter(contHt-btmHt+20);
     }else{
       setHighter&&setHighter(48);       //标签填写单连续点击弹出,未超出需要恢复
     }

+ 45 - 1
src/utils/utils.js

@@ -1,4 +1,5 @@
-import {getLabelIndex,getEMRParams,storageLocal} from './tools';
+import config from '@config/index.js';
+import {getLabelIndex,checkFullfillText,fullfillText,shiftLocalDelTag,getEMRParams,storageLocal} from './tools';
 import { json } from "./ajax";
 /**
  * 各类标签统一的处理函数
@@ -135,6 +136,49 @@ export const setRadioInputValue = (state,action)=>{
   return res;
 }
 
+//恢复已删除的标签
+export function recoveTag(state,action) {
+  let res = Object.assign({},state);
+  let arr = [...res.data];
+  const boxMark = action.data.delIndex.substr(0,1);
+  //const text = Object.assign({showInCheck:action.data.showInCheck},JSON.parse(config._textLabel));
+  arr.splice(action.index,0,action.data);
+  const dataArr = boxMark==='4'?checkFullfillText(arr):fullfillText(arr);
+  res.data = dataArr.newArr;
+  res.saveText = dataArr.saveText;
+  shiftLocalDelTag();
+  res.update = Math.random();
+  return res;
+}
+
+
+//自由文本存值
+export function setCheckText(state,action) {
+  let res = Object.assign({},state);
+  const {i,text} = action;
+  if(res.data[i]){
+    res.data[i].value=text;
+  }
+  res.saveText[i] = text;
+  res.update = Math.random();
+  return res;
+}
+
+//复制标签(如血压)事件
+export function addLabelItem(state,action,boxMark){
+  let res = Object.assign({},state);
+  const {data,i} = action;
+  //查体添加的自由文本标签需要逗号,且要设置隐藏状态
+  const textLabel = boxMark==='4'?Object.assign(JSON.parse(config._textLabel),{showInCheck:JSON.parse(data).showInCheck}):JSON.parse(config.textLabel);
+  //使用Object.assign({},data)拷贝操作时复制项和原项会同步修改
+  if(!data) return res;
+  res.data.splice(+i+2,0,JSON.parse(data),textLabel);
+  res.saveText.splice(+i+2,0,'','');
+  res.selecteds.splice(+i+2,0,null,null);
+  res.update = Math.random();
+  return res;
+}
+
 //文本输入标签inlineTag值保存
 export function setInputLabel(state,action){
   let res = Object.assign({}, state);

+ 0 - 101
static/pages/case_info.html

@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<!–[if IE 8]>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
-<![endif]–>
-<html>
-<head>
-    <meta charset="utf-8">
-    <meta name="renderer" content="ie-stand">
-    <meta name="renderer" content="webkit">
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
-    <!–[if IE 8]>
-    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
-    <![endif]–>
-    <meta http-equiv="Expires" content="0">
-    <meta http-equiv="Pragma" content="no-cache">
-    <meta http-equiv="Cache-control" content="no-cache">
-    <meta http-equiv="Cache" content="no-cache">
-
-    <title>诊断依据</title>
-    <link rel="shortcut icon" href="./favicon.ico" />
-    <style>
-        body,div,p,h2{
-            padding: 0;
-            margin: 0;
-            font-family: 'Microsoft YaHei', arial, tahoma, sans-serif;
-        }
-        .container{
-            width: 600px;
-            padding: 10px;
-            background: #fff;
-            margin: 0 auto;
-        }
-        h1{
-            text-align: center;
-            font-size: 18px;
-        }
-        h2{
-            font-size: 14px;
-            margin-bottom: 10px;
-            display: inline-block;
-            background: #fff;
-            z-index: 1;
-            position: relative;
-            padding-right: 5px;
-        }
-        .information{
-            margin-bottom: 10px;
-            font-size: 13px;
-            position: relative;
-        }
-        .context{
-            position: relative;
-        }
-        p{
-            text-indent: 25px;
-            margin-bottom: 5px;
-        }
-        .more{
-            font-size: 13px;
-            color: #1c8bb7;
-            position: absolute;
-            top: -28px;
-            right: 0;
-            z-index: 2;
-            background: #fff;
-            text-indent: 8px;
-            cursor: pointer;
-        }
-        .more a{
-            color: #0088be;
-            text-decoration: none;
-        }
-        .line{
-            border-top: 1px #ccc dashed;
-            position: absolute;
-            top: -19px;
-            width: 100%;
-        }
-        .content{
-            font-size: 13px;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <h1></h1>
-    <h2>诊断依据</h2>
-    <div class="information">
-        <p class="line"></p>
-    </div>
-    <h2>摘要</h2>
-    <div class="context">
-        <p class="line"></p>
-        <p class="more"><a id="more" href="##" target="_blank">查看更多>></a></p>
-        <div class="content"></div>
-    </div>
-</div>
-</body>
-
-<script src="./hisLib/jquery-1.9.1.min.js"></script>
-<script  src="./hisLib/case_info.js"></script>

+ 0 - 243
static/pages/chronic-info/css/info.css

@@ -1,243 +0,0 @@
-html, body, div, span, applet, object, iframe,
-h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center, dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend, table,
-caption, tbody, tfoot, thead, tr, th, td,
-article, aside, canvas, details, embed,
-figure, figcaption, footer, header,
-menu, nav, output, ruby, section, summary,
-time, mark, audio, video {
-    margin: 0;
-    padding: 0;
-    border: 0;
-    font: inherit;
-    font-size: 12px;
-}
-html, body {
-    width: 100%;
-    height: 100%;
-    padding: 0;
-    margin: 0;
-    background-color: #fff;
-    color: #33475f;
-    font-family: 'Microsoft YaHei', '宋体', sans-serif;
-    overflow-x: auto;
-}
-body{
-    overflow-y: auto;
-    min-width: 848px;
-
-}
-.d-n{
-    display: none;
-}
-
-.container {
-    max-width: 1440px;
-    height: auto;
-    margin: 0 auto;
-    padding: 15px 20px;
-}
-
-.container>.title {
-    margin-bottom: 10px;
-    font-size: 14px;
-    line-height: 16px;
-    width: 100%;
-}
-.container>.wrapper {
-    width: 98%;
-    padding: 0 1%;
-    overflow-x: auto;
-}
-
-.container>.title .icon {
-    display: inline-block;
-    background: url("../img/icon-2.png") no-repeat center;
-    width: 14px;
-    height: 16px;
-    vertical-align: bottom;
-}
-
-.container>.title .text {
-    display: inline-block;
-    font-weight: bold;
-    margin: 0;
-    height: 100%;
-    vertical-align: bottom;
-}
-
-.container .wrapper .table-wrapper {
-    border-radius: 5px;
-    width: 100%;
-    border: 2px solid #c9c9c9;
-}
-
-.container .wrapper table {
-    width: 100%;
-    font-size: 12px;
-    border-collapse: collapse;
-    border: none;
-    table-layout: fixed;
-}
-
-.container .wrapper table tr {
-    vertical-align: middle;
-    border-bottom: 1px solid #c9c9c9;
-}
-
-.container .wrapper table tr:last-child {
-    border-bottom: none;
-}
-
-.container .wrapper table tr td {
-    height: 30px;
-    border-right: 1px solid #c9c9c9;
-    padding: 0 5px;
-}
-
-.container .wrapper table tr td:last-child {
-    border: none;
-}
-
-.container .wrapper table tr:first-child {
-    border-top-left-radius: 5px;
-    border-top-right-radius: 5px;
-}
-
-.container .wrapper table tr:first-child td:first-child {
-    border-top-left-radius: 5px;
-}
-
-.container .wrapper table tr:first-child td:last-child {
-    border-top-right-radius: 5px;
-}
-
-.container .wrapper table tr:last-child {
-    border-bottom-left-radius: 5px;
-    border-bottom-right-radius: 5px;
-}
-
-.container .wrapper table tr:last-child td:first-child {
-    border-bottom-left-radius: 5px;
-}
-
-.container .wrapper table tr:last-child td:last-child {
-    border-bottom-right-radius: 5px;
-}
-
-
-.container .wrapper .canvas-wrapper .row {
-    width: 100%;
-    height: 200px;
-    padding-bottom: 10px;
-}
-.container .wrapper .canvas-wrapper .row:last-child {
-    padding-bottom: 0;
-}
-.container .wrapper .draw-wrapper {
-    height: 200px;
-    background-color: #eee;
-    border-radius: 5px;
-    display: inline-block;
-    float: left;
-}
-.container .wrapper .canvas-wrapper .row .draw-wrapper:last-child {
-    float: right;
-}
-
-.container .wrapper .draw-wrapper.blood-sugar {
-    width: 100%;
-}
-.container .wrapper .draw-wrapper.protein {
-    width: 49%;
-}
-
-
-
-
-.container .wrapper .recording-wrapper{
-    width: 100%;
-    overflow-x: auto;
-    font-size:0;
-}
-.container .wrapper .recording-info{
-    width: 100%;
-    height: auto;
-    max-height:170px;
-    border-radius: 5px;
-    background-color: #e5e5e5;
-    margin-bottom: 10px;
-}
-.container .wrapper .recording-info .date-title p{
-    width: 95px;
-    height: 20px;
-    border-top-left-radius: 5px;
-    border-bottom-right-radius: 25px;
-    background-color: #accae4;
-    font-size: 12px;
-    padding-left: 15px;
-    line-height: 20px;
-}
-.container .wrapper .recording-info>.content {
-    font-size: 13px;
-    height: auto;
-    padding: 0 2% 10px;
-    max-height: 130px;
-    overflow-y:auto;
-    width: 96%;
-    position: relative;
-    border-radius: 0 0 5px 5px;
-
-}
-#medical-records>.wrapper::-webkit-scrollbar{
-    height: 8px;
-}
-#medical-records>.wrapper::-webkit-scrollbar-thumb{
-    border-radius: 0 3px;
-    background: #ccc;
-}
-.container .wrapper .recording-info>.content::-webkit-scrollbar {
-    width: 6px;
-}
-.container .wrapper .recording-info>.content::-webkit-scrollbar-thumb {
-    border-radius: 0 3px;
-    background: #ccc;
-}
-.container .wrapper .recording-info>.content div.group{
-    padding: 2px 0;
-    position: relative;
-}
-
-.container .wrapper .recording-info>.content div.group.assay>p.content{
-    background-color: #fff;
-    max-height: 60px;
-    overflow-y: auto;
-}
-.container .wrapper .recording-info>.content div.group.assay>p.content::-webkit-scrollbar {
-    width: 6px;
-}
-.container .wrapper .recording-info>.content div.group.assay>p.content::-webkit-scrollbar-thumb {
-    border-radius: 0 3px;
-    background: #ccc;
-}
-
-.container .wrapper .recording-info>.content p span.space{
-    display: inline-block;
-    width: 20px;
-    height: 10px;
-}
-
-.container .wrapper .recording-info>.content div.group>p.title{
-    display: inline-block;
-    float: left;
-}
-.container .wrapper .recording-info>.content div.group>p.content{
-    min-height: 17px;
-}
-.container .wrapper .recording-info>.content div.group.assay>p.content>p{
-    padding: 1px 8px;
-}

BIN
static/pages/chronic-info/img/icon-2.png


+ 0 - 105
static/pages/chronic-info/index.html

@@ -1,105 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <link rel="stylesheet" href="./css/info.css">
-    <title>个人信息</title>
-</head>
-<body>
-<div id="personal" class="container">
-    <div class="title">
-        <i class="icon"></i>
-        <p class="text">个人基本信息</p>
-    </div>
-    <div class="wrapper">
-        <div class="table-wrapper">
-            <table>
-                <tbody>
-                <tr>
-                    <td colspan="1" align="center">姓名</td>
-                    <td colspan="2" data-type="name"></td>
-                    <td colspan="1" align="center">性别</td>
-                    <td colspan="2" data-type="sex"></td>
-                    <td colspan="1" align="center">出生日期</td>
-                    <td colspan="2" data-type="birthday"></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">身份证号</td>
-                    <td colspan="2" data-type="identity"></td>
-                    <td colspan="1" align="center">联系电话</td>
-                    <td colspan="2" data-type="phone"></td>
-                    <td colspan="1" align="center">身高/体重/BMI</td>
-                    <td colspan="2" data-type="body"></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">工作单位</td>
-                    <td colspan="4" data-type="work-unit"></td>
-                    <td colspan="1" align="center">居住地址</td>
-                    <td colspan="3" data-type="live-address"></td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-</div>
-<div id="indicator" class="container d-n">
-    <div class="title">
-        <i class="icon"></i>
-        <p class="text">指标信息</p>
-    </div>
-    <div class="wrapper">
-        <div class="canvas-wrapper"></div>
-    </div>
-</div>
-<div id="medical-history" class="container d-n">
-    <div class="title">
-        <i class="icon"></i>
-        <p class="text">病史信息</p>
-    </div>
-    <div class="wrapper">
-        <div class="table-wrapper">
-            <table>
-                <tbody>
-                <tr>
-                    <td colspan="1" align="center">既往史</td>
-                    <td colspan="6" data-type="post"></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">家族史</td>
-                    <td colspan="6" data-type="family"></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">过敏史</td>
-                    <td colspan="6" data-type="allergy"></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">其他史</td>
-                    <td colspan="6" data-type="other"  ></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">用药史</td>
-                    <td colspan="6" data-type="medication"></td>
-                </tr>
-                <tr>
-                    <td colspan="1" align="center">主要问题</td>
-                    <td colspan="6" data-type="main-question"></td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-</div>
-<div id="medical-records" class="container d-n">
-    <div class="title">
-        <i class="icon"></i>
-        <p class="text">就诊记录</p>
-    </div>
-    <div class="wrapper">
-        <div class="recording-wrapper"></div>
-    </div>
-</div>
-<script src="./lib/jquery-1.9.1.min.js"></script>
-<script src="./lib/echarts.min.js"></script>
-<script src="./js/chronic-info.js"></script>
-</body>
-</html>

+ 0 - 414
static/pages/chronic-info/js/chronic-info.js

@@ -1,414 +0,0 @@
-(function ($) {
-    var HOST = '/icss-web';
-    // var HOST = 'http://192.168.3.12:8080/icss-web';
-    // var HOST = 'http://192.168.2.165:8080/icss-web';
-    // var HOST = 'http://192.168.2.164:8080/icss-web';
-    // var HOST = 'http://192.168.3.12:8080/icss-web';
-
-    var draw_tmpl = {
-        tooltip: {
-            trigger: 'axis'
-        },
-        grid: {
-            left: '3%',
-            right: '4%',
-            bottom: '3%',
-            containLabel: true
-        },
-        yAxis: {
-            type: 'value'
-        },
-        xAxis: {
-            type: 'time',
-            boundaryGap: ['10%', '10%']
-        }
-    };
-
-    //绘制
-    function draw($wrapper, option) {
-        var eChart = echarts.init($wrapper[0]);
-        eChart.setOption(option);
-        $(window).resize(function () {
-            eChart.resize();
-        });
-    }
-
-    function _genOneDrawData(obj) {
-        if (!obj) {
-            return null;
-        }
-        var draw_option = {
-            legend: {
-                data: []
-            },
-            series: []
-        };
-        $.each(obj, function (k, v) {
-            if(!v || !v.length){
-                return;
-            }
-            var _data = v[0],
-                name = _data.itemName,
-                data = [];
-            draw_option.legend.data.push(name);
-            $.each(v, function (i, item) {
-                data.push([parseInt(item.itemTime), item.itemValue]);
-            });
-            data.sort(function (item1, item2) {
-                return new Date(item1[0]) - new Date(item2[0]);
-            });
-            draw_option.series.push({
-                type: 'line',
-                name: name,
-                smooth: true,
-                smoothMonotone: 'x',
-                data: data
-            });
-        });
-        return $.extend(true, draw_option, draw_tmpl);
-    }
-
-    function genDrawData(data) {
-        var return_data = [],
-            draw_data;
-
-        for (var i = 1; i < 4; i++) {
-            draw_data = _genOneDrawData(data[i]);
-            if (draw_data) {
-                return_data.push(draw_data);
-            }
-        }
-        return return_data;
-    }
-
-    function genIndicatorInfo(data) {
-        var $indicator = $('#indicator'),
-            $wrapper = $indicator.find('.canvas-wrapper'),
-            $proteins,$blood_sugar,is_odd,dif=0;
-        var len = data.length;
-        if (len === 0) {
-            return;
-        }
-        $indicator.show();
-        is_odd=len % 2 === 1;
-        if (is_odd) {
-            $wrapper.append('<div class="row"><div class="blood-sugar draw-wrapper"></div></div>');
-        }
-        for (var i = 1; i < len; i++) {
-            $wrapper.append('<div class="row"><div class="protein draw-wrapper"></div><div class="protein draw-wrapper"></div></div>');
-        }
-        i=0;
-        $proteins=$wrapper.find('.protein');
-        if(is_odd){
-            $blood_sugar=$wrapper.find('.blood-sugar');
-            draw($blood_sugar, data[0]);
-            i=1;
-            dif=1;
-        }
-        for (; i < len; i++) {
-            draw($proteins.eq(i-dif), data[i]);
-        }
-    }
-
-    function addInfo(data) {
-        return data ? data : '';
-    }
-
-    function genPersonInfoData(data) {
-        var sex_map = {
-                '1': '男',
-                '2': '女'
-            },
-            birthday = new Date(data.cusBrithday),
-            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(),
-            age;
-        age = now_year - year;
-        if (now_month > month) {
-            age += 1;
-        } else if (now_month === month) {
-            if (now_day >= day) {
-                age += 1;
-            }
-        }
-
-        return {
-            'name': data.cusName,
-            'sex': sex_map[data.cusSex] ? sex_map[data.cusSex] : '未知',
-            'identity': data.cusIdentity,
-            'phone': data.cusPhone,
-            'birthday': year + '-' + month + '-' + day + '|' + age + '岁',
-            'body': (data.cusHeight ? (data.cusHeight + 'cm|') : '') + (data.cusWeight ? (data.cusWeight + 'kg|') : '') + data.cusBim,
-            'liveAddress': data.cusLiveAddress,
-            'workUnit': data.cusWork
-        }
-    }
-
-    //初始化个人基本信息
-    function initPersonInfo(data) {
-        var $personal = $('#personal'),
-            $tds = $personal.children('.wrapper').find('td');
-        $tds.filter('[data-type=name]').text(addInfo(data.name));
-        $tds.filter('[data-type=sex]').text(addInfo(data.sex));
-        $tds.filter('[data-type=birthday]').text(addInfo(data.birthday));
-        $tds.filter('[data-type=identity]').text(addInfo(data.identity));
-        $tds.filter('[data-type=phone]').text(addInfo(data.phone));
-        $tds.filter('[data-type=body]').text(addInfo(data.body));
-        $tds.filter('[data-type=work-unit]').text(addInfo(data.workUnit));
-        $tds.filter('[data-type=live-address]').text(addInfo(data.liveAddress));
-    }
-
-    function genMedHistoryInfoData(data) {
-        return {
-            'pastInfo': data.pastInfoList,
-            'medicineInfo': data.medicineInfoList,
-            'mainQuestion': data.complicatInfoList
-        }
-    }
-
-    function separate(str) {
-        return str.replace(/;;|;;/,';');
-    }
-    
-    //初始化病史信息
-    function initMedHistoryInfo(data) {
-        var $medical_history = $('#medical-history'),
-            $tds = $medical_history.children('.wrapper').find('td'),
-            arr = [undefined, [], [], [], []],
-            medication = [],
-            main_question = [];
-        if (!data.pastInfo && !data.medicineInfo && !data.mainQuestion) {
-            return;
-        }
-
-        $.each(data.pastInfo, function (i, v) {
-            var date='';
-            if(v.recordDate){
-                var data=new Date(v.recordDate);
-                date+='('+data.getFullYear()+'-'+(data.getMonth()+1)+'-'+data.getDate()+')';
-            }
-            arr[v.pastType].push(date+v.pastSummary);
-        });
-        $.each(data.medicineInfo, function (i, v) {
-            medication.push(v.drugName);
-        });
-        $.each(data.mainQuestion, function (i, v) {
-            main_question.push(v.disName);
-        });
-        $tds.filter('[data-type=post]').text(separate((addInfo(arr[1].join(';')))));
-        $tds.filter('[data-type=family]').text(separate(addInfo(arr[2].join(';'))));
-        $tds.filter('[data-type=allergy]').text(separate(addInfo(arr[3].join(';'))));
-        $tds.filter('[data-type=other]').text(separate(addInfo(arr[4].join(';'))));
-        $tds.filter('[data-type=medication]').text(separate(addInfo(medication.join(';'))));
-        $tds.filter('[data-type=main-question]').text(separate(addInfo(main_question.join(';'))));
-        $medical_history.show();
-    }
-
-    //初始化就诊记录
-    function initMedRec(data) {
-        var $recording = $('<div class="recording-info"><div class="date-title"><p>' + data.time.split(' ')[0] + '</p></div></div>'),
-            $content = $('<div class="content"></div>'),
-            $group, $group_content;
-
-        if (data.hpis.length) {
-            $group = $('<div class="group"></div>');
-            $group.append('<p class="title">' + '【现病史】' + '</p>');
-            var str = '';
-            $.each(data.hpis, function (i, v) {
-                str += v;
-            });
-            $group.append('<p class="content" style="margin-left: ' + (byteLen('【现病史】') * 6) + 'px">' + str.replace(/#/g,'') + '</p>');
-            $content.append($group);
-        }
-
-        if (data.vitals.length) {
-            $group = $('<div class="group"></div>');
-            $group.append('<p class="title">' + '【体征】' + '</p>');
-            str = '';
-            $.each(data.vitals, function (i, v) {
-                str += v;
-            });
-            $group.append('<p class="content" style="margin-left: ' + (byteLen('【体征】') * 6) + 'px">' + str.replace(/#/g,'') + '</p>');
-            $content.append($group);
-        }
-
-        // if (data.lisesStr.length) {
-        //     $group = $('<div class="group assay"></div>');
-        //     $group.append('<p class="title">' + '【化验】' + '</p>');
-        //     $group_content = $('<p class="content" style="margin-left: ' + (byteLen('【化验】') * 6) + 'px"></p>');
-        //     $group.append($group_content);
-        //     $.each(data.lisesStr, function (i, v) {
-        //         if (v.type === '1') {
-        //             $group_content.append('<p>' + v.name + '<span class="space"></span>' + v.val + v.unit + '<span class="space"></span>(正常值:' + Number(v.minVal).toFixed(2) + '--' + Number(v.maxVal).toFixed(2) + ')</p>');
-        //         } else if (v.type === '2') {
-        //             $group_content.append('<p>' + v.name + '<span class="space"></span>' + v.val + '<span class="space"></span></p>');
-        //         }
-        //     });
-        //     $content.append($group);
-        // }
-
-        if (data.lisesStr.length) {
-            $group = $('<div class="group"></div>');
-            $group.append('<p class="title">' + '【化验】' + '</p>');
-            $.each(data.lisesStr, function (i, v) {
-                $group.append('<p class="content" style="margin-left: ' + (byteLen('【化验】') * 6) + 'px">' + v.replace(/#/g,'') + '</p>');
-            });
-            $content.append($group);
-        }
-
-
-        if (data.pacses.length) {
-            $group = $('<div class="group"></div>');
-            $group.append('<p class="title">' + '【辅检】' + '</p>');
-            $group_content = $('<p class="content" style="margin-left: ' + (byteLen('【辅检】') * 6) + 'px"></p>');
-            $group.append($group_content);
-            $.each(data.pacses, function (i, v) {
-                $group_content.append('<p>' + v + '</p>');
-            });
-            $content.append($group);
-        }
-
-        $recording.append($content);
-        if (data.intervenes) {
-            var arr = data.intervenes.split('#');
-            arr.pop();
-            $group = $('<div class="group"></div>');
-            $group.append('<p class="title">' + '【干预建议】' + '</p>');
-            $group_content = $('<p class="content" style="margin-left: ' + (byteLen('【干预建议】') * 6) + 'px"></p>');
-            $group.append($group_content);
-            $.each(arr, function (i, v) {
-                var one_arr = v.split(':'),
-                    title_w = byteLen(one_arr[0]) * 7,
-                    $title = $('<p data-re="y" style="position: absolute;left: 72px;">' + one_arr[0] + ':</p>'),
-                    str = '';
-                $group_content.append($title);
-                if (one_arr.length > 1) {
-                    var son_arr = one_arr[1].split('&&');
-                    for (var i = 0, len = son_arr.length; i < len; i++) {
-                        var _str = son_arr[i];
-                        str += _str + '<br/>';
-                    }
-                }
-                $group_content.append('<p style="padding-left: ' + title_w + 'px">' + str + '</p>');
-            });
-            $content.append($group);
-        }
-        return $recording;
-
-
-        function byteLen(target) {
-            var byteLength = target.length, i = 0;
-            for (; i < byteLength; i++) {
-                if (target.charCodeAt(i) > 255) {
-                    byteLength++;
-                }
-            }
-            return byteLength;
-        }
-    }
-
-
-    //创建就诊信息
-    function genMedInfo(data) {
-        var $medical_records = $('#medical-records'),
-            $recordings = $(),
-            $wrapper = $medical_records.find('.recording-wrapper');
-        if (data.length === 0) {
-            return;
-        }
-        $.each(data, function (i, v) {
-            $recordings = $recordings.add(initMedRec(v));
-        });
-
-        $wrapper.append($recordings);
-        $medical_records.show();
-        $recordings.find('p[data-re=y]').each(function () {
-            var $p = $(this);
-            $p.css('top', $p.next().position().top);
-        });
-    }
-
-    function initMedRec2(details, time) {
-        if (!details.length) {
-            return null;
-        }
-        var arr = [[], [], [], [], [], [], [], [], [], []];
-        var title_arr = ['【主诉】', '【现病史】', '【既往史】', '【其他史】', '【体征】', '【化验】', '【辅检】', '【诊断】', '【治疗】', '【干预建议】']
-        var date = new Date(time);
-        var $recording = $('<div class="recording-info"><div class="date-title"><p>' + (date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + date.getDate()) + '</p></div></div>'),
-            $content = $('<div class="content"></div>');
-        $.each(details, function (i, v) {
-            arr[v.type].push(v.itemDescribe);
-        });
-        $.each(arr, function (i, v) {
-            if (!v.length) {
-                return;
-            }
-            $content.append('<div class="group"><p class="title">' + title_arr[i] + '</p><p class="content">' + v.join(';') + '</p></div>')
-        });
-        $recording.append($content);
-        return $recording;
-    }
-
-    function genMedInfo2(data) {
-        var $medical_records = $('#medical-records'),
-            $recordings = $(),
-            $wrapper = $medical_records.find('.recording-wrapper');
-        if (data.length === 0) {
-            return;
-        }
-        $.each(data, function (i, v) {
-            $recordings = $recordings.add(initMedRec2(v.details, v.clinicTime));
-        });
-        $wrapper.append($recordings);
-        $medical_records.show();
-    }
-
-    //初始化整个页面
-    function init() {
-        var url_obj = (function () {
-            var r = window.location.search.substr(1).split("&"),
-                obj = {};
-            $.each(r, function (i, v) {
-                if (v) {
-                    var arr = v.split("=");
-                    obj[arr[0]] = arr[1];
-                }
-            });
-            return obj;
-        })();
-
-        $.getJSON(HOST + '/ch/customer/get_customer_info_by_patient_id', {
-            patientId: url_obj.patientId,
-            hospitalId: url_obj.hospitalId
-        }, function (res) {
-            var data = res.data;
-            initPersonInfo(genPersonInfoData(data));
-            initMedHistoryInfo(genMedHistoryInfoData(data));
-            genIndicatorInfo(genDrawData(data.map));
-        });
-
-
-        $.getJSON(HOST + '/chronic_controller/get_record_info', {
-            patId: url_obj.patientId,
-            hospitalId: url_obj.hospitalId
-        }, function (res) {
-            var data = res.data;
-            if (data.recodeType === 1) {
-                genMedInfo(data.recodeList);
-            } else if (data.recodeType === 2) {
-                genMedInfo2(data.recodeList);
-            }
-
-        });
-    }
-
-    init();
-
-
-})(jQuery);

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 1
static/pages/chronic-info/lib/echarts.min.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 9597
static/pages/chronic-info/lib/jquery-1.9.1.min.js


+ 0 - 221
static/pages/diag_push.html

@@ -1,221 +0,0 @@
-<!DOCTYPE html>
-<!–[if IE 8]>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
-<![endif]–>
-<html>
-<head>
-    <meta charset="utf-8">
-    <meta name="renderer" content="ie-stand">
-    <meta name="renderer" content="webkit">
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
-    <!–[if IE 8]>
-    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
-    <![endif]–>
-    <meta http-equiv="Expires" content="0">
-    <meta http-equiv="Pragma" content="no-cache">
-    <meta http-equiv="Cache-control" content="no-cache">
-    <meta http-equiv="Cache" content="no-cache">
-
-    <title>诊断推送</title>
-    <style>
-        div,p,a,b,i,label,td,tr{
-            margin: 0;
-            padding: 0;
-        }
-        .container{
-            /*width: 690px;
-            max-height:180px;
-            border:1px #828790 solid;*/
-            font-size: 13px;
-            font-family: 'Microsoft YaHei', arial, tahoma, sans-serif;
-        }
-        tr{
-            line-height: 30px;
-        }
-        td{
-            vertical-align: top;
-        }
-        .container label{
-            display: inline-block;
-            width: 80px;
-            margin-left: 5px;
-        }
-        a{
-            color: blue;
-            cursor: default;
-            cursor: pointer;
-            text-decoration: underline;
-        }
-        a.info{
-            margin-right: 10px;
-            display: inline-block;
-            width:14px;
-            height: 14px;
-            line-height: 14px;
-            background: #66afe9;
-            border-radius: 50%;
-            color: #fff;
-            text-align: center;
-            text-decoration: none;
-            margin-left: 3px;
-        }
-        .hide{
-            display: none!important;
-        }
-        a.more{
-            display: inline-block;
-            height: 15px;
-            line-height: 10px;
-            width: 16px;
-            text-align: center;
-            background: #66afe9;
-            color: #fff;
-            text-decoration: none;
-            border-radius: 3px;
-            cursor: pointer;
-        }
-        .clearfix{
-            zoom: 1;
-        }
-        .clearfix:after{
-            content: '';
-            display: block;
-            clear: both;
-            overflow: hidden;
-            visibility: hidden;
-        }
-        .vertical,.horizontal{
-             display: none;
-         }
-        .item-title{
-            font-weight: bold;
-            font-size: 14px;
-            line-height: 30px;
-            border-bottom: 1px #ccc solid;
-        }
-        .item-content{
-            font-size: 13px;
-            line-height: 30px;
-        }
-        .little{
-            float: left;
-        }
-        .info-item .title,.info-item .content{
-            float: left;
-        }
-        .box7,.box8,.box9{
-            display: none;
-        }
-        .item-content .inner-item{
-            display: inline-block;
-           white-space:nowrap;
-        }
-    </style>
-</head>
-<body>
-<table class="container horizontal" cellspacing="0">
-    <tbody>
-    <tr class="item-box box7">
-        <!--<td rowspan="5">
-            <div class="clearfix">
-                <span class="little" style="margin-top: 17px;">智<br/>能<br/>推<br/>送</span>
-                <span class="little">︵<br/>仅<br/>供<br/>参<br/>考<br/>︶</span>
-            </div>
-        </td>-->
-        <td>
-            <label>>初步诊断:</label>
-        </td>
-        <td class="item-content">
-        </td>
-    </tr>
-    <tr class="item-box box8">
-        <td>
-            <label>>疑似诊断:</label>
-        </td>
-        <td>
-            <div class="item-content">
-            </div>
-        </td>
-    </tr>
-    <tr class="item-box box9">
-        <td>
-            <label>>警惕:</label>
-        </td>
-        <td>
-            <div class="item-content">
-            </div>
-        </td>
-    </tr>
-    <tr class="item-box box5">
-        <td>
-            <label>>建议化验:</label>
-        </td>
-        <td>
-            <div class="item-content">
-            </div>
-        </td>
-    </tr>
-    <tr class="item-box box6">
-        <td>
-            <label>>建议辅检:</label>
-        </td>
-        <td>
-            <div class="item-content">
-            </div>
-        </td>
-    </tr>
-    <tr class="item-box box">
-        <td style="vertical-align: text-bottom;">
-            <label>>治疗建议:</label>
-        </td>
-        <td>
-            <div class="item-content box">
-                无
-            </div>
-        </td>
-    </tr>
-    <tr class="item-box box0">
-        <td style="vertical-align: text-bottom;">
-            <label>>提示信息:</label>
-        </td>
-        <td>
-            <div class="item-content box0">
-            </div>
-        </td>
-    </tr>
-    </tbody>
-</table>
-<div class="container vertical">
-    <div class="title">智能推送(仅供参考)</div>
-    <div class="item-box box7">
-        <div class="item-title">初步诊断</div>
-        <div class="item-content"></div>
-    </div>
-    <div class="item-box box8">
-        <div class="item-title">疑似诊断</div>
-        <div class="item-content"></div>
-    </div>
-    <div class="item-box box9">
-        <div class="item-title">警惕</div>
-        <div class="item-content"></div>
-    </div>
-    <div class="item-box box5">
-        <div class="item-title">建议化验</div>
-        <div class="item-content"></div>
-    </div>
-    <div class="item-box box6">
-        <div class="item-title">建议辅检</div>
-        <div class="item-content"></div>
-    </div>
-    <div class="item-box box">
-        <div class="item-title">治疗建议</div>
-        <div class="item-content">无</div>
-    </div>
-    <div class="item-box box0">
-        <div class="item-title">提示信息</div>
-        <div class="item-content"></div>
-    </div>
-</div>
-<script src="./hisLib/jquery-1.3.1.js"></script>
-<script  src="./hisLib/diag_push.js"></script>
-</body>

+ 0 - 65
static/pages/hisLib/case_info.js

@@ -1,65 +0,0 @@
-(function($){
-    var urls = {
-        url:{
-            'host':"/icss-web",
-            'start_drug': '/rule_controller/start_drug_title',
-            'get_diagnose_extend':'/kl/diagnose/get_diagnose_extend',
-            'get_by_itemidAndType': '/kl/introduce/get_by_itemidAndType'
-        }
-    };
-    getCaseInfo();
-    function getCaseInfo(){
-        var host = urls.url.host;
-        var url = host + urls.url.get_diagnose_extend;
-        var txtUrl = host + urls.url.get_by_itemidAndType;
-        var diseaseId = parseUrl().diseaseId;
-        var moreUrl = "/static/pages/information.html?type=7&diseaseId=" + diseaseId;
-        $("#more").attr("href",moreUrl);
-        //获取诊断依据
-        $.get(url,{diseaseId:diseaseId},function(data){
-            if(data.status=="OK"){
-                var dom = jointData(data.data);
-                $(".information").html('<p class="line"></p>'+dom);
-            }
-        });
-        //获取摘要
-        $.get(txtUrl,{type:7,itemId:diseaseId},function(data){
-            if(data.status=="OK"){
-                $("h1").text(data.data.shortName);
-                fillContext(data.data);
-            }
-        });
-    }
-    function parseUrl(){
-        var r = window.location.search.substr(1).split("&"),
-            obj = {};
-        $.each(r, function (i, v) {
-            if (v) {
-                var arr = v.split("=");
-                obj[arr[0]] = encodeURI(arr[1]);
-            }
-        });
-        return obj;
-    }
-    function jointData(data) {
-        var str = "",extend="",prefix,name,suffix;
-        for(var i=0;i<data.length;i++){
-            str += "<p>"+(i+1)+".";
-            extend = data[i].diagnoseExtendWrapperList;
-            for(var j=0;j<extend.length;j++){
-                suffix = extend[j].suffix||'';
-                name = extend[j].name||'';
-                prefix = extend[j].prefix||'';
-                str +=  prefix +  name + suffix;
-            }
-            str += "</p>";
-        }
-        return str;
-    }
-    function fillContext(data){
-        var content = data.introduceDetailList[0];
-        if(content){
-            $(".context .content").html(content.description);
-        }
-    }
-})(jQuery);

+ 0 - 159
static/pages/hisLib/diag_push.js

@@ -1,159 +0,0 @@
-(function ($) {
-  var urls = {
-    //His推送接口
-    'get_push':'http://192.168.2.236/api/icss/emr/pushEMR',
-    'get_info':'http://192.168.2.236/api/icss/emr/getIntroduceByEMR'
-  };
-  $.support.cors = true;
-  var config = {
-    width:'560px',      //推送内容显示的宽度
-    num:'11',         //每行显示的最大个数
-    mode:'horizontal',  //布局模式水平horizontal,垂直vertical,
-    models:[5,6,7]       //需要显示的推送模块,主诉-诊断1-7
-  };
-  var urlSearch = parseUrl();
-  handleConfig();
-  //getPushData();
-
-  function parseUrl() {
-    var r = window.location.search.substr(1).split("&"),
-      obj = {};
-    $.each(r, function (i, v) {
-      if (v) {
-        var arr = v.split("=");
-        obj[arr[0]] = arr[1]?decodeURI(arr[1]):'';
-      }
-    });
-    return obj;
-  };
-
-  function handleConfig(){
-    $(".container").css({'width':'560px'});
-    getPushData();
-    $('.'+config.mode).show();
-
-  }
-  function getPushData(){
-    var url = urls.get_push;
-    var myParam = {
-      symptom: urlSearch.symptomJson||"",
-      past: urlSearch.pastJson||"",
-      other: urlSearch.otherJson||"",
-      vital: urlSearch.vitalsJson||"",
-      lis: JSON.parse(urlSearch.labsJson||null),
-      pacs: urlSearch.pacsJson||"",
-      diag: urlSearch.disJson||"",
-      featureType: config.models.join(","),
-      hosCode:'A001',
-      age:urlSearch.age,
-      sex:urlSearch.sexType
-    };
-
-    $.ajax({
-      url: url,
-      type:'post',
-      dataType: "json",
-      cache:false,
-      contentType:"application/json",
-      data:JSON.stringify(myParam),
-      success:function(response){
-        var data = response.data;
-        if(response.code=='0'){
-          fillPushData(data);
-        }
-      },
-      error:function(error){
-        console.log("error:"+error);
-      },
-      complete:function(){
-        console.log("complete")
-      }
-    });
-  }
-
-  function getTreatInfo(type,name,detailName){
-    var url = urls.get_info;
-    var myParam = {
-      icdCode:urlSearch.icd,
-      type:type,
-      name:name,
-      detailName:detailName,
-      hosCode:'A001',
-      age:urlSearch.age,
-      sex:urlSearch.sexType
-    };
-
-    $.ajax({
-      url: url,
-      type:'post',
-      dataType: "json",
-      cache:false,
-      contentType:"application/json",
-      data:JSON.stringify(myParam),
-      success:function(response){
-        var data = response.data;
-        if(response.code=='0'){
-          fillInfomation(data);
-        }
-      },
-      error:function(error){
-        console.log("error:"+error);
-      },
-      complete:function(){
-        console.log("complete")
-      }
-    });
-  }
-
-  //填入提示信息
-  function fillInfomation(data){
-    var dom='';
-    for(var i=0;i<data.length;i++){
-      dom+='<div class="info-item clearfix"><span class="title">'+data[i].title+':</span><p class="content">'+data[i].text+'</p></div>';
-    }
-    $(".box0 .item-content").html(dom);
-  }
-
-  //填入推送信息
-  function fillPushData(data){
-    if(!data||JSON.stringify(data)=='{}'){
-      console.warn("获取推送数据为空!");
-      return ;
-    }
-    var key='',modeClass='.'+config.mode;
-    mapItem(modeClass+" .box5", data['lisList'],5);   //化验
-    mapItem(modeClass+" .box6", data['pacsList'],6);   //辅捡
-    data['dis']['可能诊断']&&data['dis']['可能诊断'].length>0&&mapItem(modeClass+" .box7", data['dis']['可能诊断'],7);   //初步诊断
-    data['dis']['确诊']&&data['dis']['确诊'].length>0&&mapItem(modeClass+" .box8", data['dis']['确诊'],7);   //疑似诊断
-    data['dis']['警惕']&&data['dis']['警惕'].length>0&&mapItem(modeClass+" .box9", data['dis']['警惕'],7);   //警惕
-
-    $("a.info").click(function(e){
-      getTreatInfo($(e.target).attr('type'),$(e.target).attr('name'),$(e.target).attr('detailName'))
-    });
-
-    //$(modeClass+" .box .item-content").html(str);         //治疗建议
-  }
-  //遍历数据
-  function mapItem(dom,item,type){
-    var itemDom = '';
-    if(item){
-      for(var i=0;i<item.length;i++){
-        if(i>config.num-1){
-          itemDom += '<p class="inner-item"><a href="##" class="hide">'+(item[i].name||item[i].uniqueName)+'</a><a class="info hide" target="_blank name="'+item[i].name+'" type='+type+' detail="'+item[i].detailName+'>i</a></p>';
-        }else{
-          itemDom += '<p class="inner-item"><a href="##">'+(item[i].name||item[i].uniqueName)+'</a><a class="info" target="_blank" name='+item[i].name+' type="'+type+'" detail="'+item[i].detailName+'">i</a></p>';
-        }
-      }
-    }
-    $(dom+" .item-content").html(itemDom||"无");
-    $(dom).show();
-    var hide = $(dom).find(".hide")[0];
-    if(hide){
-      $("<a class='more'>...</a>").insertBefore(hide);
-      $(".more").click(function(e){
-        $(e.target).siblings(".hide").removeClass("hide");
-        $(e.target).hide();
-      });
-    }
-  }
-})(jQuery);

BIN
static/pages/hisLib/img/bg.jpg


BIN
static/pages/hisLib/img/hospital.png


BIN
static/pages/hisLib/img/login.jpg


BIN
static/pages/hisLib/img/logo.png


BIN
static/pages/hisLib/img/password.png


BIN
static/pages/hisLib/img/user.png


+ 0 - 118
static/pages/hisLib/info_push.js

@@ -1,118 +0,0 @@
-(function ($) {
-  var urls = {
-    'host':"/icss-web",
-    //His推送接口
-    'get_push':'http://192.168.2.234:8080/web/doc/algorithm/neural'
-  };
-  $.support.cors = true;
-  var config = {
-    width:'560px',      //推送内容显示的宽度
-    num:'11',         //每行显示的最大个数
-    mode:'horizontal'  //布局模式水平horizontal,垂直vertical
-  };
-  var urlSearch = parseUrl();
-  handleConfig();
-  getPushData();
-
-  function parseUrl() {
-    var r = window.location.search.substr(1).split("&"),
-      obj = {};
-    $.each(r, function (i, v) {
-      if (v) {
-        var arr = v.split("=");
-        obj[arr[0]] = arr[1]?decodeURI(arr[1]):'';
-      }
-    });
-    return obj;
-  };
-
-  function handleConfig(){
-    $("tr td:last-child,.item-box").css({width:config.width});
-    $('.'+config.mode).show();
-  }
-  function getPushData(){
-    var url = urls.get_push;
-    var myParam = {
-      symptom: urlSearch.symptomJson||"",
-      past: urlSearch.pastJson||"",
-      other: urlSearch.otherJson||"",
-      vital: urlSearch.vitalsJson||"",
-      lis: urlSearch.labsJson||"",
-      pacs: urlSearch.pacsJson||"",
-      diag: urlSearch.disJson||"",
-      featureType: "1,4,7"
-    };
-
-    $.ajax({
-      url: url,
-      type:'post',
-      dataType: "json",
-      contentType:"application/json",
-      data:JSON.stringify(myParam),
-      success:function(response){
-        var data = response.data;
-        if(response.ret=='0'){
-          fillPushData(data);
-        }
-      },
-      error:function(error){
-        console.log("error:"+error);
-      },
-      complete:function(){
-        console.log("complete")
-      }
-    });
-  }
-
-  //填入推送信息
-  function fillPushData(data){
-    if(!data||JSON.stringify(data)=='{}'){
-      console.warn("获取推送数据为空!");
-      return ;
-    }
-    var past = [];
-    /*for(var p = 0;p <data.past.length; p++){
-        past.push(data.past[p].name);
-    }*/     //大数据推送没有现病史
-    var body = [];
-    for(var n = 0;n <data.vitals.length; n++){
-      body.push(data.vitals[n].featureName);
-    }
-    var symptom = [];
-    for(var x = 0;x <data.symptom.length; x++){
-      symptom.push(data.symptom[x].featureName);
-    }
-    var dis = data.dis;
-    var infoUrl,str='';
-    var modeClass = '.'+config.mode;
-
-    for(var i=0;i<dis.length;i++){
-      infoUrl="./case_info.html?diseaseId="+dis[i].id;
-      str += '<a>'+dis[i].featureName+'</a>';
-    }
-    mapItem(modeClass+" .main-suit",symptom);
-    mapItem(modeClass+" .past-item", past);
-    mapItem(modeClass+" .body-item", body);
-    $(modeClass+" .treatment").html(str);
-  }
-  //遍历数据
-  function mapItem(dom,item){
-    var itemDom = '';
-    for(var i=0;i<item.length;i++){
-      if(i>config.num-1){
-        itemDom += '<a href="##" class="hide">'+item[i]+'</a>';
-      }else{
-        itemDom += '<a href="##">'+item[i]+'</a>';
-      }
-    }
-    $(dom).html(itemDom||"无");
-    var hide = $(dom).find(".hide")[0];
-    if(hide){
-      $("<a class='more'>...</a>").insertBefore(hide);
-      $(".more").click(function(e){
-        $(e.target).siblings(".hide").removeClass("hide");
-        $(e.target).hide();
-      })
-    }
-  }
-})(jQuery);

+ 0 - 115
static/pages/hisLib/infomation.js

@@ -1,115 +0,0 @@
-import { imageUrlPrefix } from '@utils/config.js';
-(function($){
-    getInfomation();
-    function getInfomation(){
-        // var infoUrl ="http://" + window.location.host+'/icss-web/kl/introduce/get_by_itemidAndType';
-        // var infoUrl ="http://" + window.location.host+'/api/icss/introduceInfo/getByQuestionId';
-        var infoUrl ='/api/icss/introduceInfo/getByQuestionId'
-        // var imageUrlPrefix = 'http://192.168.2.241:82'
-        var urlParam = parseUrlParams();
-        console.log(urlParam)
-        var param = {
-            "type": urlParam.type,
-            "questionId": urlParam.questionId,
-            position:2
-        };
-        $.ajax({
-            type: 'POST',
-            url: infoUrl,
-            data: JSON.stringify(param),
-            headers: {
-                // 'Accept': 'application/json, text/plain, */*',
-                'Content-Type':'application/json; charset=utf-8'
-            },
-            success: function(res) {
-                   console.log(res) 
-                   var str='',anchors='',item='';
-                if(!res.data){
-                    $("h1").html("暂时没有数据");
-                    return;
-                }
-                var list  = res.data.introduceDetailList;
-                $("h1").html(res.data.tagName);
-                //list.map((item,i) =>{
-                for(var i=0;i<list.length;i++) {
-                    item = list[i];
-                    item.content = item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix)
-                    anchors = '<li><i></i><a href="#anchor' + i +
-                        '">' + item.title + '</a></li><li class="anchor-line"></li>';
-                    str = '<div class="title"><h2 id="anchor' + i +
-                        '">' + item.title +
-                        '</h2><div class="line"></div></div>' +
-                        '<div>' + item.content + '<div>';
-                    $(".infos").append(str);
-                    $(".anchors ul").append(anchors);
-                    //});
-                }
-                addLinkClickEvent();
-                adjustHeight();
-
-            }
-        })
-
-        // $.post(infoUrl,param,function(res){
-        //     console.log('resssss', res)
-        //     if(res.ret == 0){
-        //         var str='',anchors='',item='';
-        //         if(!res.data){
-        //             $("h1").html("暂时没有数据");
-        //             return;
-        //         }
-        //         var list  = res.data.introduceDetailList;
-        //         $("h1").html(res.data.shortName);
-        //         //list.map((item,i) =>{
-        //         for(var i=0;i<list.length;i++) {
-        //             item = list[i];
-        //             anchors = '<li><i></i><a href="#anchor' + i +
-        //                 '">' + item.title + '</a></li><li class="anchor-line"></li>';
-        //             str = '<div class="title"><h2 id="anchor' + i +
-        //                 '">' + item.title +
-        //                 '</h2><div class="line"></div></div>' +
-        //                 '<div>' + item.description + '<div>';
-        //             $(".infos").append(str);
-        //             $(".anchors ul").append(anchors);
-        //             //});
-        //         }
-        //         addLinkClickEvent();
-        //         adjustHeight();
-        //     }else{
-        //         $(".container").html(res.msg);
-        //     }
-        // }
-        // );
-
-    }
-
-    function parseUrlParams(){
-        var url = window.location.search;
-        var params = url.substring(1).split("&");
-        var tmp = '',obj = {},it={};
-        //params.map((it) =>{
-        for(var i=0;i<params.length;i++) {
-            it = params[i];
-            tmp = it.split("=");
-            if (tmp[0] && tmp[1]) {
-                obj[tmp[0]] = tmp[1];
-            }
-        }
-        //});
-        return obj;
-    }
-
-    function addLinkClickEvent(){
-        $("li:first").addClass("active");
-        $("li>a").on("click",function(){
-            $(".active").removeClass('active');
-            $(this).parent().addClass("active");
-        });
-    }
-
-    function adjustHeight(){
-        var ht = window.innerHeight;
-        $(".content").height(ht-145+"px");
-    }
-
-})(jQuery);

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 4241
static/pages/hisLib/jquery-1.3.1.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 9597
static/pages/hisLib/jquery-1.9.1.min.js


+ 0 - 157
static/pages/hisLib/login.css

@@ -1,157 +0,0 @@
-*,html,body{
-    padding: 0;
-    margin: 0;
-    width: 100%;
-    height: 100%;
-}
-
-body{
-    background-image: url("img/bg.jpg");
-    background-repeat: no-repeat;
-    background-size: 100% 100%;
-    position: relative;
-    font-family: 'Microsoft YaHei',arial,tahoma,sans-serif;
-}
-
-.login-center{
-    position: relative;
-    top: 42%;
-    left: 50%;
-    margin-top: -200px;
-    margin-left: -200px;
-    width: 360px;
-    height:400px ;
-}
-
-.login{
-    height: 400px;
-    background-color: #fff;
-    background-color: rgba(255,255,255,0.5);
-    filter:Alpha(opacity=50);
-    border-radius:5px;
-    margin-top: 20px;
-    position: relative;
-}
-
-.logo{
-    position: relative;
-    width: 100%;
-    height: 50px;
-    background-image: url("img/logo.png");
-    background-repeat: no-repeat;
-    background-position: center;
-    background-size: 240px 48px;
-}
-
-.font-center{
-    text-align: center;
-    font-size: 25px;
-    font-weight: bold;
-    padding-top: 20px;
-    height: 25px;
-}
-
-.username{
-    position: relative;
-    top: 30px;
-    text-align: center;
-    height: 54px;
-}
-
-.password{
-    position: relative;
-    top: 60px;
-    text-align: center;
-    height: 54px;
-}
-
-.unitId{
-    position: relative;
-    top: 90px;
-    text-align: center;
-    height: 54px;
-}
-
-input{
-    border: none;
-    height: 50px;
-    width: 200px;
-    border: 2px solid #000;
-    border-radius: 8px;
-    font-size: 25px;
-    padding-left: 50px;
-    line-height: 50px;
-}
-
-select{
-    border: none;
-    height: 50px;
-    width: 250px;
-    border: 2px solid #000;
-    border-radius: 8px;
-    font-size: 25px;
-    padding-left: 50px;
-    line-height: 50px;
-}
-
-input:focus{
-    border-color: #66afe9;
-    outline: 0;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
-    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
-}
-
-.confirm{
-    height: 50px;
-    width: 100%;
-    position: relative;
-    opacity: 1;
-    top:125px;
-    text-align: center;
-}
-
-.confirm button{
-    box-shadow: none;
-    opacity: 2;
-    width: 200px;
-    font-size: 20px;
-    line-height: 45px;
-    background-color: #337ab7;
-    color: #fff;
-    border-radius: 6px;
-    border:1px solid #2e6da4;
-    cursor: pointer;
-    user-select: none;
-    -webkit-user-select: none;
-
-}
-
-.confirm button:focus{
-    outline: thin dotted;
-    outline: 5px auto -webkit-focus-ring-color;
-    outline-offset: -2px;
-    text-decoration: none;
-}
-
-.confirm button:active{
-    background-image: none;
-    outline: 0;
-    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-
-.confirm button:hover{
-    color: #fff;
-    background-color: #286090;
-    border-color: #204d74;
-}
-
-.img{
-    width: 30px;
-    height: 30px;
-    position: absolute;
-    top: 13px;
-    left: 67px;
-    user-select: none;
-    -webkit-user-select: none;
-}

+ 0 - 175
static/pages/hisLib/param.js

@@ -1,175 +0,0 @@
-var Param = {
-
-	host_url : "/icss-web",
-
-    /**
-	 * 应用名
-	 */
-	ctx : "/icss-web",
-	/**
-	 * 页面缓存对象
-	 */
-	storage : window.localStorage,
-	/**
-	 * uri所有参数Json方式存储
-	 */
-	uriParams : {},
-	/**
-	 * 缺省读取问诊信息请求URI
-	 */
-	questionInitActionUri : "",
-	/**
-	 * 缺省读取问诊信息
-	 */
-	methodType : "new",
-	/**
-	 * 用户相关信息
-	 */
-	user : {
-		loginId: "",
-		name: "",
-		appId: null,
-		resource: "pc",
-		token:""
-	},
-	/**
-	 * 列表属性设置
-	 */
-	lang : {
-		"sProcessing": "处理中...",
-		"sLengthMenu": "每页 _MENU_ 项",
-		"sZeroRecords": "没有匹配结果",
-		"sInfo": "当前显示第 _START_ 至 _END_ 项,共 _TOTAL_ 项。",
-		"sInfoEmpty": "当前显示第 0 至 0 项,共 0 项",
-		"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
-		"sInfoPostFix": "",
-		"sSearch": "搜索:",
-		"sUrl": "",
-		"sEmptyTable": "表中数据为空",
-		"sLoadingRecords": "载入中...",
-		"sInfoThousands": ",",
-		"oPaginate": {
-			"sFirst": "首页",
-			"sPrevious": "上页",
-			"sNext": "下页",
-			"sLast": "末页",
-			"sJump": "跳转"
-		},
-		"oAria": {
-			"sSortAscending": ": 以升序排列此列",
-			"sSortDescending": ": 以降序排列此列"
-		}
-	},
-		  
-	/**
-	 * 初始化请求uri参数
-	 */
-	initUriParam : function (uri) {
-		Param.uriParams = {};
-		Param.uriParamSplit(uri);
-	},
-
-	/**
-	 * 初始化页面参数
-	 */
-	initPageParam : function() {
-		var uri = window.parent.location.search;
-		Param.indexUriParamSplit(uri);
-	},
-/**
-	 * 表单ajax提交参数定义
-	 */
-	formPost : {
-		isToken: true,
-		formName: '.form-horizontal',
-		url: '',
-		callback: {}
-	},
-	/**
-	 * 一般ajax提交参数定义
-	 */
-	normalPost : {
-		isToken: true,
-		p: {},
-		url: '',
-		callback: {}
-	},
-	
-	/**
-	 * uri参数转Json对象
-	 */
-	indexUriParamSplit : function (uri) {
-		if (uri.indexOf("?") == -1) return;
-		uri = uri.substr(uri.indexOf("?") + 1);
-		var uriParamArray = uri.split("&");
-
-		var p = {};
-		var p_json = {};
-		$.each(uriParamArray, function(i, item) {
-			p = item.split("=");
-			p_json[p[0]]=p[1];
-			Param.uriParams = $.extend(Param.uriParams, p_json);
-		});
-	},
-	
-	/**
-	 * uri参数转Json对象
-	 */
-	uriParamSplit : function (uri) {
-		if (uri.indexOf("?") == -1) return;
-		uri = uri.substr(uri.indexOf("?") + 1);
-		var uriParamArray = uri.split("&");
-		var p = {};
-		var p_json = {};
-		$.each(uriParamArray, function(i, item) {
-			p = item.split("=");
-			p_json[p[0]]=p[1];
-			var contentId = getContentId();
-			if (contentId == "") {
-				Param.uriParams = $.extend(Param.uriParams, p_json)
-			} else{
-				!Param.uriParams[contentId] && (Param.uriParams[contentId]={});
-				Param.uriParams[contentId] = $.extend(Param.uriParams[contentId], p_json);
-			}
-			
-		});
-	},
-	
-	clear : function(id){
-		if(Param.uriParams[id]){
-      delete Param.uriParams[id];
-		}
-	},
-	
-	copy : function(param,id){
-		Param.uriParams[id] = param;
-	},
-	
-	getParam : function(paramName,contentId){
-		!contentId&&(contentId = getContentId());
-		if (Param.uriParams[contentId] && paramName in Param.uriParams[contentId]){
-			return Param.uriParams[contentId][paramName];
-		}else{
-			return Param.uriParams[paramName];
-		}
-	},
-	
-	setParam : function(param,contentId){
-		!contentId&&(contentId = getContentId());
-		!Param.uriParams[contentId] && (Param.uriParams[contentId]={});
-		$.extend(Param.uriParams[contentId],param);
-	},
-	
-	/**
-	 * 登录后页面保存返回信息
-	 * @param data
-	 */
-	initPageUser : function (data) {
-		Param.user.loginId = data.loginId;
-		Param.user.name = data.name;
-		Param.user.appId = data.appId;
-		Param.user.resource = data.resource;
-		Param.user.token = data.token;
-        Param.user.loginUnitId = data.loginUnitId;
-	},
-};

+ 0 - 207
static/pages/info_push.html

@@ -1,207 +0,0 @@
-<!DOCTYPE html>
-<!–[if IE 8]>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
-<![endif]–>
-<html>
-<head>
-    <meta charset="utf-8">
-    <meta name="renderer" content="ie-stand">
-    <meta name="renderer" content="webkit">
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
-    <!–[if IE 8]>
-    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
-    <![endif]–>
-    <meta http-equiv="Expires" content="0">
-    <meta http-equiv="Pragma" content="no-cache">
-    <meta http-equiv="Cache-control" content="no-cache">
-    <meta http-equiv="Cache" content="no-cache">
-
-    <title>诊断推送</title>
-    <style>
-        div,p,a,b,i,label,td,tr{
-            margin: 0;
-            padding: 0;
-        }
-        .treatment>b{
-            white-space: nowrap;
-        }
-        .container{
-            /*width: 690px;
-            max-height:180px;
-            border:1px #828790 solid;*/
-            font-size: 13px;
-            font-family: 'Microsoft YaHei', arial, tahoma, sans-serif;
-        }
-        tr{
-            height: 30px;
-        }
-        td{
-            vertical-align: top;
-        }
-        .container label{
-            display: inline-block;
-            width: 80px;
-            margin-left: 5px;
-        }
-        a{
-            margin-right: 10px;
-            color: blue;
-            cursor: default;
-            cursor: pointer;
-            text-decoration: underline;
-        }
-        a.info{
-            display: inline-block;
-            width:14px;
-            height: 14px;
-            line-height: 14px;
-            background: #66afe9;
-            border-radius: 50%;
-            color: #fff;
-            text-align: center;
-            text-decoration: none;
-            margin-left: 3px;
-        }
-        .origin td[rowspan="4"]{
-            width: 45px;
-            vertical-align: middle;
-            /* background: #deecfd;*/
-        }
-        .origin td:first-child{
-            border-right: 1px #828790 solid;
-            word-break: break-all;
-        }
-        .origin span{
-            float: left;
-        }
-        .origin .little{
-            font-size: 10px;
-            line-height: 12px;
-            margin-left: 5px;
-        }
-        /*td:last-child{
-            width:560px;
-        }*/
-        .origin span:first-child{
-            margin-left:5px;
-        }
-        .hide{
-            display: none!important;
-        }
-        a.more{
-            display: inline-block;
-            height: 15px;
-            line-height: 10px;
-            width: 16px;
-            text-align: center;
-            background: #66afe9;
-            color: #fff;
-            text-decoration: none;
-            border-radius: 3px;
-            cursor: pointer;
-        }
-        .clearfix{
-            zoom: 1;
-        }
-        .clearfix:after{
-            content: '';
-            display: block;
-            clear: both;
-            overflow: hidden;
-            visibility: hidden;
-        }
-        .vertical,.horizontal{
-            display: none;
-        }
-        .vertical .item-box{
-            margin-top:20px;
-        }
-        .vertical .title{
-            font-size: 14px;
-        }
-        .vertical .item-title{
-            font-weight: bold;
-            font-size: 14px;
-            line-height: 30px;
-            border-bottom: 1px #ccc solid;
-        }
-        .vertical .item-content{
-            font-size: 13px;
-            line-height: 30px;
-
-        }
-    </style>
-</head>
-<body>
-<table class="container horizontal" cellspacing="0">
-    <tbody>
-    <tr class="origin">
-        <td rowspan="4">
-            <div class="clearfix">
-                <span>智<br/>能<br/>推<br/>送</span>
-                <span class="little">︵<br/>仅<br/>供<br/>参<br/>考<br/>︶</span>
-            </div>
-        </td>
-        <td>
-            <label>>伴随症状:</label>
-        </td>
-        <td class="main-suit">
-        </td>
-    </tr>
-    <tr class="test">
-        <td>
-            <label>>既&nbsp;&nbsp;往&nbsp;&nbsp;史:</label>
-        </td>
-        <td>
-            <div class="past-item item">
-            </div>
-        </td>
-    </tr>
-    <tr class="suggest">
-        <td>
-            <label>>查&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;体:</label>
-        </td>
-        <td>
-            <div class="body-item item">
-            </div>
-        </td>
-    </tr>
-    <tr class="treat">
-        <td style="vertical-align: text-bottom;">
-            <label>>诊&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;断:</label>
-        </td>
-        <td>
-            <div class="treatment item">
-            </div>
-        </td>
-    </tr>
-    <!--<tr>
-        <td></td>
-        <td colspan="2">
-            <p></p>
-        </td>
-    </tr>-->
-    </tbody>
-</table>
-<div class="vertical">
-    <div class="title">智能推送(仅供参考)</div>
-    <div class="item-box">
-        <div class="item-title">伴随症状</div>
-        <div class="item-content main-suit"></div>
-    </div>
-    <div class="item-box">
-        <div class="item-title">既  往  史</div>
-        <div class="item-content past-item"></div>
-    </div>
-    <div class="item-box">
-        <div class="item-title">查       体</div>
-        <div class="item-content body-item"></div>
-    </div>
-    <div class="item-box">
-        <div class="item-title">诊       断</div>
-        <div class="item-content treatment"></div>
-    </div>
-</div>
-<script src="./hisLib/jquery-1.3.1.js"></script>
-<script  src="./hisLib/info_push.js"></script>
-</body>

+ 0 - 139
static/pages/information.html

@@ -1,139 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8">
-    <title>诊断指南</title>
-    <style>
-        *{
-            margin: 0;
-            padding: 0;
-        }
-        ul,li{
-            list-style: none;
-        }
-        table{
-            border-collapse: collapse;
-            border-spacing: 0;
-        }
-        body{
-            font-size: 12px;
-            overflow-y: scroll;
-            font-family: '微软雅黑', '宋体';
-            background: #dde2ea;
-            height: 100%;
-            color: #33475f;
-        }
-        h1{
-            margin-bottom: 50px;
-        }
-        h2{
-            font-size: 18px;
-            position: absolute;
-            top: -12px;
-            background: #fff;
-            padding-right: 6px;
-        }
-        .content{
-            position: relative;
-            height: 550px;
-        }
-        .infos{
-
-            height: 100%;
-            overflow-y: auto;
-            overflow-x: hidden;
-        }
-        .infos>div{
-            margin-right: 210px;
-        }
-        .title{
-            position: relative;
-            height:24px;
-            margin: 34px 0 10px;
-        }
-        .line{
-            border-bottom: 1px dashed #ccc;
-        }
-        .container{
-            width: 76%;
-            overflow: hidden;
-            background: #fff;
-            margin: 0 auto;
-            padding: 30px 24px;
-        }
-        .anchors{
-            width: 160px;
-            position: absolute;
-            right: 15px;
-            top: 0;
-            margin-right: 14px;
-            overflow: auto;
-        }
-        .anchors ul{
-            padding: 15px 18px;
-            border-radius: 4px;
-            border: 1px solid #eee;
-            background-color: #eee;
-        }
-        .anchors li{
-            position: relative;
-            height: 20px;
-        }
-        .anchors .anchor-line{
-            height: 15px;
-            width: 0;
-            border: 1px solid #ccc;
-            background-color: #ccc;
-            margin-left: 4px;
-        }
-        .anchors .anchor-line:last-child{
-            display: none;
-        }
-        .anchors i{
-            display: inline-block;
-            width: 8px;
-            height: 8px;
-            border-radius: 5px;
-            border: 1px solid #ccc;
-            margin-top: 5px;
-            background-color: #eee;
-            margin-right: 10px;
-        }
-        .anchors a{
-            position: absolute;
-            top: 0;
-            left: 0;
-            width: calc(100% - 20px);
-            padding-left: 20px;
-            text-decoration: none;
-            font-size: 13px;
-            font-weight: 400;
-            color: #000;
-            word-wrap: break-word;
-        }
-        .anchors .active a{
-            color: #0089be!important;
-            font-weight: 700!important;
-        }
-        .anchors .active i{
-            background: #0089be;
-        }
-        a:visited{
-            color:#33475f
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <h1></h1>
-    <div class="content">
-        <div class="infos"></div>
-        <div class="anchors">
-            <ul></ul>
-        </div>
-    </div>
-</div>
-<script src="./hisLib/jquery-1.9.1.min.js"></script>
-<script src="./hisLib/infomation.js"></script>
-</body>
-</html>

+ 0 - 114
static/pages/login.html

@@ -1,114 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
-<meta http-equiv="expires" content="0">
-<link rel="stylesheet" href="./hisLib/login.css">
-<title>控制台</title>
-</head>
-<body>
-	<div class="login-center">
-		<div class="logo"></div>
-		<div class="login">
-			<form class="form-horizontal">
-				<div class="font-center">
-					<span>登录</span>
-				</div>
-				<input type="hidden" name="appId" value="1" />
-				<input type="hidden" name="resource" value="pc" />
-				<div class="username">
-					<input name="userName" placeholder="用户名" type="text" value="admin">
-					<img src="hisLib/img/user.png" class="img">
-				</div>
-				<div class="password">
-					<input name="password" placeholder="密码" type="password" value="1">
-					<img src="hisLib/img/password.png" class="img">
-				</div>
-				<div class="unitId">
-					<select name="unitId" id="unitId">
-					</select>
-					<img src="hisLib/img/hospital.png" class="img">
-				</div> 
-				<div class="confirm">
-					<button onclick="login()" class="btn btn-primary" type="button">确定</button>
-				</div>
-			</form>
-		</div>
-	</div>
-
-	<script src="./hisLib/jquery-1.9.1.min.js"></script>
-	<!-- 参数定义 -->
-	<script src="./hisLib/param.js"></script>
-	<!-- 工具类 -->
-	<!--<script src="js/login/tools.js"></script>-->
-	<!-- 页面处理类-->
-	<!--<script src="js/page.js"></script>-->
-</body>
-</html>
-<script type="text/javascript">
-
-	$(function(){
-        $.ajax({
-            async: false,
-            type: "POST",
-            dataType: "json",
-            //url: concatToken(Param.host_url + "/sys/unit/select_list"),
-            url: Param.host_url + "/sys/unit/select_list",
-            data: '',
-            success: function(data, textStatus) {
-                if(data){
-                    var unit = data.data;
-                    var html = "";
-                    $.each(unit,function(){
-                        html += "<option value='"+this.id+"'>"+this.name+"</option>"
-                    })
-                    $("#unitId").append(html);
-                }
-            },
-            error: function(jqXHR){
-                alert(Param.host_url + "/sys/unit/select_list" + "请求出现例外:" + jqXHR.statusText);
-                return false;
-            }
-        });
-	});
-
-
-
-    function login() {
-        $.extend(Param.formPost, {
-            isToken: false,
-			url: '/login',
-			callback: function(data) {
-                if (data.ret == "0") {
-                    //Param.initPageUser(data.data);
-					var num = Math.floor(Math.random()*10000);
-                    self.location.href ="../../?patientNo=1600&doctorNo=1&deptId=N016&recordId="+num+"&hospitalId=A001";
-                } else {
-                    alert(data.msg);
-                }
-            }
-        });
-        ajaxLogin(Param.formPost);
-    }
-
-    function ajaxLogin(param_) {
-        $.extend(Param.formPost, param_);
-        $.ajax({
-            async: false,
-            type: "POST",
-            dataType: "json",
-            //url: Param.host_url + (Param.formPost.isToken?concatToken(Param.formPost.url):Param.formPost.url),
-            url: Param.host_url + Param.formPost.url,
-            data: $(Param.formPost.formName).serialize(),
-            success: function(data, textStatus) {
-                Param.formPost.callback(data);
-            },
-            error: function(jqXHR){
-                alert(Param.formPost.url + "请求出现例外:" + jqXHR.statusText);
-            }
-        });
-    }
-</script>

+ 0 - 119
static/pages/test.html

@@ -1,119 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <title>Document</title>
-    <style>
-        .upload-btn {
-            width: 130px;
-            height: 25px;
-            overflow: hidden;
-            position: relative;
-            border: 3px solid #06c;
-            border-radius: 5px;
-            background: #0cf;
-        
-        }
-            .upload-btn:hover {
-                background: #09f;
-            }
-            .upload-btn__txt {
-                z-index: 1;
-                position: relative;
-                color: #fff;
-                font-size: 18px;
-                font-family: "Helvetica Neue";
-                line-height: 24px;
-                text-align: center;
-                text-shadow: 0 1px 1px #000;
-            }
-            .upload-btn input {
-                top: -10px;
-                right: -40px;
-                z-index: 2;
-                position: absolute;
-                cursor: pointer;
-                opacity: 0;
-                filter: alpha(opacity=0);
-                font-size: 50px;
-            }
-        </style>
-        <script src="../dist/jQuery.js"></script>
-        <script>
-        
-          window.onload=function(){
-              document.documentElement.focus()
-            } 
-        </script>
-
-    <script>
-        var FileAPI = {
-            // @default: "./dist/"
-            staticPath: './dist/',
-
-            // @default: FileAPI.staticPath + "FileAPI.flash.swf"
-            flashUrl: './dist/FileAPI.flash.swf',
-
-            // @default: FileAPI.staticPath + "FileAPI.flash.image.swf"
-            flashImageUrl: './dist/FileAPI.flash.image.swf'
-        };
-    </script>
-    <script src="../dist/FileAPI.js"></script>
-
-</head>
-<body>
-    <div>
-        <div class="js-fileapi-wrapper upload-btn">
-            <div class="upload-btn__txt">Choose files</div>
-            <input id="choose" name="uploadfile" type="file" multiple />
-        </div>
-    </div>
-    
-    <script>
-        $(function(){
-            $('iframe').bind( 'load', function(){} )
-            FileAPI.debug = true
-            $.support.cors = true;
-            var choose = document.getElementById('choose');
-            FileAPI.event.on(choose, 'change', function (evt){
-                var files = FileAPI.getFiles(evt);
-                FileAPI.filterFiles(files, function (file, info){
-                    return	true;
-                }, 
-                function (files, rejected){
-                    if( files.length ){
-                        FileAPI.upload({
-                            dataType: 'string',
-                            url: 'http://192.168.2.236/api/icss/lisExcelRes/lisExcelAnalysis',
-                            files: { 
-                                // 'hospitalCode':'A001',
-                                'uploadfile': files[0]
-                            },
-                            headers:{
-                                // 'Content-Type':'Content-Type: multipart/form-data;'
-                                // 'Content-Type':'application/json;charset=UTF-8'
-                                // 'Content-type': "text/plain"
-                            },
-                            progress: function (evt){ 
-                                console.log(files,1111)
-                                alert(7)
-                            },
-                            complete: function (err, xhr){
-                                alert(9999)
-                                if( !err ){
-                                    var result = xhr.responseText;
-                                    alert(JSON.parse(result).code == 0?'成功':'失败')
-                                }else{
-                                    alert(9)
-                                }
-                            }
-                        });
-                    }
-                });
-            });
-        })
-    </script>
-</body>
-</html>

+ 0 - 75
static/pages/test2.html

@@ -1,75 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=8">
-    <title>Document</title>
-
-    <script src="./dist/jquery-1.9.1.min.js"></script>
-    <script src="./dist/jquery.form.js"></script>
-
-</head>
-<body>
-<div>
-    <form id="tForm" action='http://192.168.2.236:5050/api/icss/lisExcelRes/lisExcelAnalysis' enctype="multipart/form-data" method="post" name="fileForm">
-        <input type="hidden" value="A001" name="hospitalCode"/>
-        <label for="upload">
-            <input type="file" id="upload" class="file" name="uploadfile"/>
-        </label>
-        <input type="submit" value="Submit 1" name="uploadSubmitter1">
-    </form>
-</div>
-
-<script>
-  /*function subimtBtn() {
-    var form = $("form[name=fileForm]");console.log(111)
-    var options = {
-      url:'http://192.168.2.241:5050/api/icss/lisExcelRes/lisExcelAnalysis', //上传文件的路径
-      type:'post',
-      data:{hospitalCode:'A001',uploadfile:$("#upload").value},
-      success:function(data,a){
-        console.log(222,JSON.stringify(data));
-        //....       //异步上传成功之后的操作
-      },
-      complete:function(data,a){
-        console.log(111,JSON.stringify(data));
-        //....       //异步上传成功之后的操作
-      }
-    };
-    form.ajaxSubmit(options);
-  }*/
-  /*$(function(){
-    $('iframe').bind( 'load', function(){} )
-    FileAPI.debug = true
-    $.support.cors = true;
-    var choose = document.getElementById('upload');
-    FileAPI.event.on(choose, 'change', function (evt){
-      var files = FileAPI.getFiles(evt);console.log(files[0])
-      FileAPI.filterFiles(files, function (file, info){
-          return	true;
-        },
-        function (files, rejected){
-          if( files.length ){
-            var form = $("form[name=fileForm]");
-            var options = {
-              url:'http://192.168.3.98:5050/api/icss/lisExcelRes/lisExcelAnalysis', //上传文件的路径
-              type:'post',
-              data:{hospitalCode:'A001'},
-              files: { uploadfile: files[0] },
-              success:function(data){
-                console.log(JSON.stringify(data));
-                //....       //异步上传成功之后的操作
-              },
-              complete:function(s){
-                console.log(222,JSON.stringify(s));
-              }
-            };
-            form.ajaxSubmit(options);
-          }
-        });
-    });
-  })*/
-</script>
-</body>
-</html>

+ 0 - 49
static/pages/test3.html

@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head runat="server">
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title></title>
-    <script src="dist/jquery-1.7.1.js"></script>
-    <script src="dist/ajaxfileupload.js"></script>
-</head>
-<body>
-<p><input type="file" id="file1" name="file" /></p>
-<input type="button" value="上传" />
-<p><img id="img1" alt="上传成功" src="" /></p>
-
-<script>
-  $(function () {
-    //$.support.cors = true;
-    $(":button").click(function () {
-      ajaxFileUpload();
-    })
-  })
-  function ajaxFileUpload() {
-    $.ajaxFileUpload
-    (
-      {
-        url: 'http://192.168.2.236:5050/api/icss/lisExcelRes/lisExcelAnalysis', //用于文件上传的服务器端请求地址
-        fileElementId: 'file1', //文件上传空间的id属性  <input type="file" id="file" name="file" />
-        dataType: 'json', //返回值类型 一般设置为json
-        success: function (data, status)  //服务器成功响应处理函数
-        {
-          $("#img1").attr("src", data.imgurl);
-          if (typeof (data.error) != 'undefined') {
-            if (data.error != '') {
-              alert(data.error);
-            } else {
-              alert(data.msg);
-            }
-          }
-        },
-        error: function (data, status, e)//服务器响应失败处理函数
-        {
-          alert(e);
-        }
-      }
-    )
-    return false;
-  }
-</script>
-</body>
-</html>