cdss.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  1. if(!Promise){
  2. var Promise = require("bluebird");
  3. // Configure
  4. Promise.config({
  5. longStackTraces: true,
  6. warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
  7. })
  8. }
  9. require('./../css/reset.css');
  10. require('./../css/cdss.less');
  11. require('./../css/popup.css');
  12. require('./../css/staticSearch.css')
  13. require('./../js/staticSearch.js')
  14. require('./../images/empty.png').replace(/^undefined/g, '')
  15. require('./../images/empty2.png').replace(/^undefined/g, '')
  16. require('./../images/loading.gif').replace(/^undefined/g, '')
  17. require('./../images/right.png').replace(/^undefined/g, '')
  18. require('./../images/new.png').replace(/^undefined/g, '')
  19. // require('./popupEdit.js');
  20. let infoImg = require('./../images/icon_info.png').replace(/^undefined/g, '')
  21. let infoImgOn = require('./../images/icon_info_on.png').replace(/^undefined/g, '')
  22. let iconArrowUp = require('./../images/icon_arrow_up.png').replace(/^undefined/g, '')
  23. let iconArrowDown = require('./../images/icon_arrow_down.png').replace(/^undefined/g, '')
  24. let iconMark = require('./../images/icon_mark.png').replace(/^undefined/g, '')
  25. let warnImg = require('./../images/icon_warning.png').replace(/^undefined/g, '')
  26. const $ = require("jquery");
  27. const { post,config,getUrlArgObject,openNewWin,titleConfig } = require('./promise.js');
  28. const { transConf } = require('./util.js');
  29. //静态知识类型: 1:诊断 2.药品 3.化验套餐 4.化验明细 5.辅检 6.手术和操作
  30. let moduleConfig={
  31. auxiliary:"recommendWrap",
  32. qc:"qcWrap",
  33. medical:"medicalKonwledgeWrap"
  34. }
  35. let allInterface = 0
  36. let hasCompleteTnterface = 0
  37. let moduleNum = 0
  38. let mrId = getUrlArgObject('mrId')
  39. const tipsMode = getUrlArgObject('tipsMode') || 1
  40. let planCode = getUrlArgObject('planCode') || 'all'
  41. let hospitalIdUrl = getUrlArgObject('hospitalId') || ''
  42. let msg;
  43. function getMRInfo() {
  44. return post(config.getMr2,{mrId:mrId})
  45. }
  46. // $('.loading').css("display","block")
  47. $('.empty').css("display","none")
  48. if(mrId){
  49. getMRInfo().then(res =>{
  50. if(res.data.code == '0'){
  51. msg = res.data.data ||{}
  52. window.msg = msg
  53. }
  54. }).catch(function (err) {
  55. console.log(err);
  56. })
  57. }
  58. getConf().then(res =>{
  59. if(res.data.code == '0'){
  60. // const configArr = res.data.data.pushSetList || []
  61. // getPageInfo(configArr)
  62. const data = res.data.data&&res.data.data[0]
  63. renderPage(data)
  64. }
  65. })
  66. function getConf() {
  67. var msg = window.msg
  68. return post(config.getPushSet,{hospitalId:hospitalIdUrl||msg.hospitalId||1,planCode: planCode})
  69. }
  70. function getPushInfo() {
  71. return post(config.pushInner,Object.assign({},msg,{featureType: '1,4,5,6,7,8,9',hospitalId:hospitalIdUrl||msg.hospitalId,ruleType:config.ruleTypeMap['22']}))
  72. }
  73. function getPusgWarning(){
  74. return post(config.indicationPush,Object.assign({},msg,{ruleType: '1,2,3',hospitalId:hospitalIdUrl||msg.hospitalId}))
  75. }
  76. function getHosptDeptUsal(){
  77. var msg = window.msg
  78. const param ={
  79. age: msg.age,
  80. deptName: msg.deptName,
  81. hospitalCode: msg.hosCode,
  82. sexType: msg.sex,
  83. type: 1,
  84. }
  85. return post(config.getHosptDeptUsal,param)
  86. }
  87. function getPushData(res){
  88. if(res&&res.data&&res.data.data&&res.data.data.dis&&res.data.data.dis){
  89. let dis = res.data.data.dis;
  90. //急诊显示规则,主诊断有急诊优先显示,没有则显示推送的,推送也没有就不显示
  91. if(dis&&dis['页面急诊']&&(dis['页面急诊'].length>0)){
  92. let name = dis['页面急诊'][0].name || ''
  93. $(".allDis .disName").html(name)
  94. disName = name
  95. if(name){
  96. $(".singleDis").css("display","block")
  97. }
  98. }else if(dis&&dis['急诊']&&dis['急诊'].length>0){
  99. let name = dis['急诊'][0].name || ''
  100. $(".allDis .disName").html(name)
  101. disName = name
  102. if(name){
  103. $(".singleDis").css("display","block")
  104. }
  105. }
  106. }
  107. }
  108. let disName=""
  109. function handleShow(){
  110. const newinConf = {
  111. width: '600', //窗口的文档显示区的宽度。以像素计。
  112. height: '826', //窗口文档显示区的高度。以像素计。
  113. left: '0', //窗口的 x 坐标。以像素计。
  114. top: '0', //窗口的 y 坐标。以像素计。
  115. openMode: "_blank" //每次都是新窗口打开为_blank,打开同一窗口填写任意字符串
  116. }
  117. const newWindowLocation = `width=${newinConf.width}, height=${newinConf.height}, left=${newinConf.left}, top=${newinConf.top} scrollbars=yes`
  118. window.open('./emergency.html?disName='+disName, newinConf.openMode, newWindowLocation)
  119. }
  120. $(document).on('click',".allDis .allName",function(){
  121. handleShow()
  122. })
  123. $(document).on('click',".singleDis",function(){
  124. $(this).next().css("display","block")
  125. $(this).css("display","none")
  126. })
  127. $(document).on('click',".allDis .right,.allDis .secDis",function(){
  128. $(".allDis").css("display","none")
  129. $(".singleDis").css("display","block")
  130. })
  131. function moreInfo() {
  132. $('.infoImg').off("click").click(function(){
  133. const name = $(this).parent().attr('data-name')
  134. const type = $(this).parent().attr('data-type')
  135. openNewWin(`information.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}`)
  136. })
  137. }
  138. function getVersion() {
  139. return post(config.getVersion, 'confArr').then((res) => {
  140. const data = res.data.data;
  141. const ver = localStorage.getItem('versionTime');
  142. const time = data.refreshTime;
  143. if(!ver||ver===time+"=new"||time!==ver.replace("=new","")){ //判断版本是否更新
  144. $(".version-tip").addClass('new-icon');
  145. localStorage.setItem('versionTime',time+"=new"); //保存版本更新时间
  146. }else{
  147. $(".version-tip").removeClass("new-icon");
  148. }
  149. })
  150. }
  151. function getDisclaimer() {
  152. return post(config.disclaimer, {}).then((res) => {
  153. const data = res.data.data.find(item => item.disclaimerCode == "2");
  154. $(".responsibility").html(data.description);
  155. // $(".iframeWrap").css({height: $(window).height()-115-$(".responsibility").height()+"px"})
  156. })
  157. }
  158. function renderPage(pageSet){
  159. renderTab(pageSet.sysSetInfo)
  160. const iframeHei = $(".bodyWrap").height()
  161. const tabHei = $(".tabList").height()
  162. $(".contentWrapper").css("height",iframeHei-tabHei-10-20-30+'px')
  163. const hasAuxiliary = hasTab("辅助信息",pageSet.sysSetInfo)
  164. const hasMedical = hasTab("医学知识",pageSet.sysSetInfo)
  165. if(!mrId){
  166. empty()
  167. return
  168. }
  169. if(hasAuxiliary){
  170. renderModuleWrapper(hasAuxiliary.planDetails)
  171. let needPush = isNeedPush(hasAuxiliary.planDetails)
  172. let needPushWarning = isNeedPushWarning(hasAuxiliary.planDetails)
  173. if(needPush || needPushWarning){
  174. renderPushData()
  175. allInterface++
  176. }
  177. if(needPushWarning){
  178. renderPushWarning()
  179. allInterface++
  180. }
  181. }
  182. }
  183. function renderPushData(){
  184. return getPushInfo().then(res =>{
  185. hasCompleteTnterface++
  186. if(res.data.code == "0"){
  187. const result = res.data.data
  188. let diagPush = result.dis
  189. let lisPush = result.lis || []
  190. let pacsPush = result.pacs || []
  191. let symptomPush = result.symptom ||[]
  192. let checkupPush = result.vital ||[]
  193. let medicinesPush = result.medicines || []
  194. let operationsPush = result.operations ||[]
  195. // let lisPush =[{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
  196. // let pacsPush = [{name:"胸部x射线",hisNameList:null},{name:"心电图",hisNameList:null}]
  197. // let checkupPush = [{name:"神志表情",hisNameList:null},{name:"面部表情",hisNameList:null}]
  198. let lisNum = $(".moduleItem.lis").attr("data-num") || 5
  199. let pacsNum = $(".moduleItem.pacs").attr("data-num") || 5
  200. let checkupNum = $(".moduleItem.vital").attr("data-num") || 5
  201. let symptomNum = $(".moduleItem.symptom").attr("data-num") || 5
  202. let medicinesNum = $(".moduleItem.medicine").attr("data-num") || 5
  203. let operationsNum = $(".moduleItem.operation").attr("data-num") || 5
  204. renderLis(lisPush,lisNum,3,true)
  205. renderPacs(pacsPush,pacsNum,5,true)
  206. renderCheckup(checkupPush,checkupNum,null,true)
  207. renderSymptomPush(symptomPush,symptomNum,null,true)
  208. renderDiag(diagPush)
  209. renderMedicinesPush(medicinesPush,medicinesNum,2,true)
  210. renderOperationPush(operationsPush,operationsNum,6,true)
  211. if(hasCompleteTnterface === allInterface){
  212. $('.loading').css("display","none")
  213. if(moduleNum === 0){
  214. empty()
  215. }
  216. }
  217. bindOpenInfo()
  218. bindSlide()
  219. }
  220. })
  221. }
  222. function isNeedPush(list){
  223. let pushCode = ["diag","lis","pacs","symptom","vital"]
  224. for(let i = 0; i < list.length; i++){
  225. if(pushCode.indexOf(list[i].code)>-1){
  226. return true
  227. }
  228. }
  229. return false
  230. }
  231. function isNeedPushWarning(list){
  232. let pushCode = ["tips"]
  233. for(let i = 0; i < list.length; i++){
  234. if(pushCode.indexOf(list[i].code)>-1){
  235. return true
  236. }
  237. }
  238. return false
  239. }
  240. function renderPushWarning(){
  241. return getPusgWarning().then(res =>{
  242. hasCompleteTnterface++
  243. if(res.data.code == '0'){
  244. const result = res.data.data
  245. let billMsgList = result.billMsgList || [] //开单合理性提醒
  246. let highRiskList = result.highRiskList || [] //高危药品、手术
  247. let criticalValList = result.criticalValList || [] //危急值提醒
  248. let noteList = result.noteList || [] //检查内容注意事项
  249. let dubugStr = result.dubugStr || [] //注意调试信息
  250. $('.moduleItem.tips').append(titleStr('warning'))
  251. renderBillingPush(billMsgList,'开单合理性提醒')
  252. renderBillingPush(highRiskList,'高风险提示')
  253. renderBillingPush(criticalValList,'危急值提醒')
  254. renderBillingPush(noteList,'检查内容注意事项')
  255. moreInfo()
  256. // renderBillingPush(dubugStr,'注意调试信息')
  257. }
  258. if(hasCompleteTnterface === allInterface){
  259. $('.loading').css("display","none")
  260. if(moduleNum === 0){
  261. empty()
  262. }
  263. }
  264. })
  265. }
  266. function renderBillingPush(list,name){
  267. if(list.length === 0){
  268. return
  269. }
  270. let str = ``
  271. for(let i = 0; i < list.length; i++){
  272. str += `<div class="billingPushItem"><img class="iconMark" src=${iconMark}>${list[i].msg}</div>`
  273. }
  274. let titleStr = titleStr2(name)
  275. let boxStr = `<div class="moduleBox">
  276. ${titleStr}
  277. ${str}
  278. </div>`
  279. $(".tips").append(boxStr)
  280. $('.moduleItem.tips').css("display","block")
  281. }
  282. function renderDiag(diagPush){
  283. let possibleDiagPush = diagPush["可能诊断"] || []
  284. let firstDiagPush = diagPush["初步诊断"] || []
  285. let identifyDiagPush = diagPush["鉴别诊断"] || []
  286. let warningDiagPush = diagPush["警惕"] || []
  287. let number = $('.moduleItem.diag').attr("data-num") || 5
  288. let warnNumber = $('.moduleItem.warning').attr("data-num") || 5
  289. $('.moduleItem.diag').append(titleStr("diagPush"))
  290. // let warningDiagPush = [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
  291. // let firstDiagPush = [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
  292. // let identifyDiagPush = diagPush["鉴别诊断"] || [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
  293. renderDiagItem(possibleDiagPush,"可能诊断",number)
  294. renderDiagItem(firstDiagPush,"初步诊断",number)
  295. renderDiagItem(identifyDiagPush,"鉴别诊断",number)
  296. renderWarningDiag(warningDiagPush,"警惕",warnNumber)
  297. moreInfo()
  298. }
  299. function renderDiagItem(list,name,number){
  300. if(list.length === 0){
  301. return
  302. }
  303. let titleStr = titleStr2(name)
  304. let {shortStr, longStr} = renderItemWrapper(list,number,1,true)
  305. let boxStr = `<div class="moduleBox">
  306. ${titleStr}
  307. ${shortStr}
  308. ${longStr}
  309. </div>`
  310. $(".diag").append(boxStr)
  311. $('.moduleItem.diag').css("display","block")
  312. }
  313. function renderWarningDiag(list,name,number){
  314. if(list.length > 0 && $(".moduleItem.warning").length > 0){
  315. moduleNum++
  316. $('.moduleItem.warning').append()
  317. let str = `<span class="warningTitle"><img class="warningTitImg" src=${warnImg}>警惕</span>`
  318. for(let i = 0; i < list.length; i++){
  319. str+= renderPushItem(list[i],1)
  320. }
  321. $('.moduleItem.warning').append(str)
  322. $('.moduleItem.warning').css("display","block")
  323. }
  324. }
  325. function renderLis(list,showNum,type,hasInfo){
  326. if(list.length > 0 && $(".moduleItem.lis").length > 0){
  327. moduleNum++
  328. $('.moduleItem.lis').append(titleStr("lisPush"))
  329. let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
  330. $('.moduleItem.lis').append(shortStr).append(longStr)
  331. $('.moduleItem.lis').css("display","block")
  332. }
  333. }
  334. function renderPacs(list,showNum,type,hasInfo){
  335. if(list.length > 0 && $(".moduleItem.pacs").length > 0){
  336. moduleNum++
  337. $(".moduleItem.pacs").append(titleStr("pacsPush"))
  338. let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
  339. $(".moduleItem.pacs").append(shortStr).append(longStr)
  340. $('.moduleItem.pacs').css("display","block")
  341. }
  342. }
  343. function renderCheckup(list,showNum,type,hasInfo){
  344. if(list.length > 0 && $(".moduleItem.vital").length > 0){
  345. moduleNum++
  346. $(".moduleItem.vital").append(titleStr("checkupPush"))
  347. let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
  348. $(".moduleItem.vital").append(shortStr).append(longStr)
  349. $('.moduleItem.vital').css("display","block")
  350. }
  351. }
  352. function renderSymptomPush(list,showNum,type,hasInfo){
  353. $(".moduleItem.symptom").append(titleStr('symptomPush'))
  354. if(list.length > 0 && $(".moduleItem.symptom").length > 0){
  355. moduleNum++
  356. let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
  357. $(".moduleItem.symptom").append(shortStr).append(longStr)
  358. $(".moduleItem.symptom").css("display","block")
  359. }
  360. }
  361. function renderMedicinesPush(list,showNum,type,hasInfo){
  362. $(".moduleItem.medicine").append(titleStr('drugPush'))
  363. if(list.length > 0 && $(".moduleItem.medicine").length > 0){
  364. moduleNum++
  365. let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
  366. $(".moduleItem.medicine").append(shortStr).append(longStr)
  367. $(".moduleItem.medicine").css("display","block")
  368. }
  369. }
  370. function renderOperationPush(list,showNum,type,hasInfo){
  371. $(".moduleItem.operation").append(titleStr('operationPush'))
  372. if(list.length > 0 && $(".moduleItem.operation").length > 0){
  373. moduleNum++
  374. let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
  375. $(".moduleItem.operation").append(shortStr).append(longStr)
  376. $(".moduleItem.operation").css("display","block")
  377. }
  378. }
  379. function renderItemWrapper(list,showNum,type,hasInfo){
  380. let showNum1 = showNum || 5
  381. let shortStr = '', longStr = ''
  382. for(let i = 0; i < list.length; i++){
  383. if(i <= showNum1-1){
  384. shortStr += renderPushItem(list[i],type)
  385. }
  386. longStr += renderPushItem(list[i],type)
  387. }
  388. if(showNum1 >= list.length){
  389. return {
  390. shortStr:`<div class="shortBox">${shortStr}</div>`,
  391. longStr:''
  392. }
  393. }else{
  394. shortStr += `<span class="showMore">更多 <img class="iconArrowImg" src="${iconArrowDown}"></span>`
  395. longStr += `<span class="showLess">收起 <img class="iconArrowImg" src="${iconArrowUp}"></span>`
  396. return {
  397. shortStr:`<div class="shortBox clearfix">${shortStr}</div>`,
  398. longStr:`<div class="longBox clearfix">${longStr}</div>`
  399. }
  400. }
  401. }
  402. function renderPushItem(item,type){
  403. str= `<span class="pushItemBox" data-name="${item.name}" data-type="${type}"><span class="pushItemName">${item.name}</span>${item.hasInfo=="1"?`<img class="infoImg" src="${infoImg}">`:""}</span>`
  404. return str
  405. }
  406. function bindOpenInfo(){
  407. $(".infoImg").on("mouseenter", function(){
  408. $(this).attr("src", infoImgOn)
  409. }).on("mouseleave", function(){
  410. $(this).attr("src", infoImg)
  411. })
  412. }
  413. function bindSlide(){
  414. $(".showMore").on("click", function(){
  415. $(this).parent().parent().find(".longBox").css("display","block")
  416. $(this).parent().parent().find(".shortBox").css("display","none")
  417. })
  418. $(".showLess").on("click", function(){
  419. $(this).parent().parent().find(".longBox").css("display","none")
  420. $(this).parent().parent().find(".shortBox").css("display","block")
  421. })
  422. }
  423. function renderModuleWrapper(moduleList){
  424. let moduleStr = ''
  425. for(let i = 0; i < moduleList.length; i++){
  426. if(moduleList[i].status !='0'){
  427. if(moduleList[i].code == 'treat'){
  428. moduleStr += `<div class="moduleItem medicine" data-num="${moduleList[i].number}" style="display:none"></div>`
  429. moduleStr += `<div class="moduleItem operation" data-num="${moduleList[i].number}" style="display:none"></div>`
  430. }else if(moduleList[i].code == 'tips'){
  431. moduleStr += `<div class="moduleItem warning" data-num="${moduleList[i].number}" style="display:none"></div>`
  432. moduleStr += `<div class="moduleItem tips" data-num="${moduleList[i].number}" style="display:none"></div>`
  433. }else{
  434. moduleStr += `<div class="moduleItem ${moduleList[i].code }" data-num="${moduleList[i].number}" style="display:none"></div>`
  435. }
  436. }
  437. }
  438. $(".recommendWrap").append(moduleStr)
  439. }
  440. function hasTab(tabName,tabList){
  441. for(let i = 0; i < tabList.length; i++){
  442. if(tabList[i].name == tabName){
  443. return tabList[i]
  444. }
  445. }
  446. return false
  447. }
  448. function renderTab(tabList){
  449. let tabStr = ''
  450. for(let i = 0; i < tabList.length; i++){
  451. if(tabList[i].status == '1'){
  452. tabStr += `<span class="tab" data-name="${tabList[i].code}" >${tabList[i].name}<span class="activeLine"></span></span>`
  453. }
  454. }
  455. $(".tabList").append(tabStr)
  456. $(".tabList .tab").eq(0).addClass("activeTab")
  457. let showModuleName = $(".tabList .tab").eq(0).attr("data-name")
  458. getModuleShow(moduleConfig[showModuleName])
  459. bindTabClick()
  460. }
  461. function titleStr(type){
  462. let titleStr = ''
  463. titleStr += `<h4 class="moduleTitle" style="background:${titleConfig[type].background}"><img class="titleIcon" src=${titleConfig[type].icon}>${titleConfig[type].name}</h4>`
  464. return titleStr
  465. }
  466. function titleStr2(name){
  467. let titleStr = ''
  468. titleStr += `<p class="moduleBoxTitle">${name}:</p>`
  469. return titleStr
  470. }
  471. function bindTabClick(){
  472. $(".tabList .tab").on("click", function(){
  473. $(".activeTab").removeClass("activeTab")
  474. $(this).addClass("activeTab")
  475. const moduleName = $(this).attr("data-name")
  476. getModuleShow(moduleConfig[moduleName])
  477. if(moduleName == "medical"){
  478. $(".contentWrapper").css("overflowY","hidden")
  479. }else{
  480. $(".contentWrapper").css("overflowY","auto")
  481. }
  482. })
  483. }
  484. function getModuleShow(moduleClassName){
  485. if( $(`.${moduleClassName}`).css("display") =="none"){
  486. $(".moduleWrapper").css("display","none")
  487. $(`.${moduleClassName}`).css("display","block")
  488. }
  489. }
  490. function empty(){
  491. $(".responsibility").css("display","none")
  492. $('.empty').css("display","block")
  493. }
  494. $(function(){
  495. getDisclaimer(); //获取免责声明
  496. getVersion(); //获取版本信息
  497. $(".disclaimerInfo").on("click", function(){
  498. openNewWin("disclaimer.html")
  499. });
  500. $(".version-tip").on("click", function(){
  501. const ver = localStorage.getItem('versionTime');
  502. $(".version-tip").removeClass('new-icon');
  503. localStorage.setItem('versionTime',ver.replace("=new",""));
  504. openNewWin("version.html");
  505. });
  506. });