/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) * Copyright (c) 2013-2018 北京泉江科技有限公司 * 创建人:陈彬彬 * 日 期:2018.04.09 * 描 述:数据列表选择 */ var dfopid = request('dfopid'); var acceptClick; var bootstrap = function ($, learun) { "use strict"; var selectItem; var gridData = null; var op = null; var treeValue = ''; var selectData = {}; var page = { init: function () { page.bind(); }, bind: function () { op = top.lrlayerSelect[dfopid]; var _value = op._value.split(','); var _text = op._text.split(','); $.each(_value, function (_index, _item) { if (_item != "") { selectData[_item] = _text[_index] || ''; } }); //未登记在册资产点击事件 if (op.unknowselect) { $("#item_selected_unknow").on("click", function() { learun.layerClose(top['layer_' + op.id].name); op.unknowselect(); }); } else { $("#item_selected_unknow").hide(); } // 初始化表格 $('#gridtable').jfGrid({ headData: op.grid, isMultiselect: op.isMultiple, mainId: op.dataValueId, multiselectfield: 'lrcheck', onSelectRow: function (data, isCheck) { page.setSelect(data, isCheck); }, url: op.dataUrl }); //url数据 if (op.treeUrl) { learun.httpAsync("Get", op.treeUrl, {}, function (data) { $('#tree').lrtree({ data: data, nodeClick: function (item) { treeValue = item.value; page.search(""); } }); }); } else { // 设置树形数据 learun.clientdata.getAllAsync('sourceData', { code: op.treeCode, callback: function (_data) { var treeData = $.lrtree.listTotree(_data, op.treeParentId, op.treeValueId, op.treeTextId, op.treeValueId, false); $('#tree').lrtree({ data: treeData, nodeClick: function (item) { treeValue = item.value; page.search(""); } }); } }); } if (op.dataUrl) { page.search(); } else { // 获取表格数据 learun.clientdata.getAllAsync('sourceData', { code: op.dataCode, callback: function (_data) { //gridData = _data; gridData = []; var $list = $('#selected_item_list'); $.each(_data, function (_index, _item) { if (selectData[_item[op.dataValueId]]) { selectData[_item[op.dataValueId]] = _item[op.dataTextId]; _item.lrcheck = 1; var _html = '
'; _html += '

' + _item[op.dataTextId] + '

'; _html += ''; _html += '
'; $list.append($(_html)); } else { _item.lrcheck = 0; } gridData.push(_item); }); $('#gridtable').jfGridSet('refreshdata', _data); } }); } // 搜索框初始化 $('#txt_keyword').on("keypress", function (e) { if (event.keyCode == "13") { var $this = $(this); var keyword = $this.val(); page.search(keyword); } }); $('.input-query').on('click', function () { var keyword = $('#txt_keyword').val(); page.search(keyword); }); // 已选项 if (op.isMultiple) { $('#item_selected_btn').on('click', function () { $('#form_warp_right').animate({ right: '0px' }, 300); }); $('#item_selected_btn_close').on('click', function () { $('#form_warp_right').animate({ right: '-180px' }, 300); }); } else { $('#item_selected_btn').remove(); $('.input-query').css('right', '10px'); if (op.unknowselect) { $('.input-query').css('right', '85px'); $("#item_selected_unknow").css("right","0px"); } } $('.selected-item-list-warp').lrscroll(); var $warp = $('#selected_item_list'); $warp.on('click', function (e) { var et = e.target || e.srcElement; var $et = $(et); if ($et.hasClass('item-reomve')) { var id = $et.parent().attr('data-value'); $et.parent().remove(); delete selectData[id]; var keyword = $('#txt_keyword').val(); page.search(keyword); } }); }, search: function (text) { if (op.dataUrl) { var param = {}; if (op.dataTreeId) { param[op.dataTreeId] = treeValue; } param.keyword = text; $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); } else { if (gridData == null) { setTimeout(function () { page.search(text); }, 100); } else { var _data = []; $.each(gridData, function (_index, _item) { if (!!selectData[_item[op.dataValueId]]) { _item.lrcheck = 1; } else { _item.lrcheck = 0; } if (_item[op.dataTreeId] == treeValue || treeValue == "") { if (text == "" || _item[op.dataTextId].indexOf(text) != -1) { _data.push(_item); } } }); $('#gridtable').jfGridSet('refreshdata', _data); } } }, setSelect: function (data, ischeck) { var $list = $('#selected_item_list'); if (ischeck) { if ($list.find('[data-value="' + data[op.dataValueId] + '"]').length == 0) { selectData[data[op.dataValueId]] = data[op.dataTextId]; var _html = '
'; _html += '

' + data[op.dataTextId] + '

'; _html += ''; _html += '
'; $list.append($(_html)); } } else { $list.find('[data-value="' + data[op.dataValueId] + '"]').remove(); delete selectData[data[op.dataValueId]]; } } }; // 保存数据 acceptClick = function (callBack) { if (op.isMultiple) { callBack(selectData, dfopid); } else { var item = $('#gridtable').jfGridGet('rowdata'); selectData = {}; if (item) { selectData[item[op.dataValueId]] = item[op.dataTextId]; } callBack(selectData, dfopid); } return true; }; page.init(); }