123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- require('./../css/staticSearch.css');
- require('./../images/del_nor.png')
- var $ = require("jquery");
- 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 = []
- let first = true
- const is8Ie = isIe8() //判断是否为IE8
- if(is8Ie) {
- let reg = /undefined/g
- checkOffImg = checkOffImg.replace(reg, '')
- checkOnImg = collapseImg.replace(reg, '')
- }
- $(".staticSearchT input").keyup(function(e) {
- const ev = e||window.event;
- const val = $(this).val();
- $(this).parents(".staticSearchT").find("i").css({display:val==""?"none":"inline-block"})
- if(val == ''){
- $(".searchKnowledge .staticSearchB .empty").css({display:'none'})
- $(".searchKnowledge .staticSearchB .tip").css({display:'none'})
- $(".searchKnowledge .staticSearchB ul").html('')
- }
- ev.keyCode == 13&&getKnowledgeData(val);
- })
- document.title = "医学知识搜索"
- $(".searchScale").css({display:'none'})
- $(".searchKnowledge").css({display:'block'})
- $(".searchKnowledge .staticSearchT").on('click','button',function() {
- var val = $(this).parents(".staticSearchT").find("input").val()
- val!=''&&getKnowledgeData(val)
- })
- 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) {
- if(first) {
- adjustHeight()
- first =false
- }
- 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.replace(/\\/g,'\\\\').replace(/%/g,'\\%').replace(/\_/g,'\\_'),
- types:medicalTypes
- }).then((res) => {
- 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.libTypeName?('( '+tmpPart.libTypeName+' )'):''}</i></p>
- ${tmpPart.retrievalName?('<span>• '+tmpPart.retrievalName+'</span>'):''}
- </li>`
- lisStr += tmpLi
- }
- $(".searchKnowledge .staticSearchB .empty").css({display:'none'})
- $(".searchKnowledge .staticSearchB .tip").css({display:'block'})
- $(".searchKnowledge .staticSearchB ul").html(lisStr)
- }else{
- $(".searchKnowledge .staticSearchB .empty").css({display:'block'})
- $(".searchKnowledge .staticSearchB .tip").css({display:'none'})
- $(".searchKnowledge .staticSearchB ul").html('')
- }
- }else{
- console.log(res)
- }
- })
- }
- function adjustHeight() {
- var ht = window.innerHeight;
- var containerHt = $(".medicalKonwledgeWrap .container").height()
- var ht2 = $(".searchTypeBox").outerHeight(true)
- $(".staticSearchB ul").height(ht - 120-10-40 - ht2 + "px");
- }
- $(window).on('resize', function(){
- adjustHeight()
- })
- $(".staticSearchB 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(`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))}`)
- }
- })
-
- $(".staticSearchT").on('click','#clearKnowledge',function() {
- $(".staticSearchT input").val("")
- $(".searchKnowledge .staticSearchB ul").html('')
- $(".searchKnowledge .staticSearchB .tip").css({display:'none'})
- $(".searchKnowledge .staticSearchB .empty").css({display:'none'})
- $(this).prev('.ipt').find('input').focus()
- $(this).css({display:"none"})
- })
|