123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- require('./../css/searchStaticList.less');
- const $ = require("jquery");
- const { post, config, getUrlArgObject, openNewWin } = require('./promise.js');
- const { toggleWarnBox } = require('./util.js');
- let searchType = 0, inputStr = '', curPage = 1, size = 10, totalPage = 1, codeType = 1, codeVal = 1;
- searchType = getUrlArgObject('type') || 0
- inputStr = getUrlArgObject('inputStr') || ''
- codeType = getUrlArgObject('codeType') || 1
- codeVal = getUrlArgObject('codeVal') || 1
- let arrowLeft = require('./../images/leftpage.png').replace(/^undefined/g, '')
- let arrowRight = require('./../images/rightpage.png').replace(/^undefined/g, '')
- require('./../images/staticBgS.png').replace(/^undefined/g, '')
- require('./../images/staticLogo.png').replace(/^undefined/g, '')
- require('./../images/staticBg.png').replace(/^undefined/g, '')
- require('./../images/nolis.png').replace(/^undefined/g, '')
- require('./../images/warn.png').replace(/^undefined/g, '')
- require('./../images/icon-down.png').replace(/^undefined/g, '')
- const iconDown = require('./../images/icon-down.png').replace(/^undefined/g, '')
- const iconUp = require('./../images/up-icon.png').replace(/^undefined/g, '')
- $(function () {
- initData()
- getAllTypes()
- getSearchList()
- getTabData()
- });
- //tab
- function renderTab(data) {
- let str = '';
- for (let i = 0; i < data.length; i++) {
- const element = data[i];
- str += `<li class="${i == 0 ? 'tabFst' : ''}" data-id="${element.val}">${element.name}</li>`
- }
- $('.staticTopTab .knowledge').html(str)
- $('.staticTopTab .knowledge li[data-id=' + searchType + ']').addClass('tabFst').siblings().removeClass('tabFst')
- $(".staticTopTab .knowledge li").click(function () {
- searchType = $(this).attr('data-id')
- $(this).addClass('tabFst').siblings().removeClass('tabFst')
- })
- }
- //获取字典信息
- function getAllTypes() {
- /*const allTypes = localStorage.getItem('allTypes')&&JSON.parse(localStorage.getItem('allTypes'))||[];
- if(allTypes.length>0){
- renderTab(allTypes)
- return
- }*/
- 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)
- }
- })
- }
- function getSearchList() {
- $(".searchBtn").click(function () {
- $(".resultItemWrap,.pagination").html("");
- $(".staticResult .loading").show();
- curPage = 1;
- getTabData()
- })
- }
- function getTabData() {
- let vals = $('.searchStr').val().trim();
- if (!vals) {
- $(".staticResult .loading").hide();
- toggleWarnBox('检索词不能为空!');
- return;
- }
- let url, param
- if (codeVal == 1) {
- url = config.staticSearch
- param = {
- size,
- current: curPage,
- types: [+searchType],
- inputStr: vals
- }
- } else {
- url = config.diseaseIndex
- param = {
- current: curPage,
- size: size,
- inputStr: vals,
- type: codeVal
- }
- }
- $(".resultItemEmpty").hide();
- post(url, param).then((res) => {
- const result = res.data
- if (result.code == 0) {
- const data = result.data;
- tabList = data.records;
- totalPage = data.pages;
- const totalNum = data.total;
- renderList(tabList);
- if (totalNum > 0) {
- renderPagination(totalPage, Number(curPage), totalNum)
- } else {
- $('.pagination').html("")
- }
- }
- })
- }
- function renderList(tabList) {
- $(".staticResult .loading").hide();
- if (tabList.length == 0) {
- $('.pagination').html('')
- $(".resultItemWrap").html('');
- $(".resultItemEmpty").css({ display: 'block' });
- return
- }
- let str = ''
- for (let i = 0; i < tabList.length; i++) {
- let item = tabList[i]
- str += codeVal == 1 ? `
- <div class="resultItem" data-type="${item.type}" data-name="${item.name}">
- <div>
- <span class="type">${item.typeName}</span>
- <span class="drug">${item.name}</span>
- ${item.code ? `<span class="icon">医保版</span><span class="name">${item.name}</span><span class="code">${item.code}</span>` : ''}
- ${(item.guoname || item.guocode) ? `<span class="icon gicon">国临版</span><span class="name">${item.guoname}</span><span class="code">${item.guocode}</span>` : ''}
- </div>
- ${item.retrievalName ? `<div class="same">同义词:<span>${item.retrievalName}</span></div>` : ''}
- <div class="content">
- <p>${item.abstractContent ? item.abstractContent : ''}</p>
- </div>
- </div>
- `: `
- <div class="resultItem2">
- <div>
- <span class="code">${item.code}</span>
- <span class="drug">${item.name}</span>
- </div>
- </div>
- `
- }
- $(".resultItemWrap").html(str);
- $('.resultItem').click(function () {
- let name = $(this).attr('data-name')
- let type = $(this).attr('data-type')
- if (window.opener) {
- openNewWin(`./staticInfo.html?name=${name}&type=${type}`);
- } else {
- window.open(`./staticInfo.html?name=${name}&type=${type}`);
- }
- })
- window.scrollTo(0, 0);
- }
- function initData() {
- if (searchType) {
- $('.staticTopTab .knowledge li').eq(searchType).addClass('tabFst').siblings().removeClass('tabFst')
- }
- if (codeType) {
- $('.staticTopTab .code-list li[data-id=' + codeType + ']').addClass('code-active').siblings().removeClass('code-active')
- }
- if (codeVal) {
- $('.selectItem .selc-list li[data-val=' + codeVal + ']').addClass('active').siblings().removeClass('active')
- val = codeVal == 1 ? '医学静态知识' : 'ICD10编码查询'
- $(".seleName").html(val)
- if (codeVal == 1) {
- $(".staticTopTab .knowledge").css('display', 'block')
- $(".staticTopTab .code-list").css('display', 'none')
- } else {
- $(".staticTopTab .knowledge").css('display', 'none')
- $(".staticTopTab .code-list").css('display', 'block')
- }
- }
- if (inputStr) {
- $(".searchStr").val(inputStr)
- }
- }
- // 分页
- function renderPagination(totalPage, activePage, totalNum) {
- let str = `<span class="totalSum">共${totalNum}条</span>
- <select class="select">
- <option value="10" ${size == 10 ? 'selected' : ''}>10条/页</option>
- <option value="50" ${size == 50 ? 'selected' : ''}>50条/页</option>
- <option value="100" ${size == 100 ? 'selected' : ''}>100条/页</option>
- <option value="500" ${size == 500 ? 'selected' : ''}>500条/页</option>
- <option value="1000" ${size == 1000 ? 'selected' : ''}>1000条/页</option>
- <option value="5000" ${size == 5000 ? 'selected' : ''}>5000条/页</option>
- </select>
- <span class="prePage">
- <img class="arrowPage" src=${arrowLeft} />
- </span>
- `
- if (totalPage <= 6) {
- for (let i = 1; i <= totalPage; i++) {
- str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
- }
- } else {
- if (activePage <= 3) { //选中页数小于4
- for (let i = 1; i <= 4; i++) {
- str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
- }
- str += `<span class="more" >...</span>`
- str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
- } else if (activePage > totalPage - 3) {
- str += `<span class="pageNum page1" data-page=1>1</span>`
- str += `<span class="more" >...</span>`
- str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage - 3}>${totalPage - 3}</span>`
- str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage - 2}>${totalPage - 2}</span>`
- str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage - 1}>${totalPage - 1}</span>`
- str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
- } else {
- str += `<span class="pageNum page1" data-page=1>1</span>`
- str += `<span class="more" >...</span>`
- str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage - 1}>${activePage - 1}</span>`
- str += `<span class="pageNum ${'page' + activePage}" data-page=${activePage}>${activePage}</span>`
- str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage + 1}>${activePage + 1}</span>`
- str += `<span class="more" >...</span>`
- str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
- }
- }
- str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>
- <span class="goNum">前往 <input type="number" value="${curPage}" /> 页</span>`
- $('.pagination').html(str)
- $('.page' + activePage).addClass('activePage')
- $(".pageNum").on("click", function (e) {
- //console.log($(this)[0])
- const activePageNow = Number($(this).attr('data-page'))
- curPage = activePageNow
- getTabData()
- })
- $(".prePage").on("click", function (e) {
- let activePageNow = Number($(".activePage").attr('data-page'))
- if (activePageNow > 1) {
- curPage = --activePageNow
- getTabData()
- }
- })
- $(".nextPage").on("click", function (e) {
- let activePageNow = Number($(".activePage").attr('data-page'))
- if (activePageNow < totalPage) {
- curPage = ++activePageNow
- getTabData()
- }
- })
- $('.select').change(function () {
- size = $(this).val();
- curPage = 1;
- getTabData()
- })
- $('.goNum input').change(function () {
- const n = $(this).val()
- if (totalPage < n || n < 1) {
- toggleWarnBox("请输入1-" + totalPage + "范围内的整数");
- return;
- }
- curPage = n;
- getTabData()
- })
- }
- $(function () {
- $(".warning-box .confirm,.warning-box .close").click(function () {
- toggleWarnBox();
- })
- $(".selectItem").click(function (e) {
- e.stopPropagation()
- const showList = $(".selc-list ").css("display")
- if (showList == "none" || !showList) {
- $(".selc-list").css('display', 'block')
- $(".selectItem .arrow").attr("src", iconUp)
- } else {
- $(".selc-list").css('display', 'none')
- $(".selectItem .arrow").attr("src", iconDown)
- }
- })
- $(".selc-list li").click(function (e) {
- e.stopPropagation()
- codeVal = $(this).attr('data-val')
- $(".searchStr").val('')
- $(this).addClass('active').siblings().removeClass('active');
- $(".seleName").html($(this).text())
- $(".selc-list").css('display', 'none')
- $(".selectItem .arrow").attr("src", iconDown)
- if (codeVal == 1) {
- $(".staticTopTab .code-list").css('display', 'none')
- $(".staticTopTab .knowledge").css('display', 'block')
- } else {
- $(".staticTopTab .code-list").css('display', 'block')
- $(".staticTopTab .knowledge").css('display', 'none')
- }
- })
- $(".staticTopTab .code-list li").click(function () {
- codeType = $(this).attr('data-id')
- $(this).addClass('code-active').siblings().removeClass('code-active')
- })
- });
- $(document).on("click", function () {
- $(".selc-list").css('display', 'none')
- $(".selectItem .arrow").attr("src", iconDown)
- })
|