锘縲indow.Modal = function () { var globalLocalizer ={}; var reg = new RegExp("\\[([^\\[\\]]*?)\\]", 'igm'); var alr = $("#com-alert"); var ahtml = alr.html(); var _tip = function (options, sec) { alr.html(ahtml); // 澶嶅師 alr.find('.ok').hide(); alr.find('.cancel').hide(); alr.find('.modal-content').width(500); _dialog(options, sec); return { on: function (callback) { } }; }; var _alert = function (options) { alr.html(ahtml); // 澶嶅師 alr.find('.ok').removeClass('btn-success').addClass('btn-primary'); alr.find('.cancel').hide(); _dialog(options); return { on: function (callback) { if (callback) { alr.find('.ok').unbind("click").click(function () { callback(true) }); } } }; }; var _confirm = function (options) { alr.html(ahtml); // 澶嶅師 alr.find('.ok').removeClass('btn-primary').addClass('btn-success'); alr.find('.cancel').show(); _dialog(options); return { on: function (callback) { if (callback) { alr.find('.ok').unbind("click").click(function () { callback(true) }); alr.find('.cancel').unbind("click").click(function () { return; }); } } }; }; var _dialog = function (options) { var ops = { msg: "鎻愮ず鍐呭", title: "鎿嶄綔鎻愮ず", btnok: globalLocalizer["OK"] || "纭畾", btncl: globalLocalizer["Cancel"] || "鍙栨秷" }; $.extend(ops, options); var html = alr.html().replace(reg, function (node, key) { return { Title: ops.title, Message: ops.msg, BtnOk: ops.btnok, BtnCancel: ops.btncl }[key]; }); alr.html(html); alr.modal({ width: 250, backdrop: 'static' }); } return { tip: _tip, alert: _alert, confirm: _confirm } }(); function showMsg(msg, callback) { Modal.alert({ title: globalLocalizer["Tip"] || "鎻愮ず", msg: msg, btnok: globalLocalizer["OK"] || "纭畾" }).on(function (e) { if (callback) { callback(); } }); $("body").css('padding-right', '0px'); } function showToastMessage(msg, callback) { $("#message").text(msg); $('#toast').show(); setTimeout(function () { $('#toast').hide(); if (callback) { callback(); } }, 1000); } function showConfirm(msg, callback) { Modal.confirm( { title: globalLocalizer["Tip"] || "鎻愮ず", msg: msg, }).on(function (e) { callback(); }); $("body").css('padding-right', '0px'); } function showAlert(title, msg, callback) { showMsg(msg, callback); } function showLoading(msg) { $("#divLoadingModal").show(); $("#divLoading").show(); if (msg) { $("#divLoadingContent").html(msg); } } function hideLoading() { $("#divLoadingModal").hide(); $("#divLoading").hide(); } function getErrorCode(message) { if (!message) return ""; if (message.indexOf("Duplicate entry") >= 0 && message.indexOf("for key 'PRIMARY'") > 0) { return "RepeatCode"; } return ""; } function handleResponse(response, success, error) { if (response.isSuccess) { if (success) { success(response.result); } } else { var errorCode = response.errorCode; if (errorCode == null) { errorCode = getErrorCode(response.errorMessage); } var errorMessage = response.errorMessage; var errorCodeMessage = globalLocalizer[errorCode]; if (errorCode != "" && errorCodeMessage) { errorMessage = errorCodeMessage; } if (error) { error(errorMessage); } else { showAlert(globalLocalizer["Tip"] || "鎻愮ず", errorMessage); } } } function handleRequestEx(url, data, method, success, error, async) { var indexLoad = layer.load(1, { shade: [0.1, '#fff'] //0.1閫忔槑搴︾殑鐧借壊鑳屾櫙 }); //showLoading(globalLocalizer["Waiting"] || "璇锋眰澶勭悊涓紝璇风◢鍚?.."); var ajaxConfig = { url: url, type: method, cache: false, async: async, data: data, success: function (response) { //hideLoading(); layer.close(indexLoad); handleResponse(response, success, error); } }; var xsrfToken = $("#hiddenXsrfToken").val(); if (xsrfToken && xsrfToken != null && xsrfToken != "") { ajaxConfig.headers = { "RequestVerificationToken": xsrfToken }; } $.ajax(ajaxConfig); } function handleFileRequest(url, formData, success, error) { showLoading(globalLocalizer["Waiting"] || "璇锋眰澶勭悊涓紝璇风◢鍚?.."); $.ajax({ url: url, type: 'POST', data: formData, async: true, cache: false, contentType: false, processData: false, success: function (response) { hideLoading(); handleResponse(response, success, error); } }); } function handleFormRequest(url, form, success, error) { showLoading(globalLocalizer["Waiting"] || "璇锋眰澶勭悊涓紝璇风◢鍚?.."); $.ajax({ url: url, type: 'POST', data: new FormData(form), async: true, cache: false, contentType: false, processData: false, success: function (response) { hideLoading(); handleResponse(response, success, error); } }); } function handleFormDataRequest(url, formData, success, error) { showLoading(globalLocalizer["Waiting"] || "璇锋眰澶勭悊涓紝璇风◢鍚?.."); $.ajax({ url: url, type: 'POST', data: formData, async: true, cache: false, contentType: false, processData: false, success: function (response) { hideLoading(); handleResponse(response, success, error); } }); } function handlePostRequest(url, data, success, error) { handleRequestEx(url, data, "post", success, error, true); } function handleGetRequest(url, data, success, error) { handleRequestEx(url, data, "get", success, error, true); } function handleDeleteRequest(url, data, success, error) { handleRequestEx(url, data, "delete", success, error, true); } function handleSyncPostRequest(url, data, success, error) { handleRequestEx(url, data, "post", success, error, false); } function handleSyncGetRequest(url, data, success, error) { handleRequestEx(url, data, "get", success, error, false); } function handleSyncDeleteRequest(url, data, success, error) { handleRequestEx(url, data, "delete", success, error, false); } Date.prototype.format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //鏈堜唤 "d+": this.getDate(), //鏃 "h+": this.getHours(), //灏忔椂 "m+": this.getMinutes(), //鍒 "s+": this.getSeconds(), //绉 "q+": Math.floor((this.getMonth() + 3) / 3), //瀛e害 "S": this.getMilliseconds() //姣 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } function getDate(dateStr) { if (dateStr instanceof Date) { return new Date(dateStr); } var strArray = dateStr.split(" "); var dateArray = strArray[0].split("-"); var year = parseInt(dateArray[0]); var month = parseInt(dateArray[1]); var day = parseInt(dateArray[2]); var hour = 0; var minute = 0; var second = 0; if (strArray[1]) { var timeArray = strArray[1].split(":"); hour = parseInt(timeArray[0]); minute = parseInt(timeArray[1]); second = parseInt(timeArray[2]); } return new Date(year, month - 1, day, hour, minute, second); } //鏃ユ湡鐩稿姞鍑犲ぉ锛屾湀锛屽勾 function DateAdd(strInterval, NumDay, dtDate) { var dtTmp = new Date(dtDate); if (isNaN(dtTmp)) dtTmp = new Date(); switch (strInterval) { case "s": dtTmp = new Date(Date.parse(dtTmp) + (1000 * NumDay)); break; case "n": dtTmp = new Date(Date.parse(dtTmp) + (60000 * NumDay)); break; case "h": dtTmp = new Date(Date.parse(dtTmp) + (3600000 * NumDay)); break; case "d": dtTmp = new Date(Date.parse(dtTmp) + (86400000 * NumDay)); break; case "w": dtTmp = new Date(Date.parse(dtTmp) + ((86400000 * 7) * NumDay)); break; case "m": if ((dtTmp.getMonth()) + parseInt(NumDay) <= 12) dtTmp = new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + parseInt(NumDay), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); else dtTmp = new Date(dtTmp.getFullYear() + 1, (dtTmp.getMonth()) + parseInt(NumDay) - 12, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); break; case "y": dtTmp = new Date((dtTmp.getFullYear() + NumDay), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); break; } var mStr = new String(dtTmp.getMonth() + 1); var dStr = new String(dtTmp.getDate()); if (mStr.length == 1) { mStr = "0" + mStr; } if (dStr.length == 1) { dStr = "0" + dStr; } return dtTmp.getFullYear() + "-" + mStr + "-" + dStr; } //鑾峰彇褰撳墠鏃堕棿锛屾牸寮廦YYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; return currentdate; } function getLocation(callback) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { callback({ lat: position.coords.latitude, lon: position.coords.longitude }); }, function (error) { switch (error.code) { case error.PERMISSION_DENIED: x.innerHTML = "User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: x.innerHTML = "Location information is unavailable." break; case error.TIMEOUT: x.innerHTML = "The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML = "An unknown error occurred." break; } }); } else { showAlert("鎻愮ず", "鎮ㄧ殑娴忚鍣ㄤ笉鏀寔瀹氫綅"); } } function ncrToUnicode(s) { return s.replace(/&#x([a-zA-Z0-9]{4});/g, function (str, group) { return "\\u" + group; }); } function ncrDecode(s) { var str = ncrToUnicode(s).replace(/\\/g, "%"); return unescape(str); } function getQueryStringByName(name) { var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i")); if (result == null || result.length < 1) { return ""; } return result[1]; } function isIOS() { return navigator.userAgent.indexOf("iPhone") > 0 || navigator.userAgent.indexOf("iPad") > 0; } function showFrameDialog(url, setting, ok, cancel) { var defaultSetting = { width: 700, height: 600, title: "瀵硅瘽妗? }; var dialogSetting = { modal: true, resizable: false }; dialogSetting.width = setting.width || defaultSetting.width; if (dialogSetting.width > $(top).width()) { dialogSetting.width = $(top).width(); } dialogSetting.height = setting.height || defaultSetting.height; dialogSetting.title = setting.title || defaultSetting.title; dialogSetting.buttons = { "纭畾": function () { if (ok) { ok(top.document.getElementById(frameId).contentWindow); } top.$(this).dialog("close"); } , "鍙栨秷": function () { if (cancel) { cancel(); } top.$(this).dialog("close"); } }; dialogSetting.close = function () { top.$(modelWin).remove(); }; dialogSetting.create = function () { $(this).closest(".ui-dialog").find(".ui-dialog-buttonset button").each(function (index) { $(this).removeClass("ui-button").removeClass("ui-corner-all").removeClass("ui-widget"); if (index == 0) { $(this).addClass("btn").addClass("btn-success").addClass("ok").css("outline", "none"); } else { $(this).addClass("btn").addClass("btn-danger").addClass("btn-delete").css("outline", "none"); } }); }; var id = new Date().getTime(); var winId = "dialog" + id; var frameId = "frame" + id; if (url.indexOf("?") > 0) { url += "&"; } else { url += "?"; } url += "dialog=" + winId; var cssClass = (navigator.userAgent.indexOf("iPhone") > 0 || navigator.userAgent.indexOf("iPad") > 0 ? "iframe-holder" : ""); var modelWin = $(""); $(top.document.body).append(modelWin); top.$(modelWin).dialog(dialogSetting); top.$(modelWin).parent().find(".ui-dialog-titlebar-close").removeClass("ui-button-icon-only").html("脳"); } function showSimpleFrameDialog(url, setting, closeHandle) { var defaultSetting = { width:"700px", height: "500px", title: "Dialog" }; var dialogSetting = { modal: true, resizable: false }; dialogSetting.width = setting.width || defaultSetting.width; dialogSetting.height = setting.height || defaultSetting.height; dialogSetting.title = setting.title || defaultSetting.title; layeriframe(dialogSetting.title, url, dialogSetting.width, dialogSetting.height, function (win) { if (closeHandle) { closeHandle(win); } }); return; var dialogSetting = { modal: true, resizable: false }; dialogSetting.width = setting.width || defaultSetting.width; if (dialogSetting.width > $(top).width()) { dialogSetting.width = $(top).width(); } dialogSetting.height = setting.height || defaultSetting.height; dialogSetting.title = setting.title || defaultSetting.title; dialogSetting.close = function () { if (closeHandle) { closeHandle(top.$("#" + frameId)[0].contentWindow); } top.$(modelWin).remove(); } var id = new Date().getTime(); var winId = "dialog" + id; var frameId = "frame" + id; if (url.indexOf("?") > 0) { url += "&"; } else { url += "?"; } url += "dialog=" + winId; var cssClass = (navigator.userAgent.indexOf("iPhone") > 0 || navigator.userAgent.indexOf("iPad") > 0 ? "iframe-holder" : ""); var modelWin = $(""); $(top.document.body).append(modelWin); top.$(modelWin).dialog(dialogSetting); top.$(modelWin).find("#" + frameId).attr("src", url); top.$(modelWin).parent().find(".ui-dialog-titlebar-close").removeClass("ui-button-icon-only").html("脳"); } function closeCurrentDialog() { var dialog = getQueryStringByName("dialog"); top.$("#" + dialog).dialog("close"); } function getFileExtension(path) { var index = path.lastIndexOf("."); return path.substring(index + 1); } function uploadFile(target, path, success) { var pathBase = window.pathBase || ""; var files = target.files; if (files.length == 0) { showAlert("鎻愮ず", "璇烽€夋嫨瑕佷笂浼犵殑鏂囦欢"); return; } var file = files[0]; var size = file.size; var buffer = 1024 * 512; var length = parseInt(size / buffer); if (size % buffer > 0) { length++; } var sClientFilePath = target.value; var baseUrl = pathBase + "/api/Common/UploadRangeFile/?path=" + path + "&clientFilePath=" + encodeURIComponent(sClientFilePath) + "&totalSize=" + size; var uploadRange = function (fileId, index) { var start = index * buffer; var data = file.slice(start, buffer + start); var xhr = new XMLHttpRequest(); var url = baseUrl + "&fileId=" + fileId + "&start=" + start; xhr.open('POST', url, true); xhr.onreadystatechange = function (e) { if (xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 204)) { index++; var response = JSON.parse(xhr.responseText); if (!response.isSuccess) { showAlert("鎻愮ず", response.errorMessage); return; } showLoading("鏂囦欢涓婁紶涓?.." + (index * 100 / length).toFixed("0") + "%"); if (index < length) { uploadRange(response.result, index); } else { hideLoading(); if (success) { success(response.result, sClientFilePath); } } } }; xhr.send(data); }; showLoading("鏂囦欢涓婁紶涓?.."); uploadRange("", 0); } $.fn.showPager = function (pageSize, loadData) { return this.each(function () { this.pageSize = pageSize; this.pageIndex = 1; var that = this; function renderPagers() { var html = []; var pageCount = parseInt(that.total / that.pageSize); if (that.total % that.pageSize > 0) { pageCount++; } if (pageCount == 0) { pageCount = 1; } html.push("鍏辨湁" + that.total + "鏉¤褰旤/span>"); html.push(""); return html.join(""); } function goToPage(page) { that.pageIndex = page; loadData(that.pageIndex, function (total) { that.total = total; $(that).html(renderPagers()); }); } function registerEvent() { $(that).on("click", "li", function () { var pageIndex = $(this).data("page"); if (pageIndex == null) { return; } goToPage(pageIndex); }); } goToPage(1); registerEvent(); }); } var ClientType = { Pc: "Pc", Phone: "Phone", Pad: "Pad" }; function getClientType() { var userAgent = navigator.userAgent; if (userAgent.indexOf("iPhone") >= 0) { return ClientType.Phone; } else if (userAgent.indexOf("iPad") >= 0) { return ClientType.Pad; } else if (userAgent.indexOf("Android") >= 0) { if (userAgent.indexOf("mobile") >= 0) { return ClientType.Phone; } return ClientType.Pad; } return ClientType.Pc; } var operates = []; function hasOperate(operate) { if (operates.length == 0) { return false; } for (var i = 0; i < operates.length; i++) { if (operates[i] == operate) { return true; } } if (i == operate.length) { return false; } } function hasUpdateOperate() { return hasOperate("Update"); } function hasDeleteOperate() { return hasOperate("Delete"); } function HasPrivilegeOperate() { return hasOperate("Privilege"); } function initOperatePrivilege(module) { handleSyncGetRequest(pathBase + "/api/ModuleGroup/GetOperates/?module=" + module, {}, function (result) { operates = result; $(document.body).find("[data-operate]").each(function () { var operate = $(this).data("operate"); if (!operate || operate == null || operate == "") { return; } if (hasOperate(operate)) { if ($(this).hasClass("btn")) { $(this).css("display", "inline-block"); } else { $(this).show(); } } else { $(this).remove(); } }); }); }