Bläddra i källkod

病情提示页面,热加载及less

zhouna 6 år sedan
förälder
incheckning
72b8812409
8 ändrade filer med 223 tillägg och 3 borttagningar
  1. 3 1
      package.json
  2. 25 0
      src/css/index.less
  3. 0 1
      src/css/reset.css
  4. 30 0
      src/html/illness.html
  5. 0 0
      src/html/treatplan.html
  6. 122 0
      src/js/illness.js
  7. 0 0
      src/js/treatplan.js
  8. 43 1
      webpack.config.js

+ 3 - 1
package.json

@@ -17,6 +17,8 @@
     "express": "^4.16.4",
     "file-loader": "^3.0.1",
     "html-webpack-plugin": "^3.2.0",
+    "less": "^3.9.0",
+    "less-loader": "^5.0.0",
     "mini-css-extract-plugin": "^0.6.0",
     "style-loader": "^0.23.1",
     "uglifyjs-webpack-plugin": "^2.1.2",
@@ -28,7 +30,7 @@
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "webpack",
     "watch": "webpack --watch",
-    "dev": "webpack-dev-server --open",
+    "dev": "webpack-dev-server --open http://localhost:8081/illness.html",
     "server": "node server.js"
   },
   "repository": {

+ 25 - 0
src/css/index.less

@@ -327,4 +327,29 @@
   font-size: 12px;
   color: #979797;
   padding-top: 15px;
+}
+
+/*******病情提示*******/
+.illnessWrap{
+  padding: 30px 60px;
+  .conditionHintPub h4{
+    background-color:#fff;
+    font-size: 28px;
+  }
+  .popupModal{
+    width: 350px;
+  }
+  .conditionHintPub .conditionMain{
+    padding: 20px 0;
+  }
+  .conditionHintTips .mayIllness{
+    padding: 20px 0;
+    border-top:1px #E8EAEC solid;
+    span,a,.modalMainOne,.modalMainTwo{
+      border-bottom:none;
+    }
+    .mayResult{
+      display: inline-block;
+    }
+  }
 }

+ 0 - 1
src/css/reset.css

