314 lines
12 KiB
JavaScript
314 lines
12 KiB
JavaScript
layui.define(function(exports) {
|
|
var dialog = {
|
|
dialogArray: [],
|
|
dialogData: {},
|
|
dialogTreeData: {
|
|
apiUri: null,
|
|
method: null,
|
|
primaryKey: null,
|
|
autoParams: null,
|
|
otherParams: null,
|
|
defaultParams: null,
|
|
resultType: null,
|
|
dataFilter: null,
|
|
rootNode: null,
|
|
data: null,
|
|
check: null,
|
|
selectedNodes: []
|
|
},
|
|
maxFileCount: null,
|
|
close: function (index) {
|
|
layer.close(index);
|
|
},
|
|
msg: function (msg, args, callback) {
|
|
return layer.msg(msg, args, callback);
|
|
},
|
|
confirm: function (msg, callback) {
|
|
var self = this;
|
|
return top.layer.msg(msg, {
|
|
time: 0,
|
|
btn: ['确定', '取消'],
|
|
shade: 0.3,
|
|
yes: function (index) {
|
|
callback(index);
|
|
},
|
|
btn1: function () {
|
|
self.closeBox();
|
|
}
|
|
});
|
|
},
|
|
choiceConfirm: function (msg, yesCallback, noCallback) {
|
|
var self = this;
|
|
return top.layer.msg(msg, {
|
|
time: 0,
|
|
btn: ['是', '否', '取消'],
|
|
shade: 0.3,
|
|
btn1: function (index) {
|
|
yesCallback(index);
|
|
},
|
|
btn2: function (index) {
|
|
noCallback(index);
|
|
},
|
|
btn3: function () {
|
|
self.closeBox();
|
|
}
|
|
});
|
|
},
|
|
open: function (opt) {
|
|
var self = this;
|
|
var index = top.layer.open({
|
|
type: 2,
|
|
icon: 1,
|
|
title: opt.title,
|
|
shadeClose: false,
|
|
maxmin: false,
|
|
resize: false,
|
|
shade: 0.3,
|
|
area: [opt.width, opt.height],
|
|
content: opt.url,
|
|
cancel: function (index) {
|
|
self.closeBox();
|
|
},
|
|
end: opt.onClose
|
|
});
|
|
this.dialogArray.push(index);
|
|
return index;
|
|
},
|
|
user: function (opt) {
|
|
var self = this;
|
|
var single = true;
|
|
if (typeof (opt.single) == 'undefined' || opt.single == null || (opt.single != true && opt.single != false)) {
|
|
single = false;
|
|
} else {
|
|
single = opt.single;
|
|
}
|
|
var selectedUserIds = '';
|
|
if (typeof (opt.selectedUserIds) != 'undefined' && opt.selectedUserIds != null) {
|
|
selectedUserIds = opt.selectedUserIds;
|
|
}
|
|
var index = top.layer.open({
|
|
type: 2,
|
|
icon: 1,
|
|
title: opt.title,
|
|
shadeClose: false,
|
|
maxmin: false,
|
|
closeBtn: 0,
|
|
shade: 0.3,
|
|
area: [opt.width, opt.height],
|
|
content: 'route/user/departmentuser?single=' + single + '&selectedUserIds=' + selectedUserIds,
|
|
cancel: function (index) {
|
|
self.closeBox();
|
|
},
|
|
end: opt.onClose
|
|
});
|
|
this.dialogArray.push(index);
|
|
return index;
|
|
},
|
|
tree: function (opt) {
|
|
var self = this;
|
|
self.dialogTreeData.apiUri = opt.apiUri;
|
|
if (typeof (opt.method) != 'undefined' && opt.method != null) {
|
|
self.dialogTreeData.method = opt.method;
|
|
} else {
|
|
self.dialogTreeData.method = 'get';
|
|
}
|
|
if (typeof (opt.primaryKey) != 'undefined' && opt.primaryKey != null) {
|
|
self.dialogTreeData.primaryKey = opt.primaryKey;
|
|
} else {
|
|
self.dialogTreeData.primaryKey = 'id';
|
|
}
|
|
if (typeof (opt.autoParams) != 'undefined' && opt.autoParams != null) {
|
|
self.dialogTreeData.autoParams = opt.autoParams;
|
|
} else {
|
|
self.dialogTreeData.autoParams = ['id'];
|
|
}
|
|
if (typeof (opt.otherParams) != 'undefined' && opt.otherParams != null) {
|
|
self.dialogTreeData.otherParams = opt.otherParams;
|
|
} else {
|
|
self.dialogTreeData.otherParams = {};
|
|
}
|
|
if (typeof (opt.resultType) != 'undefined' && opt.resultType != null) {
|
|
self.dialogTreeData.resultType = opt.resultType;
|
|
} else {
|
|
self.dialogTreeData.resultType = 'justList';
|
|
}
|
|
if (typeof (opt.dataFilter) != 'undefined' && opt.dataFilter != null) {
|
|
self.dialogTreeData.dataFilter = opt.dataFilter;
|
|
} else {
|
|
self.dialogTreeData.dataFilter = function (treeId, parentNode, childNodes) {
|
|
return childNodes;
|
|
};
|
|
}
|
|
if (typeof (opt.rootNode) != 'undefined' && opt.rootNode != null) {
|
|
self.dialogTreeData.rootNode = opt.rootNode;
|
|
} else {
|
|
self.dialogTreeData.rootNode = null;
|
|
}
|
|
if (typeof (opt.data) != 'undefined' && opt.data != null) {
|
|
self.dialogTreeData.data = {};
|
|
if (typeof (opt.data.checked) != 'undefined' && opt.data.checked != null) {
|
|
self.dialogTreeData.data.checked = opt.data.checked;
|
|
} else {
|
|
self.dialogTreeData.data.checked = 'checked';
|
|
}
|
|
if (typeof (opt.data.children) != 'undefined' && opt.data.children != null) {
|
|
self.dialogTreeData.data.children = opt.data.children;
|
|
} else {
|
|
self.dialogTreeData.data.children = 'children'
|
|
}
|
|
if (typeof (opt.data.isParent) != 'undefined' && opt.data.isParent != null) {
|
|
self.dialogTreeData.data.isParent = opt.data.isParent;
|
|
} else {
|
|
self.dialogTreeData.data.isParent = 'isParent';
|
|
}
|
|
if (typeof (opt.data.name) != 'undefined' && opt.data.name != null) {
|
|
self.dialogTreeData.data.name = opt.data.name;
|
|
} else {
|
|
self.dialogTreeData.data.name = 'name';
|
|
}
|
|
if (typeof (opt.data.title) != 'undefined' && opt.data.title != null) {
|
|
self.dialogTreeData.data.title = opt.data.title;
|
|
} else {
|
|
self.dialogTreeData.data.title = 'title';
|
|
}
|
|
} else {
|
|
self.dialogTreeData.data = {
|
|
checked: 'checked',
|
|
children: 'children',
|
|
isParent: 'isParent',
|
|
name: 'name',
|
|
title: 'title'
|
|
}
|
|
}
|
|
if (typeof (opt.defaultParams) != 'undefined' && opt.defaultParams != null) {
|
|
self.dialogTreeData.defaultParams = opt.defaultParams;
|
|
} else {
|
|
self.dialogTreeData.defaultParams = null;
|
|
}
|
|
if (typeof (opt.check) != 'undefined' && opt.check != null) {
|
|
self.dialogTreeData.check = {};
|
|
if (typeof (opt.check.enable) != 'undefined' && opt.check.enable != null) {
|
|
self.dialogTreeData.check.enable = opt.check.enable;
|
|
} else {
|
|
self.dialogTreeData.check.enable = false;
|
|
}
|
|
if (typeof (opt.check.selectType) != 'undefined' && opt.check.selectType != null) {
|
|
self.dialogTreeData.check.chkStyle = opt.check.selectType;
|
|
} else {
|
|
self.dialogTreeData.check.chkStyle = 'checkbox';
|
|
}
|
|
if (typeof (opt.check.checkboxType) != 'undefined' && opt.check.checkboxType != null) {
|
|
self.dialogTreeData.check.chkboxType = opt.check.checkboxType;
|
|
} else {
|
|
self.dialogTreeData.check.chkboxType = {Y: 'ps', N: 'ps'};
|
|
}
|
|
if (typeof (opt.check.radioType) != 'undefined' && opt.check.radioType != null) {
|
|
self.dialogTreeData.check.radioType = opt.check.radioType;
|
|
} else {
|
|
self.dialogTreeData.check.radioType = 'level';
|
|
}
|
|
} else {
|
|
self.dialogTreeData.check = {
|
|
enable: false,
|
|
chkStyle: 'checkbox',
|
|
chkboxType: {Y: 'ps', N: 'ps'},
|
|
radioType: 'level',
|
|
}
|
|
}
|
|
if (typeof (opt.selectedNodes) != 'undefined' && opt.selectedNodes != null) {
|
|
self.dialogTreeData.selectedNodes = opt.selectedNodes;
|
|
} else {
|
|
self.dialogTreeData.selectedNodes = [];
|
|
}
|
|
var index = top.layer.open({
|
|
type: 2,
|
|
icon: 1,
|
|
title: opt.title,
|
|
shadeClose: false,
|
|
maxmin: false,
|
|
shade: 0.3,
|
|
area: [opt.width, opt.height],
|
|
content: top.restAjax.path('route/tree/tree/v2', []),
|
|
cancel: function (index) {
|
|
self.closeBox();
|
|
},
|
|
end: opt.onClose
|
|
});
|
|
this.dialogArray.push(index);
|
|
return index;
|
|
},
|
|
// 文件上传
|
|
file: function (opt) {
|
|
var self = this;
|
|
var fileType = opt.type;
|
|
var customType = opt.customType;
|
|
var url = 'route/file/uploadfile/v2/';
|
|
if (fileType == 'image') {
|
|
url += '2';
|
|
} else if (fileType == 'video') {
|
|
url += '3';
|
|
} else if (fileType == 'audio') {
|
|
url += '4';
|
|
} else {
|
|
url += '1';
|
|
}
|
|
if(customType) {
|
|
url += '?customType='+ customType;
|
|
}
|
|
if (typeof (opt.maxFileCount) != 'undefined' && opt.maxFileCount != '') {
|
|
self.maxFileCount = opt.maxFileCount;
|
|
} else {
|
|
self.maxFileCount = null;
|
|
}
|
|
self.dialogData.uploadFileArray = [];
|
|
var index = top.layer.open({
|
|
type: 2,
|
|
icon: 1,
|
|
title: opt.title,
|
|
shadeClose: false,
|
|
maxmin: false,
|
|
shade: 0.3,
|
|
area: [opt.width, opt.height],
|
|
content: top.restAjax.path(url, []),
|
|
cancel: function (index) {
|
|
self.closeBox();
|
|
},
|
|
end: opt.onClose
|
|
});
|
|
this.dialogArray.push(index);
|
|
return index;
|
|
},
|
|
// 显示文件,图片和视频(MP4)
|
|
showFile: function (opt) {
|
|
var self = this;
|
|
var showType = opt.type;
|
|
var url = 'route/file/showfile/';
|
|
if (showType == 'image') {
|
|
url += 'image';
|
|
} else if (showType == 'video') {
|
|
url += 'video';
|
|
}
|
|
url += '/' + opt.fileId;
|
|
var index = top.layer.open({
|
|
type: 2,
|
|
icon: 1,
|
|
title: opt.title,
|
|
shadeClose: false,
|
|
maxmin: true,
|
|
shade: 0.3,
|
|
area: [opt.width, opt.height],
|
|
content: top.restAjax.path(url, []),
|
|
cancel: function (index) {
|
|
self.closeBox();
|
|
},
|
|
});
|
|
this.dialogArray.push(index);
|
|
return index;
|
|
},
|
|
closeBox: function () {
|
|
top.layer.close(this.dialogArray[this.dialogArray.length - 1]);
|
|
this.dialogArray.pop();
|
|
}
|
|
};
|
|
exports('dialog', dialog);
|
|
}); |