123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- $(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);
- }
- }
- })
|