Browse Source

沙雅中医知识查询修改上传

wangsy 5 months ago
parent
commit
8da23f7601

+ 1 - 1
src/css/homeStatic.less

@@ -6,7 +6,7 @@
     max-width: 800px;
     margin: 0 auto;
     text-align: center;
-    padding-top: 130px;
+    padding-top: 50px;
   }
   .staticTop {
     height: 450px;

+ 105 - 0
src/css/staticSearch.less

@@ -134,4 +134,109 @@ html{
 .medicalTypeItem img {
     vertical-align: text-bottom;
     margin: 0  3px 2px 0;
+}
+
+.medicalCNTypeItem{
+    display: inline-block;
+    margin: 0 20px 10px 0;
+    cursor: pointer;
+    color: @fontClr;
+}
+.medicalCNTypeItem img {
+    vertical-align: text-bottom;
+    margin: 0  3px 2px 0;
+}
+
+
+.staticCNSearchT {
+    position: relative;
+    padding-right: 80px;
+    padding-bottom: 10px;
+    padding-top: 10px;
+}
+
+.container .staticCNSearchT button {
+    position: absolute;
+    right: 0;
+    top: 10px;
+    width: 80px;
+    height: 36px;
+    line-height: 36px;
+    color: #fff;
+    font-size: 14px;
+    background: @bgcBlue;
+    border-radius: 0px 4px 4px 0px;
+    text-align: center;
+    border: none;
+}
+.container .staticCNSearchT i {
+    position: absolute;
+    width: 15px;
+    height: 15px;
+    right: 85px;
+    top: 20px;
+    display: inline-block;
+    cursor: pointer;
+    background: url(/images/del_nor.png) center center no-repeat;
+    background-size:15px 15px;
+    z-index: 100;
+}
+.staticSearchCNB .tip,.container .staticCNSearchT i,.staticSearchCNB .empty, .staticSearchCNB .searching,.staticSearchCNB .inputWarning{
+    display: none;
+}
+.staticSearchCNB .empty, .staticSearchCNB .searching,.staticSearchCNB .inputWarning{
+    color: #979797;
+    text-align: center;
+    /*line-height: 40px;*/      /**bug8689*/
+    top: 70px;
+    position: relative;
+}
+.staticSearchCNB .inputWarning{
+    color: @fontClr;
+}
+
+.staticSearchCNB ul {
+    position: absolute;
+    height: 480px;
+    /* width: 100%; */
+    right: 18px;
+    left: 22px;
+    overflow: auto;
+    padding: 0 30px;
+}
+.staticSearchCNB ul li {
+    border-bottom: 1px #EFEFEF solid;
+    line-height: 32px;
+    padding-top: 5px;
+    cursor: pointer;
+}
+.staticSearchCNB ul li:hover {
+    border-bottom: 2px solid #3B9ED0;
+}
+.staticSearchCNB ul  p{
+    color: @fontClr;
+}
+.staticSearchCNB ul i {
+    font-size: 14px;
+    color: @linkColor;
+}
+.staticSearchCNB .tip {
+    font-size: 16px;
+    color: #979797;
+    margin-bottom: 5px;
+    img{
+        width: 16px;
+        height: 16px;
+        vertical-align: middle;
+        margin-right: 5px;
+    }
+}
+.staticSearchCNB ul span {
+    color: #979797;
+    font-size: 12px;
+    margin-bottom: 10px;
+    line-height: 20px;
+}
+.searchCNTypeBox {
+    margin: 10px 0 5px 0;
 }

+ 28 - 0
src/html/cdss.html

@@ -88,6 +88,34 @@
             </div>
            
           </div>
+
+          <div class="medicalKonwledgeCNWrap moduleWrapper">
+            <div class="container">
+              <div class="searchKnowledgeCN">
+                  <div class="staticCNSearchT">
+                      <div class="ipt">
+                          <input type="text" value="" placeholder="请输入搜索内容">
+                      </div>
+                      <i id="clearKnowledge"></i>
+                      <button >搜索</button>
+                  </div>
+                  <div class="searchCNTypeBox"></div>
+      
+                  <div class="staticSearchCNB">
+                      <p class="tip"><img src="../images/icon_search.png" alt=""/>搜索结果</p>
+                      <p class="searching">正在搜索中...</p>
+                      <p class="inputWarning">请输入搜索内容!</p>
+                      <div class="empty">
+                          <img class="emptyImgSearch" src="./images/icon_no.png" alt="">
+                        <p>暂无搜索结果~</p>
+                      </div>
+                      <ul>
+                          
+                      </ul>
+                  </div>
+              </div>
+            </div>
+          </div>
           <div class="followUpWrap moduleWrapper">
             
           </div>

+ 6 - 1
src/js/cdss.js

@@ -61,6 +61,7 @@ let moduleConfig = {
   auxiliary: "recommendWrap",
   qc: "qcWrap",
   medical: "medicalKonwledgeWrap",
+  tcmk: "medicalKonwledgeCNWrap",
   followup: "followUpWrap",
   tcmiss: 'tcmWarp',
 }
@@ -250,10 +251,11 @@ function renderPage(pageSet) {
   adjustHei()
   const hasAuxiliary = hasTab("辅助信息", setInfo);
   const hasMedical = hasTab("医学知识", setInfo)
+  const hastcmk = hasTab("中医知识", setInfo)
   const hasFollowUp = hasTab("随访计划", setInfo)
   const hasTcm = hasTab("中医辅助", setInfo);
   //所有模块都未开启配置,显示功能未开启(无tab)
-  if (hasAuxiliary.status === 0 && hasMedical.status === 0 && hasFollowUp.status === 0 && hasTcm.status === 0) {
+  if (hasAuxiliary.status === 0 && hasMedical.status === 0 && hastcmk.status === 0 && hasFollowUp.status === 0 && hasTcm.status === 0) {
     const nullTxt = `<div class="empty-box" style="left: -20px;display: block;">
                   <img class="emptyImg" src="../images/icon_admin.png" alt="空">
                   <p class="emptyTxt">功能未开启</p>
@@ -848,6 +850,9 @@ function bindTabClick() {
     } else if (moduleName == 'followup') {
 
       // $(".contentWrapper").css("overflowY","auto")
+    } else if (moduleName == 'tcmk') {
+      $(".staticCNSearchT .ipt").find("input").focus()
+      //$(".contentWrapper").css("overflowY","hidden")
     }
   })
 }

+ 14 - 4
src/js/homeStatic.js

@@ -47,10 +47,20 @@ function getAllTypes(){
   }*/
   post(config.dictionaryInfo, {}).then((res) => {
     const result = res.data
-    if(result.code==='0'){
-      const data = result.data[7]||[];
-      //localStorage.setItem('allTypes',JSON.stringify(data))
-      renderTab(data)
+    // if(result.code==='0'){
+    //   const data = result.data[7]||[];
+    //   //localStorage.setItem('allTypes',JSON.stringify(data))
+    //   renderTab(data)
+    // }
+    if(result.code === '0'){
+      const data7 = result.data[7] || [];
+      const data14 = result.data[14] || [];
+      // 去除索引为14的数据中的第一个元素
+      const data14Modified = data14.slice(1);
+
+      // 合并索引为7的数据和修改后的索引为14的数据
+      const combinedData = data7.concat(data14Modified);
+      renderTab(combinedData);
     }
   })
 }

+ 14 - 4
src/js/searchStaticList.js

@@ -45,10 +45,20 @@ function getAllTypes(){
     }*/
     post(config.dictionaryInfo, {}).then((res) => {
       const result = res.data
-      if(result.code==='0'){
-        const data = result.data[7]||[];
-        //localStorage.setItem('allTypes',JSON.stringify(data))
-        renderTab(data)
+    //   if(result.code==='0'){
+    //     const data = result.data[7]||[];
+    //     //localStorage.setItem('allTypes',JSON.stringify(data))
+    //     renderTab(data)
+    //   }
+    if(result.code === '0'){
+        const data7 = result.data[7] || [];
+        const data14 = result.data[14] || [];
+        // 去除索引为14的数据中的第一个元素
+        const data14Modified = data14.slice(1);
+  
+        // 合并索引为7的数据和修改后的索引为14的数据
+        const combinedData = data7.concat(data14Modified);
+        renderTab(combinedData);
       }
     })
   }

+ 169 - 0
src/js/staticSearch.js

@@ -25,6 +25,14 @@ if(searchType == '1'){
     })
     document.title = "医学知识搜索"
 }
+if(searchType == '1'){
+    $(".staticSearchCNB>ul").css({
+        padding: "0px",
+        left:"0px"
+    })
+    document.title = "中医知识搜索"
+}
+
 $(".staticSearchT input").keyup(function(e) {
     const ev = e||window.event;
     const val = $(this).val();
@@ -41,6 +49,22 @@ $(".staticSearchT input").keyup(function(e) {
     }
     val!=''&&ev.keyCode == 13&&getKnowledgeData(val);
 })
+$(".staticCNSearchT input").keyup(function(e) {
+    const ev = e||window.event;
+    const val = $(this).val();
+    $(this).parents(".staticCNSearchT").find("i").css({display:val==""?"none":"inline-block"})
+    if(val == ''){
+        $(".searchKnowledgeCN .staticSearchCNB .empty").css({display:'none'})
+        $(".searchKnowledgeCN .staticSearchCNB .tip").css({display:'none'})
+        $(".searchKnowledgeCN .staticSearchCNB ul").html('')
+        $(".searchKnowledgeCN .staticSearchCNB .inputWarning").css("display","block")
+       
+    }else{
+        $(".searchKnowledgeCN .staticSearchCNB .inputWarning").css("display","none")
+        
+    }
+    val!=''&&ev.keyCode == 13&&getKnowledgeCNData(val);
+})
 // document.title = "医学知识搜索"
 $(".searchScale").css({display:'none'})
 $(".searchKnowledge").css({display:'block'})
@@ -54,6 +78,17 @@ $(".searchKnowledge .staticSearchT").on('click','button',function() {
         getKnowledgeData(val)
     }
 })
+$(".searchKnowledgeCN").css({display:'block'})
+$(".searchKnowledgeCN .staticCNSearchT").on('click','button',function() {
+    var val = $(this).parents(".staticCNSearchT").find("input").val()
+    if(val.trim() == ''){
+        $(".searchKnowledgeCN .staticSearchCNB ul").html("");
+        $(".searchKnowledgeCN .staticSearchCNB .tip").hide();
+        $(".searchKnowledgeCN .staticSearchCNB .inputWarning").css("display","block")
+    }else{
+        getKnowledgeCNData(val)
+    }
+})
 
 
 function getMedicalTypes() {
@@ -99,6 +134,7 @@ function bindMedicalTypeClick() {
     })
 }
 getMedicalTypes()
+getMedicalCNTypes()
 function getKnowledgeData(value) {
     $(".searchKnowledge .staticSearchB .inputWarning").css("display","none")
     $(".searchKnowledge .staticSearchB .empty").css({display:'none'})
@@ -185,4 +221,137 @@ $(".staticSearchT").on('click','#clearKnowledge',function() {
 })
 $(function(){
     $(".staticSearchT .ipt").find("input").focus()
+})
+
+$(".staticSearchCNB ul").on("click","li",function(){
+    const infoMsgName = $(this).attr('data-name')
+    const infoMsgUName = $(this).attr('data-uname')
+    const type = $(this).attr('data-type')
+    const sign = $(this).attr('data-sign')
+    if(type != 48){
+        openNewWin(`staticInfo.html?type=${encodeURIComponent(sign)}&position=0&name=${encodeURIComponent(infoMsgName)}`)
+        // openNewWin(`information.html?type=${encodeURIComponent(sign)}&position=0&name=${encodeURIComponent(infoMsgName)}&uname=${encodeURIComponent(infoMsgUName)}`)
+    }else{
+        let msg = JSON.parse(getUrlArgObject("msg"));
+        const msg1 = JSON.parse(JSON.stringify(msg))
+        // console.log('scaleName', msg,infoMsgName)
+        msg1.scaleName = infoMsgName
+        msg1.featureType = 21
+        openNewWin(`scale.html?msg=${encodeURIComponent(JSON.stringify(msg1))}`)
+    }
+})
+
+  
+$(".staticCNSearchT").on('click','#clearKnowledge',function() {
+    $(".staticCNSearchT input").val("")
+    $(".searchKnowledgeCN .staticSearchCNB ul").html('')
+    $(".searchKnowledgeCN .staticSearchCNB .tip").css({display:'none'})
+    $(".searchKnowledgeCN .staticSearchCNB .empty").css({display:'none'})
+    $(this).prev('.ipt').find('input').focus()
+    $(this).css({display:"none"})
+})
+$(function(){
+    $(".staticCNSearchT .ipt").find("input").focus()
+})
+
+function getMedicalCNTypes() {
+    post(config.dictionaryInfo,{}).then((res) =>{
+        const data = res.data
+        if(data.code == 0) {
+            medicalTypesList = res.data.data[14]
+            medicalTypesList[0].checked = true
+            renderMedicalCNType(medicalTypesList)
+        } else {
+            console.log(res)
+        }
+    })
+}
+
+function renderMedicalCNType(medicalTypesList) {
+    let str = ''
+    for(let i = 0; i < medicalTypesList.length; i++) {
+        str += `<span class='medicalCNTypeItem' data-index=${i}><img src = ${medicalTypesList[i].checked? checkOnImg:checkOffImg}>${medicalTypesList[i].name}</span>`
+    }
+    $('.searchCNTypeBox').html(str)
+    bindMedicalCNTypeClick();
+}
+
+function bindMedicalCNTypeClick() {
+    $('.searchCNTypeBox .medicalCNTypeItem').on("click", function(){
+        const index = $(this).attr('data-index')
+        if(index == 0) {
+            if(medicalTypesList[0].checked) {
+                medicalTypesList[0].checked = false
+            }else {
+                for(let i = 0; i < medicalTypesList.length; i++) {
+                    medicalTypesList[i].checked = false
+                }
+                medicalTypesList[0].checked = true
+            }
+            renderMedicalCNType(medicalTypesList)
+        } else {
+            if(medicalTypesList[0].checked) {
+                medicalTypesList[0].checked = false
+            }
+            medicalTypesList[index].checked = !medicalTypesList[index].checked
+        }
+        renderMedicalCNType(medicalTypesList)
+    })
+}
+
+function getKnowledgeCNData(value) {
+    $(".searchKnowledgeCN .staticSearchCNB .inputWarning").css("display","none")
+    $(".searchKnowledgeCN .staticSearchCNB .empty").css({display:'none'})
+    $(".searchKnowledgeCN .staticSearchCNB ul").html('')
+    if(first) {
+        adjustHeightCN()
+        first =false
+    }
+    let medicalTypes = []
+    for(let i = 0; i < medicalTypesList.length; i++) {
+        if(medicalTypesList[i].checked) {
+            medicalTypes.push(medicalTypesList[i].val)
+        }
+    }
+    $(".searchKnowledgeCN .staticSearchCNB .searching").css("display","block")
+    post(config.getStaticKnowledge,{
+        inputStr: value.replace(/\\/g,'\\\\').replace(/%/g,'\\%').replace(/\_/g,'\\_').trim(),
+        types:medicalTypes
+        }).then((res) => {
+            $(".searchKnowledgeCN .staticSearchCNB .searching").css("display","none")
+        const data = res.data
+        if(data.code == 0) {
+            var knowledgeLis = data.data;
+            var lisStr = ''
+            if(knowledgeLis&&knowledgeLis.length>0){
+                for(var i = 0;i<knowledgeLis.length;i++){
+                    var tmpPart = knowledgeLis[i]
+                    var tmpLi = `<li data-name='${tmpPart.name}' data-uname='${tmpPart.uniqueName}' data-type='${tmpPart.libTypeId}' data-sign='${tmpPart.type}'>
+                        <p>${tmpPart.name}<i>${tmpPart.typeName?(' ( '+tmpPart.typeName+' )'):''}</i> <span>${tmpPart.code||''}</span></p>
+                        ${tmpPart.retrievalName?('<span>• '+tmpPart.retrievalName+'</span>'):''}
+                    </li>`
+                    lisStr += tmpLi
+                }
+                $(".searchKnowledgeCN .staticSearchCNB .empty").css({display:'none'})
+                $(".searchKnowledgeCN .staticSearchCNB .tip").css({display:'block'})
+                $(".searchKnowledgeCN .staticSearchCNB ul").html(lisStr)
+            }else{
+                $(".searchKnowledgeCN .staticSearchCNB .empty").css({display:'block'})
+                $(".searchKnowledgeCN .staticSearchCNB .tip").css({display:'none'})
+                $(".searchKnowledgeCN .staticSearchCNB ul").html('')
+            }
+        }else{
+            console.log(res)
+        }
+    })
+}
+
+function adjustHeightCN() {
+    var ht = window.innerHeight;
+    var containerHt = $(".medicalKonwledgeCNWrap .container").height()
+    var ht2 = $(".searchCNTypeBox").outerHeight(true)
+    $(".staticSearchCNB ul").height(ht - 120-10-40 +20- ht2 + "px");
+}
+$(window).on('resize', function(){
+    adjustHeightCN()
 })

+ 2 - 1
webpack.config.js

@@ -6,7 +6,8 @@ const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
 const webpack = require('webpack');
 
 //const proxyHost = "http://172.16.8.60:6060";
-const proxyHost = "http://192.168.65.95:6060";      //沙雅后端地址
+// const proxyHost = "http://192.168.65.95:6060";      //沙雅后端地址
+const proxyHost = "http://173.18.12.195:6060";
 module.exports = {
   entry: {
     //index: path.resolve(__dirname, 'src/js', 'index.js'),