{"version":3,"file":"Scripts/General.js","sources":["Scripts/General.js"],"sourcesContent":["var $x = function (id, win) {\r\n return (win || window).document.getElementById(id);\r\n};\r\n$x.isV8 = function (win) {\r\n try { return win.urlAddVer && win.location.host.toLowerCase().replace(/\\:\\d+/, \"\") == location.host.toLowerCase().replace(/\\:\\d+/, \"\") } catch (e) { return false; }\r\n};\r\n$x.top = function (wind) {\r\n //__isKYTop需要在General.js加载之前设置\r\n if ($x.topw) return $x.topw;\r\n var win = wind || window;\r\n while (!win.__isKYTop && win.parent && win.parent != win && $x.isV8(win.parent) && !win.parent.__isNotTop) {\r\n win = win.parent;\r\n }\r\n if (win.__isKYTop) { return $x.topw = win; }\r\n while (win.dialogArguments != null) {\r\n win = $x.top(win.dialogArguments);\r\n }\r\n return $x.topw = win;\r\n};\r\n$x.opener = function (win) {\r\n if (!win) win = self\r\n try { var r = win.opener; var t = r.document.body; return r } catch (e) { } // 避免跨域报错\r\n}\r\n$x.ajax = function (func, d, fnOk, fnError, thiso) {\r\n d.FuncName = func;\r\n return $x.top().ajaxSync.call(window, d, fnOk, fnError, thiso || window);\r\n};\r\n$x.ajaxAsync = function (func, d, fnOk, fnError, thiso) {\r\n d.FuncName = func;\r\n return $x.top().ajaxAsync.call(window, d, fnOk, fnError, thiso || window);\r\n};\r\n$x.ajaxMsg = function (func, d) {\r\n d.FuncName = func;\r\n return $x.top().ajaxMsg.apply(this, [].slice.call(arguments, 1))\r\n}\r\n//异步,返回Promise。注意接口报错会弹框提示。如要不提示请用ajaxAsync\r\n$x.ajaxPro = function (func, d) {\r\n d.FuncName = func;\r\n return $x.top().ajaxAsync(d)\r\n}\r\n$x.tx = function (o) {\r\n return o.innerText || o.textContent || \"\";\r\n}\r\n$x.toJSON = function (o) {\r\n return $x.top().$.toJSON(o);\r\n};\r\n$x.appRoot = function () {\r\n if (!$x.appRootV) {\r\n var scripts = document.getElementsByTagName(\"script\");\r\n for (var i = 0; i < scripts.length; i++) {\r\n var strJsPath = scripts[i].src.split('?')[0].toLowerCase();\r\n var pos = strJsPath.indexOf('/scripts/');\r\n if (pos > -1) {\r\n $x.appRootV = scripts[i].src.split('?')[0].substring(0, pos + 1);\r\n break;\r\n }\r\n }\r\n if ($x.appRootV.indexOf(\":\") == -1 && $x.appRootV.substr(0, 1) != \"/\") {\r\n $x.appRootV = $x.curPath() + $x.appRootV;\r\n }\r\n }\r\n return $x.appRootV;\r\n};\r\n$x.curPath = function (win) {\r\n if (!$x.curPathV) {\r\n var li = (win || window).location.href.split('?')[0].replace(\"\\\\\", \"/\").lastIndexOf(\"/\") + 1;\r\n $x.curPathV = (win || window).location.href.substring(0, li);\r\n }\r\n return $x.curPathV;\r\n};\r\n$x.toAbsUrl = function (relativeUrl, compareUrlWin) {\r\n if (!/^https?:|^javascript:/i.test(relativeUrl) && !/^\\//.test(relativeUrl)) {\r\n if (typeof compareUrlWin != \"string\") {\r\n compareUrlWin = $x.curPath(compareUrlWin);\r\n }\r\n relativeUrl = compareUrlWin + relativeUrl;\r\n }\r\n return relativeUrl;\r\n};\r\n$x.queryString = function (name, search) {\r\n return getQueryStr(name, search)\r\n}\r\n$x.isIE = function (ver) {\r\n var tr = /(msie\\s*|trident.*rv:)([\\d]+)/i.exec(navigator.userAgent);\r\n var r = tr ? { v: parseInt(tr[2]) } : false;\r\n return (r.v == ver || !ver) ? r : false;\r\n};\r\n$x.getScrollbarWidth = function () {\r\n var topx = $x.top().$x;\r\n if (topx && topx != this) { return topx.getScrollbarWidth(); }\r\n if (!this.scbarWidth) {\r\n var noScroll, scroll, oDiv = document.createElement(\"DIV\");\r\n oDiv.style.cssText = \"position:absolute; top:-1000px; width:100px; height:100px; overflow:hidden;\";\r\n noScroll = document.body.appendChild(oDiv).clientWidth;\r\n oDiv.style.overflowY = \"scroll\";\r\n scroll = oDiv.clientWidth;\r\n document.body.removeChild(oDiv);\r\n this.scbarWidth = noScroll - scroll;\r\n }\r\n return this.scbarWidth;\r\n}\r\n$x.keyCode = function (e) {\r\n var key = window.event ? e.keyCode : e.which;\r\n return key;\r\n};\r\n$x.docWin = function (doc) {\r\n doc = doc || document;\r\n return doc.defaultView || doc.parentWindow;\r\n};\r\n$x.loadJs = function (src, win) {\r\n win = win || window;\r\n var sc = win.document.createElement('script');\r\n win.document.getElementsByTagName('head')[0].appendChild(sc).src = src;\r\n};\r\n$x.close = function () {\r\n (window.closeIfr || window.close)();\r\n};\r\n$x.postTo = function (url, data, target) {\r\n var form = document.createElement(\"form\");\r\n form.style.display = 'none'; form.method = 'post';\r\n form.action = url; form.target = target || '';\r\n for (var n in data) {\r\n if (typeof (data[n]) != 'object' && typeof (data[n]) != 'function') {\r\n $('').appendTo(form).val(data[n]);\r\n }\r\n }\r\n document.body.appendChild(form).submit();\r\n document.body.removeChild(form);\r\n}\r\n$x.clone = function (obj) {\r\n if (!obj) return obj;\r\n return JSON.parse(JSON.stringify(obj));\r\n}\r\nfunction getEvent() {\r\n if (window.event) {\r\n return window.event;\r\n }\r\n var f = arguments.callee.caller;\r\n do {\r\n var e = f.arguments[0];\r\n if (e && Object.prototype.toString.call(e).match(/^\\[.+Event\\]$/)) {\r\n return e;\r\n }\r\n } while (f = f.caller);\r\n}\r\n\r\nif (window.$) $.fn.extend({\r\n dropCss: function (name) {\r\n return this.each(function () {\r\n if (this.style.removeProperty) this.style.removeProperty(name);\r\n if (this.style.removeAttribute) this.style.removeAttribute(name);\r\n })\r\n }\r\n});\r\n\r\nvar CookieUtil = new Object();\r\nCookieUtil.getCookieVal = function (offset) {\r\n var endstr = document.cookie.indexOf(\";\", offset);\r\n if (endstr == -1) {\r\n endstr = document.cookie.length;\r\n }\r\n return unescape(document.cookie.substring(offset, endstr));\r\n};\r\nCookieUtil.GetCookie = function (name) {\r\n var arg = name + \"=\";\r\n var alen = arg.length;\r\n var clen = document.cookie.length;\r\n var i = 0;\r\n while (i < clen) {\r\n var j = i + alen;\r\n if (document.cookie.substring(i, j) == arg) {\r\n return CookieUtil.getCookieVal(j);\r\n }\r\n i = document.cookie.indexOf(\" \", i) + 1;\r\n if (i == 0) {\r\n break;\r\n }\r\n }\r\n return null;\r\n};\r\nCookieUtil.DeleteCookie = function (name, path, domain) {\r\n if (CookieUtil.GetCookie(name)) {\r\n path = (self._virPath || '') + (path || '');\r\n document.cookie = name + \"=\" +\r\n ((path) ? \"; path=\" + path : \"\") +\r\n ((domain) ? \"; domain=\" + domain : \"\") +\r\n \"; expires=Thu, 01-Jan-1970 00:00:01 GMT\";\r\n }\r\n};\r\nCookieUtil.SetCookie = function (name, value, expires, path, domain, secure) {\r\n if (location.href.match(/^https/i)) secure = true;\r\n CookieUtil.DeleteCookie(name, \"/\");\r\n path = (self._virPath || '') + (path || '');\r\n document.cookie = name + \"=\" + escape(value) +\r\n ((expires) ? \"; expires=\" + expires.toGMTString() : \"\") +\r\n ((path) ? \"; path=\" + path : \"\") +\r\n ((domain) ? \"; domain=\" + domain : \"\") +\r\n ((secure) ? \"; secure\" : \"\");\r\n};\r\nCookieUtil.SetLongCookie = function (name, value, path, domain, secure) {\r\n if (location.href.match(/^https/i)) secure = true;\r\n path = (self._virPath || '') + (path || '');\r\n document.cookie = name + \"=\" + escape(value) +\r\n \"; expires=Mon, 31 Jan 3200 16:00:00 UTC\" +\r\n ((path) ? \"; path=\" + path : \"\") +\r\n ((domain) ? \"; domain=\" + domain : \"\") +\r\n ((secure) ? \"; secure\" : \"\");\r\n}\r\n\r\nvar SessionUtil = {\r\n Expire: function (url, msg) {\r\n var tp = $x.top();\r\n try {\r\n if (tp.parent.__isKyH5) tp = tp.parent; //上层是嘉扬h5页面\r\n } catch (e) { }\r\n if (!tp._isJumping) {\r\n tp._isJumping = 1\r\n if (!window.confirm(msg)) return;\r\n\r\n var target = tp.location.pathname + tp.location.search + tp.location.hash;\r\n if (!/\\b(sid|paths)=\\w+/.test(target) || /\\/Win\\.\\w+/i.test(tp.location.pathname)) //带sid校验的url无法跳回,只能跳首页(Win.aspx除外)\r\n url += url.indexOf('?') > -1 ? '&' : '?' + 'targeturl=' + encodeURIComponent(target);\r\n tp.location.href = url;\r\n }\r\n },\r\n Timeout: function (url, msg) {\r\n this.Expire(url, msg || kygMsg(900146))\r\n },\r\n};\r\n\r\n\r\nvar maskUtil = {\r\n init: function () {\r\n if (!this.inited) {\r\n this.count = 0;\r\n this.inited = 1;\r\n var maskHTML = '
';\r\n maskHTML += '
';\r\n maskHTML += ''\r\n maskHTML += '
';\r\n $(document.body).append(maskHTML);\r\n } else if (this.count == 0) {\r\n $('.i-masker,.i-progress-bar').addClass('trans-mask');\r\n }\r\n },\r\n show: function (transparentAll) {\r\n this.init();\r\n var spin = $('.i-progress-bar');\r\n var maskTop = $(window).height() / 2 - spin.outerHeight() / 2 - 30 + 'px';\r\n var maskLeft = $(window).width() / 2 - spin.outerWidth() / 2 + 'px';\r\n spin.css({ top: maskTop, left: maskLeft });\r\n $('.i-masker').css({ 'display': 'block' }); //蒙版\r\n if (!transparentAll) {\r\n var topMask = $x.top().maskUtil;\r\n if (!topMask || !topMask.totalCount) { // 避免2个转圈(只显示蒙版而不显示转圈)\r\n spin.show();\r\n setTimeout(function () { spin.removeClass('trans-mask'); }, 500);\r\n setTimeout(function () { $('.i-masker').removeClass('trans-mask'); }, 1600);\r\n }\r\n }\r\n this.addCount(1);\r\n },\r\n hide: function () {\r\n if (this.count > 0) this.addCount(-1);\r\n if (this.count == 0) {\r\n var layer = '.i-masker,.i-progress-bar';\r\n $(layer).hide();\r\n $x.top().$(layer).hide();\r\n }\r\n },\r\n addCount: function (num) {\r\n this.count += num;\r\n var topMask = $x.top().maskUtil;\r\n topMask.totalCount = (topMask.totalCount || 0) + num;\r\n }\r\n}\r\nvar maskUtilImage = {\r\n id: 'grd-c-ico',\r\n src: function (obj) {\r\n var imgClick = $(obj).attr(\"onclick\"), src;\r\n if (imgClick) {\r\n src = imgClick.indexOf('openImage') == -1 ? imgClick : imgClick.split('\\'')[1];\r\n }\r\n if (!src) src = $(obj).attr('src')\r\n if (!src) src = $x.appRoot() + \"Styles/Images/defaultphoto.jpg\"\r\n return src;\r\n },\r\n show: function (obj) {\r\n var maskHTML = '
';\r\n maskHTML += ''\r\n maskHTML += '
';\r\n showTip(maskHTML, obj, '', 0, { x: 30, y: -26, id: this.id, noBorder: true });\r\n },\r\n hide: function () {\r\n hideTip(this.id)\r\n }\r\n}\r\nvar OpenerUtil = {};\r\nOpenerUtil.showModeWindow = function (url, width, height, fnOk, thiso) {\r\n if (url.indexOf(\"://\") == -1 && url.substr(0, 1) != \"/\") {\r\n var pos = location.href.split('?')[0].lastIndexOf('/');\r\n url = location.href.substr(0, pos + 1) + url;\r\n }\r\n openDlgWin(url, width, height, fnOk, thiso, window);\r\n};\r\nOpenerUtil.showWindow = function (url, width, height) {\r\n var xposition = 0;\r\n var yposition = 0;\r\n xposition = (screen.width - width) / 2;\r\n yposition = (screen.height - height) / 2;\r\n var features = \"width=\" + width + \",\" + \"height=\" + height + \",\" + \",\" + \"left=\" + xposition + \",\" + \"top=\" + yposition + ',scrollbars=no,resizable=no';\r\n return window.open(url + '&ddtab=true', '', features);\r\n};\r\n\r\nvar rc = {};\r\nrc.getElementById = function (id, win) {\r\n return $x(id, win);\r\n};\r\nrc.getElementsByName = function (name, win) {\r\n var oWindow = window;\r\n if (win) {\r\n oWindow = win;\r\n }\r\n return oWindow.document.getElementsByName(name);\r\n};\r\nrc.getValueById = function (id, win) {\r\n win = win || window;\r\n var oControl = $x(id, win);\r\n if (oControl) {\r\n if (oControl.tagName == \"DIV\" && String(oControl.contentEditable) == \"true\" && win.scEditor) {\r\n if (oControl.innerText) {\r\n return String(win.scEditor.getValue(oControl));\r\n }\r\n return \"\";\r\n }\r\n\r\n var r = (oControl.value == undefined || oControl.value == \"\") ? oControl.getAttribute(\"cval\") : oControl.value;\r\n return r == null ? \"\" : String(r);\r\n }\r\n else {\r\n return null;\r\n }\r\n};\r\nrc.setValueById = function (id, value, win) {\r\n win = win || window;\r\n var oControl = $x(id, win);\r\n if (oControl) {\r\n if (oControl.tagName == \"DIV\" && win.scEditor) {\r\n return oControl.innerHTML = value;\r\n }\r\n return oControl.value = value;\r\n }\r\n};\r\nrc.getLangValuesByName = function (name, win) {\r\n win = win || window;\r\n var ret = \"\";\r\n //2022YP:这里可能会是textarea\r\n //这里调入的name应该改为容器id,否则有点莫名其妙不知道这个name从哪里来。\r\n //目前:在这个函数仅用在flow中。\r\n //var oControls = win.$('#' + name + \" input\");\r\n var oControls = win.$(\"#\" + name + \" input,#\" + name + \" textarea\");\r\n for (var i = 0; i < oControls.length; i++) {\r\n var o = oControls[i];\r\n if (o.getAttribute('lgid')) {\r\n if (ret != \"\") ret += \"`\";\r\n ret += (o.getAttribute('lgid') + \"`\");\r\n ret += o.value;\r\n }\r\n }\r\n return ret;\r\n\r\n};\r\n//ops: {id: 唯一id(可空), x: x偏移, y: y偏移, closeButton: 右上角显示关闭, isPanel: 点击内部不再关闭}\r\n//delaySec: 自动关闭秒数,0表示不关闭\r\nfunction showTip(msg, refEl, color, delaySec, ops) {\r\n if (refEl == null) {\r\n KYMsg(msg, kygMsg(320776, '系统提示'));\r\n return;\r\n }\r\n restoreTip();\r\n ops = ops || {};\r\n var id = ops.id || 'i-sys-tips'\r\n var o = $x(id), $o = $(o);\r\n if (!o) {\r\n $o = $('
');\r\n o = $o[0];\r\n }\r\n var pNode = ops.appendTo || document.body;\r\n if (o.parentNode != pNode) $o.appendTo(pNode);\r\n\r\n $o.toggleClass('no-border', !!ops.noBorder)\r\n $o.stop().unbind().css({ opacity: 100, zoom: 1, color: color || 'red', fontSize: '12px' });\r\n if (msg && msg.parentNode) {\r\n self._lastTipElC = msg.parentNode.id;\r\n $o.empty().append(msg);\r\n }\r\n else { o.innerHTML = msg; }\r\n ops.delaySec = delaySec\r\n ops.hideFn = hideTip.bind(null, id)\r\n popOnce(o, refEl, ops)\r\n}\r\n// 弹出浮动,点击任意位置关闭。\r\n//ops: { delaySec: 0, hideFn: Function, x: x偏移, y: y偏移, closeButton: 右上角显示关闭, isPanel: 点击内部不再关闭, offsetParent:定位容器 }\r\nfunction popOnce(popEl, refEl, ops) {\r\n var $o = $(popEl);\r\n ops = ops || {};\r\n var hideFn = ops.hideFn || $o.hide.bind($o), delaySec = ops.delaySec\r\n setTimeout(function () {\r\n $('body').one('click', hideFn)\r\n }, 300);\r\n\r\n if (ops.closeButton) {\r\n $o.prepend(\"
\");\r\n $o.find('.panel-tool-close').click(function () { hideFn() })\r\n }\r\n if (ops.isPanel) {\r\n $o.on('click mousewheel', function (e) { e.stopPropagation() });\r\n }\r\n // 弹窗且无iframe\r\n var popwindow = $(refEl).closest('.panel.window')\r\n var pos0 = { top: 0, left: 0 };\r\n if (popwindow.length) {\r\n pos0 = popwindow.offset()\r\n }\r\n var $win = $(window);\r\n var dtX = ops.x || 0, dtY = ops.y || 0;\r\n if (refEl) {\r\n var pos = $(refEl).offset(), offx = 0, offy = 0;\r\n if (ops.offsetParent) {\r\n var p = $(ops.offsetParent).offset()\r\n offx = -p.left, offy = -p.top;\r\n }\r\n if (!ops.appendTo) {\r\n var x = dtX + pos.left - pos0.left;\r\n if (x + $o.width() > $win.width()) x = pos.left - pos0.left - $o.width() - 10\r\n popEl.style.left = offx + x + \"px\";\r\n popEl.style.top = offy + Math.min(dtY + pos.top + refEl.offsetHeight - pos0.top, $win.height() - $o.height() - 10) + \"px\";\r\n }\r\n } else {\r\n popEl.style.left = dtX + $win.scrollLeft() + $win.width() / 2 - 50 + \"px\";\r\n popEl.style.top = dtY + $win.scrollTop() + $win.height() / 2 - 50 + \"px\";\r\n }\r\n $o.show();\r\n clearTimeout(self._tipTimr);\r\n if (delaySec !== 0) {\r\n self._tipTimr = setTimeout(function () {\r\n hideFn()\r\n }, delaySec * 1000 || 2600);\r\n }\r\n}\r\n\r\nfunction hideTip(id) {\r\n clearTimeout(self._tipTimr);\r\n $('body').click()\r\n restoreTip();\r\n if (!id || typeof id !== 'string') id = 'i-sys-tips';\r\n $('#' + id).stop().hide();\r\n}\r\nvar hideTipThro = ithrottle(200, hideTip);\r\nfunction restoreTip() {\r\n self._lastTipElC && $('#' + _lastTipElC).append($('#i-sys-tips').children()) && (_lastTipElC = null);\r\n}\r\n\r\nfunction raiseEvent(e, o, s) {\r\n var temp = window;\r\n while (temp.parent != null && temp.parent != temp && temp.onChange == null) {\r\n temp = temp.parent;\r\n }\r\n if (temp.onChange != null) {\r\n temp.onChange(e, o, s);\r\n }\r\n}\r\n//解析url参数为对象\r\nfunction getUrlQuery(url) {\r\n url = (url || location.href).split('#')[0];\r\n var items = (url.split('?')[1] || '').split('&'), paras = {}\r\n for (var i = 0; i < items.length; i++) {\r\n var data = items[i].split('=')\r\n if (data.length > 1) paras[data[0]] = decodeURIComponent(data[1]);\r\n }\r\n return paras;\r\n}\r\n\r\nfunction getQueryStr(parname, url) {\r\n var re = new RegExp('(\\\\?|&)' + parname + \"=([^\\&]*)\", \"i\");\r\n var urlParas = re.exec(url || location.search);\r\n return decodeURIComponent((urlParas && urlParas[2]) || '');\r\n}\r\n//为url添加参数,现有的会被覆盖\r\nfunction addQueryStr(url, queryStrObj) {\r\n var ps = url.split('#'), url = ps[0], hash = ps[1] ? ('#' + ps[1]) : '';\r\n var merged = getUrlQuery(url);\r\n Object.keys(queryStrObj || {}).map(function (k) { merged[k] = queryStrObj[k] });\r\n var qs = Object.keys(merged).map(function (key) {\r\n return key + '=' + encodeURIComponent(merged[key] == undefined ? '' : merged[key]);\r\n }).join('&');\r\n return url.split('?')[0] + '?' + qs + hash;\r\n}\r\n\r\nfunction urlAddVer(url) {\r\n var p = { v: localStorage.getItem('_sVersion') }\r\n if (url.match(/\\.aspx/)) {\r\n p.lgid = $x.top()._lgid || CookieUtil.GetCookie('lgid')\r\n p.cacheVer = localStorage.getItem('cacheVer')\r\n }\r\n return addQueryStr(url, p);\r\n}\r\n\r\nfunction addHeadFiles() {\r\n var ret = ''\r\n for (var i = 0, j = arguments.length; i < j; i++) {\r\n var file = $x.appRoot() + urlAddVer(arguments[i]);\r\n if (file.match(/\\.css/i)) {\r\n ret += '\\n'\r\n } else {\r\n ret += '\\n'\r\n }\r\n }\r\n document.write(ret);\r\n}\r\nfunction addFrontFiles() {\r\n var jsList = [\"Styles/Css/universal.css\", \"Styles/iconfont/fonts/font.css\", \"Styles/Css/tree.css\", \"Styles/Css/kcalendar.css\",\r\n \"Styles/Blue/Css/easyui.css\", \"Styles/Blue/Css/gridform.css\",\r\n \"Scripts/GetReqToken.aspx\", \"Scripts/Jquery.min.js\", \"Scripts/Jquery.easyui.min.js\",\r\n \"Scripts/Common.js\", \"Scripts/Msg.aspx\"];\r\n if ($x.top()._isDev) {\r\n [].push.apply(jsList, [\"Art-template.js\", \"Ctrl/KValidator.js\", \"Ctrl/Basic.js\", \"Ctrl/KCalendar.js\",\r\n \"Ctrl/MyTree.js\", \"Ctrl/KValidator.js\", \"Ctrl/WebFileServer.js\",\r\n \"Ctrl/Treebox.js\", \"Ctrl/Autolister.js\", \"Ctrl/Multicontrol.js\", \"Ctrl/Sceditor.js\", \"Ctrl/ListUtil.js\", \"Ctrl/TextUtil.js\",\r\n \"Ctrl/ShortMsg.js\", \"KDataGrid.js\", \"PopUpDialog.js\"]\r\n .map(function (js) { return 'Scripts/' + js }))\r\n } else {\r\n jsList.push('Scripts/all.js');\r\n }\r\n jsList.push('Scripts/theme-color.js');\r\n addHeadFiles.apply(0, jsList);\r\n}\r\n\r\nif (self == $x.top() && !$x.top()._KYTK) {\r\n $x.top()._KYTK = 1;\r\n addHeadFiles('Scripts/GetReqToken.aspx');\r\n}\r\nif ($x.isIE()) {\r\n addHeadFiles('Scripts/PolyFill/ES6-promise.auto.min.js', 'Scripts/PolyFill/ResizeObserver.js');\r\n}\r\nfunction solved(v) {\r\n return Promise.resolve(v)\r\n}\r\nfunction loadScript(srcs) {\r\n srcs = [].concat(srcs);\r\n var ps = srcs.map(function (src) {\r\n return new Promise(function (res, rej) {\r\n var head = document.head, sc = document.createElement(\"script\");\r\n sc.src = src, sc.charset = \"utf-8\";\r\n sc.onload = sc.onreadystatechange = function () {\r\n if (!this.readyState || \"loaded\" === this.readyState) {\r\n sc.onload = sc.onreadystatechange = null;\r\n res()\r\n }\r\n }\r\n sc.onerror = rej\r\n head.appendChild(sc)\r\n })\r\n })\r\n return Promise.all(ps)\r\n}\r\nfunction loadScriptIf(checkVarName, srcs) {\r\n if (self[checkVarName]) return Promise.resolve()\r\n else return loadScript(srcs)\r\n}\r\nfunction loadCss(src) {\r\n $('').appendTo(document.head);\r\n}\r\n\r\nfunction idebounce(waitMs, fn) {\r\n var lastCall, args, timeout;\r\n return function r() {\r\n lastCall = +new Date;\r\n args = arguments;\r\n if (!timeout) {\r\n timeout = setTimeout(later, waitMs);\r\n }\r\n };\r\n\r\n function later() {\r\n var past = +new Date - lastCall;\r\n if (past > waitMs) {\r\n timeout = null;\r\n fn.apply(null, args)\r\n }\r\n else {\r\n timeout = setTimeout(later, waitMs - past + 1)\r\n }\r\n }\r\n}\r\nfunction ithrottle(waitMs, fn) {\r\n var lastRun = 0;\r\n return function () {\r\n var now = +new Date;\r\n if (now - lastRun > waitMs) {\r\n lastRun = now;\r\n fn.apply(null, arguments);\r\n }\r\n }\r\n}\r\n\r\nfunction strFormat(format) {\r\n if (format) {\r\n var args = [].slice.call(arguments, 1);\r\n for (var i = 0; i < args.length; i++) {\r\n format = format.replace(new RegExp('\\\\{' + i + '\\\\}', 'g'), args[i]);\r\n }\r\n }\r\n return format;\r\n}\r\n\r\nfunction encode64(data) {\r\n return btoa(unescape(encodeURIComponent(data)))\r\n}\r\nfunction decode64(data) {\r\n return decodeURIComponent(escape(atob(data)))\r\n}\r\nfunction encode64url(data) {\r\n return encode64(data).replace(/\\+/g, '-')\r\n}\r\nfunction decode64url(data) {\r\n return decode64(data.replace(/\\-/g, '+'))\r\n}\r\nfunction readAsDataURL(file, cb) {\r\n var fr = new FileReader();\r\n fr.onload = function () {\r\n cb(this.result);\r\n };\r\n fr.readAsDataURL(file);\r\n}\r\n\r\nfunction htmlEncode(str) {\r\n if (str == null) return '';\r\n return String(str).replace(/&/g, \"&\")\r\n .replace(//g, \">\")\r\n .replace(/ /g, \" \")\r\n .replace(/\\'/g, \"'\")\r\n .replace(/\\\"/g, \""\");\r\n}\r\nfunction htmlDecode(str) {\r\n if (str == null) return '';\r\n return String(str).replace(/</g, \"<\")\r\n .replace(/>/g, \">\")\r\n .replace(/ /g, \" \")\r\n .replace(/'/g, \"\\'\")\r\n .replace(/"/g, \"\\\"\")\r\n .replace(/&/g, \"&\");\r\n}"],"names":["$x","id","win","window","document","getElementById","getEvent","event","f","arguments","callee","caller","e","Object","prototype","toString","call","match","isV8","urlAddVer","location","host","toLowerCase","replace","top","wind","topw","__isKYTop","parent","__isNotTop","dialogArguments","opener","self","r","body","ajax","func","d","fnOk","fnError","thiso","FuncName","ajaxSync","ajaxAsync","ajaxMsg","apply","this","slice","ajaxPro","tx","o","innerText","textContent","toJSON","$","appRoot","appRootV","scripts","getElementsByTagName","i","length","pos","src","split","indexOf","substring","substr","curPath","li","curPathV","href","lastIndexOf","toAbsUrl","relativeUrl","compareUrlWin","test","queryString","name","search","getQueryStr","isIE","ver","tr","exec","navigator","userAgent","v","parseInt","getScrollbarWidth","noScroll","oDiv","topx","scbarWidth","createElement","style","cssText","appendChild","clientWidth","overflowY","scroll","removeChild","keyCode","which","docWin","doc","defaultView","parentWindow","loadJs","sc","close","closeIfr","postTo","url","data","target","n","form","display","method","action","appendTo","val","submit","clone","obj","JSON","parse","stringify","fn","extend","dropCss","each","removeProperty","removeAttribute","CookieUtil","getCookieVal","offset","endstr","cookie","unescape","GetCookie","arg","alen","clen","j","DeleteCookie","path","domain","_virPath","SetCookie","value","expires","secure","escape","toGMTString","SetLongCookie","SessionUtil","Expire","msg","tp","__isKyH5","_isJumping","confirm","pathname","hash","encodeURIComponent","Timeout","kygMsg","maskUtil","init","inited","count","addClass","append","maskHTML","show","transparentAll","spin","maskTop","height","outerHeight","maskLeft","width","outerWidth","css","left","topMask","totalCount","setTimeout","removeClass","addCount","hide","layer","num","maskUtilImage","imgClick","attr","showTip","x","y","noBorder","hideTip","OpenerUtil","showModeWindow","openDlgWin","showWindow","xposition","screen","yposition","open","rc","refEl","color","delaySec","ops","$o","pNode","restoreTip","parentNode","toggleClass","stop","unbind","opacity","zoom","fontSize","_lastTipElC","empty","innerHTML","hideFn","bind","popOnce","KYMsg","popEl","one","closeButton","prepend","find","click","isPanel","on","stopPropagation","popwindow","closest","pos0","offx","offy","$win","dtX","dtY","offsetParent","p","Math","min","offsetHeight","scrollLeft","scrollTop","clearTimeout","_tipTimr","getElementsByName","oWindow","getValueById","oControl","tagName","String","contentEditable","scEditor","getValue","undefined","getAttribute","setValueById","getLangValuesByName","ret","oControls","hideTipThro","ithrottle","children","raiseEvent","s","temp","onChange","getUrlQuery","items","paras","decodeURIComponent","parname","urlParas","RegExp","addQueryStr","queryStrObj","ps","merged","keys","map","k","qs","key","join","localStorage","getItem","lgid","_lgid","cacheVer","addHeadFiles","file","write","addFrontFiles","jsList","_isDev","push","js","solved","Promise","resolve","loadScript","srcs","concat","res","rej","head","charset","onload","onreadystatechange","readyState","onerror","all","loadScriptIf","checkVarName","loadCss","idebounce","waitMs","lastCall","args","timeout","Date","later","past","lastRun","now","strFormat","format","encode64","btoa","decode64","atob","encode64url","decode64url","readAsDataURL","cb","fr","FileReader","result","htmlEncode","str","htmlDecode","_KYTK"],"mappings":"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"}