Forráskód Böngészése

Merge branch 'master' of http://192.168.1.220:10080/raolu/PC-prescription

yezehua 7 éve
szülő
commit
5733d3f530

+ 10 - 5
js/api-service.js

@ -18,12 +18,14 @@
	
	
    userAgent = localStorage.getItem(agentName)
    //hard code userAgent for test
	
    //hard code userAgent for test start
    //全科
    // userAgent = {"id":4798,"uid":"hxmD201703150222","token":"a69244e7c000c2db07f6cb5c2e44e8f4","imei":"A8221352625AFE32","platform":4}
    // userAgent = {"id":4800,"uid":"zbqD201703150222","imei":"864394010176834","token":"9b23e4ec0bcd3b9fa72a52f91544a4e9","platform":4,"hospital":"3502050100"}
	//健管
    // userAgent = {"id":4821,"uid":"zbqD201703150228","imei":"864394010176834","token":"73f5ace5c7d4cdb811f743902fd705d9","platform":2,"hospital":"3502050100"}; 
    userAgent = JSON.stringify({"id":4798,"uid":"hxmD201703150222","token":"0af1d911281cfec43bcf7da6e18f227b","imei":"40C1416D42D02EA9","platform":4});
    // userAgent = {"id":4821,"uid":"zbqD201703150228","imei":"864394010176834","token":"73f5ace5c7d4cdb811f743902fd705d9","platform":4,"hospital":"3502050100"}; 
    // userAgent = JSON.stringify(userAgent);
    //hard code userAgent for test end
    
    if(userAgent) {
        try{
@ -133,7 +135,10 @@
		}
		if(tip) {
			toastr && toastr.warning(tip)
			// location.replace(loginUrl+'?redirect_url='+encodeURIComponent(location.href))
			
			setTimeout(function(){
                location.replace(loginUrl+'?redirect_url='+encodeURIComponent(location.href))
            }, 1000);
		}
    }
	

+ 8 - 1
js/buz/index.js

