You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

772 lines
28 KiB

  1. /*
  2. * 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn)
  3. * Copyright (c) 2013-2018 上海力软信息技术有限公司
  4. * 创建人:力软-前端开发组
  5. * 日 期:2017.03.16
  6. * 描 述:表单处理方法
  7. */
  8. (function ($, learun) {
  9. "use strict";
  10. /*获取和设置表单数据*/
  11. $.fn.lrGetFormData = function (keyValue) {// 获取表单数据
  12. var resdata = {};
  13. $(this).find('input,select,textarea,.lr-select,.lr-formselect,.lrUploader-wrap,.lr-radio,.lr-checkbox,.edui-default').each(function (r) {
  14. var id = $(this).attr('id');
  15. if (!!id) {
  16. var type = $(this).attr('type');
  17. switch (type) {
  18. case "radio":
  19. if ($("#" + id).is(":checked")) {
  20. var _name = $("#" + id).attr('name');
  21. resdata[_name] = $("#" + id).val();
  22. }
  23. break;
  24. case "checkbox":
  25. if ($("#" + id).is(":checked")) {
  26. resdata[id] = 1;
  27. } else {
  28. resdata[id] = 0;
  29. }
  30. break;
  31. case "lrselect":
  32. resdata[id] = $(this).lrselectGet();
  33. break;
  34. case "formselect":
  35. resdata[id] = $(this).lrformselectGet();
  36. break;
  37. case "lrGirdSelect":
  38. resdata[id] = $(this).lrGirdSelectGet();
  39. break;
  40. case "lr-Uploader":
  41. resdata[id] = $(this).lrUploaderGet();
  42. break;
  43. case "lr-radio":
  44. resdata[id] = $(this).find('input:checked').val();
  45. break;
  46. case "lr-checkbox":
  47. var _idlist = [];
  48. $(this).find('input:checked').each(function () {
  49. _idlist.push($(this).val());
  50. });
  51. resdata[id] = String(_idlist);
  52. break;
  53. default:
  54. if ($("#" + id).hasClass('currentInfo')) {
  55. var value = $("#" + id)[0].lrvalue;
  56. if (value == undefined) {
  57. value = $('#' + id).val();
  58. }
  59. resdata[id] = $.trim(value);
  60. }
  61. else if ($(this).hasClass('edui-default')) {
  62. if ($(this)[0].ue) {
  63. resdata[id] = $(this)[0].ue.getContent(null, null, true).replace(/[<>&"]/g, function (c) { return { '<': '&lt;', '>': '&gt;', '&': '&amp;', '"': '&quot;' }[c]; });//
  64. }
  65. }
  66. else {
  67. var value = $("#" + id).val();
  68. resdata[id] = $.trim(value);
  69. }
  70. break;
  71. }
  72. resdata[id] += '';
  73. if (resdata[id] == '') {
  74. resdata[id] = '&nbsp;';
  75. }
  76. if (resdata[id] == '&nbsp;' && !keyValue) {
  77. resdata[id] = '';
  78. }
  79. }
  80. });
  81. return resdata;
  82. };
  83. $.fn.lrSetFormData = function (data) {// 设置表单数据
  84. var $this = $(this);
  85. for (var id in data) {
  86. var value = data[id];
  87. var $obj = $this.find('#' + id);
  88. if ($obj.length == 0 && value != null) {
  89. $obj = $this.find('[name="' + id + '"][value="' + value + '"]');
  90. if ($obj.length > 0) {
  91. if (!$obj.is(":checked")) {
  92. $obj.trigger('click');
  93. }
  94. }
  95. }
  96. else {
  97. var type = $obj.attr('type');
  98. if ($obj.hasClass("lr-input-wdatepicker")) {
  99. type = "datepicker";
  100. }
  101. switch (type) {
  102. case "checkbox":
  103. var isck = 0;
  104. if ($obj.is(":checked")) {
  105. isck = 1;
  106. } else {
  107. isck = 0;
  108. }
  109. if (isck != parseInt(value)) {
  110. $obj.trigger('click');
  111. }
  112. break;
  113. case "lrselect":
  114. $obj.lrselectSet(value);
  115. break;
  116. case "formselect":
  117. $obj.lrformselectSet(value);
  118. break;
  119. case "lrGirdSelect":
  120. $obj.lrGirdSelectSet(value);
  121. break;
  122. case "datepicker":
  123. var _dateFmt = $obj.attr('data-dateFmt') || 'yyyy-MM-dd';
  124. $obj.val(learun.formatDate(value, _dateFmt));
  125. break;
  126. case "lr-Uploader":
  127. $obj.lrUploaderSet(value);
  128. break;
  129. case "lr-radio":
  130. if (!$obj.find('input[value="' + value + '"]').is(":checked")) {
  131. $obj.find('input[value="' + value + '"]').trigger('click');
  132. }
  133. break;
  134. case "lr-checkbox":
  135. var values = value.split(",");
  136. $.each(values, function (index, val) {
  137. if (!$obj.find('input[value="' + val + '"]').is(":checked")) {
  138. $obj.find('input[value="' + val + '"]').trigger('click');
  139. }
  140. });
  141. break;
  142. var _idlist = [];
  143. default:
  144. if ($obj.hasClass('currentInfo')) {
  145. $obj[0].lrvalue = value;
  146. if ($obj.hasClass('lr-currentInfo-user')) {
  147. $obj.val('');
  148. learun.clientdata.getAsync('user', {
  149. key: value,
  150. callback: function (item, op) {
  151. op.obj.val(item.name);
  152. },
  153. obj: $obj
  154. });
  155. }
  156. else if ($obj.hasClass('lr-currentInfo-company')) {
  157. $obj.val('');
  158. learun.clientdata.getAsync('company', {
  159. key: value,
  160. callback: function (_data, op) {
  161. op.obj.val(_data.name);
  162. },
  163. obj: $obj
  164. });
  165. }
  166. else if ($obj.hasClass('lr-currentInfo-department')) {
  167. $obj.val('');
  168. learun.clientdata.getAsync('department', {
  169. key: value,
  170. callback: function (_data, op) {
  171. op.obj.val(_data.name);
  172. },
  173. obj: $obj
  174. });
  175. }
  176. else {
  177. $obj.val(value);
  178. }
  179. }
  180. else if ($obj.hasClass('edui-default')) {
  181. if (!!value) {
  182. var ue = $obj[0].ue;
  183. setUe(ue, value);
  184. }
  185. }
  186. else {
  187. $obj.val(value);
  188. }
  189. break;
  190. }
  191. }
  192. }
  193. };
  194. function setUe(ue, value) {
  195. ue.ready(function () {
  196. var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' };
  197. var str = value.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) { return arrEntities[t]; });
  198. ue.setContent(str);
  199. });
  200. }
  201. /*表单数据操作*/
  202. $.lrSetForm = function (url, callback) {
  203. learun.loading(true, '正在获取数据');
  204. learun.httpAsyncGet(url, function (res) {
  205. learun.loading(false);
  206. if (res.code == learun.httpCode.success) {
  207. callback(res.data);
  208. }
  209. else {
  210. learun.layerClose(window.name);
  211. learun.alert.error('表单数据获取失败,请重新获取!');
  212. learun.httpErrorLog(res.info);
  213. }
  214. });
  215. };
  216. $.lrSetFormWithParam = function (url, param, callback) {
  217. learun.loading(true, '正在获取数据');
  218. learun.httpAsyncGetWithParam(url, param, function (res) {
  219. learun.loading(false);
  220. if (res.code == learun.httpCode.success) {
  221. callback(res.data);
  222. }
  223. else {
  224. learun.layerClose(window.name);
  225. learun.alert.error('表单数据获取失败,请重新获取!');
  226. learun.httpErrorLog(res.info);
  227. }
  228. });
  229. };
  230. $.lrSaveForm = function (url, param, callback, isNotClosed) {
  231. param['__RequestVerificationToken'] = $.lrToken;
  232. learun.loading(true, '正在保存数据');
  233. learun.httpAsyncPost(url, param, function (res) {
  234. learun.loading(false);
  235. if (res.code == learun.httpCode.success) {
  236. if (!!callback) {
  237. callback(res);
  238. }
  239. learun.alert.success(res.info);
  240. if (!isNotClosed) {
  241. learun.layerClose(window.name);
  242. }
  243. }
  244. else {
  245. learun.alert.error(res.info);
  246. learun.httpErrorLog(res.info);
  247. }
  248. });
  249. };
  250. $.lrPostForm = function (url, param) {
  251. param['__RequestVerificationToken'] = $.lrToken;
  252. learun.loading(true, '正在提交数据');
  253. learun.httpAsyncPost(url, param, function (res) {
  254. learun.loading(false);
  255. if (res.code == learun.httpCode.success) {
  256. learun.alert.success(res.info);
  257. }
  258. else {
  259. learun.alert.error(res.info);
  260. learun.httpErrorLog(res.info);
  261. }
  262. });
  263. };
  264. /*tab页切换*/
  265. $.fn.lrFormTab = function () {
  266. var $this = $(this);
  267. $this.parent().css({ 'padding-top': '44px' });
  268. $this.lrscroll();
  269. $this.on('DOMNodeInserted', function (e) {
  270. var $this = $(this);
  271. var w = 0;
  272. $this.find('li').each(function () {
  273. w += $(this).outerWidth();
  274. });
  275. $this.find('.lr-scroll-box').css({ 'width': w });
  276. });
  277. var $this = $(this);
  278. var w = 0;
  279. $this.find('li').each(function () {
  280. w += $(this).outerWidth();
  281. });
  282. $this.find('.lr-scroll-box').css({ 'width': w });
  283. $this.delegate('li', 'click', { $ul: $this }, function (e) {
  284. var $li = $(this);
  285. if (!$li.hasClass('active')) {
  286. var $parent = $li.parent();
  287. var $content = e.data.$ul.next();
  288. var id = $li.find('a').attr('data-value');
  289. $parent.find('li.active').removeClass('active');
  290. $li.addClass('active');
  291. $content.children('.tab-pane.active').removeClass('active');
  292. $content.children('#' + id).addClass('active');
  293. }
  294. });
  295. }
  296. $.fn.lrFormTabEx = function (callback) {
  297. var $this = $(this);
  298. $this.delegate('li', 'click', { $ul: $this }, function (e) {
  299. var $li = $(this);
  300. if (!$li.hasClass('active')) {
  301. var $parent = $li.parent();
  302. var $content = e.data.$ul.next();
  303. var id = $li.find('a').attr('data-value');
  304. $parent.find('li.active').removeClass('active');
  305. $li.addClass('active');
  306. $content.find('.tab-pane.active').removeClass('active');
  307. $content.find('#' + id).addClass('active');
  308. if (!!callback) {
  309. callback(id);
  310. }
  311. }
  312. });
  313. }
  314. /*检测字段是否重复*/
  315. $.lrExistField = function (keyValue, controlId, url, param) {
  316. var $control = $("#" + controlId);
  317. if (!$control.val()) {
  318. return false;
  319. }
  320. var data = {
  321. keyValue: keyValue
  322. };
  323. data[controlId] = $control.val();
  324. $.extend(data, param);
  325. learun.httpAsync('GET', url, data, function (data) {
  326. if (data == false) {
  327. $.lrValidformMessage($control, '已存在,请重新输入');
  328. }
  329. });
  330. };
  331. /*固定下拉框的一些封装:数据字典,组织机构,省市区级联*/
  332. // 数据字典下拉框
  333. $.fn.lrDataItemSelect = function (op) {
  334. // op:code 码,parentId 父级id,maxHeight 200,allowSearch, childId 级联下级框id
  335. var dfop = {
  336. // 是否允许搜索
  337. allowSearch: false,
  338. // 访问数据接口地址
  339. //url: top.$.rootUrl + '/LR_SystemModule/DataItem/GetDetailListByParentId',
  340. // 访问数据接口参数
  341. param: { itemCode: '', parentId: '0' },
  342. // 级联下级框
  343. }
  344. op = op || {};
  345. if (!op.code) {
  346. return $(this);
  347. }
  348. if (!!op.type) {
  349. dfop.type = op.type;
  350. }
  351. dfop.param.itemCode = op.code;
  352. dfop.param.parentId = op.parentId || '0';
  353. dfop.allowSearch = op.allowSearch;
  354. var list = [];
  355. if (!!op.childId) {
  356. var list2 = [];
  357. $('#' + op.childId).lrselect({
  358. // 是否允许搜索
  359. allowSearch: dfop.allowSearch
  360. });
  361. dfop.select = function (item) {
  362. if (!item) {
  363. $('#' + op.childId).lrselectRefresh({
  364. data: []
  365. });
  366. } else {
  367. list2 = [];
  368. learun.clientdata.getAllAsync('dataItem',
  369. {
  370. code: dfop.param.itemCode,
  371. callback: function (dataes) {
  372. $.each(dataes,
  373. function (_index, _item) {
  374. if (_item.parentId == item.k) {
  375. list2.push({
  376. id: _item.text,
  377. text: _item.value,
  378. title: _item.text,
  379. k: _index
  380. });
  381. }
  382. });
  383. $('#' + op.childId).lrselectRefresh({
  384. data: list2
  385. });
  386. }
  387. });
  388. }
  389. };
  390. } else {
  391. if (!!op.select)
  392. dfop.select = op.select;
  393. }
  394. var $select = $(this).lrselect(dfop);
  395. learun.clientdata.getAllAsync('dataItem', {
  396. code: dfop.param.itemCode,
  397. callback: function (dataes) {
  398. $.each(dataes, function (_index, _item) {
  399. if (_item.parentId == dfop.param.parentId) {
  400. list.push({ id: _item.value, text: _item.text, title: _item.text, k: _index });
  401. }
  402. });
  403. $select.lrselectRefresh({
  404. data: list
  405. });
  406. }
  407. });
  408. return $select;
  409. };
  410. // 数据源下拉框
  411. $.fn.lrDataSourceSelect = function (op) {
  412. op = op || {};
  413. var dfop = {
  414. // 是否允许搜索
  415. allowSearch: true,
  416. select: op.select,
  417. placeholder: op.placeholder
  418. }
  419. if (!op.code) {
  420. return $(this);
  421. }
  422. var $select = $(this).lrselect(dfop);
  423. learun.clientdata.getAllAsync('sourceData', {
  424. code: op.code,
  425. callback: function (dataes) {
  426. $select.lrselectRefresh({
  427. value: op.value,
  428. text: op.text,
  429. title: op.text,
  430. codeTwo: op.codeTwo,
  431. data: dataes
  432. });
  433. }
  434. });
  435. return $select;
  436. }
  437. // 公司信息下拉框
  438. $.fn.lrCompanySelect = function (op) {
  439. // op:parentId 父级id,maxHeight 200,
  440. var dfop = {
  441. type: 'tree',
  442. // 是否允许搜索
  443. allowSearch: true,
  444. // 访问数据接口地址
  445. url: top.$.rootUrl + '/LR_OrganizationModule/Company/GetTree',
  446. // 访问数据接口参数
  447. param: { parentId: '0' },
  448. };
  449. op = op || {};
  450. dfop.param.parentId = op.parentId || '0';
  451. if (!!op.isLocal) {
  452. dfop.url = '';
  453. }
  454. var $select = $(this).lrselect(dfop);
  455. if (!!op.isLocal) {
  456. learun.clientdata.getAllAsync('company', {
  457. callback: function (dataes) {
  458. var mapdata = {};
  459. var resdata = [];
  460. $.each(dataes, function (_index, _item) {
  461. mapdata[_item.parentId] = mapdata[_item.parentId] || [];
  462. _item.id = _index;
  463. mapdata[_item.parentId].push(_item);
  464. });
  465. _fn(resdata, dfop.param.parentId);
  466. function _fn(_data, vparentId) {
  467. var pdata = mapdata[vparentId] || [];
  468. for (var j = 0, l = pdata.length; j < l; j++) {
  469. var _item = pdata[j];
  470. var _point = {
  471. id: _item.id,
  472. text: _item.name,
  473. value: _item.id,
  474. showcheck: false,
  475. checkstate: false,
  476. hasChildren: false,
  477. isexpand: false,
  478. complete: true,
  479. ChildNodes: []
  480. };
  481. if (_fn(_point.ChildNodes, _item.id)) {
  482. _point.hasChildren = true;
  483. _point.isexpand = true;
  484. }
  485. _data.push(_point);
  486. }
  487. return _data.length > 0;
  488. }
  489. $select.lrselectRefresh({
  490. data: resdata
  491. });
  492. }
  493. });
  494. }
  495. return $select;
  496. };
  497. // 部门信息下拉框
  498. $.fn.lrDepartmentSelect = function (op) {
  499. // op:parentId 父级id,maxHeight 200,
  500. var dfop = {
  501. type: 'tree',
  502. // 是否允许搜索
  503. allowSearch: true,
  504. // 访问数据接口地址
  505. url: top.$.rootUrl + '/LR_OrganizationModule/Department/GetTree',
  506. // 访问数据接口参数
  507. param: { companyId: '', parentId: '0' },
  508. }
  509. op = op || {};
  510. dfop.param.companyId = op.companyId;
  511. dfop.param.parentId = op.parentId;
  512. dfop.maxHeight = op.maxHeight || 200;
  513. if (!!op.type) {
  514. dfop.type = op.type;
  515. }
  516. if (typeof (op.select) == 'function')
  517. dfop.select = op.select;
  518. return $(this).lrselect(dfop);;
  519. };
  520. $.fn.lrPostSelect = function (op) {
  521. // op:parentId 父级id,maxHeight 200,
  522. var dfop = {
  523. type: 'tree',
  524. // 是否允许搜索
  525. allowSearch: true,
  526. // 访问数据接口地址
  527. url: top.$.rootUrl + '/LR_OrganizationModule/Post/GetAllTree',
  528. // 访问数据接口参数
  529. param: { companyId: '', parentId: '0' }
  530. };
  531. op = op || {};
  532. dfop.param.companyId = op.companyId;
  533. dfop.param.parentId = op.parentId;
  534. if (!!op.type) {
  535. dfop.type = op.type;
  536. }
  537. return $(this).lrselect(dfop);
  538. };
  539. // 人员下拉框
  540. $.fn.lrUserSelect = function (type) {//0单选1多选
  541. if (type == 0) {
  542. $(this).lrformselect({
  543. layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectOnlyForm',
  544. layerUrlW: 400,
  545. layerUrlH: 300,
  546. dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds'
  547. });
  548. }
  549. else {
  550. $(this).lrformselect({
  551. layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectForm',
  552. layerUrlW: 800,
  553. layerUrlH: 520,
  554. dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds'
  555. });
  556. }
  557. }
  558. // 省市区级联
  559. $.fn.lrAreaSelect = function (op) {
  560. // op:parentId 父级id,maxHeight 200,
  561. var dfop = {
  562. // 字段
  563. value: "F_AreaCode",
  564. text: "F_AreaName",
  565. title: "F_AreaName",
  566. // 是否允许搜索
  567. allowSearch: true,
  568. // 访问数据接口地址
  569. url: top.$.rootUrl + '/LR_SystemModule/Area/Getlist',
  570. // 访问数据接口参数
  571. param: { parentId: '' },
  572. }
  573. op = op || {};
  574. if (!!op.parentId) {
  575. dfop.param.parentId = op.parentId;
  576. }
  577. var _obj = [], i = 0;
  578. var $this = $(this);
  579. $(this).find('div').each(function () {
  580. var $div = $('<div></div>');
  581. var $obj = $(this);
  582. dfop.placeholder = $obj.attr('placeholder');
  583. $div.addClass($obj.attr('class'));
  584. $obj.removeAttr('class');
  585. $obj.removeAttr('placeholder');
  586. $div.append($obj);
  587. $this.append($div);
  588. if (i == 0) {
  589. $obj.lrselect(dfop);
  590. }
  591. else {
  592. dfop.url = "";
  593. dfop.parentId = "";
  594. $obj.lrselect(dfop);
  595. _obj[i - 1].on('change', function () {
  596. var _value = $(this).lrselectGet();
  597. if (_value == "") {
  598. $obj.lrselectRefresh({
  599. url: '',
  600. param: { parentId: _value },
  601. data: []
  602. });
  603. }
  604. else {
  605. $obj.lrselectRefresh({
  606. url: top.$.rootUrl + '/LR_SystemModule/Area/Getlist',
  607. param: { parentId: _value },
  608. });
  609. }
  610. });
  611. }
  612. i++;
  613. _obj.push($obj);
  614. });
  615. };
  616. // 数据库选择
  617. $.fn.lrDbSelect = function (op) {
  618. // op:maxHeight 200,
  619. var dfop = {
  620. type: 'tree',
  621. // 是否允许搜索
  622. allowSearch: true,
  623. // 访问数据接口地址
  624. url: top.$.rootUrl + '/LR_SystemModule/DatabaseLink/GetTreeList'
  625. }
  626. op = op || {};
  627. return $(this).lrselect(dfop);
  628. };
  629. // 动态获取和设置radio,checkbox
  630. $.fn.lrRadioCheckbox = function (op) {
  631. var dfop = {
  632. type: 'radio', // checkbox
  633. dataType: 'dataItem', // 默认是数据字典 dataSource(数据源)
  634. code: '',
  635. text: 'F_ItemName',
  636. value: 'F_ItemValue'
  637. };
  638. $.extend(dfop, op || {});
  639. var $this = $(this);
  640. $this.addClass(dfop.type);
  641. $this.addClass('lr-' + dfop.type);
  642. $this.attr('type', 'lr-' + dfop.type);
  643. var thisId = $this.attr('id');
  644. if (op.data!=null) {
  645. $.each(op.data, function (id, item) {
  646. var $point = $('<label><input name="' + thisId + '" value="' + item.value + '"' + ' type="' + dfop.type + '">' + item.text + '</label>');
  647. $this.append($point);
  648. });
  649. } else {
  650. if (dfop.dataType == 'dataItem') {
  651. learun.clientdata.getAllAsync('dataItem', {
  652. code: dfop.code,
  653. callback: function (dataes) {
  654. $.each(dataes, function (id, item) {
  655. var $point = $('<label><input name="' + thisId + '" value="' + item.value + '"' + ' type="' + dfop.type + '">' + item.text + '</label>');
  656. $this.append($point);
  657. });
  658. // $this.find('input').eq(0).trigger('click');
  659. }
  660. });
  661. }
  662. else {
  663. learun.clientdata.getAllAsync('sourceData', {
  664. code: dfop.code,
  665. callback: function (dataes) {
  666. $.each(dataes, function (id, item) {
  667. var $point = $('<label><input name="' + thisId + '" value="' + item[dfop.value] + '"' + '" type="' + dfop.type + '">' + item[dfop.text] + '</label>');
  668. $this.append($point);
  669. });
  670. $this.find('input').eq(0).trigger('click');
  671. }
  672. });
  673. }
  674. }
  675. };
  676. // 多条件查询框
  677. $.fn.lrMultipleQuery = function (search, height, width) {
  678. var $this = $(this);
  679. var contentHtml = $this.html();
  680. $this.addClass('lr-query-wrap');
  681. var _html = '';
  682. _html += '<div class="lr-query-btn"><i class="fa fa-search"></i>&nbsp;多条件查询</div>';
  683. _html += '<div class="lr-query-content">';
  684. //_html += '<div class="lr-query-formcontent">';
  685. _html += contentHtml;
  686. //_html += '</div>';
  687. _html += '<div class="lr-query-arrow"><div class="lr-query-inside"></div></div>';
  688. _html += '<div class="lr-query-content-bottom">';
  689. _html += '<a id="lr_btn_queryReset" class="btn btn-default">&nbsp;重&nbsp;&nbsp;置</a>';
  690. _html += '<a id="lr_btn_querySearch" class="btn btn-primary">&nbsp;查&nbsp;&nbsp;询</a>';
  691. _html += '</div>';
  692. _html += '</div>';
  693. $this.html(_html);
  694. $this.find('.lr-query-formcontent').show();
  695. $this.find('.lr-query-content').css({ 'width': width || 400, 'height': height || 300 });
  696. $this.find('.lr-query-btn').on('click', function () {
  697. var $content = $this.find('.lr-query-content');
  698. if ($content.hasClass('active')) {
  699. $content.removeClass('active');
  700. }
  701. else {
  702. $content.addClass('active');
  703. }
  704. });
  705. $this.find('#lr_btn_querySearch').on('click', function () {
  706. var $content = $this.find('.lr-query-content');
  707. var query = $content.lrGetFormData();
  708. $content.removeClass('active');
  709. search(query);
  710. });
  711. $this.find('#lr_btn_queryReset').on('click', function () {
  712. var $content = $this.find('.lr-query-content');
  713. var query = $content.lrGetFormData();
  714. for (var id in query) {
  715. query[id] = "";
  716. }
  717. $content.lrSetFormData(query);
  718. });
  719. $(document).click(function (e) {
  720. var et = e.target || e.srcElement;
  721. var $et = $(et);
  722. if (!$et.hasClass('lr-query-wrap') && $et.parents('.lr-query-wrap').length <= 0) {
  723. $('.lr-query-content').removeClass('active');
  724. }
  725. });
  726. };
  727. })(jQuery, top.learun);