(function ($, zou) {
|
"use strict";
|
|
/*获取和设置表单数据*/
|
$.fn.FindFormData = function (keyValue) {// 获取表单数据
|
alert("获取表单数据尚未实现");
|
};
|
$.fn.InitFormData = function (data) {// 设置表单数据
|
$("#txtTitle").val(data.title);
|
$("#txtSaveUrl").val(data.saveurl);
|
$("#txtSubmitUrl").val(data.submiturl);
|
$("#txtAgreeUrl").val(data.agreeurl);
|
$("#txtDisAgreeUrl").val(data.disagreeurl);
|
$("#txtLoadurl").val(data.loadurl);
|
$("#txtInitMethod").val(data.initMethod);
|
$("#txtLoadJsUrl").val(data.loadJsUrl);
|
};
|
|
$.lrSaveForm = function (url, param, callback, isNotClosed) {
|
param['__RequestVerificationToken'] = $.lrToken;
|
zou.httpAsyncPost(url, param, function (res) {
|
if (res.code === zou.httpCode.success) {
|
if (!!callback) {
|
callback(res);
|
}
|
zou.alert.success(res.info);
|
if (!isNotClosed) {
|
zou.layerClose(window.name);
|
}
|
}
|
else {
|
zou.alert.error(res.info);
|
zou.httpErrorLog(res.info);
|
}
|
});
|
};
|
$.lrPostForm = function (url, param) {
|
param['__RequestVerificationToken'] = $.lrToken;
|
zou.httpAsyncPost(url, param, function (res) {
|
if (res.code == zou.httpCode.success) {
|
zou.alert.success(res.info);
|
}
|
else {
|
zou.alert.error(res.info);
|
zou.httpErrorLog(res.info);
|
}
|
});
|
};
|
|
/*tab页切换*/
|
$.fn.lrFormTab = function () {
|
var $this = $(this);
|
$this.parent().css({ 'padding-top': '44px' });
|
$this.mCustomScrollbar({
|
axis: "x",
|
theme: "minimal-dark"
|
});
|
$this.delegate('li', 'click', { $ul: $this }, function (e) {
|
var $li = $(this);
|
if (!$li.hasClass('active')) {
|
var $parent = $li.parent();
|
var $content = e.data.$ul.next();
|
|
var id = $li.find('a').attr('data-value');
|
$parent.find('li.active').removeClass('active');
|
$li.addClass('active');
|
$content.find('.tab-pane.active').removeClass('active');
|
$content.find('#' + id).addClass('active');
|
}
|
});
|
}
|
$.fn.lrFormTabEx = function (callback) {
|
var $this = $(this);
|
$this.delegate('li', 'click', { $ul: $this }, function (e) {
|
var $li = $(this);
|
if (!$li.hasClass('active')) {
|
var $parent = $li.parent();
|
var $content = e.data.$ul.next();
|
|
var id = $li.find('a').attr('data-value');
|
$parent.find('li.active').removeClass('active');
|
$li.addClass('active');
|
$content.find('.tab-pane.active').removeClass('active');
|
$content.find('#' + id).addClass('active');
|
|
if (!!callback) {
|
callback(id);
|
}
|
}
|
});
|
}
|
|
/*检测字段是否重复*/
|
$.lrExistField = function (keyValue, controlId, url, param) {
|
var $control = $("#" + controlId);
|
if (!$control.val()) {
|
return false;
|
}
|
var data = {
|
keyValue: keyValue
|
};
|
data[controlId] = $control.val();
|
$.extend(data, param);
|
zou.httpAsync('GET', url, data, function (data) {
|
if (data == false) {
|
$.lrValidformMessage($control, '已存在,请重新输入');
|
}
|
});
|
};
|
|
/*固定下拉框的一些封装:数据字典,组织机构,省市区级联*/
|
// 数据字典下拉框
|
$.fn.lrDataItemSelect = function (op) {
|
// op:code 码,parentId 父级id,maxHeight 200,allowSearch, childId 级联下级框id
|
var dfop = {
|
// 展开最大高度
|
maxHeight: 200,
|
// 是否允许搜索
|
allowSearch: false,
|
// 访问数据接口地址
|
//url: top.$.rootUrl + '/LR_SystemModule/DataItem/GetDetailListByParentId',
|
// 访问数据接口参数
|
param: { itemCode: '', parentId: '0' },
|
// 级联下级框
|
}
|
op = op || {};
|
if (!op.code) {
|
return false;
|
}
|
dfop.param.itemCode = op.code;
|
dfop.param.parentId = op.parentId || '0';
|
dfop.maxHeight = op.maxHeight || 200;
|
dfop.allowSearch = op.allowSearch;
|
|
var list = [];
|
|
if (!!op.childId) {
|
var list2 = [];
|
$('#' + op.childId).lrselect({
|
// 展开最大高度
|
maxHeight: dfop.maxHeight,
|
// 是否允许搜索
|
allowSearch: dfop.allowSearch,
|
});
|
dfop.select = function (item) {
|
if (!item) {
|
$('#' + op.childId).lrselectRefresh({
|
data: []
|
});
|
}
|
else {
|
list2 = [];
|
zou.clientdata.getAllAsync('dataItem', {
|
code: dfop.param.itemCode,
|
callback: function (dataes) {
|
$.each(dataes, function (_index, _item) {
|
if (_item.parentId == item.k) {
|
list2.push({ id: _item.text, text: _item.value, title: _item.text, k: _index });
|
}
|
});
|
$('#' + op.childId).lrselectRefresh({
|
data: list2
|
});
|
}
|
});
|
}
|
};
|
}
|
var $select = $(this).lrselect(dfop);
|
zou.clientdata.getAllAsync('dataItem', {
|
code: dfop.param.itemCode,
|
callback: function (dataes) {
|
$.each(dataes, function (_index, _item) {
|
if (_item.parentId == dfop.param.parentId) {
|
list.push({ id: _item.value, text: _item.text, title: _item.text, k: _index });
|
}
|
});
|
$select.lrselectRefresh({
|
data: list
|
});
|
}
|
});
|
return $select;
|
};
|
// 数据源下拉框
|
$.fn.lrDataSourceSelect = function (op) {
|
op = op || {};
|
var dfop = {
|
// 展开最大高度
|
maxHeight: op.maxHeight,
|
// 是否允许搜索
|
allowSearch: true,
|
select: op.select,
|
}
|
if (!op.code) {
|
return false;
|
}
|
var $select = $(this).lrselect(dfop);
|
|
zou.clientdata.getAllAsync('sourceData', {
|
code: op.code,
|
callback: function (dataes) {
|
$select.lrselectRefresh({
|
value: op.value,
|
text: op.text,
|
title: op.text,
|
data: dataes
|
});
|
}
|
});
|
return $select;
|
}
|
|
// 公司信息下拉框
|
$.fn.lrCompanySelect = function (op) {
|
// op:parentId 父级id,maxHeight 200,
|
var dfop = {
|
type: 'tree',
|
// 展开最大高度
|
maxHeight: 200,
|
// 是否允许搜索
|
allowSearch: true,
|
// 访问数据接口地址
|
url: top.$.rootUrl + '/LR_OrganizationModule/Company/GetTree',
|
// 访问数据接口参数
|
param: { parentId: '0' },
|
};
|
op = op || {};
|
dfop.param.parentId = op.parentId || '0';
|
dfop.maxHeight = op.maxHeight || 200;
|
|
if (!!op.isLocal) {
|
dfop.url = '';
|
}
|
var $select = $(this).lrselect(dfop);
|
if (!!op.isLocal) {
|
zou.clientdata.getAllAsync('company', {
|
callback: function (dataes) {
|
var mapdata = {};
|
var resdata = [];
|
$.each(dataes, function (_index, _item) {
|
mapdata[_item.parentId] = mapdata[_item.parentId] || [];
|
_item.id = _index;
|
mapdata[_item.parentId].push(_item);
|
});
|
_fn(resdata, dfop.param.parentId);
|
function _fn(_data, vparentId) {
|
var pdata = mapdata[vparentId] || [];
|
for (var j = 0, l = pdata.length; j < l; j++) {
|
var _item = pdata[j];
|
var _point = {
|
id: _item.id,
|
text: _item.name,
|
value: _item.id,
|
showcheck: false,
|
checkstate: false,
|
hasChildren: false,
|
isexpand: false,
|
complete: true,
|
ChildNodes: []
|
};
|
if (_fn(_point.ChildNodes, _item.id)) {
|
_point.hasChildren = true;
|
_point.isexpand = true;
|
}
|
_data.push(_point);
|
}
|
return _data.length > 0;
|
}
|
$select.lrselectRefresh({
|
data: resdata
|
});
|
}
|
});
|
}
|
|
return $select;
|
|
};
|
// 部门信息下拉框
|
$.fn.lrDepartmentSelect = function (op) {
|
// op:parentId 父级id,maxHeight 200,
|
var dfop = {
|
type: 'tree',
|
// 展开最大高度
|
maxHeight: 200,
|
// 是否允许搜索
|
allowSearch: true,
|
// 访问数据接口地址
|
url: top.$.rootUrl + '/LR_OrganizationModule/Department/GetTree',
|
// 访问数据接口参数
|
param: { companyId: '', parentId: '0' },
|
}
|
op = op || {};
|
dfop.param.companyId = op.companyId;
|
dfop.param.parentId = op.parentId;
|
dfop.maxHeight = op.maxHeight || 200;
|
|
return $(this).lrselect(dfop);;
|
};
|
// 人员下拉框
|
$.fn.lrUserSelect = function (type) {//0单选1多选
|
if (type == 0) {
|
$(this).lrformselect({
|
layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectOnlyForm',
|
layerUrlW: 400,
|
layerUrlH: 300,
|
dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds'
|
});
|
}
|
else {
|
$(this).lrformselect({
|
layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectForm',
|
layerUrlW: 800,
|
layerUrlH: 520,
|
dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds'
|
});
|
}
|
}
|
|
// 省市区级联
|
$.fn.lrAreaSelect = function (op) {
|
// op:parentId 父级id,maxHeight 200,
|
var dfop = {
|
// 字段
|
value: "F_AreaCode",
|
text: "F_AreaName",
|
title: "F_AreaName",
|
// 展开最大高度
|
maxHeight: 200,
|
// 是否允许搜索
|
allowSearch: true,
|
// 访问数据接口地址
|
url: top.$.rootUrl + '/LR_SystemModule/Area/Getlist',
|
// 访问数据接口参数
|
param: { parentId: '' },
|
}
|
op = op || {};
|
if (!!op.parentId) {
|
dfop.param.parentId = op.parentId;
|
}
|
dfop.maxHeight = op.maxHeight || 200;
|
var _obj = [], i = 0;
|
var $this = $(this);
|
$(this).find('div').each(function () {
|
var $div = $('<div></div>');
|
var $obj = $(this);
|
dfop.placeholder = $obj.attr('placeholder');
|
$div.addClass($obj.attr('class'));
|
$obj.removeAttr('class');
|
$obj.removeAttr('placeholder');
|
$div.append($obj);
|
$this.append($div);
|
if (i == 0) {
|
$obj.lrselect(dfop);
|
}
|
else {
|
dfop.url = "";
|
dfop.parentId = "";
|
$obj.lrselect(dfop);
|
_obj[i - 1].on('change', function () {
|
var _value = $(this).lrselectGet();
|
if (_value == "") {
|
$obj.lrselectRefresh({
|
url: '',
|
param: { parentId: _value },
|
data: []
|
});
|
}
|
else {
|
$obj.lrselectRefresh({
|
url: top.$.rootUrl + '/LR_SystemModule/Area/Getlist',
|
param: { parentId: _value },
|
});
|
}
|
|
});
|
}
|
i++;
|
_obj.push($obj);
|
});
|
};
|
// 数据库选择
|
$.fn.lrDbSelect = function (op) {
|
// op:maxHeight 200,
|
var dfop = {
|
type: 'tree',
|
// 展开最大高度
|
maxHeight: 200,
|
// 是否允许搜索
|
allowSearch: true,
|
// 访问数据接口地址
|
url: top.$.rootUrl + '/LR_SystemModule/DatabaseLink/GetTreeList'
|
}
|
op = op || {};
|
dfop.maxHeight = op.maxHeight || 200;
|
|
return $(this).lrselect(dfop);
|
}
|
|
// 动态获取和设置radio,checkbox
|
$.fn.lrRadioCheckbox = function (op) {
|
var dfop = {
|
type: 'radio', // checkbox
|
dataType: 'dataItem', // 默认是数据字典 dataSource(数据源)
|
code: '',
|
text: 'F_ItemName',
|
value: 'F_ItemValue'
|
};
|
$.extend(dfop, op || {});
|
var $this = $(this);
|
$this.addClass(dfop.type);
|
$this.addClass('z-' + dfop.type);
|
$this.attr('type', 'z-' + dfop.type);
|
var thisId = $this.attr('id');
|
|
|
if (dfop.dataType == 'dataItem') {
|
zou.clientdata.getAllAsync('dataItem', {
|
code: dfop.param.itemCode,
|
callback: function (dataes) {
|
$.each(dataes, function (id, item) {
|
var $point = $('<label><input name="' + thisId + '" value="' + item.value + '"' + + ' type="' + dfop.type + '">' + item.text + '</label>');
|
$this.append($point);
|
});
|
$this.find('input').eq(0).trigger('click');
|
}
|
});
|
}
|
else {
|
zou.clientdata.getAllAsync('sourceData', {
|
code: vlist[0],
|
callback: function (dataes) {
|
$.each(dataes, function (id, item) {
|
var $point = $('<label><input name="' + thisId + '" value="' + item[dfop.value] + '"' + '" type="' + dfop.type + '">' + item[dfop.text] + '</label>');
|
$this.append($point);
|
});
|
$this.find('input').eq(0).trigger('click');
|
}
|
});
|
}
|
}
|
// 多条件查询框
|
$.fn.lrMultipleQuery = function (search, height, width) {
|
var $this = $(this);
|
var contentHtml = $this.html();
|
$this.addClass('z-query-wrap');
|
|
|
var _html = '';
|
_html += '<div class="z-query-btn"><i class="fa fa-search"></i> 多条件查询</div>';
|
_html += '<div class="z-query-content">';
|
//_html += '<div class="z-query-formcontent">';
|
_html += contentHtml;
|
//_html += '</div>';
|
_html += '<div class="z-query-arrow"><div class="z-query-inside"></div></div>';
|
_html += '<div class="z-query-content-bottom">';
|
_html += '<a id="lr_btn_queryReset" class="btn btn-default"> 重 置</a>';
|
_html += '<a id="lr_btn_querySearch" class="btn btn-primary"> 查 询</a>';
|
_html += '</div>';
|
_html += '</div>';
|
$this.html(_html);
|
$this.find('.z-query-formcontent').show();
|
|
$this.find('.z-query-content').css({ 'width': width || 400, 'height': height || 300 });
|
|
$this.find('.z-query-btn').on('click', function () {
|
var $content = $this.find('.z-query-content');
|
if ($content.hasClass('active')) {
|
$content.removeClass('active');
|
}
|
else {
|
$content.addClass('active');
|
}
|
});
|
|
$this.find('#lr_btn_querySearch').on('click', function () {
|
var $content = $this.find('.z-query-content');
|
var query = $content.FindFormData();
|
$content.removeClass('active');
|
search(query);
|
});
|
|
$this.find('#lr_btn_queryReset').on('click', function () {
|
var $content = $this.find('.z-query-content');
|
var query = $content.FindFormData();
|
for (var id in query) {
|
query[id] = "";
|
}
|
$content.InitFormData(query);
|
});
|
|
$(document).click(function (e) {
|
var et = e.target || e.srcElement;
|
var $et = $(et);
|
if (!$et.hasClass('z-query-wrap') && $et.parents('.z-query-wrap').length <= 0) {
|
|
$('.z-query-content').removeClass('active');
|
}
|
});
|
}
|
|
})(jQuery, top.zou);
|