@@ -33,7 +33,6 @@ input {
 
 html,
 body {
-  height: 100%;
   font-family: 'Microsoft YaHei', arial, tahoma, sans-serif;
   color: #000;
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 30 - 0
src/html/illness.html


+ 0 - 0
src/html/treatplan.html


+ 122 - 0
src/js/illness.js

@@ -0,0 +1,122 @@
+require('../css/index.less');
+require('../css/reset.css');
+require('../css/popup.css');
+require('./popup');
+const $ = require("jquery");
+const { post,config,getUrlArgObject } = require('./promise.js');
+
+var msg = {
+  age: getUrlArgObject('age'),
+  sex: getUrlArgObject('sex') == '男'?1:(getUrlArgObject('sex') == '女'?2:(getUrlArgObject('sex') == '通用'?3:getUrlArgObject('sex'))),
+  symptom: getUrlArgObject('symptomJson'),
+  vital: getUrlArgObject('vitalJson'),
+  lis: getUrlArgObject('lisJson')? JSON.parse(getUrlArgObject('lisJson')) : [],
+  pacs: getUrlArgObject('pacsJson'),
+  diag: getUrlArgObject('diagJson'),
+  diseaseName: getUrlArgObject('diagJson'),
+  other: getUrlArgObject('otherJson') + getUrlArgObject('pastJson'),
+  hosCode:getUrlArgObject('hospitalCode') || ''
+}//推送相关信息
+
+window.msg = msg
+window.pushMessage = {}
+
+post(config.pushInner,Object.assign({featureType: '22'},msg)).then((res)=>{
+  var data = res.data
+  if(data.code == 0) {
+    var result = data.data;
+    if (result.medicalIndications && result.medicalIndications.length > 0) {//病情提示
+      window.pushMessage = result.medicalIndications;//计算的需要的相关数据
+      bqtsFun(result.medicalIndications)
+    }
+  }
+});
+
+function bqtsFun(data){//病情提示
+  for(var k = 0;k < data.length;k++){
+    var tmpBq = data[k]
+    var tmpBqStr = '<div class="mayIllness">患者可能有 <span>'+tmpBq.name+'<a target="_blank" title="点击该名称可看详细说明" class="infoMsg" href="information.html?type=22&position=2&name='+tmpBq.name+'"></a></span> :';
+    var tmpBqDetailStr = ''
+    for(var m = 0;m < tmpBq.details.length;m++){
+      var tmpBqDetail = tmpBq.details[m]
+      if(tmpBqDetail.type == 1){
+        tmpBqDetailStr+=tmpBqStr+ "<a target='_blank' href='scale.html?featureType=21&sex="+msg.sex+"&lis="+JSON.stringify(msg.lis)+"&diag="+msg.diag+"&scaleName="+tmpBqDetail.content.name+"&symptom="+msg.symptom+"&other="+msg.other+"&pacs="+msg.pacs+"&vital="+msg.vital+"&age="+msg.age+"&scaleId="+tmpBqDetail.content.id+"' class='illnessTable'>【"+tmpBqDetail.content.name+"】</a>"+
+          '</div>';
+      }
+      if(tmpBqDetail.type == 2){
+        var deepDetailName = '<div class="modalTitle">'+tmpBqDetail.content.name+'<i class="closeModal"></i></div>'
+        var deepDetailStr = ''
+        var deepDetailResultStr = ''
+        for(var n = 0;n < tmpBqDetail.content.details.length;n++){
+          var deepDetail = tmpBqDetail.content.details[n]
+          if(deepDetail.controlType == 2){//0-radio,1-checkbox,2-text,3-dropdownlist
+            deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">请输入'+deepDetail.name+': </span><input type="text" placeholder="请输入" value="'+deepDetail.value+'"><i class="uint">'+deepDetail.uint+'</i></li>'
+          }
+          if(deepDetail.controlType == 0){
+            let tooDeepDetailStr = ''
+            for(var f = 0;f<deepDetail.details.length;f++){
+              var tooDeepDetail = deepDetail.details[f]
+              if(deepDetail.name == '性别'){
+                tooDeepDetailStr+='<li class="radioChecks '+(tooDeepDetail.state == 1?"radioCheckSec":"")+'" data-select="'+(tooDeepDetail.state == 1?"select":"")+'"><i></i><span>'+tooDeepDetail.detailName+'</span></li>'
+              }else{
+                tooDeepDetailStr+='<li class="radioChecks"><i></i><span>'+tooDeepDetail.detailName+'</span>'+(tooDeepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
+              }
+            }
+            deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">'+deepDetail.name+': </span>'+
+              '<ul class="clearfix caculateLis">'+
+              tooDeepDetailStr+
+              '</ul>'+
+              '</li>'
+          }
+        }
+        for(var v = 0;v < tmpBqDetail.content.result.length;v++){
+          deepDetailResultStr+='<p class="result"><span class="calculateName">'+tmpBqDetail.content.result[v].name+':</span><span class="calculateResult"></span></p>'
+        }
+        tmpBqDetailStr+=tmpBqStr+'<div class="mayResult">结果:<span class="mayResultSelect" data-num="'+k+'">'+
+          '<span class="makesureResult">请选择</span>'+
+          '<span class="sanjiao"></span>'+
+          '<div class="popupModal">'+
+          deepDetailName+
+          '<div class="modalMainTwo">'+
+          '<ul class="clearfix">'+
+          deepDetailStr+
+          '</ul>'+
+          '<div class="calculate" data-num="'+k+'">计算</div>'+
+          '<p class="calculateError">请填写计算公式内容</p><div class="resultLis">'+
+          deepDetailResultStr+
+          '</div></div>'+
+          '<div class="btnWrap clearfix">'+
+          '<div class="sureScore" data-type="2">关闭</div>'+
+          '</div>'+
+          '</div>'+
+          '</span></div></div>'
+      }
+      if(tmpBqDetail.type == 3){
+        var deepDetailName = '<span class="modalMaintltle">'+tmpBqDetail.content.name+': </span>'
+        var deepDetailStr = ''
+        for(var n = 0;n < tmpBqDetail.content.details.length;n++){
+          var deepDetail = tmpBqDetail.content.details[n]
+          deepDetailStr+='<li class="radioChecks"><i></i><span>'+deepDetail.detailName+'</span>'+(deepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
+        }
+        tmpBqDetailStr+=tmpBqStr+'<div class="mayResult">结果:<span class="mayResultSelect" data-num="'+k+'"><span class="makesureResult">请选择</span><i class="sanjiao"></i>'+
+          '<div class="popupModal">'+
+          '<div class="modalTitle">结果选择<i class="closeModal"></i></div>'+
+          '<div class="modalMainOne">'+
+          deepDetailName+
+          '<ul class="clearfix">'+
+          deepDetailStr+
+          '</ul>'+
+          '</div>'+
+          '<div class="btnWrap clearfix">'+
+          '<div class="sureScore" data-type="3" data-num="'+k+'">确定</div>'+
+          '</div>'+
+          '</div>'+
+          '</span></div></div>'
+      }
+    }
+    /*if(tmpBqStr != '' || tmpBqDetailStr != ''){
+      $(".conditionHintTipsNull").css("display","none")
+    }*/
+    $(".conditionHintTipsNull").html('<div class="conditionMain clearfix">'+'<div class="alertModal">'+tmpBqDetailStr+'</div></div>')
+  }
+}

+ 0 - 0
src/js/treatplan.js


+ 43 - 1
webpack.config.js

@@ -12,6 +12,8 @@ module.exports = {
     information: path.resolve(__dirname, 'src/js', 'information.js'),
     disclaimer: path.resolve(__dirname, 'src/js', 'disclaimer.js'),
     scale: path.resolve(__dirname, 'src/js', 'scale.js'),
+    illness: path.resolve(__dirname, 'src/js', 'illness.js'),
+    treatplan: path.resolve(__dirname, 'src/js', 'treatplan.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -37,6 +39,32 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: '病情提示',
+      template: path.resolve(__dirname, 'src/html', 'illness.html'),
+      filename: 'illness.html',
+      chunks: ['illness', 'vendor', 'common'],
+      inject: true,
+      hash: true, //防止缓存
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
+    new HtmlWebpackPlugin({
+      title: '治疗方案',
+      template: path.resolve(__dirname, 'src/html', 'treatplan.html'),
+      filename: 'treatplan.html',
+      chunks: ['treatplan', 'vendor', 'common'],
+      inject: true,
+      hash: true, //防止缓存
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: 'page',
       template: path.resolve(__dirname, 'src/html', 'page.html'),
@@ -168,6 +196,20 @@ module.exports = {
           'css-loader'
         ]
       },
+      {
+        test: /\.less$/,
+        use: [
+          {
+            loader: 'style-loader', // creates style nodes from JS strings
+          },
+          {
+            loader: 'css-loader', // translates CSS into CommonJS
+          },
+          {
+            loader: 'less-loader', // compiles Less to CSS
+          },
+        ],
+      },
       { 
         test: /\.(png|jpg|jpeg|gif|svg)$/,
         use: {
@@ -184,7 +226,7 @@ module.exports = {
   // devtool: 'cheap-module-eval-source-map', //开发环境cheap-module-eval-source-map   //生产环境cheap-module-source-map
   mode: 'development',
   devServer: {
-    contentBase: path.join(__dirname, "dist"), //静态文件根目录
+    contentBase: "./dist", //静态文件根目录
     proxy: {
       '/api': proxyHost
     },