|
@ -4,9 +4,9 @@ $(function(){
|
|
|
isLeader = isTeamLeader(),
|
|
|
prescriptionCode = request.code;
|
|
|
|
|
|
var medicineFreqData = []
|
|
|
var usageDict = []
|
|
|
|
|
|
var medicineFreqData = [];
|
|
|
var usageDict = [];
|
|
|
var isChangeDiagnosis = 0; //判断是否改变疾病类型
|
|
|
var $main = $('#main');
|
|
|
|
|
|
template.helper('toJson',function(o) {
|
|
@ -24,11 +24,15 @@ $(function(){
|
|
|
}
|
|
|
}),
|
|
|
prescriptionDetailApis.getRateList({data:{}}),
|
|
|
prescriptionDetailApis.getUsageDict({data:{}})
|
|
|
prescriptionDetailApis.getUsageDict({data:{}}),
|
|
|
prescriptionDetailApis.getReasonByType({data: {type:1}})
|
|
|
]).then(function(responses) {
|
|
|
$main.html(template('detailTmpl',responses[0].data))
|
|
|
var prescriptionInfo = responses[0].data;
|
|
|
var reasonTypes = responses[3].data;
|
|
|
$main.html(template('detailTmpl', $.extend({},prescriptionInfo, {reasonTypes:reasonTypes})))
|
|
|
medicineFreqData = responses[1].data
|
|
|
usageDict = responses[2].data
|
|
|
|
|
|
bindEvents()
|
|
|
initDiagnosisSuggestInput()
|
|
|
initDrugNameSuggestInput()
|
|
@ -52,9 +56,12 @@ $(function(){
|
|
|
})
|
|
|
|
|
|
$('#adjustReason').on('click','li',function() {
|
|
|
$('#disagreeReason').val($.trim($(this).text()))
|
|
|
$(this).siblings().removeClass('active');
|
|
|
$(this).addClass('active')
|
|
|
if($(this).hasClass('active')) {
|
|
|
$(this).removeClass('active')
|
|
|
} else {
|
|
|
$(this).addClass('active')
|
|
|
}
|
|
|
setAdjustReason()
|
|
|
})
|
|
|
|
|
|
$('#drugs').on('click','.icon-shanchu',function() {
|
|
@ -67,11 +74,17 @@ $(function(){
|
|
|
} else {
|
|
|
$input.val(0)
|
|
|
}
|
|
|
countMediSum($(this).closest('.ibox-content'))
|
|
|
var $box = $(this).closest('.ibox-content')
|
|
|
countMediSum($box)
|
|
|
}).on('click','.icon-xinzeng',function() {
|
|
|
var $input = $(this).closest('li').find('input').eq(0);
|
|
|
var amount = parseInt($input.val()||'0')
|
|
|
$input.val(amount + 1)
|
|
|
var $box = $(this).closest('.ibox-content')
|
|
|
countMediSum($box)
|
|
|
}).on('blur', 'input.j-medi-single, input.j-selDate',function() {
|
|
|
var $box = $(this).closest('.ibox-content')
|
|
|
countMediSum($box)
|
|
|
})
|
|
|
|
|
|
$('.diagnosis-wrap').on('click',function() {
|
|
@ -98,7 +111,8 @@ $(function(){
|
|
|
var name = $('#diagnosisInput').val()
|
|
|
var code = $('#diagnosisInput').attr('data-code')
|
|
|
if(name && code) {
|
|
|
var html = template('diagnosisTmpl', {name: name})
|
|
|
isChangeDiagnosis = 1;
|
|
|
var html = template('diagnosisTmpl', {data:{name: name,code:code}})
|
|
|
$('#diagnosis').append(html)
|
|
|
}
|
|
|
$('#diagnosisInput').val('')
|
|
@ -111,9 +125,100 @@ $(function(){
|
|
|
|
|
|
$('#diagnosis').on('click', '.fa-close' ,function() {
|
|
|
$(this).closest('li').remove()
|
|
|
isChangeDiagnosis = 1;
|
|
|
})
|
|
|
}
|
|
|
$('#backBtn').on('click',function() {
|
|
|
history.go(-1);
|
|
|
})
|
|
|
$('#confirmBtn').click(function(){
|
|
|
var $sum = $(".j-sumMedicine");
|
|
|
if($sum.length > 0){
|
|
|
for(var i=0;i<$sum.length;i++){
|
|
|
if(! $sum.eq(i).attr('data-num')){
|
|
|
showErrorMsg('请完善药品信息')
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var msgArr = [],
|
|
|
$box = $('#drugs .ibox-content');
|
|
|
for(var i=0;i<$box.length;i++){
|
|
|
var data = {};
|
|
|
var saveData = JSON.parse($box.eq(i).attr('data-json'));
|
|
|
data.prescriptionCode = prescriptionCode;
|
|
|
data.drugCode = saveData.drugCode;
|
|
|
data.drugName = $box.eq(i).find('.j-drugName').val().replace(/\(/,'(').replace(/\)/,')');
|
|
|
data.drugRate = $box.eq(i).find('.j-selFreq').attr('data-code');
|
|
|
data.drugRateName = $box.eq(i).find('.j-selFreq').val();
|
|
|
data.drugFormat=saveData.drugFormat.replace(/\(/,'(').replace(/\)/,')');
|
|
|
data.subjectClass = $box.eq(i).attr('data-class');
|
|
|
data.isRefrigerate = $box.eq(i).attr('data-storage')==2?1:0;
|
|
|
data.physicAmount = "";
|
|
|
data.physicAmountUnit = saveData.physicAmountUnit;
|
|
|
data.physicAmountUnitName = saveData.physicAmountUnitName;
|
|
|
data.physicDose = $box.eq(i).find('.j-medi-single').val().trim();
|
|
|
data.physicDoseUnit = $box.eq(i).find('.j-dose-unit').attr('data-unit');
|
|
|
data.physicDoseUnitName = $box.eq(i).find('.j-dose-unit').text();
|
|
|
data.drugNumUnit = $box.eq(i).find('.j-sumMedicine').attr('data-unit');//取当次用量单位
|
|
|
data.drugNumUnitName = $box.eq(i).find('.j-sumMedicine').attr('data-name');
|
|
|
data.drugUsage= $box.eq(i).find('.j-method').attr('data-code');
|
|
|
data.usageName= $box.eq(i).find('.j-method').val();
|
|
|
data.num= $box.eq(i).find(".j-sumMedicine").attr('data-num');//取总量
|
|
|
data.dayCount=$box.eq(i).find('.j-selDate').val();
|
|
|
msgArr.push(data);
|
|
|
}
|
|
|
//调整CODE
|
|
|
var reasonCode= _.map($('#adjustReason li.active'),function(el) {
|
|
|
return $(el).attr('data-code')
|
|
|
}).join(',')
|
|
|
var params= {
|
|
|
code:prescriptionCode,
|
|
|
infos:JSON.stringify(msgArr),
|
|
|
reason:$('#adjustReasonTextarea').val().trim()?$('#adjustReasonTextarea').val().trim():'-',
|
|
|
reasonCode:reasonCode,
|
|
|
diagnosis:(function(){
|
|
|
// TODO
|
|
|
var diagnosis = [];
|
|
|
if(isChangeDiagnosis) {
|
|
|
diagnosis = _.map($('#diagnosis li'),function(el) {
|
|
|
var data = JSON.parse($(el).attr('data-json'))
|
|
|
return {
|
|
|
code: data.code,
|
|
|
name: data.name
|
|
|
}
|
|
|
})
|
|
|
return JSON.stringify(diagnosis)
|
|
|
}
|
|
|
return ""
|
|
|
})()
|
|
|
}
|
|
|
|
|
|
prescriptionDetailApis.updatePresInfo({
|
|
|
data: params
|
|
|
}).then(function(res) {
|
|
|
if(res.status == 200){
|
|
|
showSuccessMsg("保存成功")
|
|
|
location.reload(true)
|
|
|
} else {
|
|
|
showErroeMsg("保存失败")
|
|
|
}
|
|
|
})
|
|
|
|
|
|
})
|
|
|
}
|
|
|
function setAdjustReason() {
|
|
|
var reasons = _.map($('#adjustReason li.active'),function(el) {
|
|
|
return $.trim($(el).text())
|
|
|
});
|
|
|
if(reasons && reasons.length) {
|
|
|
$('#adjustReasonTextarea').val(reasons.join(','))
|
|
|
$('#adjustReasonTextarea').focus()
|
|
|
}
|
|
|
}
|
|
|
function initDiagnosisSuggestInput() {
|
|
|
$('#diagnosisInput').bsSuggest({
|
|
|
url: APIService.server+'doctor/prescriptionInfo/getIcd10Info?nameKey=',
|
|
@ -153,9 +258,11 @@ $(function(){
|
|
|
$freq = $box.find(".j-selFreq"),
|
|
|
$date = $box.find(".j-selDate");
|
|
|
var json = v.json;
|
|
|
$box.attr('data-json',JSON.stringify(json))
|
|
|
$single.val(json.physicDose)
|
|
|
$single.attr('data-code', json.physicDoseUnit)
|
|
|
$doseUnit.text(json.physicDoseUnitName)
|
|
|
$doseUnit.attr('data-unit', json.physicDoseUnit)
|
|
|
$freq.val(json.drugRateName||"")
|
|
|
$freq.attr('data-code', json.drugRate)
|
|
|
$date.val(json.dayCount||"")
|
|
@ -172,6 +279,8 @@ $(function(){
|
|
|
ignorecase: true
|
|
|
}).on('onSetSelectValue', function (e, v) {
|
|
|
$(this).attr('data-code', v.id)
|
|
|
var $box = $(this).closest('.ibox-content')
|
|
|
countMediSum($box)
|
|
|
})
|
|
|
}
|
|
|
|
|
@ -188,7 +297,8 @@ $(function(){
|
|
|
effectiveFields: ['day'],
|
|
|
ignorecase: true
|
|
|
}).on('onSetSelectValue', function (e, v) {
|
|
|
|
|
|
var $box = $(this).closest('.ibox-content')
|
|
|
countMediSum($box)
|
|
|
})
|
|
|
}
|
|
|
|
|
@ -207,45 +317,61 @@ $(function(){
|
|
|
|
|
|
//计算药品总量
|
|
|
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)
|
|
|
var single = $box.find(".j-medi-single").val(),
|
|
|
freq = $box.find(".j-selFreq").attr('data-code'),
|
|
|
date = $box.find(".j-selDate").val(),
|
|
|
$sum = $box.find('.j-sumMedicine'),
|
|
|
$info = JSON.parse($box.attr('data-json'));
|
|
|
if(!single || !freq || !date) {
|
|
|
return ;
|
|
|
} else {
|
|
|
single = single.trim();
|
|
|
freq = freq.trim();
|
|
|
date = date.trim();
|
|
|
}
|
|
|
if(single && freq && date){
|
|
|
prescriptionDetailApis.drugToRate({data:{code: freq}}).then(function(res){
|
|
|
if(res.status == 200){
|
|
|
var rate = res.data.rate
|
|
|
var num = single*rate*date
|
|
|
var sum="";
|
|
|
if($info.pakeSpec){
|
|
|
//新增药品
|
|
|
sum = Math.ceil(num/$info.minDose)
|
|
|
$sum.text(sum+$info.drugNumUnitName)
|
|
|
$sum.attr('data-num',sum)
|
|
|
$sum.attr('data-name',$info.drugNumUnitName);
|
|
|
$sum.attr('data-unit',$info.drugNumUnit);
|
|
|
}else{
|
|
|
var drugNumUnit = $info.drugNumUnit,
|
|
|
physicDoseUnit = $info.physicDoseUnit;
|
|
|
//请求药品信息
|
|
|
var drugCode = $info.drugCode;
|
|
|
|
|
|
prescriptionDetailApis.getPhysicInfo({data:{code: drugCode}}).then(function(res){
|
|
|
if(res.status == 200){
|
|
|
var msg = res.data[0]
|
|
|
$box.attr('data-storage',msg.storageConditions);//冷藏
|
|
|
$box.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)
|
|
|
}
|
|
|
}
|
|
|
$sum.text(sum+$info.drugNumUnitName)
|
|
|
$sum.attr('data-num',sum)
|
|
|
$sum.attr('data-name',$info.drugNumUnitName);
|
|
|
$sum.attr('data-unit',$info.drugNumUnit);
|
|
|
}
|
|
|
}
|
|
|
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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
})
|