2024-11-18 09:55:11 +08:00
|
|
|
|
/* const dataUrl = 'http://127.0.0.1:21995/'; // 数据请求路径
|
2024-11-13 11:03:54 +08:00
|
|
|
|
const fileUrl = 'http://127.0.0.1:21995/statics'; // 文件路径
|
2024-11-16 16:48:32 +08:00
|
|
|
|
const signFileUrl = 'http://127.0.0.1:21995/statics'; // 签名文件路径
|
2024-11-18 09:55:11 +08:00
|
|
|
|
const viewFileUrl = 'http://192.168.0.14:8012/onlinePreview?url=' //14服务器预览文件 */
|
2024-11-08 16:53:56 +08:00
|
|
|
|
|
2024-11-18 09:55:11 +08:00
|
|
|
|
const dataUrl = 'http://192.168.0.14:21999/'; // 数据请求路径
|
|
|
|
|
|
const fileUrl = 'http://192.168.0.14:21999/statics'; // 文件路径
|
|
|
|
|
|
const viewFileUrl = 'http://192.168.0.14:8012/onlinePreview?url=' //14服务器预览文件
|
2024-11-08 16:53:56 +08:00
|
|
|
|
|
|
|
|
|
|
/* 请求 */
|
|
|
|
|
|
function ajaxRequest(url, type, data, async, beforeFn, successFn, errorFn, contentType) {
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
type: type,
|
|
|
|
|
|
headers: {
|
|
|
|
|
|
"authorization": sessionStorage.getItem("gz-token"),
|
|
|
|
|
|
},
|
|
|
|
|
|
data: data,
|
|
|
|
|
|
async: async,
|
|
|
|
|
|
beforeSend: beforeFn,
|
|
|
|
|
|
contentType: contentType || "application/x-www-form-urlencoded; charset=utf-8",
|
2024-11-09 17:54:42 +08:00
|
|
|
|
success: function (data) {
|
2024-11-25 18:28:28 +08:00
|
|
|
|
if (data.code === 401) {
|
|
|
|
|
|
closeWindowOpen();
|
|
|
|
|
|
}
|
2024-11-08 16:53:56 +08:00
|
|
|
|
successFn(data);
|
|
|
|
|
|
},
|
2024-11-09 17:54:42 +08:00
|
|
|
|
error: function (error) {
|
2024-11-08 16:53:56 +08:00
|
|
|
|
errorFn(error)
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 文件上传请求 */
|
|
|
|
|
|
function ajaxRequestByUploadFile(url, data, beforeFn, successFn, errorFn) {
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
headers: {
|
|
|
|
|
|
"authorization": sessionStorage.getItem("gz-token"),
|
|
|
|
|
|
},
|
|
|
|
|
|
type: 'POST',
|
|
|
|
|
|
dataType: 'json',
|
2024-11-08 19:43:23 +08:00
|
|
|
|
contentType: 'multipart/form-data',
|
2024-11-08 16:53:56 +08:00
|
|
|
|
processData: false,
|
|
|
|
|
|
contentType: false,
|
|
|
|
|
|
data: data,
|
|
|
|
|
|
beforeSend: beforeFn,
|
2024-11-09 17:54:42 +08:00
|
|
|
|
success: function (data) {
|
2024-11-25 18:28:28 +08:00
|
|
|
|
if (data.code === 401) {
|
|
|
|
|
|
closeWindowOpen();
|
|
|
|
|
|
}
|
2024-11-08 16:53:56 +08:00
|
|
|
|
successFn(data);
|
|
|
|
|
|
},
|
2024-11-09 17:54:42 +08:00
|
|
|
|
error: function (error) {
|
2024-11-08 16:53:56 +08:00
|
|
|
|
errorFn(error)
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 请求错误 */
|
|
|
|
|
|
function errorFn(xhr, status, error) {
|
|
|
|
|
|
if (xhr.status === 0) {
|
|
|
|
|
|
// 网络连接失败
|
|
|
|
|
|
console.error("网络连接失败,请检查网络是否正常");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
// 请求出现其他错误
|
|
|
|
|
|
console.error("ajax请求错误:" + error);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 公共导出excel
|
2024-11-16 16:03:55 +08:00
|
|
|
|
function exportExcelUtil(url, fileName, params) {
|
2024-11-08 16:53:56 +08:00
|
|
|
|
let loadingMsg = layer.msg("数据导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, });
|
|
|
|
|
|
let xhr = new XMLHttpRequest();
|
2024-11-11 14:25:52 +08:00
|
|
|
|
xhr.open("POST", url, true);
|
2024-11-08 16:53:56 +08:00
|
|
|
|
xhr.responseType = "blob"; // 转换流
|
2024-11-16 16:03:55 +08:00
|
|
|
|
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8')
|
2024-11-11 14:25:52 +08:00
|
|
|
|
xhr.setRequestHeader("authorization", sessionStorage.getItem("gz-token"));
|
2024-11-11 15:39:24 +08:00
|
|
|
|
xhr.onload = function () {
|
|
|
|
|
|
layer.close(loadingMsg);
|
|
|
|
|
|
if (this.status === 200) {
|
|
|
|
|
|
let blob = this.response;
|
|
|
|
|
|
var a = document.createElement("a");
|
|
|
|
|
|
var url = window.URL.createObjectURL(blob);
|
|
|
|
|
|
a.href = url;
|
|
|
|
|
|
a.download = fileName + ".xlsx"; // 文件名
|
|
|
|
|
|
} else {
|
|
|
|
|
|
layer.msg("数据发生异常,请稍后重试", { icon: 16, scrollbar: false, time: 2000 });
|
|
|
|
|
|
}
|
|
|
|
|
|
a.click();
|
|
|
|
|
|
window.URL.revokeObjectURL(url);
|
|
|
|
|
|
};
|
|
|
|
|
|
xhr.send(params);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 下载文件的公共方法
|
2024-11-16 16:03:55 +08:00
|
|
|
|
function downLoadFileUtil(url, fileName, params) {
|
2024-11-11 15:43:05 +08:00
|
|
|
|
let loadingMsg = layer.msg("文件导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, });
|
2024-11-11 15:39:24 +08:00
|
|
|
|
let xhr = new XMLHttpRequest();
|
2024-11-11 15:57:19 +08:00
|
|
|
|
xhr.open("GET", url, true);
|
2024-11-11 15:39:24 +08:00
|
|
|
|
xhr.responseType = "blob"; // 转换流
|
|
|
|
|
|
xhr.setRequestHeader("authorization", sessionStorage.getItem("gz-token"));
|
2024-11-08 16:53:56 +08:00
|
|
|
|
xhr.onload = function () {
|
2024-11-09 17:54:42 +08:00
|
|
|
|
layer.close(loadingMsg);
|
|
|
|
|
|
if (this.status === 200) {
|
|
|
|
|
|
let blob = this.response;
|
|
|
|
|
|
var a = document.createElement("a");
|
|
|
|
|
|
var url = window.URL.createObjectURL(blob);
|
|
|
|
|
|
a.href = url;
|
2024-11-11 15:43:05 +08:00
|
|
|
|
a.download = fileName; // 文件名
|
2024-11-09 17:54:42 +08:00
|
|
|
|
} else {
|
2024-11-11 15:57:19 +08:00
|
|
|
|
layer.msg("文件导出异常,请稍后重试", { icon: 16, scrollbar: false, time: 2000 });
|
2024-11-09 17:54:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
a.click();
|
|
|
|
|
|
window.URL.revokeObjectURL(url);
|
2024-11-08 16:53:56 +08:00
|
|
|
|
};
|
2024-11-11 15:57:19 +08:00
|
|
|
|
xhr.send();
|
2024-11-09 17:54:42 +08:00
|
|
|
|
}
|
2024-11-08 16:53:56 +08:00
|
|
|
|
|
|
|
|
|
|
// 格式化日对象
|
|
|
|
|
|
const getNowDate = () => {
|
|
|
|
|
|
var date = new Date();
|
|
|
|
|
|
var sign2 = "-";
|
|
|
|
|
|
var year = date.getFullYear() // 年
|
|
|
|
|
|
var month = date.getMonth() + 1; // 月
|
|
|
|
|
|
var day = date.getDate(); // 日
|
|
|
|
|
|
var hour = date.getHours(); // 时
|
|
|
|
|
|
var minutes = date.getMinutes(); // 分
|
|
|
|
|
|
var seconds = date.getSeconds() //秒
|
|
|
|
|
|
var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'];
|
|
|
|
|
|
var week = weekArr[date.getDay()];
|
|
|
|
|
|
// 给一位数的数据前面加 “0”
|
|
|
|
|
|
if (month >= 1 && month <= 9) {
|
|
|
|
|
|
month = "0" + month;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (day >= 0 && day <= 9) {
|
|
|
|
|
|
day = "0" + day;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (hour >= 0 && hour <= 9) {
|
|
|
|
|
|
hour = "0" + hour;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (minutes >= 0 && minutes <= 9) {
|
|
|
|
|
|
minutes = "0" + minutes;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (seconds >= 0 && seconds <= 9) {
|
|
|
|
|
|
seconds = "0" + seconds;
|
|
|
|
|
|
}
|
|
|
|
|
|
return year + "-" + month + "-" + day + "-" + hour + sign2 + minutes + sign2 + seconds;
|
2024-11-08 19:43:23 +08:00
|
|
|
|
}
|
|
|
|
|
|
// 空值赋值
|
2024-11-09 17:54:42 +08:00
|
|
|
|
function setNullValue(value) {
|
|
|
|
|
|
if (value === 0) {
|
|
|
|
|
|
return 0;
|
2024-11-11 12:28:05 +08:00
|
|
|
|
} else if (!value || value === 'null') {
|
2024-11-08 19:43:23 +08:00
|
|
|
|
return '';
|
|
|
|
|
|
}
|
|
|
|
|
|
return value;
|
2024-11-09 17:54:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-11-15 14:22:21 +08:00
|
|
|
|
// 数字空值赋值
|
|
|
|
|
|
function setNullNumValue(value) {
|
|
|
|
|
|
if (value === 0) {
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
} else if (!value || value === 'null') {
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
return value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-11-09 17:54:42 +08:00
|
|
|
|
function getUrlParam(key) {
|
2024-11-16 16:03:55 +08:00
|
|
|
|
var href = window.location.href;
|
|
|
|
|
|
var url = href.split("?");
|
|
|
|
|
|
if (url.length <= 1) {
|
|
|
|
|
|
return "";
|
|
|
|
|
|
}
|
|
|
|
|
|
var params = url[1].split("&");
|
|
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < params.length; i++) {
|
|
|
|
|
|
var param = params[i].split("=");
|
|
|
|
|
|
if (key == param[0]) {
|
|
|
|
|
|
return param[1];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-11-09 17:54:42 +08:00
|
|
|
|
}
|
2024-11-16 16:03:55 +08:00
|
|
|
|
|
|
|
|
|
|
// 预览文件
|
|
|
|
|
|
function commonViewFile(params) {
|
2024-11-21 09:30:52 +08:00
|
|
|
|
let path = fileUrl + params + '?auth=' + sessionStorage.getItem("gz-token");
|
|
|
|
|
|
// path = fileUrl + params
|
|
|
|
|
|
console.log(path);
|
2024-11-18 10:56:52 +08:00
|
|
|
|
let encodePath = encodeURIComponent(useBase64.encode64(path));
|
|
|
|
|
|
window.open(viewFileUrl + encodePath + '&token=' + generateToken());
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
let _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
|
|
|
|
|
const useBase64 = {
|
2024-11-21 09:30:52 +08:00
|
|
|
|
encode64: (e) => {
|
|
|
|
|
|
let t = "";
|
|
|
|
|
|
let f = 0;
|
|
|
|
|
|
e = useBase64.encodeUTF8(e);
|
|
|
|
|
|
while (f < e.length) {
|
|
|
|
|
|
const n = e.charCodeAt(f++);
|
|
|
|
|
|
const r = e.charCodeAt(f++);
|
|
|
|
|
|
const i = e.charCodeAt(f++);
|
|
|
|
|
|
let s = n >> 2;
|
|
|
|
|
|
let o = (n & 3) << 4 | r >> 4;
|
|
|
|
|
|
let u = (r & 15) << 2 | i >> 6;
|
|
|
|
|
|
let a = i & 63;
|
|
|
|
|
|
if (isNaN(r)) {
|
|
|
|
|
|
u = a = 64;
|
|
|
|
|
|
} else if (isNaN(i)) {
|
|
|
|
|
|
a = 64;
|
|
|
|
|
|
}
|
|
|
|
|
|
t += _keyStr[s] + _keyStr[o] + _keyStr[u] + _keyStr[a];
|
|
|
|
|
|
}
|
|
|
|
|
|
return t;
|
|
|
|
|
|
},
|
|
|
|
|
|
decode64: (e) => {
|
|
|
|
|
|
let t = "";
|
|
|
|
|
|
let f = 0;
|
|
|
|
|
|
e = e.replace(/[^A-Za-z0-9+/=]/g, "");
|
|
|
|
|
|
while (f < e.length) {
|
|
|
|
|
|
const s = _keyStr.indexOf(e.charAt(f++));
|
|
|
|
|
|
const o = _keyStr.indexOf(e.charAt(f++));
|
|
|
|
|
|
const u = _keyStr.indexOf(e.charAt(f++));
|
|
|
|
|
|
const a = _keyStr.indexOf(e.charAt(f++));
|
|
|
|
|
|
let n = s << 2 | o >> 4;
|
|
|
|
|
|
let r = (o & 15) << 4 | u >> 2;
|
|
|
|
|
|
let i = (u & 3) << 6 | a;
|
|
|
|
|
|
t += String.fromCharCode(n);
|
|
|
|
|
|
if (u !== 64) {
|
|
|
|
|
|
t += String.fromCharCode(r);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (a !== 64) {
|
|
|
|
|
|
t += String.fromCharCode(i);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return useBase64.decodeUTF8(t);
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
encodeUTF8: (input) => {
|
|
|
|
|
|
return unescape(encodeURIComponent(input));
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
decodeUTF8: (input) => {
|
|
|
|
|
|
return decodeURIComponent(escape(input));
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 校验查询关键字是否包含特殊字符 */
|
|
|
|
|
|
function checkValue(value) {
|
|
|
|
|
|
if (value) {
|
2024-11-21 09:36:23 +08:00
|
|
|
|
let pattern = new RegExp("[%_<>]");
|
2024-11-21 09:30:52 +08:00
|
|
|
|
if (pattern.test(value)) {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
2024-11-18 10:56:52 +08:00
|
|
|
|
}
|
2024-11-21 09:30:52 +08:00
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2024-11-18 10:56:52 +08:00
|
|
|
|
|
2024-11-25 18:28:28 +08:00
|
|
|
|
// 页面401关闭页面
|
|
|
|
|
|
function closeWindowOpen() {
|
2024-11-26 09:01:25 +08:00
|
|
|
|
let layerIndex = top.layer.confirm('登录已过期,请点击确定后重新登录!', {
|
2024-11-25 18:28:28 +08:00
|
|
|
|
btn: ['确认', '取消'],
|
|
|
|
|
|
'title': '操作提示',
|
|
|
|
|
|
move:false,
|
|
|
|
|
|
cancel: function (index, layero) {
|
|
|
|
|
|
window.close();
|
|
|
|
|
|
}
|
|
|
|
|
|
}, function () {
|
|
|
|
|
|
window.close();
|
2024-11-26 09:01:25 +08:00
|
|
|
|
top.layer.close(layerIndex);
|
2024-11-25 18:28:28 +08:00
|
|
|
|
}, function () {
|
|
|
|
|
|
window.close();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2024-11-18 10:56:52 +08:00
|
|
|
|
|