var Requests = GetRequest(),
fromEventType = Requests.eventType;
var $date = $("#date"),
$type = $('#type'),
$member = $('#member'),
$hospital = $('#hospital'),
$dept = $('#dept'),
$docName = $('#doc_name');
var userAgent = JSON.parse(window.localStorage.getItem(agentName));
function updateImageCounter() {
var cur = gallery.getCurrentIndex()+1;
var amount = gallery.items.length;
$('#cur_page').text(cur);
$('#amount_page').text(amount);
}
function initImageTypeBox($img) {
var catalog = $img.attr('data-catalog');
var subCatalog = $img.attr('data-sub-catalog');
$('.img-catalog').find('a.c-btn-icon').removeClass('active');
$('.sub-catalog').find('a.c-btn-icon').removeClass('active');
$('.img-catalog').find('a.c-btn-icon[data-type="'+catalog+'"]').trigger('click',[false]);
$('.sub-catalog').find('a.c-btn-icon[data-type="'+subCatalog+'"]').trigger('click',[false]);
}
function validRequired() {
var form = getFormData();
var date = form.date,
type = form.type;
if(!date || !type) {
return false;
}
return true;
}
function getFormData() {
return {
date: $('#date').val(),
type: $('#type').attr('data-val'),
hospital: $('#hospital').val(),
dept: $('#dept').val(),
doctor: $('#doc_name').val(),
diagnosis: _.map($('#diagnosis li'),function(el) {
return $(el).find('.c-list-info').text()
})
}
}
Promise.resolve()
.then(function() {
/* 选择日期 */
var opt = {
preset: 'date',
theme: 'ios',
lang: 'zh',
minDate: new Date(1900, 01, 01)
};
$('input[data-time=date]').mobiscroll(opt);
var date = new Date()
$date.val(date.Format("yyyy-MM-dd"));
})
.then(function() {
var arr_key=['1', '2', '3'];
var arr_value=['门/急诊', '住院','体检'];
$type.mobiscroll({
theme: 'ios',
lang: 'zh',
formatValue: function(d) {
return d.join(',');
},
customWheels: true,
wheels: [
[{
keys: arr_key,
values: arr_value
}]
],
onSelect: function(valueText, inst) {
var dd = eval("[" + valueText + "]");
$type.attr('data-val',dd[0].keys);
$type.val(dd[0].values);
}
});
//关联被代理人
$member.attr('data-val',userAgent.represented?userAgent.represented:userAgent.uid);
$member.val(window.localStorage.getItem('nowPatientName'));
}).then(function() {
$('#add_diag').on('click',function() {
var $diagInp = $('#diag_input'),
diag = $.trim($diagInp.val());
if(diag) {
var li = '
'
+''+ diag +'
'
+''
+''
$('#diagnosis').append(li);
$diagInp.val('');
}
});
$('#diagnosis').on('click','.del-icon',function(){
var $li = $(this).closest('li');
$li.remove();
});
$('#img_ul').on('click','li:not(#add_img_li)',function() {
previewImage($(this).index());
var preIdx = $(this).index();
gallery.listen('beforeChange', function() {
var imgIdx = preIdx;
var $li = $('#img_ul').find('li:not(#add_img_li)').eq(imgIdx);
var $img = $li.find('img:not(.del-icon)');
var $p = $li.find('.catalog-name');
var catalog = $img.attr('data-catalog')||"";
var subCatalog = $img.attr('data-sub-catalog')||"";
var name = catalog+(subCatalog?('_'+subCatalog):"");
if(name=="_") {
$p.hide();
} else {
$p.text(name).show();;
}
});
gallery.listen('afterChange', function() {
updateImageCounter();
var imgIdx = gallery.getCurrentIndex();
preIdx = imgIdx;
var $li = $('#img_ul').find('li:not(#add_img_li)').eq(imgIdx);
var $img = $li.find('img:not(.del-icon)');
initImageTypeBox($img);
});
updateImageCounter();
initImageTypeBox($(this).find('img:not(.del-icon)'));
}).on('click','.del-wrap',function() {
$(this).closest('li').remove();
return false;
});
$('.img-catalog').on('click','a.c-btn-icon',function(e,toNext) {
var ref = $(this).attr('data-ref');
if(ref) {
$('.sub-catalog').not('#'+ref).hide();
$('#'+ref).slideDown().find('a.c-btn-icon').removeClass('active');
} else {
$('.sub-catalog').hide();
}
var $catalog = $(this).closest('.img-catalog');
$catalog.find('a.c-btn-icon').removeClass('active');
$(this).addClass('active');
var imgIdx = gallery.getCurrentIndex();
var $li = $('#img_ul').find('li:not(#add_img_li)').eq(imgIdx);
var $img = $li.find('img:not(.del-icon)');
$img.attr('data-catalog',$(this).attr('data-type'));
if(toNext!==false && !ref) {
//gallery.next();
}
})
$('.sub-catalog').on('click','a.c-btn-icon',function(e,toNext) {
var $catalog = $(this).closest('.sub-catalog');
$catalog.find('a.c-btn-icon').removeClass('active');
$(this).addClass('active');
var imgIdx = gallery.getCurrentIndex();
var $li = $('#img_ul').find('li:not(#add_img_li)').eq(imgIdx);
var $img = $li.find('img:not(.del-icon)');
$img.attr('data-sub-catalog',$(this).attr('data-type'));
if(toNext!==false) {
//gallery.next();
}
});
$('#set_type_ack').on('click',function() {
gallery.close();
});
$('#save_btn').on('click',function() {
if(validRequired()) {
var form = getFormData();
var images = _.map($('#img_ul img:not(.del-icon)'),function(img){
var $img = $(img);
return {
"imgUrl": $img.attr('src'),
"imgLabel": $img.attr('data-sub-catalog')||"",
"imgType": $img.attr('data-catalog') || ""
}
});
var diagnosis = _.map($('#diagnosis li'),function(el) {
return $(el).find('.c-list-info').text()
});
var $diagInp = $('#diag_input'),
diag = $.trim($diagInp.val());
if(diag) { // 如果用户忘记点击“添加”诊断,则自动保存
diagnosis.push(diag);
}
var d = dialog({contentType:'load', skin:'bk-popup',content: '正在保存,请稍后'}).showModal();
var params = {
patient: userAgent.represented?userAgent.represented:userAgent.uid,
orgName: form.hospital,
deptName: form.dept,
doctorName: form.doctor,
eventDate: form.date,
eventType: form.type,
dianosis: diagnosis.join(','),
eventImg: images
};
getReqPromise("patient/archives/event/save",{data: JSON.stringify(params)},'JSON','POST')
.then(function(res) {
d.close();
if(res.status == 200) {
dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'保存成功!'}).show();
window.history.back();
} else {
dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'保存失败!'}).show();
}
}).catch(function(e) {
d.close();
dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'保存失败!'}).show();
console && console.error(e);
});
} else {
dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请填写完整信息'}).show();
}
});
}).catch(function(e) { console && console.error(e); })