(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 = $('
'); 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 = $(''); $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 = $(''); $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 += '
 多条件查询
'; _html += '
'; //_html += '
'; _html += contentHtml; //_html += '
'; _html += '
'; _html += '
'; _html += ' 重  置'; _html += ' 查  询'; _html += '
'; _html += '
'; $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);