const { post, config, getUrlArgObject } = require('./promise.js'); const $ = require("jquery"); $(function () { var scaleInfo; // 用GetQueryString方法从地址栏获取参数,暂时写死 var params = { "age": getUrlArgObject('age') || 28, "featureType": getUrlArgObject('featureType') || '21', "scaleId": getUrlArgObject('scaleId') || 40744, "scaleName": getUrlArgObject('scaleName') || '密西根糖尿病周围神经病评分(MDNS)', "sex": getUrlArgObject('sex') || 1, "diag": getUrlArgObject('diag') || '肺结核(复诊);', "lis": getUrlArgObject('lis') ? JSON.parse(getUrlArgObject('lis')) : [], "symptom": getUrlArgObject('symptom') || '', "other": getUrlArgObject('other') || '', "pacs": getUrlArgObject('pacs') || '', "vital": getUrlArgObject('vital') || '' } if (getUrlArgObject('scaleId')) { post(config.pushInner, params).then((res) => { const data = res.data.data if (res.data.code == 0) { scaleInfo = data.scale; for (var i = 0; i < scaleInfo.length; i++) { if (scaleInfo[i].type == 1) { var scaleList = JSON.parse(scaleInfo[i].content) renderCalcu(scaleList) } else { $('.content').append(scaleInfo[i].content) } } $('input').on('change', function (e) { var indexList = $(this).attr('data-index').split(',') for (var i = 0; i < scaleList.group[indexList[0]].rows[indexList[1]].row[indexList[2]].details.length; i++) { scaleList.group[indexList[0]].rows[indexList[1]].row[indexList[2]].details[i].select = 0 } scaleList.group[indexList[0]].rows[indexList[1]].row[indexList[2]].details[indexList[3]].select = 1 const className = $(this).parent().parent().parent().attr('data-group') for (let i = 0; i < $('.' + className).length; i++) { $('.' + className).eq(i).removeClass('noSelect') } }) $('.calcuBtn').on('click', function () { let allSelect = true for (let i = 0; i < scaleList.group.length; i++) { for (let j = 0; j < scaleList.group[i].rows.length; j++) { if (scaleList.group[i].rows[j].required == 1) { let itemSelect = false for (let x = 0; x < scaleList.group[i].rows[j].row.length; x++) { for (let y = 0; y < scaleList.group[i].rows[j].row[x].details.length; y++) { if (scaleList.group[i].rows[j].row[x].details[y].select == 1) { itemSelect = true } } } if (!itemSelect) { allSelect = false $('.' + i + j).addClass('noSelect') } } } } if (!allSelect) { $('.modal').css('display', 'block'); let timer = setTimeout(() => { $('.modal').css('display', 'none'); }, 2000); $('.closeModal').click(function () { $('.modal').css('display', 'none'); if (timer) { clearTimeout(timer) } }) } if (allSelect) { getCalcuResult(scaleList) } }) } }) } }) function renderCalcu(scaleList) { $("h1").html(scaleList.scaleName); var str = '' for (var j = 0; j < scaleList.group.length; j++) { str += '
' + scaleList.group[j].groupName + '
'; for (var x = 0; x < scaleList.group[j].rows.length; x++) { for (var y = 0; y < scaleList.group[j].rows[x].row.length; y++) { var str2 = '' for (var z = 0; z < scaleList.group[j].rows[x].row[y].details.length; z++) { str2 += '' + scaleList.group[j].rows[x].row[y].details[z].detailName + '(' + scaleList.group[j].rows[x].row[y].details[z].score + ')' + '' if (scaleList.group[j].rows[x].row[y].details[z].state == 1) { str2 += '智能推荐' } str2 += '' } str += '
' if (y == 0) { str += (x + 1) + '.' } str += '' + scaleList.group[j].rows[x].row[y].name + '
' + str2 + '
' + '
' } } if (scaleList.group[j].groupCalculate.isShow == 1) { str += '
计分:' + scaleList.group[j].groupCalculate.result.value + ' ' + scaleList.group[j].groupCalculate.result.text + '
' } str += '
' } var calcuStr = '
总分:' if (scaleList.calculate && scaleList.calculate.result) { calcuStr += scaleList.calculate.result.value + ' ' + scaleList.calculate.result.text } calcuStr += '得分
' var allStr = '
' + str + calcuStr + '
' var childStr = '
'+ '
'+ '
'+ '
8.左侧跟腱反射
'+ '
'+ '
'+ '
'+ '
得分
'+ '' $('.content').append(childStr) $('.content').append(allStr) } function getCalcuResult(data) { var url = "/api/icss/calc/calculate"; const param = { type: 1, data: data } post(url, param).then((res) => { const dataResult = res.data.data if (res.data.code == 0) { data.calculate.result = dataResult.calcalculate.result for (let i = 0; i < data.group.length; i++) { for (let j = 0; j < dataResult.group.length; j++) { if (data.group[i].groupName == dataResult.group[j].groupName) { data.group[j].groupCalculate.result = dataResult.group[i].groupCalculate.result } } } if ($('.calcu')) { for (let i = 0; i < $('.calcu').length; i++) { let calcuItemName = $('.calcu').eq(i).prev().find('.groupName').html(); let calcuItem = data.group.filter(function (item) { return item.groupName == calcuItemName })[0] $('.calcu').eq(i).html('计分:' + calcuItem.groupCalculate.result.value + ' ' + calcuItem.groupCalculate.result.text) } } $('.allCalcu').eq(0).html('总分:' + data.calculate.result.value + ' ' + data.calculate.result.text) } else { alert(res.msg) } }) }