一:datatable
datatable 手动加载
workTableApi = IQCBase.initManualDT({
tableID: workTableId,
areaName: area,
target: controller,
perfix: container,
queryPanel: '#' + from,
queryObjectPerfix: queryPerfix,
//detailUrl: url + '/ItemDetail',
scrollX: true,
scrollY: '80',
columns: [
{
data: 'ID', title: '操作', width: '30px', className: 'text-center', render: function (data, type, full, meta) {
var lnk = '<a href="javascript:void(0)" data-name="ID" data-id="{2}" data-row="{1}" title="{3}">{0}</a>';
var text = '删除';
return IQCBase.format(lnk, text, meta.row, data || '', text);
}
},
],
onDraw: function (e, settings, json) {
$workTable.find('input[data-type=num]').numeric({ 'decimalPlaces': 2, 'negative': false });
var lnkObjects = $workTable.find('tbody tr a[data-name="ID"]');
lnkObjects.off('click').on('click', function () {
var $this = $(this);
delRow($this);
});
},
onInit: function () {
var id = $('#@(Perfix)EditId').val();// $form.find('input[name=txtID]').val();
if (id) {
$.post('/IQC/OQCInspectionSampleV3/Query2WipItems', { ID: id }, function (data) {
if (data && data.length > 0) {
lineNumber = data.length + 1;
items = data;
//for(var i=0;i<data.length;i++)
//{
// data[i].ITEM_SEQ=i;
//}
IQCBase.addRows(workTableApi, data, true);
inputs = $workTable.find('.keys').get();
}
});
}
}
});
datatable 自动加载
自定配置加载datatables,这样可以灵活增加列,或者删减列
var @(Perfix)table = IQCBase.initAutoDT({
areaName: 'IQC',
target: 'OQCInspectionSample',
perfix: '@(Perfix)',
queryPanel: '#@(Perfix)QueryPanel',
queryObjectPerfix: 'qr',
scrollX: true,
scrollY: iContentH,
processing: false,
autoBindLink: true,
serverMethod: "POST",
columns: [
IQCBase.checkColumn,
IQCBase.snColumn,
{
data: "BARCODE", title: '机身条码', render: function (data, type, full, meta) {
var data = data || '';
return '<a href="javascript:void(0)" onclick="OpenTab(\'/IQC/OQCInspectionSampleV2/Detail?ID=' + full.ID + '\',\'成品抽检检验维护(' + data + ')\')">' + data + '</a>';
}
},
],
onDraw: function (e, settings, json) {
},
onXHR: function (e, settings, json, xhr) {
if (json.data.length > 0) {
document.getElementById('@(Perfix)Excel').removeAttribute('disabled');
}
else {
document.getElementById('@(Perfix)Excel').setAttribute('disabled', 'disabled');
}
}
});
二:
时间选择加载时分
提交时询问
判断是否为空,或者是否为NULL,判断是否是数值类型
//share property & method
var pt = IQCBase.prototype;
pt.UEConfig = { toolbars: [['bold', 'justifyleft', 'justifyright', 'justifycenter', 'justifyjustify', 'inserttable', 'subscript', 'superscript', 'fontfamily']] };
pt.UEConfigDisable = { toolbars: [], wordCount: false, readonly: false };
pt.DateTimePickerCfg = {
language: 'zh-CN',
weekStart: 1,
minView: 2,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 2,
forceParse: 1,
showMeridian: 1
};
pt.DateTimePickerCfg2 = {
language: 'zh-CN',
weekStart: 1,
minView: 0,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 2,
forceParse: 1,
showMeridian: 1
};
//格式化日期
//expl: formatDate("2010-04-30", "yyyy-MM-dd HH:mm:ss")
pt.formatDate = function formatDate(date, format) {
if (!date) return;
if (!format) format = "yyyy-MM-dd";
switch (typeof date) {
case "string":
date = new Date(date.replace(/-/, "/"));
break;
case "number":
date = new Date(date);
break;
}
if (!date instanceof Date) return;
var dict = {
"yyyy": date.getFullYear(),
"M": date.getMonth() + 1,
"d": date.getDate(),
"H": date.getHours(),
"m": date.getMinutes(),
"s": date.getSeconds(),
"MM": ("" + (date.getMonth() + 101)).substr(1),
"dd": ("" + (date.getDate() + 100)).substr(1),
"HH": ("" + (date.getHours() + 100)).substr(1),
"mm": ("" + (date.getMinutes() + 100)).substr(1),
"ss": ("" + (date.getSeconds() + 100)).substr(1)
};
return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function () {
return dict[arguments[0]];
});
}
pt.format = function (format) {
var args = pt.toArray(arguments, 1);
return format.replace(/\{(\d+)\}/g, function (m, i) {
return args[i];
});
};
pt.toArray = function (iterable, start, end) {
if (!iterable || !iterable.length) { return []; }
var array = [], i;
start = start || 0;
end = end ? ((end < 0) ? iterable.length + end : end) : iterable.length;
for (i = start; i < end; i++) {
array.push(iterable[i]);
}
return array;
};
pt.htmlEncode = function (value) {
var entities = {
'&': '&',
'>': '>',
'<': '<',
'"': '"'
}, keys = [], p, regex;
for (p in entities) {
keys.push(p);
}
regex = new RegExp('(' + keys.join('|') + ')', 'g');
return (!value) ? value : String(value).replace(regex, function (match, capture) {
return entities[capture];
});
};
pt.getDate = function (val) {
var date = eval("new " + val.substr(1, val.length - 2));
return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
};
pt._radomNum = {};
pt.getRadomNum = function () {
var b;
while (true) {
b = Math.random().toString().substr(2, 7) / 100;
if (b.toString().length === 8 && pt._radomNum[b] === undefined) {
return pt._radomNum[b] = b;
}
}
};
pt.parseFloat = function (v) {
var pre = parseFloat(v).toPrecision(14);
return parseFloat(pre);
};
pt.max = function (array) {
var max = array[0], i, ln, item;
for (i = 0, ln = array.length; i < ln; i++) {
item = array[i];
if (item > max) { max = item; }
}
return max;
};
pt.min = function (array) {
var min = array[0], i, ln, item;
for (i = 0, ln = array.length; i < ln; i++) {
item = array[i];
if (item < min) {
min = item;
}
}
return min;
};
pt.getMaxMin = function () {
var max = pt.max(arguments),
min = pt.min(arguments);
return [max, min];
};
pt.supportsSort = (function () {
var a = [1, 2, 3, 4, 5].sort(function () { return 0; });
return a[0] === 1 && a[1] === 2 && a[2] === 3 && a[3] === 4 && a[4] === 5;
}());
pt.sort = function (array, sortFn) {
var length = array.length, i = 0, comparison, j, min, tmp;
for (; i < length; i++) {
min = i;
for (j = i + 1; j < length; j++) {
if (sortFn) {
comparison = sortFn(array[j], array[min]);
if (comparison < 0) { min = j; }
}
else if (array[j] < array[min]) { min = j; }
}
if (min !== i) {
tmp = array[i];
array[i] = array[min];
array[min] = tmp;
}
}
return array;
};
pt.avg = function () {
var arr = arguments, len = arguments.length, sum = 0;
for (var i = 0; i < len; i++) {
if ($.isNumeric(arr[i])) { sum += parseFloat(arr[i]); }
}
return IQCBase.parseFloat(sum / 2);
};
pt.isNull = function () {
var arr = arguments, result = true;
for (var i = 0; i < arr.length; i++) {
var v = arr[i];
result &= pt.isEmpty(v);
}
return result;
};
pt.isEmpty = function (value) {
return (value === null) || (value === undefined) || (value === '');
};
pt.isNumeric = function () {
var arr = arguments, result = true;
for (var i = 0; i < arr.length; i++) {
result &= $.isNumeric(arr[i]);
}
return result;
};
pt.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
};
pt.leftPad = function (string, size, character) {
var result = String(string);
character = character || " ";
while (result.length < size) {
result = character + result;
}
return result;
};
pt.now = function () {
var date = new Date();
return date.getFullYear() + "-"
+ pt.leftPad(date.getMonth() + 1, 2, '0') + "-"
+ pt.leftPad(date.getDate(), 2, '0') + " "
+ pt.leftPad(date.getHours(), 2, '0') + ":"
+ pt.leftPad(date.getMinutes(), 2, '0') + ":"
+ pt.leftPad(date.getSeconds(), 2, '0');
};
pt.appendValue = function (obj, val, splitChar) {
var spChar = splitChar || ',';
var currentVal = obj.val(), currentArray = [];
if (currentVal && currentVal.length > 0)
currentArray = currentVal.split(',');
if (currentVal.indexOf(val) == -1)
currentArray.push(val);
obj.val(currentArray.join(','));
};
pt.getDateFormat = function (value, rec) {
return eval("new " + value.substr(1, value.length - 2)).toLocaleDateString();
};
三:
弹出对话框
弹出查询对话框
//提示信息
pt.confirm = function (text, cb) {
var initTemplate = function () {
if ($('#IQCBase_ConfirmModal').length == 1)
return true;
$('body').append(' \
<div id="IQCBase_ConfirmModal" class="modal fade" data-backdrop="static" tabindex="-1" role="dialog" aria-hidden="true"> \
<div class="modal-dialog">\
<div class="modal-content">\
<div class="modal-header">\
<a class="close" id="close" data-dismiss="modal">×</a>\
<h3 class="modal-title">系统提示</h3>\
</div>\
<div class="modal-body">\
<p style="font-size:1.2em"></p>\
</div>\
<div class="modal-footer">\
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true" data-keyup="enter">确定</button> \
<button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">取消</button> \
</div>\
</div>\
</div>\
</div>');
}
var bootStrapConfirm = function () {
if (!$.fn.modal.Constructor)
return false;
$('body').off('click', '#IQCBase_ConfirmModal .btn-primary');
$('body').off('click', '#IQCBase_ConfirmModal .btn-danger');
function confirm() { cb(true); }
function deny() { cb(false); }
$('body').on('click', '#IQCBase_ConfirmModal .btn-primary', confirm);
$('body').on('click', '#IQCBase_ConfirmModal .btn-danger', deny);
return true;
}
initTemplate()
if (bootStrapConfirm()) {
$('#IQCBase_ConfirmModal .modal-body p').text(text);
$('#IQCBase_ConfirmModal').modal();
} else {
alert('bootstrap was not found');
}
};
pt.showMsg = function (content, title, cb) {
if (!$.fn.modal.Constructor) {
alert('bootstrap was not found');
return false;
}
var initTemplate = function () {
if ($('#IQCBase_AlertModal').length == 1)
return true;
$('body').append(' \
<div id="IQCBase_AlertModal" class="modal fade" data-backdrop="static" tabindex="-1" role="dialog" aria-hidden="true">\
<div class="modal-dialog">\
<div class="modal-content">\
<div class="modal-header">\
<a class="close" id="close" data-dismiss="modal">×</a>\
<h3 class="modal-title">提示</h3>\
</div>\
<div class="modal-body">\
<p style="font-size:1.2em"></p>\
</div>\
<div class="modal-footer">\
<button class="btn btn-primary" data-keyup="enter" data-dismiss="modal">确认</button>\
</div>\
</div>\
</div>\
</div>');
}
四:弹出选择对话框
五:
统一获取查询参数
统一获取提交参数
pt.getQueryParams = function (parent, queryObjectPerfix, d, ableOrder) {
var returnParam = { param: {}, paramIsNull: false },
formTextData = $(parent).find("[name^='" + queryObjectPerfix + "'][type!='checkbox'][type!='radio']"),
formCheckData = $(parent).find("input[name^='" + queryObjectPerfix + "']:checked");
if (d) {
if (!ableOrder) returnParam.param = { start: d.start, length: d.length };
else returnParam.param = { start: d.start, length: d.length, order: d.order, columns: d.columns };
}
for (var i = 0; i < formTextData.length; i++) {
var e = formTextData[i];
var val = $(e).val();
if (val) {
returnParam.param[e.name.replace(queryObjectPerfix, '')] = val.toString();
returnParam.paramIsNull |= val.toString().length > 0;
}
}
//处理Checkbox
var checkboxNames = [];
formCheckData.each(function (i, e) {
var name = e.name.replace(queryObjectPerfix, '');
if (!returnParam.param[name]) {
returnParam.param[name] = [];
checkboxNames.push(name);
}
returnParam.param[name].push($(e).val());
});
$.each(checkboxNames, function (i, name) {
returnParam.param[name] = returnParam.param[name].join(',');
});
return returnParam;
};
pt.getSubmitData = function (parent) {
var param = {};
var formData = parent.find("input[type!='checkbox'][type!='radio'][name^='txt']");
for (var i = 0; i < formData.length; i++) {
var e = formData[i]; var oe = $(e);
var required = oe.attr('data-required');
if (required && oe.val().length < 1) {
pt.showMsg(required);
return null;
}
param[e.name.replace('txt', '')] = $(e).val();
}
//处理Checkbox
var formCheckData = parent.find("input[type='checkbox'][name^='txt']:checked");
var checkboxNames = [];
formCheckData.each(function (i, e) {
var name = e.name.replace('txt', '');
if (!param[name]) {
param[name] = [];
checkboxNames.push(name);
}
param[name].push($(e).val());
});
$.each(checkboxNames, function (i, name) {
param[name] = param[name].join(',');
});
//处理Radio
var formRadioData = parent.find("input[type='radio'][name^='txt']:checked");
formRadioData.each(function (i, e) {
var name = e.name.replace('txt', '');
param[name] = $(e).val();
});
//处理select
var formSelectData = parent.find("select[name^='txt']");
for (var i = 0; i < formSelectData.length; i++) {
var e = formSelectData[i]; var oe = $(e);
var required = oe.attr('data-required');
if (required && oe.val().length < 1) {
pt.showMsg(required);
return null;
}
var name = e.name.replace('txt', '');
param[name] = $(e).val();
}
//处理textarea
var formTextareaData = parent.find("textarea[name^='txt']:not([data-notset])");
for (var i = 0; i < formTextareaData.length; i++) {
var e = formTextareaData[i]; var oe = $(e);
var required = oe.attr('data-required');
if (required && oe.val().length < 1) {
pt.showMsg(required);
return null;
}
param[e.name.replace('txt', '')] = $(e).val();
}
//处理UEditor
//var formTextareaData = parent.find("textarea[name^='txt'][data-notset]");
//for (var i = 0; i < formTextareaData.length; i++) {
// var e = formTextareaData[i]; var oe = $(e);
// console.log(e);
// var required = oe.attr('data-required');
// if (required && oe.val().length < 1) {
// pt.showMsg(required);
// return null;
// }
// var name = e.name.replace('txt', '');
// param[name] = $(e).val();
//}
return param;
};
浙公网安备 33010602011771号