|
@@ -0,0 +1,206 @@
|
|
|
+const qs = require('qs');
|
|
|
+$(function(){
|
|
|
+ // 从地址栏获取参数,请求量表内容
|
|
|
+ function GetQueryString(name){
|
|
|
+ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
|
|
|
+ var r = window.location.search.substr(1).match(reg);
|
|
|
+ if(r!=null)return unescape(r[2]); return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ var scaleInfo;
|
|
|
+ var id = GetQueryString('id') || 40744;
|
|
|
+ var name = GetQueryString('name') || "密西根糖尿病周围神经病评分(MDNS)";
|
|
|
+ var url = "http://192.168.2.236:5050/api/icss/push/pushInner";
|
|
|
+ var urlParam = parseUrlParams(); //参数
|
|
|
+ // 用GetQueryString方法从地址栏获取参数,暂时写死
|
|
|
+ var params = {
|
|
|
+ // "age": parseInt(urlParam.age) || 28,
|
|
|
+ // "featureType": urlParam.featureType ||'21',
|
|
|
+ // "scaleId": urlParam.scaleId ||40744,
|
|
|
+ // "scaleName": urlParam.scaleName || "密西根糖尿病周围神经病评分(MDNS)",
|
|
|
+ // "sex": parseInt(urlParam.sex) || 1,
|
|
|
+ // "diag": urlParam.diag || "肺结核(复诊); ",
|
|
|
+ // "lis": JSON.parse(urlParam.lis) || []
|
|
|
+
|
|
|
+ "age": 28,
|
|
|
+ "featureType": '21',
|
|
|
+ "scaleId": id,
|
|
|
+ "scaleName": name,
|
|
|
+ "sex": 1,
|
|
|
+ "diag": "肺结核(复诊); ",
|
|
|
+ "lis": []
|
|
|
+
|
|
|
+ }
|
|
|
+ if(id){
|
|
|
+ $.ajax({
|
|
|
+ method:'post',
|
|
|
+ url:url,
|
|
|
+ data:JSON.stringify(params),
|
|
|
+ dataType:'json',
|
|
|
+ contentType:'application/json',
|
|
|
+ success:function(res){
|
|
|
+ if(res.code==0){
|
|
|
+ scaleInfo = res.data.scale;
|
|
|
+ // console.log('量表数据为:',scaleInfo);
|
|
|
+ for (var i = 0; i < scaleInfo.length; i++) {
|
|
|
+ if( scaleInfo[i].type == 1) {
|
|
|
+ var scaleList = JSON.parse(scaleInfo[i].content)
|
|
|
+ // console.log('scaleList', scaleList)
|
|
|
+ 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
|
|
|
+ // console.log('this',$(this).parent().parent().parent())
|
|
|
+ $(this).parent().parent().parent().removeClass('noSelect')
|
|
|
+ })
|
|
|
+
|
|
|
+ $('.calcuBtn').on('click', function() {
|
|
|
+ // console.log('scaleList', scaleList)
|
|
|
+ let allSelect = true
|
|
|
+ for (let i = 0; i < scaleList.group.length; i++) {
|
|
|
+ for (let j = 0; j < scaleList.group[i].rows.length; j++) {
|
|
|
+ for (let x = 0; x < scaleList.group[i].rows[j].row.length; x++) {
|
|
|
+ let itemSelect = false
|
|
|
+ // console.log('scaleList.group[i].rows[j].row[x].details', scaleList.group[i].rows[j].row[x].details)
|
|
|
+ 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 + x).addClass('noSelect')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(allSelect) {
|
|
|
+ getCalcuResult(scaleList)
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error:function(err){
|
|
|
+ console.log('请求失败:',err);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+function renderCalcu(scaleList) {
|
|
|
+ $("h1").html(scaleList.scaleName);
|
|
|
+ var str = ''
|
|
|
+ for(var j = 0; j < scaleList.group.length; j++) {
|
|
|
+ str += '<div class="groupBox"> <div class="groupName">' + scaleList.group[j].groupName + '</div>';
|
|
|
+ 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 += '<span class="groupRowRadio"><input type=radio data-index='+ j +',' + x+',' + y +',' + z +' name='+scaleList.group[j].rows[x].row[y].name +' id='+scaleList.group[j].rows[x].row[y].name+scaleList.group[j].rows[x].row[y].details[z].detailName
|
|
|
+ if (scaleList.group[j].rows[x].row[y].details[z].select == 1) {
|
|
|
+ str2 += ' checked="checked"'
|
|
|
+ }
|
|
|
+ str2 += ' />'+'<label for="'+scaleList.group[j].rows[x].row[y].name+scaleList.group[j].rows[x].row[y].details[z].detailName+'">' + scaleList.group[j].rows[x].row[y].details[z].detailName + '('+scaleList.group[j].rows[x].row[y].details[z].score +')'+'</label>'
|
|
|
+ if (scaleList.group[j].rows[x].row[y].name+scaleList.group[j].rows[x].row[y].details[z].state == 1) {
|
|
|
+ str2 += '<span class="groupRowRecommend">智能推荐</span>'
|
|
|
+ }
|
|
|
+ str2 += '</span>'
|
|
|
+ }
|
|
|
+ str +='<div class="groupRowWrapper" id="'+ j+ x + y +'"><div class="groupRowName">'+ (x+1) + ' ' +scaleList.group[j].rows[x].row[y].name + '</div><div class="groupRowBox">' + str2 + '</div>' + '</div>'
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if(scaleList.group[j].groupCalculate.isShow == 1) {
|
|
|
+ str += '<div class="calcu">记分:'+ scaleList.group[j].groupCalculate.result.value +' '+ scaleList.group[j].groupCalculate.result.text +'</div>'
|
|
|
+
|
|
|
+ }
|
|
|
+ str += '</div>'
|
|
|
+
|
|
|
+ }
|
|
|
+ var calcuStr = '<div class="allCalcuBox"><span class="allCalcu">总分:'
|
|
|
+ if(scaleList.calculate && scaleList.calculate.result) {
|
|
|
+ calcuStr += scaleList.calculate.result.value + ' ' + scaleList.calculate.result.text
|
|
|
+ }
|
|
|
+ calcuStr += '</span><span class="calcuBtn">计算<span></div>'
|
|
|
+ var allStr = '<div class="calcuWrapper">' + str + calcuStr + '</div>'
|
|
|
+ $('.content').append(allStr)
|
|
|
+}
|
|
|
+
|
|
|
+function parseUrlParams(){
|
|
|
+ // var url = 'http://localhost:8082/scale.html?age=28&featureType=21&scaleId=40744&scaleName=密西根糖尿病周围神经病评分(MDNS)&sex=1&diag=肺结核(复诊);&lis=[]'
|
|
|
+ var url = window.location.search;
|
|
|
+ var params = url.substring(url.indexOf('?')+1).split("&");
|
|
|
+ var tmp = '',obj = {},it={};
|
|
|
+ for(var i=0;i<params.length;i++) {
|
|
|
+ it = params[i];
|
|
|
+ tmp = it.split("=");
|
|
|
+ if (tmp[0] && tmp[1]) {
|
|
|
+ obj[tmp[0]] = tmp[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return obj;
|
|
|
+ // var obj={};
|
|
|
+ // url.replace(/([^?&=]+)=([^&]+)/g,(_,k,v)=>q[k]=v);
|
|
|
+ // return obj;
|
|
|
+}
|
|
|
+
|
|
|
+ function getCalcuResult(data) {
|
|
|
+ var url = "http://192.168.2.236:5050/api/icss/calc/calculate";
|
|
|
+ const param = {
|
|
|
+ type: 1,
|
|
|
+ data: data
|
|
|
+ }
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ // 'Accept': 'application/json, text/plain, */*',
|
|
|
+ 'Content-Type':'application/json; charset=utf-8'
|
|
|
+ },
|
|
|
+ data: JSON.stringify(param),
|
|
|
+ success: function(res) {
|
|
|
+ // console.log('calcaRes', res, data)
|
|
|
+ if (res.code == 0) {
|
|
|
+
|
|
|
+ data.calculate.result = res.data.calcalculate.result
|
|
|
+ for(let i = 0; i < res.data.group.length; i++) {
|
|
|
+ for(let j = 0; j < data.group.length; j++) {
|
|
|
+ if (res.data.group[i].groupName == data.group[j].groupName) {
|
|
|
+ data.group[j].groupCalculate.result = res.data.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)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ error: function(error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|