Преглед на файлове

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

zhouna преди 6 години
родител
ревизия
da4f7c6d72

+ 2 - 3
src/components/AssessResult/AssessHis/index.jsx

@@ -73,11 +73,10 @@ class AssessResultHis extends Component {
     });
   }*/
   render() {
-    const { list,inquiryId,loading } = this.props;
-    const data = list&&list[inquiryId]&&list[inquiryId].data;
+    const { loading,isChronic } = this.props;
     return <div className={style['assess-cont']}>
       <div className={style['assess-result']}>
-        <p className={style['enter']}>管理和评估结果:<a onClick={this.showAssessFn}>查看结果<img src={arrow} /></a></p>
+        <p className={style['enter']}>{isChronic?'管理和评估':'推荐'}结果:<a onClick={this.showAssessFn}>查看结果<img src={arrow} /></a></p>
       </div>
       <div className={style['assess-box']}>
         {loading?<p className={style['loading']}><img src={loadingIcon} alt='loading...'/></p>:''}

+ 17 - 7
src/components/AssessResult/ChartItem/index.jsx

@@ -62,7 +62,7 @@ class ChartItem extends Component {
     if(isHour){
       for(let i=0;i<24;i++){
         temp = hour-i>-1?hour-i:hour-i+24;
-        arr.unshift(str+" "+(temp<10?'0'+temp:temp));
+        arr.unshift(str+" "+(temp<10?'0'+temp:temp)+":00:00");
       }
       return arr;
     }else{
@@ -132,9 +132,10 @@ class Chart extends Component{
     const id = endDate?'chart'+endDate+index:'chart'+index;
     let series = [],names=[],inx=-1;
     let myChart = echarts.init(document.getElementById(id) ,null, {renderer: 'svg'});
+    let xAxisArr = [...xAxis];
 
     const interval = {
-      week:24,
+      week:23,
       month:4,
       sixMonth:9,
       year:60
@@ -145,9 +146,12 @@ class Chart extends Component{
       it&&it.creatTime.map((x,i)=>{
         inx=xAxis.findIndex((a)=>{
           name=type=='week'?x.substr(0,13):x.substr(0,10);
-          return a==name;
+          return a.substr(0,13)==name;
         });     //日期对应横坐标的位置
         if(inx!=-1){
+          if(type=='week'){
+            xAxisArr[inx] = x;
+          }
           values[inx] = it.indexValue[i];       //值对应横坐标的位置
         }
       });
@@ -162,7 +166,10 @@ class Chart extends Component{
     // 指定图表的配置项和数据
     var option = {
       tooltip: {
-        trigger: 'axis'
+        trigger: 'axis',
+        textStyle:{
+          fontSize:12
+        }
       },
       legend: {
         data:names,
@@ -174,9 +181,9 @@ class Chart extends Component{
       xAxis: {
         type: 'category',
         boundaryGap: false,
-        data: xAxis,
+        data: xAxisArr,
         splitLine:{
-          show:false
+          show:true
         },
         axisPointer:{
           //show:false
@@ -190,7 +197,10 @@ class Chart extends Component{
           showMaxLabel:true,
           interval:interval[type],
           rotate:65,
-          fontSize:10
+          fontSize:10,
+          formatter: function(value,index){
+            return value.substr(0,10);
+          }
         }
       },
       yAxis: {

+ 10 - 5
src/components/AssessResult/ScaleItem/index.jsx

@@ -156,7 +156,7 @@ class ScaleItem extends Component {
   }
   getDetailItems(item,i){
     let arr = [],temp='';
-    const {indexs,result,formulaResult,calcuResult} = this.props;
+    const {indexs,result,formulaResult,calcuResult,disabled} = this.props;
     const {optionId,formulaId,radioVal,formulaData,isFormulaConfirm} = this.state;
     const possible=result&&result.possible;
 
@@ -197,6 +197,7 @@ class ScaleItem extends Component {
                                   return <div className={style["chooseItem"]}>
                                     <Radio label={ii.detailName}
                                            isSelect={ii.state == 1}
+                                           disabled={disabled}
                                            handleClick={this.handleForRadio.bind(this,item.id,idd, ind)}>
                                       >
                                     </Radio>
@@ -210,7 +211,7 @@ class ScaleItem extends Component {
                                 <span>{'请输入'+item1.name+':'}</span>
                               </td>
                               <td>
-                                <input type="text" placeholder="请输入"  value={item1.value} onInput={(e)=>this.handleInputformula(item.id,idd,e.target.value)}/>
+                                <input type="text" disabled={disabled} placeholder="请输入"  value={item1.value} onInput={(e)=>this.handleInputformula(item.id,idd,e.target.value)}/>
                               </td>
                               <td>
                                 <span>{item1.uint}</span>
@@ -220,7 +221,7 @@ class ScaleItem extends Component {
                           }
                         })}
                       </table>
-                      <div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,j, item, i)}>计算</div>
+                      {disabled?"":<div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,j, item, i)}>计算</div>}
                       <table>
                         {showRes && Array.isArray(showRes) &&showRes.map((itemResult, resultIndex) => {
                           return <tr>
@@ -261,13 +262,17 @@ class ScaleItem extends Component {
                     </MiniToast>
                   </div>;
         }
-        arr.push(<li>
+        const li = disabled?<li>
+            <span>{item.name}:</span>
+            <div className={style['row']}>{temp}</div>
+          </li>:<li>
           <span>{item.name}:</span>
           <div className={style['row']}>{temp}</div>
           <div className={style["recommend"]} onClick={()=>this.props.handleRemove(i,j)}>
             <img className={style["deleteIcon"]} src={deleteIcon} />
           </div>
-        </li>);
+        </li>;
+        arr.push(li);
       }
     });
     return arr;

+ 6 - 2
src/components/AssessResult/index.jsx

@@ -79,8 +79,12 @@ class AssessResult extends Component {
     isAssessConfirm&&handleSave(this.state,readyKeepHistory(),isRecommend);
   }
   handoutTypes(item,i){
-    const {getIndexData,indexData,timeTypes,wholeAssessData,closeAssess,showScaleFn,calcuFormula,isRecommend,chronicPushItems,
+    const {getIndexData,indexData,timeTypes,wholeIndexs,closeAssess,showScaleFn,calcuFormula,isRecommend,chronicPushItems,
       formulaResult,calcuResult} =this.props;
+    let obj = [];
+    Object.keys(wholeIndexs).map((i)=>{
+      obj[i]=chronicPushItems[i];
+    });
     const {chooseSelecteds,wholeAssessItems,wholeAssessText,chartTimeTypes,wholeResults} = this.state;
     const chartData = indexData;
     const name = item.regionName+":";
@@ -88,7 +92,7 @@ class AssessResult extends Component {
     switch (+item.regionType){
       case 0:     //数据来源与右侧手动添加
         return <ScaleItem title={name}
-                          data={wholeAssessData}
+                          data={obj}
                           handleRemove={this.handleScaleDel}
                           handleInp={this.handleScaleText}
                           handleRes={this.handleResult}

+ 2 - 1
src/components/PreviewBody/index.jsx

@@ -76,6 +76,7 @@ class PreviewBody extends Component {
     const { show, preInfo, dataJson, dataStr, baseObj, flg ,showAssessBtn} = this.props;
     const other_yjs = filterOtherDataArr(JSON.parse(dataStr.other),dataJson.other);
     const noData = JSON.stringify(preInfo) == '{}';
+    const isChronic = (dataJson.diagChronicMagItem&&dataJson.diagChronicMagItem.name)||(dataJson.mainChronicDesease&&dataJson.mainChronicDesease.name);
     return <div className={style['content']} style={{ width: flg ? '700' : '820' }}>
       <div className={style['contents']} id="content" style={{ margin: "0 auto", maxWidth: "620px" }}>
         <Information baseObj={baseObj} preInfo={preInfo}></Information>
@@ -222,7 +223,7 @@ class PreviewBody extends Component {
           </tr>
         </table>
         <p style={{textAlign:'right',marginTop:'15px'}}>医生签名:<span style={{minWidth: '60px',padding: '0 5px 2px 5px',borderBottom: '1px solid #333',}}>{baseObj ? baseObj.doctorName : (noData ? '' : preInfo.doctorName)}</span></p>
-        {showAssessBtn?<AssessResultHis inquiryId={baseObj&&baseObj.id} inquiryDate={baseObj&&baseObj.inquiryDate}></AssessResultHis>:""}
+        {showAssessBtn?<AssessResultHis isChronic={isChronic?true:false} inquiryId={baseObj&&baseObj.id} inquiryDate={baseObj&&baseObj.inquiryDate}></AssessResultHis>:""}
         
         <div onClick={() => { this.surePrint(dataStr) }} style={{
           display: show ? 'inline-block' : 'none',

+ 3 - 1
src/components/ScaleTable/index.jsx

@@ -129,7 +129,9 @@ class ScaleTable extends React.Component{
     for(let i=0; i<group.length; i++){
       let rows = group[i].rows;
       for(let j=0; j<rows.length; j++){
-        if(rows[j].required==1&& (rows[j].row.filter((it,i)=>{return !it.isSelect})).length>0){
+        // if(rows[j].required==1&& (rows[j].row.filter((it,i)=>{return !it.isSelect})).length>0){
+        // 必填项下有一项选中既可
+        if(rows[j].required==1&& (rows[j].row.filter((it,i)=>{return it.isSelect})).length==0){
           unfinish = true;
           break;
         }

+ 1 - 1
src/containers/AssessResult.js

@@ -26,7 +26,7 @@ function mapStateToProps(state) {
     update:assessResult.update,     //评估数据更新
     update1:assessResult.update1,       //加入记录更新
     timeTypes:assessResult.indexTimeTypes,    //图表切换的维度
-    wholeAssessData:assessResult.wholeAssess,   //评估内容
+    //wholeAssessData:assessResult.wholeAssess,   //评估内容
     wholeIndexs:assessResult.wholeIndexs||{},      //已加入评估记录的推送项
     wholeResults:assessResult.wholeResults,     //整体评估可能结果
     chooseSelecteds:assessResult.chooseSelecteds,    //已选中的选项

+ 2 - 1
src/store/actions/mainSuit.js

@@ -360,7 +360,8 @@ export const insertSearch = (state,action)=>{
       }
     })
     // flag=1前是文本标签就替换,否则插入
-    const iftext = moduleData[inserIndx-1].tagType;
+    // const iftext = moduleData[inserIndx-1].tagType;
+    const iftext = inserIndx&&moduleData[inserIndx-1]&&moduleData[inserIndx-1].tagType;
     if(iftext==config.tagType){
        moduleData.splice(inserIndx-1,1,{id:id,name:searchData,value:searchData,tagType:config.tagType,exist:1});
      }else{

+ 2 - 1
src/store/async-actions/fetchModules.js

@@ -180,8 +180,9 @@ export function setOtherHisModule(){
   return (dispatch, getStore) => {
     const state = getStore();
     const initData = state.homePage.initData;
+    const block = Object.assign(JSON.parse(config.textLabel),{full:true});
     const mode = state.typeConfig.typeConfig;
-    const model = JSON.parse(JSON.stringify(initData.otherHisModel || null));     //查体模板
+    const model = JSON.parse(JSON.stringify(initData.otherHisModel || null))||[block];     //查体模板
     const arr = JSON.parse(JSON.stringify(initData.otherHis || null));        //最近其他史数据
     const arrSave = JSON.parse(JSON.stringify(initData.otherHisSave || null));    //最近其他史saveText
     const selects = JSON.parse(JSON.stringify(initData.otherSelecteds || null));  //其他史杂音类选中项

+ 7 - 3
src/store/async-actions/print.js

@@ -18,8 +18,12 @@ export const saveMessage = (bool) => {
     let jsonData = getAllDataList(baseList);
     const lisData = baseList.inspect.pushItem;
     const lisArr = transferIndexData(lisData);
+      let obj = [];
+      Object.keys(baseList.assessResult.wholeIndexs).map((i)=>{
+        obj[i]=baseList.pushMessage.chronicPushItems[i];
+      });
     const evaluation={
-      htmlContent:JSON.stringify(getEvaluations(baseList.assessResult)),
+      htmlContent:JSON.stringify(getEvaluations(baseList.assessResult,obj)),
       //scaleList:[]
     };//getEvaluation();
     //console.log(baseList)
@@ -129,12 +133,12 @@ function transferIndexData(data) {
    return arr;
 }
 
-function getEvaluations(base){
+function getEvaluations(base,added){
     return {
       data:base.data,
       chooseSelecteds:base.chooseSelecteds,
       indexTimeTypes:base.indexTimeTypes,
-      wholeAssess:base.wholeAssess,
+      wholeAssess:added,
       wholeAssessText:base.wholeAssessText,
       wholeIndexs:base.wholeIndexs
     };

+ 2 - 2
src/utils/config.js

@@ -1,7 +1,7 @@
 // const host='http://192.168.3.1:5050';//赵
 // const host='http://192.168.3.100:5050';//王峰
-// const host='http://192.168.2.241:5050';//后端接口访问地址
-const host='http://192.168.2.236:5050';//后端接口访问地址
+const host='http://192.168.2.241:5050';//后端接口访问地址
+// const host='http://192.168.2.236:5050';//后端接口访问地址
 // const host='http://192.168.3.11:5050';//王宇
 //const host='http://192.168.2.164:8080';
 // const host='http://192.168.3.117:5050'; //周铁刚