common.js
6.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
layui.config({
version: true,
closeFooter: true,
tabAutoRefresh: false,
base: getProjectUrl() + 'assets/module/'
}).extend({}).use(['layer', 'admin', 'index', 'table', 'laydate', 'form'], function () {
var $ = layui.jquery;
var index = layui.index;
var admin = layui.admin;
var table = layui.table;
var laydate = layui.laydate;
var form = layui.form;
//全局配置table
table.set({
page: true,
size: 'sm',
cellMinWidth: 80,
defaultToolbar: ['filter'],
limit: 15,
limits: [15, 50, 100, 200]
});
//关闭当前页面 跳到指定页面
window.closeCurrentPageJumpOne = function (titlex, urlx, refresh, time) {
//不传时间 为0
var time = time ? time : 0;
setTimeout(function () {
index.openTab({
title: titlex,
url: urlx
});
if (refresh) {
admin.refresh(urlx);
}
}, time)
setTimeout(function () {
index.closeTab(window.location.pathname + window.location.search);
}, (time + 500))
}
});
/**
* 获取当前项目的根路径,通过获取layui.js全路径截取assets之前的地址
* */
function getProjectUrl() {
var layuiDir = layui.cache.dir;
if (!layuiDir) {
var js = document.scripts, last = js.length - 1, src;
for (var i = last; i > 0; i--) {
if (js[i].readyState === 'interactive') {
src = js[i].src;
break;
}
}
var jsPath = src || js[last].src;
layuiDir = jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
}
return layuiDir.substring(0, layuiDir.indexOf('assets'));
}
/**
* 获取参数
* @param variable
* @returns {string}
*/
function getQueryVariable(variable) {
let query = window.location.search.substring(1);
let vars = query.split("&");
for (let i = 0; i < vars.length; i++) {
let pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return '';
}
/**
* 获取地址栏参数
* @param value
* @returns {*}
*/
function getRequest(value) {
var url = decodeURI(location.search);
var object = {};
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
object[strs[i].split("=")[0]] = strs[i].split("=")[1]
}
}
return object[value];
}
/**
* 判断数组内元素是否全相同
* @param array
* @returns {boolean}
*/
function isAllEqual(array) {
if (array.length > 0) {
return !array.some(function (value, index) {
return value !== array[0];
});
} else {
return true;
}
}
/**
*
* @param url
* @param type
* @param param
* @param callback
* @param isload
* @constructor
*/
function Request(url, type, param, callback, isload) {
if (isload == undefined) {
var index = layer.load(2);
}
//设置携带cookie
$.ajaxSetup({
xhrFields: {
withCredentials: true
}
});
var params = $.extend({}, param);
$.ajax({
type: type,
url: url,
data: params,
xhrFields: {withCredentials: true},
timeout: 30000,
success: function (data) {
typeof callback == 'function' && callback(data);
if (isload == undefined) {
layer.close(index);
}
},
error: function () {
layer.closeAll('loading');
layer.msg('网络出现问题,请重试!');
}
});
}
/**
*
* @param res
* @returns {{msg: string, code: number, data: Array, count: number}|{msg: string, code: *, data: *, count: number}}
* @constructor
*/
function LayUiTableParseData(res) {
if (res.code == 0) {
return {
code: res.code,
msg: "",
count: res.data.total ? res.data.total : 0,
data: res.data.list
}
} else {
return {
code: 0,
msg: "",
count: 0,
data: []
}
}
}
/**
* 判断数组中是否包含某个值
* @param arr 数组
* @param str 值
* @returns {boolean}
*/
function contains(arr, str) {
var i = arr.length;
while (i--) {
if (arr[i] == str) {
return true;
}
}
return false;
}
/**
* 防抖函数
* @param fn
* @param delay
* @returns {Function}
*/
function debounce(fn, delay) {
// 定时器,用来 setTimeout
var timer
// 返回一个函数,这个函数会在一个时间区间结束后的 delay 毫秒时执行 fn 函数
return function () {
// 保存函数调用时的上下文和参数,传递给 fn
var context = this
var args = arguments
// 每次这个返回的函数被调用,就清除定时器,以保证不执行 fn
clearTimeout(timer)
// 当返回的函数被最后一次调用后(也就是用户停止了某个连续的操作),
// 再过 delay 毫秒就执行 fn
timer = setTimeout(function () {
fn.apply(context, args)
}, delay)
}
}
/**
* 获取业务员
* @param id dom对象
* @param data 存入选中数据
* @returns {*}
*/
function getSales(id, name, data, clickClose, layVerify, layVerType) {
var salesChange = xmSelect.render({
el: id,
radio: true,
searchTips: '请输入搜索',
model: {
label: {
type: 'text'
}
},
toolbar: {
show: true,
list: ['CLEAR']
},
layVerify: layVerify || '',
layVerType: layVerType || '',
filterable: true,
data: [],
name: name,
clickClose: clickClose,
on: function (res) {
}
})
Request('/api/taxinfo/getSales', 'GET', {}, function (res) {
let off = res.data.off; //离职
let on = res.data.on; //在职
let arr = [];
arr.push({
name: "在职", children: on
})
arr.push({
name: "离职", children: off
})
salesChange.update({
data: arr,
autoRow: true,
})
if (data && data.length > 0) {
salesChange.setValue(data)
}
}, false);
return salesChange;
}
/**
* 判断文件后缀类型
* @param file_url
* @returns {string}
*/
function getFileExt(file_url) {
var file_ext_name = "";
if (file_url) {
if (file_url.indexOf("/") != -1) {
var file_arr = file_url.split("/");
var file_id = file_arr.pop();
} else {
var file_id = file_url;
}
var file_type = parseInt(file_id.substr(7, 3))
var file_ext_map = {
"1": "png",
"2": "jpeg",
"3": "pdf",
"4": "text",
"5": "xls",
"6": "xlsx",
"7": "doc",
"8": "docx",
"9": "ppt",
"10": "zip",
"11": "tar",
"12": "html",
"13": "mp4"
};
file_ext_name = file_ext_map[file_type];
}
return file_ext_name;
}