@ -34,14 +34,21 @@ function getTeamInfo(){
        if(res.status == 200){
            var manageTeams = '',
                orderTeams = '';
            var isLeader2 = false;
            if(level == 3){ //健管师,则续方订单中需要加上额外的两个菜单
                orderTeams = '<li><a class="J_menuItem" href="order-list-jg.html?type=1" data-index="0">需跟踪订单</a></li>'+
                    '<li><a class="J_menuItem" href="order-list-jg.html?type=2" data-index="0">已接收订单</a></li>';
            }
            for(var i=0; i<res.data.length; i++){
                var item = res.data[i];
                if(item.leaderCode == docInfo.code){
                    isLeader2 = true;
                }else{
                    isLeader2 = false;
                }
                console.log(isLeader2);
                manageTeams += '<li><a class="J_menuItem" href="prescription-management.html?id='+item.id+'" data-index="0" data-id="'+item.id+'">'+item.name+'</a></li>';
                orderTeams += '<li><a class="J_menuItem" href="order-list.html?id='+item.id+'&isLeader='+isLeader+'" data-index="0">'+item.name+'</a></li>';
                orderTeams += '<li><a class="J_menuItem" href="order-list.html?id='+item.id+'&isLeader='+isLeader2+'" data-index="0">'+item.name+'</a></li>';
            }
            $("#manageTeams").empty().append(manageTeams);
            $("#orderTeams").empty().append(orderTeams);

+ 14 - 8
js/buz/order-list.js

@ -20,7 +20,7 @@ var startDate = '',
    selectDoctor; //选中的医生
$(function(){
    //非团队长隐藏操作按钮
    if(!isLeader){
    if(!isLeader || isLeader == 'false'){
        $("#arrange").hide();
    }
    //填充下拉框数据
@ -77,13 +77,16 @@ function getPrescriptionList( refresh){
                        o.result = result;
                        o.statusName = getStatusName(o.status);
                        o.express = getExpressName(o.dispensaryType);
                        var address = "";
                        var address = "",
                            expressage = "";
                        if(o.dispensaryType == 2){
                            address = o.patientHospitalAddress;
                            o.expressageName = o.expressageHospitalName;
                        }else{
                            address = o.expressageHospitalName;
                            expressage = o.expressageHospitalName;
                            address = o.provinceName + o.cityName + o.townName + o.address;
                        }else if(o.dispensaryType == 3){
                            address = o.patientHospitalName;
                            expressage = o.expressageName;
                        }
                        o.expressage = expressage;
                        o.address = address;
                        o.action = '<a class="c-12b7f5" href="prescription-main.html?code='+o.code+'&patiCode='+o.patientCode+'&teamCode='+teamCode+'&tab=2">查看</a>';
                        o.checkbox = '<input name="orderItem" type="checkbox" class="icon-checkbox" data-status="'+o.status+'" data-type="'+o.dispensaryType+'" data-expressage="'+o.expressageCode+'" data-code="'+o.code+'">';
@ -103,7 +106,6 @@ function getPrescriptionList( refresh){
}
function queryParams(params) {
    console.log(params);
    //当表格数据变化的时候,则取消全选按钮,然后之前的选中的信息将取消选中
    page = params.offset/params.limit + 1;
    selectItemNum = 0;
@ -167,7 +169,11 @@ function getHealthDoctorList(isRefresh){
        }],
        onClickRow: function(row, $el){
            $("#orderCount").text(selectItemNum);
            $("#docInfo").text(row.name+row.jobName);
            var jobName = '';
            if(row.jobName){
                jobName = row.jobName;
            }
            $("#docInfo").text(row.name+jobName);
            $("#confirmModal").modal('toggle');
            selectDoctor = row.code;
        }

+ 4 - 1
js/buz/order-tracking.js

@ -1,6 +1,9 @@
var request = getRequest(),
    prescriptionCode = request.code;
var docInfo = window.localStorage.getItem("docInfo");
docInfo = JSON.parse(docInfo);
$(function(){
    getPrescriptionFollow();
    bindEvents();
@ -13,7 +16,7 @@ function getPrescriptionFollow(){
    orderAPI.getPrescriptionFollow({data: params}).then(function(res){
        if(res.status == 200){
            //如果是健管师配送,且未分配健管师,则显示‘分配’按钮
            if(res.data.dispensaryDispensaryType == 3 && !res.data.prescriptionExpressage.expressageName){
            if((docInfo.code == res.data.leadCode) && (res.data.dispensaryDispensaryType == 3) && (!res.data.prescriptionExpressage.expressageName)){
                $(".btn-1").removeClass("hidden");
            }

+ 2 - 2
js/buz/prescription-consulting.js

@ -304,7 +304,7 @@ function bindEvents(){
                
                $("#talkBox").append(html);
                $("#talkBox").slimscroll({
                    scrollTo: this.height + 80
                    scrollTo: 'bottom'
                });
            }
        }
@ -336,7 +336,7 @@ function bindEvents(){
                
                $("#talkBox").append(html);
                $("#talkBox").slimscroll({
                    scrollTo: this.height + 80
                    scrollTo: 'bottom'
                });
            }else{

+ 3 - 3
js/buz/prescription-list.js

@ -117,7 +117,7 @@ function fillDropDown(res){
    var statusHtml = template('status_tmp', {list: res.data.states});
    $("#status").append(statusHtml);
    var diseaseHtml = tempalte('disease_tmp', {list: res.data.diseases});
    var diseaseHtml = template('disease_tmp', {list: res.data.diseases});
    $("#disease").append(diseaseHtml);
}
@ -130,13 +130,13 @@ function bindEvents(){
    $("#disease").on('change', function(){
        var $this = $(this);
        disease = $this.val();
        diseases = $this.val();
        getList(true);
    });
    $("#time").on('change', function(){
        var $this = $(this);
        var seDate = $this.val();
        var seDate = getStartEndDate($this.val());
        startDate = seDate.startDate;
        endDate = seDate.endDate;
        getList(true);

+ 6 - 3
js/buz/prescription-tabs.js

@ -54,9 +54,6 @@ $(function(){
})
function initPage(){
    if(!(docInfo.isLeader == '1')){
        links[0].class="hidden";
    }
    links[tab].class="active";
    var html = template('tab_tmp', {list: links});
    $("#tabs").append(html);
@ -109,7 +106,13 @@ function getPrescriptionInfoByCode(){
        if(res.status == 200){
            patiCode = res.data.patient.code;
            jwCode = res.data.prescription.jwCode;
            consultCode = res.data.prescription.consult;
            sessionId = patiCode + '_' + consultCode+'_8';
            updateLinkInfo();
            //如果不是该续方所在团队的团队长,则不可以显示咨询tab
            if(res.data.prescription.doctor != docInfo.code){
                links[0].class="hidden";
            }
            if(res.data.prescription.status < 50){ //支付成功前不会有订单记录
                links[2].class="hidden";
            }

+ 1 - 1
js/consulting-api.js

@ -26,7 +26,7 @@
            return APIService.httpGet('/doctor/consult/prescriptionDetail', data);
        },
        uploadImage: function(data){
            return APIService.upload('upload/chat', data);
            return APIService.httpPost('upload/chat', data);
        },
        getPatientServiceType: function(data){
            return APIService.httpGet('doctor/sign/getPatientFamilyServer', data);

+ 479 - 0
js/plugins/slimscroll/jquery.slimscroll.js

@ -0,0 +1,479 @@
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Version: 1.3.8
 *
 */
(function($) {
  $.fn.extend({
    slimScroll: function(options) {
      var defaults = {
        // width in pixels of the visible scroll area
        width : 'auto',
        // height in pixels of the visible scroll area
        height : '250px',
        // width in pixels of the scrollbar and rail
        size : '7px',
        // scrollbar color, accepts any hex/color value
        color: '#000',
        // scrollbar position - left/right
        position : 'right',
        // distance in pixels between the side edge and the scrollbar
        distance : '1px',
        // default scroll position on load - top / bottom / $('selector')
        start : 'top',
        // sets scrollbar opacity
        opacity : .4,
        // enables always-on mode for the scrollbar
        alwaysVisible : false,
        // check if we should hide the scrollbar when user is hovering over
        disableFadeOut : false,
        // sets visibility of the rail
        railVisible : false,
        // sets rail color
        railColor : '#333',
        // sets rail opacity
        railOpacity : .2,
        // whether  we should use jQuery UI Draggable to enable bar dragging
        railDraggable : true,
        // defautlt CSS class of the slimscroll rail
        railClass : 'slimScrollRail',
        // defautlt CSS class of the slimscroll bar
        barClass : 'slimScrollBar',
        // defautlt CSS class of the slimscroll wrapper
        wrapperClass : 'slimScrollDiv',
        // check if mousewheel should scroll the window if we reach top/bottom
        allowPageScroll : false,
        // scroll amount applied to each mouse wheel step
        wheelStep : 20,
        // scroll amount applied when user is using gestures
        touchScrollStep : 200,
        // sets border radius
        borderRadius: '7px',
        // sets border radius of the rail
        railBorderRadius : '7px'
      };
      var o = $.extend(defaults, options);
      // do it for every element that matches selector
      this.each(function(){
      var isOverPanel, isOverBar, isDragg, queueHide, touchDif,
        barHeight, percentScroll, lastScroll,
        divS = '<div></div>',
        minBarHeight = 30,
        releaseScroll = false;
        // used in event handlers and for better minification
        var me = $(this);
        // ensure we are not binding it again
        if (me.parent().hasClass(o.wrapperClass))
        {
            // start from last bar position
            var offset = me.scrollTop();
            // find bar and rail
            bar = me.siblings('.' + o.barClass);
            rail = me.siblings('.' + o.railClass);
            getBarHeight();
            // check if we should scroll existing instance
            if ($.isPlainObject(options))
            {
              // Pass height: auto to an existing slimscroll object to force a resize after contents have changed
              if ( 'height' in options && options.height == 'auto' ) {
                me.parent().css('height', 'auto');
                me.css('height', 'auto');
                var height = me.parent().parent().height();
                me.parent().css('height', height);
                me.css('height', height);
              } else if ('height' in options) {
                var h = options.height;
                me.parent().css('height', h);
                me.css('height', h);
              }
              if ('scrollTo' in options)
              {
                // jump to a static point
                if(o.scrollTo == 'bottom'){
                    bar.css({ top: me.outerHeight() - bar.outerHeight() });
                    scrollContent(0, true);
                    return ;
                }
                offset = parseInt(o.scrollTo);
              }
              else if ('scrollBy' in options)
              {
                // jump by value pixels
                offset += parseInt(o.scrollBy);
              }
              else if ('destroy' in options)
              {
                // remove slimscroll elements
                bar.remove();
                rail.remove();
                me.unwrap();
                return;
              }
              // scroll content by the given offset
              scrollContent(offset, false, true);
            }
            return;
        }
        else if ($.isPlainObject(options))
        {
            if ('destroy' in options)
            {
            	return;
            }
        }
        // optionally set height to the parent's height
        o.height = (o.height == 'auto') ? me.parent().height() : o.height;
        // wrap content
        var wrapper = $(divS)
          .addClass(o.wrapperClass)
          .css({
            position: 'relative',
            overflow: 'hidden',
            width: o.width,
            height: o.height
          });
        // update style for the div
        me.css({
          overflow: 'hidden',
          width: o.width,
          height: o.height
        });
        // create scrollbar rail
        var rail = $(divS)
          .addClass(o.railClass)
          .css({
            width: o.size,
            height: '100%',
            position: 'absolute',
            top: 0,
            display: (o.alwaysVisible && o.railVisible) ? 'block' : 'none',
            'border-radius': o.railBorderRadius,
            background: o.railColor,
            opacity: o.railOpacity,
            zIndex: 90
          });
        // create scrollbar
        var bar = $(divS)
          .addClass(o.barClass)
          .css({
            background: o.color,
            width: o.size,
            position: 'absolute',
            top: 0,
            opacity: o.opacity,
            display: o.alwaysVisible ? 'block' : 'none',
            'border-radius' : o.borderRadius,
            BorderRadius: o.borderRadius,
            MozBorderRadius: o.borderRadius,
            WebkitBorderRadius: o.borderRadius,
            zIndex: 99
          });
        // set position
        var posCss = (o.position == 'right') ? { right: o.distance } : { left: o.distance };
        rail.css(posCss);
        bar.css(posCss);
        // wrap it
        me.wrap(wrapper);
        // append to parent div
        me.parent().append(bar);
        me.parent().append(rail);
        // make it draggable and no longer dependent on the jqueryUI
        if (o.railDraggable){
          bar.bind("mousedown", function(e) {
            var $doc = $(document);
            isDragg = true;
            t = parseFloat(bar.css('top'));
            pageY = e.pageY;
            $doc.bind("mousemove.slimscroll", function(e){
              currTop = t + e.pageY - pageY;
              bar.css('top', currTop);
              scrollContent(0, bar.position().top, false);// scroll content
            });
            $doc.bind("mouseup.slimscroll", function(e) {
              isDragg = false;hideBar();
              $doc.unbind('.slimscroll');
            });
            return false;
          }).bind("selectstart.slimscroll", function(e){
            e.stopPropagation();
            e.preventDefault();
            return false;
          });
        }
        // on rail over
        rail.hover(function(){
          showBar();
        }, function(){
          hideBar();
        });
        // on bar over
        bar.hover(function(){
          isOverBar = true;
        }, function(){
          isOverBar = false;
        });
        // show on parent mouseover
        me.hover(function(){
          isOverPanel = true;
          showBar();
          hideBar();
        }, function(){
          isOverPanel = false;
          hideBar();
        });
        // support for mobile
        me.bind('touchstart', function(e,b){
          if (e.originalEvent.touches.length)
          {
            // record where touch started
            touchDif = e.originalEvent.touches[0].pageY;
          }
        });
        me.bind('touchmove', function(e){
          // prevent scrolling the page if necessary
          if(!releaseScroll)
          {
  		      e.originalEvent.preventDefault();
		      }
          if (e.originalEvent.touches.length)
          {
            // see how far user swiped
            var diff = (touchDif - e.originalEvent.touches[0].pageY) / o.touchScrollStep;
            // scroll content
            scrollContent(diff, true);
            touchDif = e.originalEvent.touches[0].pageY;
          }
        });
        // set up initial height
        getBarHeight();
        // check start position
        if (o.start === 'bottom')
        {
          // scroll content to bottom
          bar.css({ top: me.outerHeight() - bar.outerHeight() });
          scrollContent(0, true);
        }
        else if (o.start !== 'top')
        {
          // assume jQuery selector
          scrollContent($(o.start).position().top, null, true);
          // make sure bar stays hidden
          if (!o.alwaysVisible) { bar.hide(); }
        }
        // attach scroll events
        attachWheel(this);
        function _onWheel(e)
        {
          // use mouse wheel only when mouse is over
          if (!isOverPanel) { return; }
          var e = e || window.event;
          var delta = 0;
          if (e.wheelDelta) { delta = -e.wheelDelta/120; }
          if (e.detail) { delta = e.detail / 3; }
          var target = e.target || e.srcTarget || e.srcElement;
          if ($(target).closest('.' + o.wrapperClass).is(me.parent())) {
            // scroll content
            scrollContent(delta, true);
          }
          // stop window scroll
          if (e.preventDefault && !releaseScroll) { e.preventDefault(); }
          if (!releaseScroll) { e.returnValue = false; }
        }
        function scrollContent(y, isWheel, isJump)
        {
          releaseScroll = false;
          var delta = y;
          var maxTop = me.outerHeight() - bar.outerHeight();
          if (isWheel)
          {
            // move bar with mouse wheel
            delta = parseInt(bar.css('top')) + y * parseInt(o.wheelStep) / 100 * bar.outerHeight();
            // move bar, make sure it doesn't go out
            delta = Math.min(Math.max(delta, 0), maxTop);
            // if scrolling down, make sure a fractional change to the
            // scroll position isn't rounded away when the scrollbar's CSS is set
            // this flooring of delta would happened automatically when
            // bar.css is set below, but we floor here for clarity
            delta = (y > 0) ? Math.ceil(delta) : Math.floor(delta);
            // scroll the scrollbar
            bar.css({ top: delta + 'px' });
          }
          // calculate actual scroll amount
          percentScroll = parseInt(bar.css('top')) / (me.outerHeight() - bar.outerHeight());
          delta = percentScroll * (me[0].scrollHeight - me.outerHeight());
          if (isJump)
          {
            delta = y;
            var offsetTop = delta / me[0].scrollHeight * me.outerHeight();
            offsetTop = Math.min(Math.max(offsetTop, 0), maxTop);
            bar.css({ top: offsetTop + 'px' });
          }
          // scroll content
          me.scrollTop(delta);
          // fire scrolling event
          me.trigger('slimscrolling', ~~delta);
          // ensure bar is visible
          showBar();
          // trigger hide when scroll is stopped
          hideBar();
        }
        function attachWheel(target)
        {
          if (window.addEventListener)
          {
            target.addEventListener('DOMMouseScroll', _onWheel, false );
            target.addEventListener('mousewheel', _onWheel, false );
          }
          else
          {
            document.attachEvent("onmousewheel", _onWheel)
          }
        }
        function getBarHeight()
        {
          // calculate scrollbar height and make sure it is not too small
          barHeight = Math.max((me.outerHeight() / me[0].scrollHeight) * me.outerHeight(), minBarHeight);
          bar.css({ height: barHeight + 'px' });
          // hide scrollbar if content is not long enough
          var display = barHeight == me.outerHeight() ? 'none' : 'block';
          bar.css({ display: display });
        }
        function showBar()
        {
          // recalculate bar height
          getBarHeight();
          clearTimeout(queueHide);
          // when bar reached top or bottom
          if (percentScroll == ~~percentScroll)
          {
            //release wheel
            releaseScroll = o.allowPageScroll;
            // publish approporiate event
            if (lastScroll != percentScroll)
            {
                var msg = (~~percentScroll == 0) ? 'top' : 'bottom';
                me.trigger('slimscroll', msg);
            }
          }
          else
          {
            releaseScroll = false;
          }
          lastScroll = percentScroll;
          // show only when required
          if(barHeight >= me.outerHeight()) {
            //allow window scroll
            releaseScroll = true;
            return;
          }
          bar.stop(true,true).fadeIn('fast');
          if (o.railVisible) { rail.stop(true,true).fadeIn('fast'); }
        }
        function hideBar()
        {
          // only hide when options allow it
          if (!o.alwaysVisible)
          {
            queueHide = setTimeout(function(){
              if (!(o.disableFadeOut && isOverPanel) && !isOverBar && !isDragg)
              {
                bar.fadeOut('slow');
                rail.fadeOut('slow');
              }
            }, 1000);
          }
        }
      });
      // maintain chainability
      return this;
    }
  });
  $.fn.extend({
    slimscroll: $.fn.slimScroll
  });
})(jQuery);

+ 2 - 2
js/util.js

@ -129,10 +129,10 @@ function getStatusName(status){
            name = '支付失败';
            break;
        case '50':
            name = '配药中';
            name = '订单已支付';
            break;
        case '60':
            name = '等待领药';
            name = '配药完成';
            break;
        case '61':
        case '62':

+ 1 - 1
order-list.html

@ -75,7 +75,7 @@
                    <th data-field="name" tabindex="0">居民姓名</th>
                    <th data-field="result" tabindex="0">诊断结果</th>
                    <th data-field="express" tabindex="0">配送方式</th>
                    <th data-field="expressageName" tabindex="0">配送员</th>
                    <th data-field="expressage" tabindex="0">配送员</th>
                    <th data-field="address" tabindex="0">配送地点</th>
                    <th data-field="statusName" tabindex="0">订单状态</th>
                    <th data-field="action" tabindex="0">操作</th>

+ 2 - 2
order-tracking.html

@ -78,7 +78,7 @@
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="expressModalLabel">
                    <img src="img/shezi_tankuang_icon.png" class="mr10">订单跟踪详情
                    <img src="img/shezi_tankuang_icon.png" class="mr10">快递记录
                </h4>
            </div>
            <div class="modal-body">
@ -302,7 +302,7 @@
        <div class="row">
            <div class="col-xs-6">
                <span class="c-999">物流状态:</span>
                <span>{{expressName}}</span>
                <span>{{expressStatus}}</span>
            </div>
            <div class="col-xs-6">
                <span class="c-999">承运来源:</span>

+ 3 - 3
prescription-consulting.html

@ -14,7 +14,7 @@
    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/plugins/toastr/toastr.min.css" rel="stylesheet">
    <link href="js/plugins/fancybox/jquery.fancybox.css" rel="stylesheet">
    <link href="js/plugins/artDialog/6.0.5/css/ui-dialog.min.css" rel="stylesheet">
    <link href="js/plugins/artDialog/6.0.5/api/css/ui-dialog.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link rel="stylesheet" href="css/consulting.css">
    <link rel="stylesheet" href="css/plugins/plyr/plyr.css">
@ -152,7 +152,7 @@
<script src="js/jquery.min.js?v=2.1.4"></script>
<script src="js/bootstrap.min.js?v=3.3.6"></script>
<script src="js/plugins/metisMenu/jquery.metisMenu.js"></script>
<script src="js/plugins/slimscroll/jquery.slimscroll.min.js"></script>
<script src="js/plugins/slimscroll/jquery.slimscroll.js"></script>
<script src="js/plugins/layer/layer.min.js"></script>
<script src="js/hplus.min.js?v=4.1.0"></script>
<script type="text/javascript" src="js/contabs.min.js"></script>
@ -165,6 +165,6 @@
<script src="js/consulting-api.js"></script>
<script src="js/plugins/fancybox/jquery.fancybox.js"></script>
<script src="js/plugins/plyr/plyr.js"></script>
<script src="js/plugins/artDialog/6.0.5/js/dialog-plus.min.js"></script>
<script src="js/plugins/artDialog/6.0.5/api/js/dialog-plus.js"></script>
<script src="js/buz/prescription-consulting.js"></script>
</html>

+ 10 - 6
prescription-list.html

@ -97,16 +97,20 @@
            {{/each}}
        </div>
    </div>
    <div class="ui-grid pl10">
        {{each prescriptionInfo as dg key}}
        {{if key < 2}}
        <div class="ui-col-1">
    
    {{each prescriptionInfo as dg key}}
    {{if key % 2 == 0}}
    <div class="ui-grid pl10 ptb5">
    {{/if}}
        <div class="ui-col-1" style="width:50%">
            <span class="mr30">{{dg.drugName}}</span>
            <span>{{dg.num}}{{dg.drugNumUnitName}}</span>
        </div>
        {{/if}}
        {{/each}}
    {{if key % 2 == 1}}
    </div>
    {{/if}}
    {{/each}}
    
    </script>
    
    <script src="js/jquery.min.js?v=2.1.4"></script>