$(function(){ var request = getRequest(), teamCode = request.id, isLeader = isTeamLeader(), prescriptionCode = request.code; var medicineFreqData = [] var usageDict = [] var $main = $('#main'); template.helper('toJson',function(o) { if(o) { return JSON.stringify(o) } return ""; }) Promise.all([ prescriptionDetailApis.getContinuedPrescriptionAsDoctor({ data: { code: prescriptionCode, // 续方CODE type: isLeader?1:2 // 是否为团队长,1:是,2:否 } }), prescriptionDetailApis.getRateList({data:{}}), prescriptionDetailApis.getUsageDict({data:{}}) ]).then(function(responses) { $main.html(template('detailTmpl',responses[0].data)) medicineFreqData = responses[1].data usageDict = responses[2].data bindEvents() initDiagnosisSuggestInput() initDrugNameSuggestInput() initFreqSuggestInput() initDaySuggestInput() initUsageSuggestInput() calcWorldWithTextarea() }).catch(function(e) { console && console.error(e) }) function bindEvents() { $('#addDrugBtn').click(function() { var html = template('drugTmpl',{}) $('#drugs').append(html) initDrugNameSuggestInput() initFreqSuggestInput() initDaySuggestInput() initUsageSuggestInput() }) $('#adjustReason').on('click','li',function() { $('#disagreeReason').val($.trim($(this).text())) $(this).siblings().removeClass('active'); $(this).addClass('active') }) $('#drugs').on('click','.icon-shanchu',function() { $(this).closest('.ibox-content').remove(); }).on('click','.icon-jianshao',function() { var $input = $(this).closest('li').find('input').eq(0); var amount = parseInt($input.val()||'0') if(amount > 0) { $input.val(amount - 1) } else { $input.val(0) } countMediSum($(this).closest('.ibox-content')) }).on('click','.icon-xinzeng',function() { var $input = $(this).closest('li').find('input').eq(0); var amount = parseInt($input.val()||'0') $input.val(amount + 1) }) $('.diagnosis-wrap').on('click',function() { $('#placeholdText').hide() $('#diagnosisInput').show() $('#diagnosisInput').focus() }) $('#addDiagnosisBtn').on('click',function() { $(this).hide(); $('.diagnosis-wrap').show(); setTimeout(function() { $('#diagnosisInput').click() },100) }) $('#diagnosisInput').on('blur keydown',function(e) { if(e.type == 'keydown' && e.keyCode == 13) { $('#diagnosisInput').blur() } else { if(e.type == 'blur') { $('#placeholdText').show() $('#diagnosisInput').hide() var name = $('#diagnosisInput').val() var code = $('#diagnosisInput').attr('data-code') if(name && code) { var html = template('diagnosisTmpl', {name: name}) $('#diagnosis').append(html) } $('#diagnosisInput').val('') $('#diagnosisInput').attr('data-code','') $('#addDiagnosisBtn').show() $('.diagnosis-wrap').hide() } } }) $('#diagnosis').on('click', '.fa-close' ,function() { $(this).closest('li').remove() }) } function initDiagnosisSuggestInput() { $('#diagnosisInput').bsSuggest({ url: APIService.server+'doctor/prescriptionInfo/getIcd10Info?nameKey=', getDataMethod:'url', idField: "code", keyField: "name", effectiveFields: ['name'], ignorecase: true, fnProcessData: function(res) { return { value: res.data } } }).on('onSetSelectValue', function (e, v) { $(this).attr('data-code', v.id) }) } function initDrugNameSuggestInput() { $("input.j-drugName").bsSuggest({ url: APIService.server+'doctor/prescriptionInfo/findDictByName?name=', getDataMethod:'url', idField: "drugCode", keyField: "drugName", effectiveFields: ['drugName','drugFormat'], effectiveFieldsAlias:{drugName: "药品名称",drugFormat:"规格"}, ignorecase: true, fnProcessData: function(res) { return { value: res.data } } }).on('onSetSelectValue', function (e, v) { var $box = $(this).closest('.ibox-content'), $single = $box.find(".j-medi-single"), $doseUnit = $box.find('.j-dose-unit'), $freq = $box.find(".j-selFreq"), $date = $box.find(".j-selDate"); var json = v.json; $single.val(json.physicDose) $single.attr('data-code', json.physicDoseUnit) $doseUnit.text(json.physicDoseUnitName) $freq.val(json.drugRateName||"") $freq.attr('data-code', json.drugRate) $date.val(json.dayCount||"") }) } function initFreqSuggestInput() { $("input.j-selFreq").bsSuggest({ data: {value: medicineFreqData}, idField: "code", keyField: "name", getDataMethod:'data', effectiveFields: ['name'], ignorecase: true }).on('onSetSelectValue', function (e, v) { $(this).attr('data-code', v.id) }) } function initDaySuggestInput() { $("input.j-selDate").bsSuggest({ data: {value: _.map(_.range(1, 31),function(v) { return { day: v } })}, idField: "day", keyField: "day", getDataMethod:'data', effectiveFields: ['day'], ignorecase: true }).on('onSetSelectValue', function (e, v) { }) } function initUsageSuggestInput() { $("input.j-method").bsSuggest({ data: {value: usageDict}, idField: "code", keyField: "name", getDataMethod:'data', effectiveFields: ['name'], ignorecase: true }).on('onSetSelectValue', function (e, v) { }) } //计算药品总量 function countMediSum($box){ var $single = $box.find(".j-medi-single").val().trim(), $freq = $box.find(".j-selFreq").attr('data-code').trim(), $date = $box.find(".j-selDate").val().trim(), $info = JSON.parse($ul.attr('data-info')); if($name && $single && $freq && $date){ toFreqRate($freq,function(rate){ var num = $single*rate*$date var sum=""; if($info.pakeSpec){ //新增药品 sum = Math.ceil(num/$info.minDose) showResultSum(sum); }else{ var drugNumUnit = $info.drugNumUnit, physicDoseUnit = $info.physicDoseUnit; //请求药品信息 var drugCode = $info.drugCode; toMediMsg(drugCode,function(msg){ $ul.find(".j-medi-name").attr('data-storage',msg.storageConditions);//冷藏 $ul.find(".j-medi-name").attr('data-class',msg.subjectClass); if(drugNumUnit == physicDoseUnit){ sum = num }else{ if(drugNumUnit == msg.pack_unit){ sum = Math.ceil(num/msg.packSpec) }else{ sum = Math.ceil(num/msg.minDose) } } showResultSum(sum); }) } }) } function showResultSum(sum){ $ul.find(".j-sumMedicine").html(sum+$info.drugNumUnitName); $ul.find(".j-sumMedicine").attr('data-num',sum); $ul.find(".j-sumMedicine").attr('data-name',$info.drugNumUnitName); $ul.find(".j-sumMedicine").attr('data-unit',$info.drugNumUnit); } } })