From d0226747665355acecd5b4f2b5c0beb020586729 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 17 一月 2025 15:37:32 +0800
Subject: [PATCH] # 23. PDA拣货单据,勾选或点击确认按钮后,完成当前单据 (已完成) 24. PDA出库成功后,界面数据重置,避免重复操作  (已修复) 25. PDA接口请求,添加一个Loading遮档  (已修复) 27. 非平库单据,在平库可做入库操作  (已修复) 28. 平库已组拖数据,组拖完成后依然可组拖  (已修复) 29. 平库入库后,订单明细没有添加(已修复) 30. 平库入库后,单据类型没有修改(已修复) 31. 没有绑定播种位,不能进行播种,前后端都需加判定(已修复) 33. 平库入库未修改入库已完成数量(已修复) 34. cacheSite缓存站点逻辑需重新梳理,入库生成波次时(已完成) 35. PDA添加发货确认,默认全选 (已修复) 36. 大屏获取任务时,是由容器到达的拖盘码确认通知 (已修复) 37. 拣货单序号不显示 问题修复 (已修复) 42. pda发货确认,添加不同颜色区分是否全部完成拣货,绿色全部拣货完成,红色完成部分拣货(已修复) 43. CTU入库完成后,订单明细没有删除,执行中数量清空(已修复) 44. 平库入库完成后,历史档明细完成数量没有更新 (已修复) 45. PDA料号不显示  (已修复) 46. 发货完成后,波次管理数据未加入历史档 (已修复)

---
 zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js |  500 +++++++++++++++++++++++++++---------------------------
 1 files changed, 250 insertions(+), 250 deletions(-)

