123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- require('../css/staticSearch.less');
- 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')
- require('./../images/empty3.png').replace(/undefined/g, '')
- require('./../images/icon_search.png').replace(/undefined/g, '')
- require('./../images/icon_arrow_down.png').replace(/undefined/g, '')
- require('./../images/icon_arrow_up.png').replace(/undefined/g, '')
- let searchType = getUrlArgObject("searchType") || ""
- let medicalTypesList = []
- let first = true
- let tabid = 1, type = 1
- const is8Ie = isIe8() //判断是否为IE8
- if (is8Ie) {
- let reg = /undefined/g
- checkOffImg = checkOffImg.replace(reg, '')
- checkOnImg = checkOnImg.replace(reg, '')
- }
- if (searchType == '1') {
- $(".staticSearchB>ul").css({
- padding: "0px",
- left: "0px"
- })
- document.title = "医学知识搜索"
- }
- $(".header-tab li").click(function () {
- // 修改tab标签样式
- tabid = $(this).attr("tabid");
- $(this).attr("class", "choice")
- $(this).siblings().attr("class", "")
- // 获取tab ID
- if (tabid == 1) {
- $(".radio-list").css('display', 'none')
- } else {
- $(".radio-list").css('display', 'block')
- }
- $(".searchKnowledge .staticSearchB .tip").css({ display: 'none' })
- $(".searchKnowledge .staticSearchB ul").html('')
- })
- $(".check-box").click(function () {
- type = $(this).find('input[name=ICD10]').val()
- $(this).siblings().find('input[name=ICD10]').prop("checked", false)
- $(this).find('input[name=ICD10]').prop("checked", true)
- })
- $(".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('')
- $(".searchKnowledge .staticSearchB .inputWarning").css("display", "block")
- } else {
- $(".searchKnowledge .staticSearchB .inputWarning").css("display", "none")
- }
- val != '' && 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()
- if (val.trim() == '') {
- $(".searchKnowledge .staticSearchB ul").html("");
- $(".searchKnowledge .staticSearchB .tip").hide();
- $(".searchKnowledge .staticSearchB .inputWarning").css("display", "block")
- } else {
- 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) {
- $(".searchKnowledge .staticSearchB .inputWarning").css("display", "none")
- $(".searchKnowledge .staticSearchB .empty").css({ display: 'none' })
- $(".searchKnowledge .staticSearchB ul").html('')
- if (first) {
- adjustHeight()
- first = false
- }
- let url, param
- if (tabid == 1) {
- let medicalTypes = []
- for (let i = 0; i < medicalTypesList.length; i++) {
- if (medicalTypesList[i].checked) {
- medicalTypes.push(medicalTypesList[i].val)
- }
- }
- url = config.getStaticKnowledge
- param = {
- inputStr: value.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/\_/g, '\\_').trim(),
- types: medicalTypes
- }
- } else {
- url = config.diseaseIndex
- param = {
- current: 0,
- size: 100,
- inputStr: value.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/\_/g, '\\_').trim(),
- type: type
- }
- }
- $(".searchKnowledge .staticSearchB .searching").css("display", "block")
- post(url, param).then((res) => {
- $(".searchKnowledge .staticSearchB .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];
- console.log(tmpPart);
- var ynameDom = tmpPart.code ? `<tr>
- <td rowspan="2" width="65"><span class="type-icon">医保版</span></td>
- <td><span title="${tmpPart.name}">${tmpPart.name}</span></td>
- </tr>
- <tr>
- <td>
- <span title="${tmpPart.code}" class="type-code">${tmpPart.code}</span>
- </td>
- </tr>`: '';
- var gnameDom = tmpPart.guoname || tmpPart.guocode ? `<tr>
- <td rowspan="2"><span class="type-icon type-l">国临版</span></td>
- <td><span title="${tmpPart.guoname}">${tmpPart.guoname}</span></td>
- </tr>
- <tr>
- <td>
- <span title="${tmpPart.guocode}" class="type-code">${tmpPart.guocode}</span>
- </td>
- </tr>`: '';
- var codeDom = ynameDom + gnameDom ? `<div class="codeDiv"><table width="100%"><tbody>${ynameDom}${gnameDom}</tbody></table></div>` : "";
- var codeIcon = ynameDom + gnameDom ? `<span class="code-slide"></span>` : "";
- var tmpLi = tabid == 1 ? `<li class="hide-codes" data-name='${tmpPart.name}' data-uname='${tmpPart.uniqueName}' data-type='${tmpPart.libTypeId}' data-sign='${tmpPart.type}'>
- <p><span class="diag-name">${tmpPart.name}<i>${tmpPart.typeName ? (' ( ' + tmpPart.typeName + ' )') : ''}</i></span>
- ${codeIcon}
- </p>
- ${tmpPart.retrievalName ? ('<span>• ' + tmpPart.retrievalName + '</span>') : ''}
- ${codeDom}
- </li>`: `<li class="hide-codes">
- <p><span style="font-size: 14px;color:#666">${tmpPart.code}</span> <span style="font-size: 14px;color:#333">${tmpPart.name}</span>
- </p>
- </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 getDiseaseIndex() {
- }
- function adjustHeight() {
- var ht = window.innerHeight;
- var containerHt = $(".medicalKonwledgeWrap .container").height()
- var ht2 = $(".searchTypeBox").outerHeight(true)
- $(".staticSearchB ul").height(ht - 120 - 10 - 40 + 20 - ht2 + "px");
- }
- $(window).on('resize', function () {
- adjustHeight()
- })
- $(".staticSearchB ul").on("click", "li .diag-name", function () {
- const infoMsgName = $(this).parents("li").attr('data-name')
- const infoMsgUName = $(this).parents("li").attr('data-uname')
- const type = $(this).parents("li").attr('data-type')
- const sign = $(this).parents("li").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))}`)
- }
- })
- $(".staticSearchB ul").on("click", "li .code-slide", function () {
- $(this).parents("li").toggleClass("hide-codes");
- });
- $(".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" })
- })
- $(function () {
- $(".staticSearchT .ipt").find("input").focus()
- })
|