This commit is contained in:
Gitea
2022-01-24 10:43:35 +08:00
commit 15dfc6576b
786 changed files with 219240 additions and 0 deletions

View File

@@ -0,0 +1,166 @@
$(document).ready(function (e) {
//菜单高亮显示
light_nav();
//选择全部
$("#selectall").on("click", function () {
$("#selectitem input:checkbox").prop("checked", true);
})
//反选
$("#invselect").on("click", function () {
$("#selectitem input:checkbox").each(function() {
if($(this).prop("checked")){
$(this).prop("checked",false);
}else{
$(this).prop("checked",true);
}
})
})
//勾选方式选择全部
$("#checkall").on("click", function () {
if($(this).prop("checked")){
$(".checkitem:enabled").prop("checked", true);
}else{
$(".checkitem").prop("checked", false);
}
})
var i=0;
$('.menu-ico').click(function(){
if($(window).width()>750){
if(i==0){//隐藏
$(".layui-side").animate({width:'toggle'});
$(".layui-body").animate({left:'0px'});
$(".layui-footer").animate({left:'0px'});
i=1
}else{//显示
$(".layui-side").animate({width:'toggle'});
$(".layui-body").animate({left:'200px'});
$(".layui-footer").animate({left:'200px'});
i=0
}
}else{
$(".layui-side").animate({width:'toggle'});
}
});
$(window).resize(function(){
if($(window).width()>750){ //大屏幕根据情况判断
if(i==0){ //等于0说明处于显示状态全屏以后保持显示出来
$(".layui-layout-admin .layui-side").show();
}else{ //等于1说明处于隐藏状态全屏以后保持隐藏出来
$(".layui-layout-admin .layui-side").hide();
}
}
if($(window).width()<750){//小屏幕,直接隐藏
$(".layui-layout-admin .layui-side").hide();
}
})
//避免tab翻页问题
var hash = location.hash;
if(hash){
$('.page').find('a').each(function(index,element){
$(this).attr('href', $(this).attr('href')+hash);
});
}
})
//对菜单进行高亮显示
function light_nav(){
//二级菜单标记当前栏目
var url = $('#url').data('url').toLowerCase();
var controller = $('#controller').data('controller').toLowerCase();
var mcode = $('#mcode').data('mcode');
var aobj= $('#nav .nav-item').find('a');
var flag = false;
//第一种情况url完全一致
aobj.each(function (index, element) {
var aUrl = $(element).attr('href').toLowerCase();
if (url==aUrl) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
url = url.replace('.html','');
//第二种情况,菜单的子页面,如翻页
if(!flag){
aobj.each(function (index, element) {
var aUrl = $(element).attr('href').toLowerCase();
aUrl = aUrl.replace('.html','');
if (url.indexOf(aUrl)>-1) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
}
//第三种情况,只匹配到模型,如模型栏目内容的修改操作页面
if(!flag){
aobj.each(function (index, element) {
var aUrl = $(element).attr("href").toLowerCase();
if (mcode && aUrl.indexOf('/mcode/'+mcode)>-1) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
}
//第四种情况,只匹配到控制器,如增、改的操作页面
if(!flag){
aobj.each(function (index, element) {
var aUrl = $(element).attr("href").toLowerCase();
if (controller!='index' && aUrl.indexOf('/'+controller+'/')>-1) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
}
//默认高亮
if(!flag){
$('#nav').find('.nav-item').eq(2).addClass('layui-nav-itemed');
}
}
//判断option是否存在如果不存在就增加
function addOptionValue(id,value,text) {
if(!isExistOption(id,value)){$('#'+id).append("<option value="+value+">"+text+"</option>");}
}
//判断option是否存在
function isExistOption(id,value) {
var isExist = false;
var count = $('#'+id).find('option').length;
for(var i=0;i<count;i++)
{
if($('#'+id).get(0).options[i].value == value)
{
isExist = true;
break;
}
}
return isExist;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,631 @@
/*
* jQuery treetable Plugin 3.2.0
* http://ludo.cubicphuse.nl/jquery-treetable
*
* Copyright 2013, Ludo van den Boom
* Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function($) {
var Node, Tree, methods;
Node = (function() {
function Node(row, tree, settings) {
var parentId;
this.row = row;
this.tree = tree;
this.settings = settings;
// TODO Ensure id/parentId is always a string (not int)
this.id = this.row.data(this.settings.nodeIdAttr);
// TODO Move this to a setParentId function?
parentId = this.row.data(this.settings.parentIdAttr);
if (parentId != null && parentId !== "") {
this.parentId = parentId;
}
this.treeCell = $(this.row.children(this.settings.columnElType)[this.settings.column]);
this.expander = $(this.settings.expanderTemplate);
this.indenter = $(this.settings.indenterTemplate);
this.children = [];
this.initialized = false;
this.treeCell.prepend(this.indenter);
}
Node.prototype.addChild = function(child) {
return this.children.push(child);
};
Node.prototype.ancestors = function() {
var ancestors, node;
node = this;
ancestors = [];
while (node = node.parentNode()) {
ancestors.push(node);
}
return ancestors;
};
Node.prototype.collapse = function() {
if (this.collapsed()) {
return this;
}
this.row.removeClass("expanded").addClass("collapsed");
this._hideChildren();
this.expander.attr("title", this.settings.stringExpand);
this.expander.removeClass("fa-caret-down").addClass("fa-caret-right");
if (this.initialized && this.settings.onNodeCollapse != null) {
this.settings.onNodeCollapse.apply(this);
}
return this;
};
Node.prototype.collapsed = function() {
return this.row.hasClass("collapsed");
};
// TODO destroy: remove event handlers, expander, indenter, etc.
Node.prototype.expand = function() {
if (this.expanded()) {
return this;
}
this.row.removeClass("collapsed").addClass("expanded");
if (this.initialized && this.settings.onNodeExpand != null) {
this.settings.onNodeExpand.apply(this);
}
if ($(this.row).is(":visible")) {
this._showChildren();
}
this.expander.attr("title", this.settings.stringCollapse);
this.expander.removeClass("fa-caret-right").addClass("fa-caret-down");
return this;
};
Node.prototype.expanded = function() {
return this.row.hasClass("expanded");
};
Node.prototype.hide = function() {
this._hideChildren();
this.row.hide();
return this;
};
Node.prototype.isBranchNode = function() {
if(this.children.length > 0 || this.row.data(this.settings.branchAttr) === true) {
return true;
} else {
return false;
}
};
Node.prototype.updateBranchLeafClass = function(){
this.row.removeClass('branch');
this.row.removeClass('leaf');
this.row.addClass(this.isBranchNode() ? 'branch' : 'leaf');
};
Node.prototype.level = function() {
return this.ancestors().length;
};
Node.prototype.parentNode = function() {
if (this.parentId != null) {
return this.tree[this.parentId];
} else {
return null;
}
};
Node.prototype.removeChild = function(child) {
var i = $.inArray(child, this.children);
return this.children.splice(i, 1)
};
Node.prototype.render = function() {
var handler,
settings = this.settings,
target;
if (settings.expandable === true && this.isBranchNode()) {
handler = function(e) {
$(this).parents("table").treetable("node", $(this).parents("tr").data(settings.nodeIdAttr)).toggle();
return e.preventDefault();
};
this.indenter.html(this.expander);
target = settings.clickableNodeNames === true ? this.treeCell : this.expander;
target.off("click.treetable").on("click.treetable", handler);
target.off("keydown.treetable").on("keydown.treetable", function(e) {
if (e.keyCode == 13) {
handler.apply(this, [e]);
}
});
}
this.indenter[0].style.paddingLeft = "" + (this.level() * settings.indent) + "px";
return this;
};
Node.prototype.reveal = function() {
if (this.parentId != null) {
this.parentNode().reveal();
}
return this.expand();
};
Node.prototype.setParent = function(node) {
if (this.parentId != null) {
this.tree[this.parentId].removeChild(this);
}
this.parentId = node.id;
this.row.data(this.settings.parentIdAttr, node.id);
return node.addChild(this);
};
Node.prototype.show = function() {
if (!this.initialized) {
this._initialize();
}
this.row.show();
if (this.expanded()) {
this._showChildren();
}
return this;
};
Node.prototype.toggle = function() {
if (this.expanded()) {
this.collapse();
} else {
this.expand();
}
return this;
};
Node.prototype._hideChildren = function() {
var child, _i, _len, _ref, _results;
_ref = this.children;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
child = _ref[_i];
_results.push(child.hide());
}
return _results;
};
Node.prototype._initialize = function() {
var settings = this.settings;
this.render();
if (settings.expandable === true && settings.initialState === "collapsed") {
this.collapse();
} else {
this.expand();
}
if (settings.onNodeInitialized != null) {
settings.onNodeInitialized.apply(this);
}
return this.initialized = true;
};
Node.prototype._showChildren = function() {
var child, _i, _len, _ref, _results;
_ref = this.children;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
child = _ref[_i];
_results.push(child.show());
}
return _results;
};
return Node;
})();
Tree = (function() {
function Tree(table, settings) {
this.table = table;
this.settings = settings;
this.tree = {};
// Cache the nodes and roots in simple arrays for quick access/iteration
this.nodes = [];
this.roots = [];
}
Tree.prototype.collapseAll = function() {
var node, _i, _len, _ref, _results;
_ref = this.nodes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
node = _ref[_i];
_results.push(node.collapse());
}
return _results;
};
Tree.prototype.expandAll = function() {
var node, _i, _len, _ref, _results;
_ref = this.nodes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
node = _ref[_i];
_results.push(node.expand());
}
return _results;
};
Tree.prototype.findLastNode = function (node) {
if (node.children.length > 0) {
return this.findLastNode(node.children[node.children.length - 1]);
} else {
return node;
}
};
Tree.prototype.loadRows = function(rows) {
var node, row, i;
if (rows != null) {
for (i = 0; i < rows.length; i++) {
row = $(rows[i]);
if (row.data(this.settings.nodeIdAttr) != null) {
node = new Node(row, this.tree, this.settings);
this.nodes.push(node);
this.tree[node.id] = node;
if (node.parentId != null && this.tree[node.parentId]) {
this.tree[node.parentId].addChild(node);
} else {
this.roots.push(node);
}
}
}
}
for (i = 0; i < this.nodes.length; i++) {
node = this.nodes[i].updateBranchLeafClass();
}
return this;
};
Tree.prototype.move = function(node, destination) {
// Conditions:
// 1: +node+ should not be inserted as a child of +node+ itself.
// 2: +destination+ should not be the same as +node+'s current parent (this
// prevents +node+ from being moved to the same location where it already
// is).
// 3: +node+ should not be inserted in a location in a branch if this would
// result in +node+ being an ancestor of itself.
var nodeParent = node.parentNode();
if (node !== destination && destination.id !== node.parentId && $.inArray(node, destination.ancestors()) === -1) {
node.setParent(destination);
this._moveRows(node, destination);
// Re-render parentNode if this is its first child node, and therefore
// doesn't have the expander yet.
if (node.parentNode().children.length === 1) {
node.parentNode().render();
}
}
if(nodeParent){
nodeParent.updateBranchLeafClass();
}
if(node.parentNode()){
node.parentNode().updateBranchLeafClass();
}
node.updateBranchLeafClass();
return this;
};
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove node from DOM (<tr>)
node.row.remove();
// Remove node from parent children list
if (node.parentId != null) {
node.parentNode().removeChild(node);
}
// Clean up Tree object (so Node objects are GC-ed)
delete this.tree[node.id];
this.nodes.splice($.inArray(node, this.nodes), 1);
return this;
}
Tree.prototype.render = function() {
var root, _i, _len, _ref;
_ref = this.roots;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
root = _ref[_i];
// Naming is confusing (show/render). I do not call render on node from
// here.
root.show();
}
return this;
};
Tree.prototype.sortBranch = function(node, sortFun) {
// First sort internal array of children
node.children.sort(sortFun);
// Next render rows in correct order on page
this._sortChildRows(node);
return this;
};
Tree.prototype.unloadBranch = function(node) {
// Use a copy of the children array to not have other functions interfere
// with this function if they manipulate the children array
// (eg removeNode).
var children = node.children.slice(0),
i;
for (i = 0; i < children.length; i++) {
this.removeNode(children[i]);
}
// Reset node's collection of children
node.children = [];
node.updateBranchLeafClass();
return this;
};
Tree.prototype._moveRows = function(node, destination) {
var children = node.children, i;
node.row.insertAfter(destination.row);
node.render();
// Loop backwards through children to have them end up on UI in correct
// order (see #112)
for (i = children.length - 1; i >= 0; i--) {
this._moveRows(children[i], node);
}
};
// Special _moveRows case, move children to itself to force sorting
Tree.prototype._sortChildRows = function(parentNode) {
return this._moveRows(parentNode, parentNode);
};
return Tree;
})();
// jQuery Plugin
methods = {
init: function(options, force) {
var settings;
settings = $.extend({
branchAttr: "ttBranch",
clickableNodeNames: false,
column: 0,
columnElType: "td", // i.e. 'td', 'th' or 'td,th'
expandable: false,
expanderTemplate: "<a href='#' class='fa fa-caret-right'>&nbsp;</a>",
indent: 19,
indenterTemplate: "<span class='indenter'></span>",
initialState: "collapsed",
nodeIdAttr: "ttId", // maps to data-tt-id
parentIdAttr: "ttParentId", // maps to data-tt-parent-id
stringExpand: "Expand",
stringCollapse: "Collapse",
// Events
onInitialized: null,
onNodeCollapse: null,
onNodeExpand: null,
onNodeInitialized: null
}, options);
return this.each(function() {
var el = $(this), tree;
if (force || el.data("treetable") === undefined) {
tree = new Tree(this, settings);
tree.loadRows(this.rows).render();
el.addClass("treetable").data("treetable", tree);
if (settings.onInitialized != null) {
settings.onInitialized.apply(tree);
}
}
return el;
});
},
destroy: function() {
return this.each(function() {
return $(this).removeData("treetable").removeClass("treetable");
});
},
collapseAll: function() {
this.data("treetable").collapseAll();
return this;
},
collapseNode: function(id) {
var node = this.data("treetable").tree[id];
if (node) {
node.collapse();
} else {
throw new Error("Unknown node '" + id + "'");
}
return this;
},
expandAll: function() {
this.data("treetable").expandAll();
return this;
},
expandNode: function(id) {
var node = this.data("treetable").tree[id];
if (node) {
if (!node.initialized) {
node._initialize();
}
node.expand();
} else {
throw new Error("Unknown node '" + id + "'");
}
return this;
},
loadBranch: function(node, rows) {
var settings = this.data("treetable").settings,
tree = this.data("treetable").tree;
// TODO Switch to $.parseHTML
rows = $(rows);
if (node == null) { // Inserting new root nodes
this.append(rows);
} else {
var lastNode = this.data("treetable").findLastNode(node);
rows.insertAfter(lastNode.row);
}
this.data("treetable").loadRows(rows);
// Make sure nodes are properly initialized
rows.filter("tr").each(function() {
tree[$(this).data(settings.nodeIdAttr)].show();
});
if (node != null) {
// Re-render parent to ensure expander icon is shown (#79)
node.render().expand();
}
return this;
},
move: function(nodeId, destinationId) {
var destination, node;
node = this.data("treetable").tree[nodeId];
destination = this.data("treetable").tree[destinationId];
this.data("treetable").move(node, destination);
return this;
},
node: function(id) {
return this.data("treetable").tree[id];
},
removeNode: function(id) {
var node = this.data("treetable").tree[id];
if (node) {
this.data("treetable").removeNode(node);
} else {
throw new Error("Unknown node '" + id + "'");
}
return this;
},
reveal: function(id) {
var node = this.data("treetable").tree[id];
if (node) {
node.reveal();
} else {
throw new Error("Unknown node '" + id + "'");
}
return this;
},
sortBranch: function(node, columnOrFunction) {
var settings = this.data("treetable").settings,
prepValue,
sortFun;
columnOrFunction = columnOrFunction || settings.column;
sortFun = columnOrFunction;
if ($.isNumeric(columnOrFunction)) {
sortFun = function(a, b) {
var extractValue, valA, valB;
extractValue = function(node) {
var val = node.row.find("td:eq(" + columnOrFunction + ")").text();
// Ignore trailing/leading whitespace and use uppercase values for
// case insensitive ordering
return $.trim(val).toUpperCase();
}
valA = extractValue(a);
valB = extractValue(b);
if (valA < valB) return -1;
if (valA > valB) return 1;
return 0;
};
}
this.data("treetable").sortBranch(node, sortFun);
return this;
},
unloadBranch: function(node) {
this.data("treetable").unloadBranch(node);
return this;
}
};
$.fn.treetable = function(method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
return $.error("Method " + method + " does not exist on jQuery.treetable");
}
};
// Expose classes to world
this.TreeTable || (this.TreeTable = {});
this.TreeTable.Node = Node;
this.TreeTable.Tree = Tree;
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,245 @@
layui.use(['element','upload','laydate','form'], function(){
var element = layui.element;
var upload = layui.upload;
var laydate = layui.laydate;
var form = layui.form;
//获取hash来切换选项卡假设当前地址的hash为lay-id对应的值
var layid = location.hash.replace(/^#tab=/, '');
element.tabChange('tab', layid); //假设当前地址为http://a.com#test1=222那么选项卡会自动切换到“发送消息”这一项
//监听Tab切换以改变地址hash值
element.on('tab(tab)', function(){
var clayid=this.getAttribute('lay-id');
if(clayid){
location.hash = 'tab='+ clayid;
$('.page').find('a').each(function(index,element){//避免tab翻页问题
var url=$(this).attr('href');
if(url.indexOf('tab=')==-1){
$(this).attr('href', url+'#tab='+ clayid);
}else{
$(this).attr('href', url.replace(/tab=[\w]+/, 'tab='+ clayid));
}
});
}
});
//跳转
form.on('select(tourl)', function(data){
window.location.href= data.value;
});
//提示
$(".tips").on("mouseover",function(){
layer.tips($(this).data('content'), this);
})
//用户登录验证
form.on('submit(login-submit)', function(data){
var form = $("#dologin");
var url = form.attr('action');
var username = form.find("#username").val();
var password = form.find("#password").val();
var checkcode = form.find("#checkcode").val();
var formcheck = form.find("#formcheck").val();
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
data: {
username: username,
password: password,
checkcode: checkcode,
formcheck: formcheck
},
success: function (response, status) {
if (response.code == 1) {
layer.msg("登录成功!", {icon: 1});
window.location.href = response.data;
} else {
form.find("#checkcode").val("");
$('#codeimg').click();//更新验证码
layer.msg("登录失败:" + response.data, {icon: 5});
}
},
error:function(xhr,status,error){
layer.msg("登录请求发生错误!", {icon: 5});
$('#note').html('登录请求发生错误,您可按照如下方式排查:<br>1、试着删除根目录下runtime目录刷新页面重试;<br>2、检查系统会话文件存储目录是否具有写入权限<br>3、检查服务器环境pathinfo及伪静态规则配置<br>4、如果还不行那就到交流群出钱请人处理吧');
}
});
return false;
});
var sitedir=$('#sitedir').data('sitedir');
var uploadurl = $("#preurl").data('preurl')+'/index/upload';
//执行单图片实例
var uploadInst = upload.render({
elem: '.upload' //绑定元素
,url: uploadurl //上传接口
,field: 'upload' //字段名称
,multiple: false //多文件上传
,accept: 'images' //接收文件类型 images图片、file所有文件、video视频、audio音频
,acceptMime: 'image/*'
,before: function(obj){
//判断是否需要加水印
if($(this.item).hasClass('watermark')){
uploadInst.config.url=uploadurl+'/watermark/1';//改变URL
}
layer.load(); //上传loading
}
,done: function(res){
var item = this.item;
var des=$(item).data('des');
layer.closeAll('loading'); //关闭loading
if(res.code==1){
$('#'+des).val(res.data[0]);
$('#'+des+'_box').html("<dl><dt><img src='"+sitedir+res.data[0]+"' data-url='"+res.data[0]+"' ></dt><dd>删除</dd></dl>");
layer.msg('上传成功!');
}else{
layer.msg('上传失败:'+res.data);
}
}
,error: function(){
layer.closeAll('loading'); //关闭loading
layer.msg('上传发生错误!');
}
});
//执行多图片上传实例
var files='';
var html='';
var uploadsInst = upload.render({
elem: '.uploads' //绑定元素
,url: uploadurl //上传接口
,field: 'upload' //字段名称
,multiple: true//多文件上传
,accept: 'images' //接收文件类型 images图片、file所有文件、video视频、audio音频
,acceptMime: 'image/*'
,before: function(obj){
//判断是否需要加水印
if($(this.item).hasClass('watermark')){
uploadsInst.config.url=uploadurl+'/watermark/1';//改变URL
}
layer.load(); //上传loading
}
,done: function(res){
if(res.code==1){
if(files){
files+=','+res.data[0];
}else{
files+=res.data[0];
}
html += "<dl><dt><img src='"+sitedir+res.data[0]+"' data-url='"+res.data[0]+"'></dt><dd>删除</dd>" +
"<dt><input type='text' name='picstitle[]' style='width:95%' /></dt>"+
"</dl>";
}else{
layer.msg('有文件上传失败:'+res.data);
}
}
,allDone: function(obj){
var item = this.item;
var des=$(item).data('des');
layer.closeAll('loading'); //关闭loading
if(files!=''){
if($('#'+des).val()){
$('#'+des).val($('#'+des).val()+','+files);
}else{
$('#'+des).val(files);
}
$('#'+des+'_box').append(html);
layer.msg('成功上传'+obj.successful+'个文件!');
files='';
html='';
}else{
layer.msg('全部上传失败!');
}
}
,error: function(){
layer.closeAll('loading'); //关闭loading
layer.msg('上传发生错误!');
}
});
//图片页面删除功能
$('.pic').on("click",'dl dd',function(){
var id=$(this).parents('.pic').attr('id');
var url=$(this).siblings('dt').find('img').data('url');
var input=$('#'+id.replace('_box',''));
var value = input.val();
value = value.replace(url,'');
value = value.replace(/^,/, '');
value = value.replace(/,$/, '');
value = value.replace(/,,/, ',');
input.val(value);
$(this).parents('dl').remove();
});
//执行附件上传实例
var uploadFileInst = upload.render({
elem: '.file' //绑定元素
,url: uploadurl //上传接口
,field: 'upload' //字段名称
,multiple: false //多文件上传
,accept: 'file' //接收文件类型 images图片、file所有文件、video视频、audio音频
,before: function(obj){
layer.load(); //上传loading
}
,done: function(res){
var item = this.item;
var des=$(item).data('des');
layer.closeAll('loading'); //关闭loading
if(res.code==1){
$('#'+des).val(res.data[0]);
layer.msg('上传成功!');
}else{
layer.msg('上传失败:'+res.data);
}
}
,error: function(){
layer.closeAll('loading'); //关闭loading
layer.msg('上传发生错误!');
}
});
//使用多日期控件
useLayDateMultiple('year','year');
useLayDateMultiple('month','month');
useLayDateMultiple('time','time');
useLayDateMultiple('date','date');
useLayDateMultiple('datetime','datetime');
//选择模型切换模板
form.on('select(model)', function(data){
var elem = data.elem;
var type = $(elem).find("option:selected").data('type');
var listtpl = $(elem).find("option:selected").data('listtpl');
var contenttpl = $(elem).find("option:selected").data('contenttpl');
$(elem).parents('form').find("#type").val(type);
addOptionValue("listtpl",listtpl,listtpl);
addOptionValue("contenttpl",contenttpl,contenttpl);
$(elem).parents('form').find("#listtpl").val(listtpl);
$(elem).parents('form').find("#contenttpl").val(contenttpl);
form.render(null, 'sort');
});
});
//日期控件函数
function useLayDateMultiple(cls,type) {
layui.use('laydate', function() {
var laydate = layui.laydate;
lay('.' + cls).each(function() {
laydate.render({
elem : this,
type : type,
});
});
});
}