Prechádzať zdrojové kódy

静态知识搜索添加类型

zhangxc 5 rokov pred
rodič
commit
7d38700964

+ 11 - 0
src/css/staticSearch.css

@@ -98,4 +98,15 @@
     font-size: 12px;
     margin-bottom: 10px;
     line-height: 20px;
+}
+.searchTypeBox {
+    margin: 10px 0 0 0;
+}
+.medicalTypeItem{
+    display: inline-block;
+    margin: 0 20px 10px 0;
+}
+.medicalTypeItem img {
+    vertical-align: text-bottom;
+    margin: 0  3px 2px 0;
 }

+ 2 - 0
src/html/staticSearch.html

@@ -46,6 +46,8 @@
                 <i id="clearKnowledge"></i>
                 <button >搜索</button>
             </div>
+            <div class="searchTypeBox"></div>
+
             <div class="staticSearchB">
                 <p class="tip">查询内容</p>
                 <p class="empty">暂无搜索结果!</p>

BIN
src/images/check_off.png


BIN
src/images/check_on.png


+ 1 - 0
src/js/promise.js

@@ -43,6 +43,7 @@ const config = {
   getVersion: '/api/data/versionInfo/getVersionInfoAlls',
   getStaticKnowledge: '/api/data/search/getStaticKnowledge',
   getStaticScale: '/api/data/search/getScale',
+  dictionaryInfo: '/api/data/dictionaryInfo/getList', //字典信息
   ruleTypeMap:{     //大数据推送参数featureType对应
     '22':'1,2',
     '11':'3',

+ 66 - 2
src/js/staticSearch.js

@@ -1,7 +1,18 @@
 require('./../css/staticSearch.css');
 require('./../images/del_nor.png')
 var $ = require("jquery");
-var { post,config,getUrlArgObject,openNewWin } = require('./promise.js');
+var { post,config,getUrlArgObject,openNewWin,isIe8 } = require('./promise.js');
+let checkOffImg = require('./../images/check_off.png')
+let checkOnImg = require('./../images/check_on.png')
+
+
+let medicalTypesList = []
+const is8Ie = isIe8() //判断是否为IE8
+if(is8Ie) {
+  let reg = /undefined/g
+  checkOffImg = showImg.replace(reg, '')
+  checkOnImg = collapseImg.replace(reg, '')
+}
 
 var type = getUrlArgObject("type");
 $(".staticSearchT input").keyup(function(e) {
@@ -44,9 +55,62 @@ if(type == 1){
     })
 }
 
+function getMedicalTypes() {
+    post(config.dictionaryInfo,{}).then((res) =>{
+        const data = res.data
+        if(data.code == 0) {
+            medicalTypesList = res.data.data[7]
+            medicalTypesList[0].checked = true
+            renderMedicalType(medicalTypesList)
+            
+        } else {
+            console.log(res)
+        }
+    })
+}
+function renderMedicalType(medicalTypesList) {
+    let str = ''
+    for(let i = 0; i < medicalTypesList.length; i++) {
+        str += `<span class='medicalTypeItem' data-index=${i}><img src = ${medicalTypesList[i].checked? checkOnImg:checkOffImg}>${medicalTypesList[i].name}</span>`
+    }
+    $('.searchTypeBox').html(str)
+    bindMedicalTypeClick();
+}
+function bindMedicalTypeClick() {
+    $('.searchTypeBox .medicalTypeItem').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
+            }
+            renderMedicalType(medicalTypesList)
+        } else {
+            if(medicalTypesList[0].checked) {
+                medicalTypesList[0].checked = false
+            }
+            medicalTypesList[index].checked = !medicalTypesList[index].checked
+        }
+        renderMedicalType(medicalTypesList)
+    })
+}
+getMedicalTypes()
 function getKnowledgeData(value) {
+    let medicalTypes = []
+    for(let i = 0; i < medicalTypesList.length; i++) {
+        if(medicalTypesList[i].checked) {
+            if(i !== 0) {
+                medicalTypes.push(medicalTypesList[i].val)
+            }
+        }
+    }
     post(config.getStaticKnowledge,{
-        inputStr: value
+        inputStr: value,
+        types:medicalTypes
         }).then((res) => {
         const data = res.data
         if(data.code == 0) {

+ 1 - 1
webpack.config.js

@@ -4,7 +4,7 @@ const CleanWebpackPlugin = require('clean-webpack-plugin') // 清空打包目录
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
 const webpack = require('webpack');
-const proxyHost = "http://192.168.2.241:5050";
+const proxyHost = "http://192.168.2.236:5050";
 module.exports = {
   entry: {
     index: path.resolve(__dirname, 'src/js', 'index.js'),