/**
|
* 常用工具和方法 本js依赖jQuery
|
*
|
* @author 姜友瑶
|
*/
|
|
var MTools = {
|
/**
|
* 用逗号分开的存的id是否包含对应的id
|
* 如比较 123,123,124 中是否包含12这个主键
|
* 比对的方法是 字符串中是否包含"^12$" "^12,.*" 或者 ".+,12$" 或者 ".+,12,$"或者 ".+,12,.+" 字符串
|
* */
|
isContainId:function(ids,id){
|
var reg1=new RegExp("^"+id+"$|^"+id+",.*|.+,"+id+"$|.+,"+id+",$|.+,"+id+",.+");
|
if(reg1.test(ids)){
|
return true;
|
}else{
|
return false;
|
}
|
},
|
/**
|
* 对表格中单挑数据进行处理 请在url后添加参数 url: 远程地址 msg:提示信息 callbackfn:操作成功后回调函数
|
*/
|
handleItem : function(url, msg, callbackfn) {
|
layer.confirm(msg, function() {
|
$.AjaxProxy().invoke(url, function(loj) {
|
layer.msg(loj.getValue("info"), {
|
icon: 1,
|
time: 1000 //2秒关闭(如果不配置,默认是3秒)
|
}, function(){
|
//do something
|
if (callbackfn) {
|
callbackfn();
|
}
|
});
|
});
|
});
|
},
|
|
/** 返回一个随机数 */
|
random : function() {
|
return Math.floor(Math.random() * (1000000000 + 1));
|
},
|
|
/** 返回一个随机字符串 */
|
randomStr : function() {
|
return 'pp' + Math.floor(Math.random() * (1000000000 + 1));
|
},
|
|
/** 页面定向 */
|
redirect : function(url) {
|
window.location.href = url;
|
},
|
|
/** 页面定向 无视iframe */
|
toPredirect : function(url) {
|
window.top.location.href = url;
|
},
|
|
/** 图片在上传的时候,需要在页面嵌套一个jspifram页面 页面处理完图片后服务器返回脚本代码控制父窗口显示图片。 */
|
upolad : function(img_id, file_id) {
|
if ($("#" + file_id).val() == '') {
|
layer.alert("请先选择要上传的文件!");
|
return;
|
}
|
$("#" + img_id).attr("src",
|
basePath + "/resource/images/loadingbig.gif");
|
$("#" + img_id).show();
|
},
|
|
/** 在页面删除一个节点 */
|
delThis : function(id) {
|
$('#' + id).remove();
|
},
|
|
/** 在页面删除一个节点,带上滑效果 */
|
delThisSlide : function(id) {
|
$('#' + id).slideUp("fast", function() {
|
$('#' + id).remove();
|
});
|
},
|
|
changeValidateCode : function(id) {
|
$("#" + id).attr("src",
|
basePath + "/common/validateImg?rand=" + this.random())
|
},
|
|
login : function(dataform) {
|
$.post(basePath + "/common/dologin", $(".dataForm").serialize(),
|
function(data) {
|
// 全局异常显示
|
if (data.status == 'ok') {
|
MTools.redirect(basePath + "/" + data.page);
|
} else {
|
layer.msg(data.info, {
|
icon : 5,
|
time : 50000
|
});
|
MTools.changeValidateCode('code');
|
}
|
});
|
},
|
|
chooesFile : function() {
|
$("#fileText").trigger("click");
|
},
|
upFile : function() {
|
$("#submitBtn").trigger("click");
|
},
|
selectFile : function(node) {
|
var filePath = $("#fileText").val()
|
var fileName = filePath.substring(filePath.lastIndexOf("\\") + 1,
|
filePath.length);
|
$(node).val(fileName);
|
},
|
|
/**
|
* 根据autoFull的css类自动填充select框里面的option
|
* selecteder :选择器名
|
* value: 默认值为id
|
* file: 默认值name
|
* url: 请求路径
|
* param:{type : ''} 对象 为查询条件属性
|
* defaultValue: 默认值
|
* by luoyuanhong 2016-7-13
|
*/
|
autoFullSelect:function(_initParam){
|
console.log("---");
|
var initParam={
|
value:"id",//value默认值
|
filed:"name",//filed默认值
|
selecteder:".autoFull"
|
|
}
|
if(_initParam){
|
initParam=$.extend(initParam,_initParam)
|
}
|
|
|
$(initParam.selecteder).each(function(){
|
var _this=$(this);
|
var def= _this.data("def")== null||_this.data("def")=="" ? initParam.def : _this.data("def");
|
|
var param = _this.data("param") == null ? initParam.param:eval( "(" + _this.data("param") +")" );
|
var value = _this.data("value") == null ? initParam.value : _this.data("value");
|
var filed = _this.data("filed")== null ? initParam.filed : _this.data("filed");
|
var url = _this.data("url");
|
//增加一个排除不显示的 值得,参数是数组如 jsp的input属性data-hidden=1,2
|
eval( "var hidden = [" + _this.data("hidden") +"]" );
|
//取服务器请求数据
|
$.AjaxProxy({
|
p: param
|
}).invoke(url,function(loj){
|
var html ='';
|
a:for(var i=0;i<loj.getRowCount();i++){
|
b:for(var j=0;j<hidden.length;j++){
|
if(hidden[j] && hidden[j]==loj.getString(i,value)){
|
html +="";
|
continue a;
|
}
|
}
|
if (def&& MTools.isContainId (def + "",loj.getString( i, value))) {
|
/*修改页面仍然要保存请选择页面因此去掉 _this.html('');*/
|
html += '<option selected="selected" value="'+loj.getString(i,value)+'">'+ loj.getString(i,filed)+"</option>";
|
}
|
|
else{
|
html += '<option value="'+loj.getString(i,value)+'">'+ loj.getString(i,filed)+"</option>";
|
}
|
|
}
|
_this.append(html);
|
});
|
});
|
|
},
|
/**
|
* 初始化时间控件方法
|
* @param _initParam:
|
*/
|
ininDatetimepicker:function(_initParam){
|
var initParam = {
|
format : "yyyy-mm-dd", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
|
minView: "month", //"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
|
minuteStep: 5, //此数值被当做步进值用于构建小时视图。对于每个 minuteStep 都会生成一组预设时间(分钟)用于选择
|
autoclose: true, //true,选择完是否自动关闭,如果不关闭,改为:false
|
weekStart : 1, //一周从哪一天开始。0(星期日)到6(星期六)
|
timeSelecter: ".datetimepicker", //时间选择器的类名
|
state : "none", //none,不做限制,beforeToday:只能选择当前日期之前,aferToday:只能选择当前日期之后
|
}
|
|
if(_initParam!=null){
|
//把传过来的参数覆盖默认参数
|
initParam = $.extend(initParam, _initParam);
|
}
|
if(initParam.state=="beforeToday"){
|
//日期只能选择当前日,及当前日之前的日期
|
$(initParam.timeSelecter).datetimepicker({
|
format : initParam.format,
|
minView: initParam.minView,
|
autoclose: initParam.autoclose,
|
minuteStep: initParam.minuteStep,
|
weekStart : initParam.weekStart,
|
endDate : new Date(),
|
});
|
}else if(initParam.state=="aferToday"){
|
//日期只能选择当前日,及当前日之后的日期
|
$(initParam.timeSelecter).datetimepicker({
|
format : initParam.format,
|
minView: initParam.minView,
|
autoclose: initParam.autoclose,
|
minuteStep: initParam.minuteStep,
|
weekStart : initParam.weekStart,
|
startDate : new Date(),
|
});
|
}else{
|
//可以选择任意日期
|
$(initParam.timeSelecter).datetimepicker({
|
format : initParam.format,
|
minView: initParam.minView,
|
autoclose: initParam.autoclose,
|
minuteStep: initParam.minuteStep,
|
weekStart : initParam.weekStart,
|
});
|
}
|
},
|
/**
|
* 结束时间不能小于开始时间
|
* beginTimeId:开始时间控件的id,注意要传#
|
* endTimeId:结束时间控件的id,注意要传#
|
*/
|
limitStartEndTime:function(_initParam){
|
var initParam = {
|
beginTimeId : "#beginTime",
|
endTimeId : "#endTime"
|
}
|
if(_initParam!=null){
|
initParam = $.extend(initParam, _initParam);
|
}
|
//限制结束时间不能大于开始时间
|
$(initParam.beginTimeId).datetimepicker().on('changeDate', function(e){
|
var currentTime = e.date;
|
$(initParam.endTimeId).datetimepicker('setStartDate', currentTime);
|
//这里做级联
|
var beginTime = $(initParam.beginTimeId).val();
|
var endTime = $(initParam.endTimeId).val();
|
if(beginTime!= "" && endTime!= ""){
|
$(initParam.endTimeId).val(beginTime);
|
}
|
});
|
},
|
/*关闭弹出的窗口*/
|
closeForm:function(){
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
parent.layer.close(index);
|
}
|
|
}
|