// var baseUrl = "/crm";
|
var baseUrl = "";
|
|
// 详情窗口-高度
|
var detailHeight = '80%';
|
// 详情窗口-宽度
|
var detailWidth = '90%';
|
|
// layui.config({
|
// // defaultTheme: 'theme-colorful', // 默认主题
|
// // version: true, // 加载模块不缓存
|
// maxTabNum: 30, // 最大打开的Tab数量
|
// base: baseUrl + "/static/layui/lay/modules/"
|
// }).use(['admin'], function() {
|
// var $ = layui.jquery;
|
// var layer = layui.layer;
|
// var admin = layui.admin;
|
//
|
// });
|
|
// 非空判断
|
function isEmpty(obj){
|
return typeof obj == "undefined" || obj == null || obj === "";
|
}
|
|
function emptyShow(d) {
|
return isEmpty(d)?"--":d;
|
}
|
|
function eq(o1, o2) {
|
if (!isEmpty(o1) && !isEmpty(o2)) {
|
return o1===o2;
|
}
|
if (isEmpty(o1) && isEmpty(o2)) {
|
return true;
|
}
|
return o1 === o2;
|
}
|
|
// 时间 ==>> 字符串
|
function dateToStr(date) {
|
var time = new Date(date);
|
var y = time.getFullYear();
|
var M = time.getMonth() + 1;
|
M = M < 10 ? ("0" + M) : M;
|
var d = time.getDate();
|
d = d < 10 ? ("0" + d) : d;
|
var h = time.getHours();
|
h = h < 10 ? ("0" + h) : h;
|
var m = time.getMinutes();
|
m = m < 10 ? ("0" + m) : m;
|
var s = time.getSeconds();
|
s = s < 10 ? ("0" + s) : s;
|
return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
|
}
|
|
// 时间 ==>> 字符串
|
function dateToStr2(date) {
|
var time = new Date(date);
|
var y = time.getFullYear();
|
var M = time.getMonth() + 1;
|
M = M < 10 ? ("0" + M) : M;
|
var d = time.getDate();
|
d = d < 10 ? ("0" + d) : d;
|
var h = time.getHours();
|
h = h < 10 ? ("0" + h) : h;
|
var m = time.getMinutes();
|
m = m < 10 ? ("0" + m) : m;
|
var s = time.getSeconds();
|
s = s < 10 ? ("0" + s) : s;
|
return y + "" + "" + M + "" + d + "" + h + "" + "" + m + "" + s;
|
}
|
|
// 字符串 ===>> 时间
|
function strToDate(str) {
|
var t = Date.parse(str);
|
if (!isNaN(t)) {
|
return new Date(Date.parse(str.replace(/-/g, "/")));
|
} else {
|
return null;
|
}
|
}
|
|
// 清理对象null值
|
function reObject(data) {
|
for (var obj in data) {
|
if (data[obj]===null){
|
delete data[obj];
|
}
|
}
|
return data;
|
}
|
|
/**
|
* disabled 属性转换
|
*/
|
function convertDisabled(el, param) {
|
el.each(function () {
|
$(this).attr("disabled", param);
|
});
|
}
|
|
// 清除表单
|
function clearFormVal(el) {
|
$(':input', el)
|
.val('')
|
.removeAttr('checked')
|
.removeAttr('selected');
|
}
|
|
// url键值对
|
function urlParam(key) {
|
var query = window.location.search.substring(1);
|
var vars = query.split("&");
|
for (var i=0;i<vars.length;i++) {
|
var pair = vars[i].split("=");
|
if(pair[0] === key){
|
return pair[1];
|
}
|
}
|
return false;
|
}
|
|
// 权限
|
function limit(child){
|
if (child == null){
|
child = false;
|
}
|
var param = (child?parent.window:window).location.href.split("?")[1];
|
if (null != param) {
|
var resourceId = param.split("=")[1];
|
$.ajax({
|
url: baseUrl+"/power/menu/"+resourceId+"/auth",
|
headers: {'token': localStorage.getItem('token')},
|
method: 'GET',
|
async: false,
|
success: function (res) {
|
if (res.code === 200){
|
for(var i = 0, len = res.data.length; i < len; i++) {
|
(child?parent:window).$('#'+res.data[i].code).css("display", "inline-block");
|
(child?parent:window).$('.'+res.data[i].code).css("display", "inline-block");
|
}
|
} else if (res.code === 403){
|
top.location.href = baseUrl+"/";
|
} else {
|
layer.msg(res.msg)
|
}
|
}
|
});
|
}
|
}
|
|
|
// http请求
|
!function (n) {
|
"use strict";
|
|
var http = {
|
toAjax: function (params) {
|
$.ajax(params);
|
},
|
get: function (url, data, callback) {
|
http.toAjax({
|
method: 'GET',
|
url: url,
|
data: data,
|
dataType: 'json',
|
header: {'token': localStorage.getItem('token')},
|
timeout: 10000,
|
cache: false,
|
success: function (res) {
|
if (res.code === 200){
|
callback(res);
|
} else if (res.code === 403){
|
top.location.href = baseUrl+"/";
|
} else {
|
layer.msg(res.msg, {icon: 2});
|
}
|
},
|
error: function (res, type) {
|
|
}
|
})
|
},
|
// 默认表单
|
post: function (url, param, callback, type) {
|
var headerType;
|
if (type === 'json') {
|
headerType = {'Content-Type': 'application/json'}
|
} else {
|
headerType = {'Content-Type': 'application/x-www-form-urlencoded'}
|
}
|
headerType['token'] = localStorage.getItem('token');
|
http.toAjax({
|
method: 'POST',
|
url: url,
|
data: param,
|
dataType: 'json',
|
headers: headerType,
|
timeout: 10000,
|
cache: false,
|
success: function (res) {
|
if (res.code === 200){
|
callback(res);
|
} else if (res.code === 403){
|
top.location.href = baseUrl+"/";
|
} else {
|
layer.msg(res.msg, {icon: 2});
|
}
|
},
|
error: function (res, type) {
|
|
}
|
})
|
},
|
};
|
"function" == typeof define && define.amd ? define(function () {
|
return http
|
}) : "object" == typeof module && module.exports ? module.exports = http : n.http = http
|
}(this);
|
|
function requireTip(el) {
|
let oldBorderByCss = el.css("border");
|
el.css("border", "1px solid #FF5722");
|
setTimeout(function () {
|
el.css("border", oldBorderByCss);
|
}, 2000)
|
}
|
|
function arrRemove(arr, key, val) {
|
for(var i=arr.length-1; i>=0; i--){
|
if(arr[i][key] === val){
|
arr.splice(i,1);
|
}
|
}
|
}
|
|
var popupRight;
|
var cstmrByMore;
|
var orderByMore;
|
var planByMore;
|
var priQuoteByMore;
|
var reimburseOnlineByMore;
|
|
function getQueryVariable(variable)
|
{
|
var query = window.location.search.substring(1);
|
var vars = query.split("&");
|
for (var i=0;i<vars.length;i++) {
|
var pair = vars[i].split("=");
|
if(pair[0] == variable){return pair[1];}
|
}
|
return(false);
|
}
|
var businessTripByMore;
|
var priOnlineByMore;
|
var priSalesByMore;
|
var priQuoteBudgetByMore;
|
var contractByMore;
|
|
|
function getOssClient() {
|
// const client = new OSS({
|
// // yourRegion填写Bucket所在地域。以华东1(杭州)为例,yourRegion填写为oss-cn-hangzhou。
|
// region: "",
|
// // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
|
// accessKeyId: "",
|
// accessKeySecret: "",
|
// // 从STS服务获取的安全令牌(SecurityToken)。
|
// // stsToken: "yourSecurityToken",
|
// // 填写Bucket名称。
|
// bucket: "",
|
// });
|
|
let data
|
$.ajax({
|
url: baseUrl + "/open/getOssClient",
|
headers: {'token': localStorage.getItem('token')},
|
data: {},
|
method: 'POST',
|
async: false,
|
success: function (res) {
|
if (res.code === 200){
|
data = res.data;
|
}
|
}
|
});
|
return new OSS(data);
|
}
|
|
//上传文件至OSS
|
async function putObject(file, filename) {
|
var client = getOssClient()
|
if (client == null) {
|
return false;
|
}
|
// 填写Object完整路径。Object完整路径中不能包含Bucket名称。
|
// 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
|
// data对象可以自定义为file对象、Blob数据或者OSS Buffer。
|
const options = {
|
meta: {temp: "demo"},
|
mime: "json",
|
headers: {"Content-Type": "text/plain"},
|
};
|
|
return await client.put(filename, file, options);
|
// client.put(filename, file, options).then((e) => {
|
// return true;
|
// }).catch((e) => {
|
// return false;
|
// })
|
}
|
|
//获取OSS文件URL
|
function getObjectUrl(filepath) {
|
var client = getOssClient()
|
if (client == null) {
|
return null;
|
}
|
const domain = filepath.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/im)[0] + "/";//域名部分
|
// 配置响应头实现通过URL访问时自动下载文件,并设置下载后的文件名。
|
const filename = filepath.split(domain)[1];
|
// 填写Object完整路径。Object完整路径中不能包含Bucket名称。
|
const url = client.signatureUrl(filename);
|
return url;
|
}
|