gz_gqj_web/js/public.js

279 lines
8.3 KiB
JavaScript
Raw Permalink Normal View History

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