diff --git a/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js b/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js
index b05f3ac..1be4c5b 100644
--- a/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js
+++ b/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js
@@ -1,250 +1,250 @@
-/** 涓嬫媺鑿滃崟妯″潡 date:2020-05-04   License By http://easyweb.vip */
-layui.define(['jquery'], function (exports) {
-    var $ = layui.jquery;
-    var openClass = 'dropdown-open';
-    var disableClass = 'dropdown-disabled';
-    var noScrollClass = 'dropdown-no-scroll';
-    var shadeClass = 'dropdown-menu-shade';
-    var dropdownClass = 'dropdown-menu';
-    var dropNavClass = 'dropdown-menu-nav';
-    var hoverClass = 'dropdown-hover';
-    var fixedClass = 'fixed';
-    var noShadeClass = 'no-shade';
-    var animClass = 'layui-anim layui-anim-upbit';
-    var popAnimClass = 'layui-anim layui-anim-fadein';
-    var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center'];
-    if ($('#ew-css-dropdown').length <= 0) {
-        layui.link(layui.cache.base + 'dropdown/dropdown.css');
-    }
-
-    var dropdown = {
-        // 缁戝畾浜嬩欢
-        init: function () {
-            // 鐐瑰嚮瑙﹀彂
-            $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) {
-                var $drop = $(this).parent();
-                if (!$drop.hasClass(hoverClass)) {
-                    if ($drop.hasClass(openClass)) {
-                        $drop.removeClass(openClass);
-                    } else {
-                        dropdown.hideAll();
-                        dropdown.show($(this).parent().find('.' + dropNavClass));
-                    }
-                }
-                event.stopPropagation();
-            });
-            // 鐐瑰嚮浠讳綍浣嶇疆鍏抽棴鎵�鏈�
-            $(document).off('click.dropHide').on('click.dropHide', function (event) {
-                dropdown.hideAll();
-            });
-            // 鐐瑰嚮涓嬫媺鑿滃崟鍐呭閮ㄥ垎涓嶅叧闂�
-            $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) {
-                event.stopPropagation();
-            });
-            // hover瑙﹀彂
-            var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass;
-            $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) {
-                if (lastDrop && lastDrop == event.currentTarget) {
-                    clearTimeout(timer);
-                }
-                dropdown.show($(this).find('.' + dropNavClass));
-            });
-            $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) {
-                lastDrop = event.currentTarget;
-                timer = setTimeout(function () {
-                    $(event.currentTarget).removeClass(openClass);
-                }, 300);
-            });
-            // 鍒嗙寮忕粦瀹�
-            $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) {
-                dropdown.showFixed($(this));
-                event.stopPropagation();
-            });
-            // 鏃犻檺绾у瓙鑿滃崟
-            var hoverNavSelector = '.' + dropNavClass + ' li';
-            $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) {
-                $(this).children('.dropdown-menu-nav-child').addClass(animClass);
-                $(this).addClass('active');
-            });
-            $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) {
-                $(this).removeClass('active');
-                $(this).find('li.active').removeClass('active');
-            });
-            // 姘旀场纭寮圭獥
-            $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) {
-                dropdown.hideAll();
-                event.stopPropagation();
-            });
-        },
-        // 鐐瑰嚮鑿滃崟鍏抽棴
-        openClickNavClose: function () {
-            $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) {
-                dropdown.hideAll();
-                $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass);
-                event.stopPropagation();
-            });
-        },
-        // 鍏抽棴鎵�鏈�
-        hideAll: function () {
-            $('.' + dropdownClass).removeClass(openClass);
-            // 闅愯棌鍒嗙寮忚彍鍗�
-            $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide');  // 闅愯棌鍒嗙寮忚彍鍗�
-            $('.' + shadeClass).remove();  // 绉婚櫎閬僵灞�
-            $('body').removeClass(noScrollClass);  // 绉婚櫎绂佹椤甸潰婊氬姩
-            $('.dropdown-fix-parent').removeClass('dropdown-fix-parent');
-            $('[data-dropdown]').removeClass(openClass);
-        },
-        // 灞曞紑闈炲垎绂诲紡涓嬫媺鑿滃崟
-        show: function ($dropNav) {
-            if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) {
-                if ($dropNav.hasClass('dropdown-popconfirm')) {
-                    $dropNav.removeClass(animClass);
-                    $dropNav.addClass(popAnimClass);
-                } else {
-                    $dropNav.removeClass(popAnimClass);
-                    $dropNav.addClass(animClass);
-                }
-                var position;  // 鑾峰彇浣嶇疆
-                for (var i = 0; i < dropDirect.length; i++) {
-                    if ($dropNav.hasClass('dropdown-' + dropDirect[i])) {
-                        position = dropDirect[i];
-                        break;
-                    }
-                }
-                if (!position) {  // 娌℃湁璁剧疆浣嶇疆娣诲姞榛樿浣嶇疆
-                    $dropNav.addClass('dropdown-' + dropDirect[0]);
-                    position = dropDirect[0];
-                }
-                dropdown.forCenter($dropNav, position);
-                $dropNav.parent('.' + dropdownClass).addClass(openClass);
-                return position;
-            }
-            return false;
-        },
-        // 灞曞紑鍒嗙寮忚彍鍗�
-        showFixed: function ($trigger) {
-            var $dropNav = $($trigger.data('dropdown')), position;
-            if (!$dropNav.hasClass('layui-hide')) {
-                dropdown.hideAll();  // 宸茬粡灞曞紑鍒欓殣钘�
-                return;
-            }
-            dropdown.hideAll();  // 宸茬粡灞曞紑鍒欓殣钘�
-            position = dropdown.show($dropNav);  // 鑾峰彇寮瑰嚭浣嶇疆
-            if (position) {
-                $dropNav.addClass(fixedClass);  // 璁剧疆涓哄浐瀹氬畾浣�
-                $dropNav.removeClass('layui-hide');  // 鏄剧ず涓嬫媺鑿滃崟
-                var topLeft = dropdown.getTopLeft($trigger, $dropNav, position);  // 璁$畻鍧愭爣
-                topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 鏄惁婧㈠嚭灞忓箷
-                $dropNav.css(topLeft);  // 璁剧疆鍧愭爣
-                $('body').addClass(noScrollClass); // 绂佹椤甸潰婊氬姩
-                var hideShade = ($trigger.attr('no-shade') == 'true');  // 鏄惁闅愯棌閬僵灞�
-                $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>');  // 娣诲姞閬僵灞�
-                // 閲嶇疆鐖跺厓绱爖-index
-                $trigger.parentsUntil('body').each(function () {
-                    var zIndex = $(this).css('z-index');
-                    if (/[0-9]+/.test(zIndex)) {
-                        $(this).addClass('dropdown-fix-parent');
-                    }
-                });
-                $trigger.addClass(openClass);
-            }
-        },
-        // 瑙e喅缁濆瀹氫綅鍥犲姩鐢诲鑷村钩绉诲け鏁�
-        forCenter: function ($dropNav, position) {
-            if (!$dropNav.hasClass(fixedClass)) {
-                var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight();
-                var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight();
-                var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1];  // 鏄剧ず鏂瑰悜
-                if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') {
-                    $dropNav.css('left', (wTrigger - wDrop) / 2);
-                }
-                if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') {
-                    $dropNav.css('top', (hTrigger - hDrop) / 2);
-                }
-            }
-        },
-        // 璁$畻鍥哄畾瀹氫綅鍧愭爣
-        getTopLeft: function ($trigger, $dropdown, position) {
-            var widthTrigger = $trigger.outerWidth();
-            var heightTrigger = $trigger.outerHeight();
-            var widthDropdown = $dropdown.outerWidth();
-            var heightDropdown = $dropdown.outerHeight();
-            var topTrigger = $trigger.offset().top - $(document).scrollTop();
-            var leftTrigger = $trigger.offset().left;
-            var rightTrigger = leftTrigger + widthTrigger;
-            var top = 0, left = 0;
-            var positionParts = position.split('-');
-            var anchorSide = positionParts[0];  // 绠ご浣嶇疆
-            var anchorPosition = positionParts[1];  // 绠ご鏂瑰悜
-            if (anchorSide == 'top' || anchorSide == 'bottom') {
-                heightDropdown += 8; // 鍔犱笂margin璺濈
-                switch (anchorPosition) {
-                    case 'left':
-                        left = leftTrigger;
-                        break;
-                    case 'center':
-                        left = leftTrigger - widthDropdown / 2 + widthTrigger / 2;
-                        break;
-                    case 'right':
-                        left = rightTrigger - widthDropdown;
-                }
-            }
-            if (anchorSide == 'left' || anchorSide == 'right') {
-                widthDropdown += 8;  // 鍔犱笂margin璺濈
-                switch (anchorPosition) {
-                    case 'top':
-                        top = topTrigger + heightTrigger - heightDropdown;
-                        break;
-                    case 'center':
-                        top = topTrigger - heightDropdown / 2 + heightTrigger / 2;
-                        break;
-                    case 'bottom':
-                        top = topTrigger;
-                }
-            }
-            switch (anchorSide) {
-                case 'top':
-                    top = topTrigger - heightDropdown;
-                    break;
-                case 'right':
-                    left = leftTrigger + widthTrigger;
-                    break;
-                case 'bottom':
-                    top = topTrigger + heightTrigger;
-                    break;
-                case 'left':
-                    left = leftTrigger - widthDropdown;
-            }
-            return {top: top, left: left, right: 'auto', bottom: 'auto'};
-        },
-        // 妫�鏌ユ槸鍚︽孩鍑哄睆骞�
-        checkPosition: function ($dropNav, $trigger, position, topLeft) {
-            var aps = position.split('-');
-            if ('bottom' == aps[0]) {
-                if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) {
-                    topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]);
-                    $dropNav.removeClass('dropdown-' + position);
-                    $dropNav.addClass('dropdown-top-' + aps[1]);
-                }
-            } else if ('top' == aps[0]) {
-                if (topLeft.top < 0) {
-                    topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]);
-                    $dropNav.removeClass('dropdown-' + position);
-                    $dropNav.addClass('dropdown-bottom-' + aps[1]);
-                }
-            }
-            return topLeft;
-        },
-        // 鑾峰彇娴忚鍣ㄩ珮搴�
-        getPageHeight: function () {
-            return document.documentElement.clientHeight || document.body.clientHeight;
-        },
-        // 鑾峰彇娴忚鍣ㄥ搴�
-        getPageWidth: function () {
-            return document.documentElement.clientWidth || document.body.clientWidth;
-        }
-    };
-
-    dropdown.init();
-    exports('dropdown', dropdown);
-});
+/** 涓嬫媺鑿滃崟妯″潡 date:2020-05-04   License By http://easyweb.vip */
+layui.define(['jquery'], function (exports) {
+    var $ = layui.jquery;
+    var openClass = 'dropdown-open';
+    var disableClass = 'dropdown-disabled';
+    var noScrollClass = 'dropdown-no-scroll';
+    var shadeClass = 'dropdown-menu-shade';
+    var dropdownClass = 'dropdown-menu';
+    var dropNavClass = 'dropdown-menu-nav';
+    var hoverClass = 'dropdown-hover';
+    var fixedClass = 'fixed';
+    var noShadeClass = 'no-shade';
+    var animClass = 'layui-anim layui-anim-upbit';
+    var popAnimClass = 'layui-anim layui-anim-fadein';
+    var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center'];
+    if ($('#ew-css-dropdown').length <= 0) {
+        layui.link(layui.cache.base + 'dropdown/dropdown.css');
+    }
+
+    var dropdown = {
+        // 缁戝畾浜嬩欢
+        init: function () {
+            // 鐐瑰嚮瑙﹀彂
+            $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) {
+                var $drop = $(this).parent();
+                if (!$drop.hasClass(hoverClass)) {
+                    if ($drop.hasClass(openClass)) {
+                        $drop.removeClass(openClass);
+                    } else {
+                        dropdown.hideAll();
+                        dropdown.show($(this).parent().find('.' + dropNavClass));
+                    }
+                }
+                event.stopPropagation();
+            });
+            // 鐐瑰嚮浠讳綍浣嶇疆鍏抽棴鎵�鏈�
+            $(document).off('click.dropHide').on('click.dropHide', function (event) {
+                dropdown.hideAll();
+            });
+            // 鐐瑰嚮涓嬫媺鑿滃崟鍐呭閮ㄥ垎涓嶅叧闂�
+            $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) {
+                event.stopPropagation();
+            });
+            // hover瑙﹀彂
+            var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass;
+            $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) {
+                if (lastDrop && lastDrop == event.currentTarget) {
+                    clearTimeout(timer);
+                }
+                dropdown.show($(this).find('.' + dropNavClass));
+            });
+            $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) {
+                lastDrop = event.currentTarget;
+                timer = setTimeout(function () {
+                    $(event.currentTarget).removeClass(openClass);
+                }, 300);
+            });
+            // 鍒嗙寮忕粦瀹�
+            $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) {
+                dropdown.showFixed($(this));
+                event.stopPropagation();
+            });
+            // 鏃犻檺绾у瓙鑿滃崟
+            var hoverNavSelector = '.' + dropNavClass + ' li';
+            $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) {
+                $(this).children('.dropdown-menu-nav-child').addClass(animClass);
+                $(this).addClass('active');
+            });
+            $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) {
+                $(this).removeClass('active');
+                $(this).find('li.active').removeClass('active');
+            });
+            // 姘旀场纭寮圭獥
+            $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) {
+                dropdown.hideAll();
+                event.stopPropagation();
+            });
+        },
+        // 鐐瑰嚮鑿滃崟鍏抽棴
+        openClickNavClose: function () {
+            $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) {
+                dropdown.hideAll();
+                $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass);
+                event.stopPropagation();
+            });
+        },
+        // 鍏抽棴鎵�鏈�
+        hideAll: function () {
+            $('.' + dropdownClass).removeClass(openClass);
+            // 闅愯棌鍒嗙寮忚彍鍗�
+            $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide');  // 闅愯棌鍒嗙寮忚彍鍗�
+            $('.' + shadeClass).remove();  // 绉婚櫎閬僵灞�
+            $('body').removeClass(noScrollClass);  // 绉婚櫎绂佹椤甸潰婊氬姩
+            $('.dropdown-fix-parent').removeClass('dropdown-fix-parent');
+            $('[data-dropdown]').removeClass(openClass);
+        },
+        // 灞曞紑闈炲垎绂诲紡涓嬫媺鑿滃崟
+        show: function ($dropNav) {
+            if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) {
+                if ($dropNav.hasClass('dropdown-popconfirm')) {
+                    $dropNav.removeClass(animClass);
+                    $dropNav.addClass(popAnimClass);
+                } else {
+                    $dropNav.removeClass(popAnimClass);
+                    $dropNav.addClass(animClass);
+                }
+                var position;  // 鑾峰彇浣嶇疆
+                for (var i = 0; i < dropDirect.length; i++) {
+                    if ($dropNav.hasClass('dropdown-' + dropDirect[i])) {
+                        position = dropDirect[i];
+                        break;
+                    }
+                }
+                if (!position) {  // 娌℃湁璁剧疆浣嶇疆娣诲姞榛樿浣嶇疆
+                    $dropNav.addClass('dropdown-' + dropDirect[0]);
+                    position = dropDirect[0];
+                }
+                dropdown.forCenter($dropNav, position);
+                $dropNav.parent('.' + dropdownClass).addClass(openClass);
+                return position;
+            }
+            return false;
+        },
+        // 灞曞紑鍒嗙寮忚彍鍗�
+        showFixed: function ($trigger) {
+            var $dropNav = $($trigger.data('dropdown')), position;
+            if (!$dropNav.hasClass('layui-hide')) {
+                dropdown.hideAll();  // 宸茬粡灞曞紑鍒欓殣钘�
+                return;
+            }
+            dropdown.hideAll();  // 宸茬粡灞曞紑鍒欓殣钘�
+            position = dropdown.show($dropNav);  // 鑾峰彇寮瑰嚭浣嶇疆
+            if (position) {
+                $dropNav.addClass(fixedClass);  // 璁剧疆涓哄浐瀹氬畾浣�
+                $dropNav.removeClass('layui-hide');  // 鏄剧ず涓嬫媺鑿滃崟
+                var topLeft = dropdown.getTopLeft($trigger, $dropNav, position);  // 璁$畻鍧愭爣
+                topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 鏄惁婧㈠嚭灞忓箷
+                $dropNav.css(topLeft);  // 璁剧疆鍧愭爣
+                $('body').addClass(noScrollClass); // 绂佹椤甸潰婊氬姩
+                var hideShade = ($trigger.attr('no-shade') == 'true');  // 鏄惁闅愯棌閬僵灞�
+                $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>');  // 娣诲姞閬僵灞�
+                // 閲嶇疆鐖跺厓绱爖-index
+                $trigger.parentsUntil('body').each(function () {
+                    var zIndex = $(this).css('z-index');
+                    if (/[0-9]+/.test(zIndex)) {
+                        $(this).addClass('dropdown-fix-parent');
+                    }
+                });
+                $trigger.addClass(openClass);
+            }
+        },
+        // 瑙e喅缁濆瀹氫綅鍥犲姩鐢诲鑷村钩绉诲け鏁�
+        forCenter: function ($dropNav, position) {
+            if (!$dropNav.hasClass(fixedClass)) {
+                var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight();
+                var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight();
+                var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1];  // 鏄剧ず鏂瑰悜
+                if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') {
+                    $dropNav.css('left', (wTrigger - wDrop) / 2);
+                }
+                if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') {
+                    $dropNav.css('top', (hTrigger - hDrop) / 2);
+                }
+            }
+        },
+        // 璁$畻鍥哄畾瀹氫綅鍧愭爣
+        getTopLeft: function ($trigger, $dropdown, position) {
+            var widthTrigger = $trigger.outerWidth();
+            var heightTrigger = $trigger.outerHeight();
+            var widthDropdown = $dropdown.outerWidth();
+            var heightDropdown = $dropdown.outerHeight();
+            var topTrigger = $trigger.offset().top - $(document).scrollTop();
+            var leftTrigger = $trigger.offset().left;
+            var rightTrigger = leftTrigger + widthTrigger;
+            var top = 0, left = 0;
+            var positionParts = position.split('-');
+            var anchorSide = positionParts[0];  // 绠ご浣嶇疆
+            var anchorPosition = positionParts[1];  // 绠ご鏂瑰悜
+            if (anchorSide == 'top' || anchorSide == 'bottom') {
+                heightDropdown += 8; // 鍔犱笂margin璺濈
+                switch (anchorPosition) {
+                    case 'left':
+                        left = leftTrigger;
+                        break;
+                    case 'center':
+                        left = leftTrigger - widthDropdown / 2 + widthTrigger / 2;
+                        break;
+                    case 'right':
+                        left = rightTrigger - widthDropdown;
+                }
+            }
+            if (anchorSide == 'left' || anchorSide == 'right') {
+                widthDropdown += 8;  // 鍔犱笂margin璺濈
+                switch (anchorPosition) {
+                    case 'top':
+                        top = topTrigger + heightTrigger - heightDropdown;
+                        break;
+                    case 'center':
+                        top = topTrigger - heightDropdown / 2 + heightTrigger / 2;
+                        break;
+                    case 'bottom':
+                        top = topTrigger;
+                }
+            }
+            switch (anchorSide) {
+                case 'top':
+                    top = topTrigger - heightDropdown;
+                    break;
+                case 'right':
+                    left = leftTrigger + widthTrigger;
+                    break;
+                case 'bottom':
+                    top = topTrigger + heightTrigger;
+                    break;
+                case 'left':
+                    left = leftTrigger - widthDropdown;
+            }
+            return {top: top, left: left, right: 'auto', bottom: 'auto'};
+        },
+        // 妫�鏌ユ槸鍚︽孩鍑哄睆骞�
+        checkPosition: function ($dropNav, $trigger, position, topLeft) {
+            var aps = position.split('-');
+            if ('bottom' == aps[0]) {
+                if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) {
+                    topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]);
+                    $dropNav.removeClass('dropdown-' + position);
+                    $dropNav.addClass('dropdown-top-' + aps[1]);
+                }
+            } else if ('top' == aps[0]) {
+                if (topLeft.top < 0) {
+                    topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]);
+                    $dropNav.removeClass('dropdown-' + position);
+                    $dropNav.addClass('dropdown-bottom-' + aps[1]);
+                }
+            }
+            return topLeft;
+        },
+        // 鑾峰彇娴忚鍣ㄩ珮搴�
+        getPageHeight: function () {
+            return document.documentElement.clientHeight || document.body.clientHeight;
+        },
+        // 鑾峰彇娴忚鍣ㄥ搴�
+        getPageWidth: function () {
+            return document.documentElement.clientWidth || document.body.clientWidth;
+        }
+    };
+
+    dropdown.init();
+    exports('dropdown', dropdown);
+});

--
Gitblit v1.9.1