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.
 
 
 
 
 
 

839 lines
32 KiB

  1. /*
  2. * 版 本 Learun-ADMS V7.0.0 数字化智慧校园(http://www.learun.cn)
  3. * Copyright (c) 2013-2017 北京泉江科技有限公司
  4. * 创建人:数字化智慧校园-前端开发组
  5. * 日 期:2018.7.12
  6. * 描 述:数字化智慧校园移动端框架(ADMS) 自定义表单
  7. */
  8. (function ($, learun, window) {
  9. // 加载自定义表单模板
  10. learun.custmerform = {
  11. loadScheme: function (schemeIds, callback) {// formIds表单主键集合,callback回调函数
  12. if (learun.type(schemeIds) === 'string') {
  13. schemeIds = [schemeIds];
  14. }
  15. var req = [];
  16. var scheme = {};
  17. $.each(schemeIds, function (_index, _item) {
  18. var formId = 'lrform' + _item;
  19. var formScheme = learun.storage.get(formId);// 从缓存中获取表单模板数据
  20. if (!formScheme) {
  21. req.push({ id: _item, ver: "" });
  22. }
  23. else {
  24. scheme[_item] = JSON.parse(formScheme.content);
  25. req.push({ id: _item, ver: formScheme.ver });
  26. }
  27. });
  28. // 加载自定义表单模板
  29. learun.httpget(config.webapi + "learun/adms/form/scheme", req, (data) => {
  30. if (data) {
  31. $.each(data, function (_index, _item) {
  32. scheme[_index] = JSON.parse(_item.F_Scheme);
  33. var formScheme = { ver: _item.F_Id, content: _item.F_Scheme };
  34. learun.storage.set('lrform' + _index,formScheme);
  35. });
  36. }
  37. callback(scheme);
  38. });
  39. }
  40. };
  41. // 自定义表单初始化
  42. $.fn.custmerform = function (formScheme) {
  43. var $this = $(this);
  44. $this.scroll();
  45. var $container = $this.find('.f-scroll');
  46. $.each(formScheme, function (_id, _scheme) {
  47. custmerformRender($container, _scheme.data, _id);
  48. });
  49. $this = null;
  50. $container = null;
  51. };
  52. // 获取自定义表单数据
  53. $.fn.custmerformGet = function () {
  54. var res = {};
  55. var validateflag = true;
  56. $(this).find('.lrcomponts').each(function () {
  57. var $this = $(this);
  58. var schemeInfoId = $this.attr('data-id');
  59. var _componts = $this[0].componts;
  60. res[schemeInfoId] = res[schemeInfoId] || {};
  61. // 遍历自定义表单控件
  62. $.each(_componts, function (_index, _item) {
  63. var _fn = componts[_item.type].get;
  64. if (_fn) {
  65. var compontData = _fn(_item, $this);
  66. if (compontData.isHad) {
  67. if (_item.verify) {
  68. var checkfn = window.fui.validator['is' + _item.verify];
  69. var r = checkfn(compontData.value);
  70. if (!r.code) {
  71. validateflag = false;
  72. window.fui.dialog({ msg: r.msg });
  73. return false;
  74. }
  75. }
  76. res[schemeInfoId][_item.id] = compontData.value;
  77. }
  78. }
  79. });
  80. $this = null;
  81. if (!validateflag) {
  82. return false;
  83. }
  84. });
  85. if (!validateflag) {
  86. return null;
  87. }
  88. return res;
  89. };
  90. // 设置自定义表单数据
  91. $.fn.custmerformSet = function (data) {
  92. var $this = $(this);
  93. function set($this, data) {
  94. if ($this.find('.lrcomponts').length > 0) {
  95. $this.find('.lrcomponts').each(function () {
  96. var $this = $(this);
  97. var schemeInfoId = $this.attr('data-id');
  98. var _componts = $this[0].componts;
  99. var _data = {};
  100. $.each(data[schemeInfoId] || [], function (_index, _item) {
  101. $.each(_item[0] || [], function (_id, _jitem) {
  102. _data[_index.toLowerCase() + _id] = _jitem;
  103. });
  104. });
  105. // 遍历自定义表单控件
  106. $.each(_componts, function (_index, _item) {
  107. var _fn = componts[_item.type].set;
  108. if (_fn) {
  109. if (_item.table && _item.field) {
  110. _fn(_item, _data[(_item.table + _item.field).toLowerCase()], $this);
  111. }
  112. else if (_item.table){// 表格
  113. _fn(_item, data[schemeInfoId][_item.table], $this);
  114. }
  115. }
  116. });
  117. $this = null;
  118. });
  119. }
  120. else {
  121. setTimeout(function () {
  122. set($this, data);
  123. }, 100);
  124. }
  125. }
  126. set($this, data);
  127. };
  128. function getFontHtml(verify) {
  129. var res = "";
  130. switch (verify) {
  131. case "NotNull":
  132. case "Num":
  133. case "Email":
  134. case "EnglishStr":
  135. case "Phone":
  136. case "Fax":
  137. case "Mobile":
  138. case "MobileOrPhone":
  139. case "Uri":
  140. res = '<font face="宋体">*</font>';
  141. break;
  142. }
  143. return res;
  144. }
  145. function loadCheck(data, text, value, compontId) {
  146. var $row = $('#' + compontId);
  147. if ($row.length === 0) {
  148. setTimeout(function () {
  149. loadCheck(data, text, value, compontId);
  150. }, 100);
  151. }
  152. else {
  153. var $Last = $row;
  154. $.each(data, function (_index, _item) {
  155. $div = $('<div class="lr-form-row" data-name="' + compontId + '" data-value="' + _item[value] + '" ><label>' + _item[text] + '</label><div class="checkbox" ></div></div>');
  156. $Last.after($div);
  157. $div.find('.checkbox').lrswitch();
  158. $Last = $div;
  159. $div = null;
  160. });
  161. if ($Last) {
  162. $Last.after('<div class="lr-form-row lr-form-row-title" style="min-height:6px;" ></div>');
  163. $Last = null;
  164. }
  165. }
  166. $row = null;
  167. }
  168. function organizeRegister1(_compont) {
  169. if ($('#' + _compont.relation).length > 0) {
  170. $('#' + _compont.relation).on('change', { myId: _compont.id }, function (e) {
  171. e = e || window.event;
  172. var myId = e.data.myId;
  173. var value = $(this).lrselectGet();
  174. $('#' + myId).lrselectUpdate({
  175. companyId: value,
  176. needPre: value === '' ? true : false
  177. });
  178. });
  179. }
  180. else {
  181. setTimeout(function () { organizeRegister1(_compont); }, 100);
  182. }
  183. }
  184. function organizeRegister2(_compont) {
  185. if ($('#' + _compont.relation).length > 0) {
  186. $('#' + _compont.relation).on('change', { myId: _compont.id }, function (e) {
  187. e = e || window.event;
  188. var myId = e.data.myId;
  189. var value = $(this).lrselectGet();
  190. $('#' + myId).lrselectUpdate({
  191. departmentId: value,
  192. needPre: value === '' ? true : false
  193. });
  194. });
  195. }
  196. else {
  197. setTimeout(function () { organizeRegister2(_compont); }, 100);
  198. }
  199. }
  200. function loadGridComponts(compont) {
  201. }
  202. function loadGridButton(compont) {// 编辑表格增加按钮
  203. var $row = $('#' + compont.id);
  204. if ($row.length === 0) {
  205. setTimeout(function () {
  206. loadGridButton(compont);
  207. }, 100);
  208. }
  209. else {
  210. var $btn = $('<div class="lr-form-row lr-edit-grid-btn" ><i class="iconfont icon-add1" ></i>增加' + (compont.title || '') + '</div>');
  211. $btn[0].compont = compont;
  212. $btn.on('tap', { compont: compont }, function (e) {
  213. e = e || window.event;
  214. });
  215. $row.after($btn);
  216. }
  217. $row = null;
  218. }
  219. // 渲染自定义表单
  220. function custmerformRender($container, scheme, schemeInfoId) {
  221. var loaddataComponts = [];
  222. $.each(scheme, function (_index, _item) {
  223. var $list = $('<div class="lr-form-container lrcomponts" data-id="' + schemeInfoId + '" ></div>');
  224. $list[0].componts = _item.componts;
  225. $.each(_item.componts, function (_jindex, _jitem) {
  226. var $row = $('<div class="lr-form-row"><label>' + _jitem.title + '</label></div>');
  227. if (componts[_jitem.type].render($row, _jitem)) {
  228. $list.append($row);
  229. $row.prepend(getFontHtml(_jitem.verify));
  230. }
  231. });
  232. $container.append($list);
  233. });
  234. $container = null;
  235. }
  236. var componts = {
  237. label: {
  238. render: function ($row, compont) {
  239. $row.addClass('lr-form-row-title');
  240. return true;
  241. }
  242. },
  243. html: {
  244. render: function ($row, compont) {
  245. return false;
  246. }
  247. },
  248. text: {
  249. render: function ($row, compont) {
  250. var $compont = $('<input id="' + compont.id + '" type="text" />');
  251. $row.append($compont);
  252. $compont.val(compont.dfvalue || '');
  253. $compont = null;
  254. $row = null;
  255. if (compont.isHide === '1') {
  256. return false;
  257. }
  258. return true;
  259. },
  260. get: function (compont, $container) {
  261. var res = {};
  262. var $compont = $container.find('#' + compont.id);
  263. res.isHad = $compont.length > 0 ? true : false;
  264. if (res.isHad) {
  265. res.value = $compont.val();
  266. }
  267. $compont = null;
  268. return res;
  269. },
  270. set: function (compont, value, $container) {
  271. $container.find('#' + compont.id).val(value || '');
  272. }
  273. },
  274. textarea: {
  275. render: function ($row, compont) {
  276. $row.addClass('lr-form-row-multi');
  277. var $compont = $('<textarea id="' + compont.id + '" ' + 'style="height: ' + compont.height + 'px;" ></textarea>');
  278. $compont.text(compont.dfvalue || '');
  279. $row.append($compont);
  280. $compont = null;
  281. $row = null;
  282. return true;
  283. },
  284. get: function (compont, $container) {
  285. var res = {};
  286. var $compont = $container.find('#' + compont.id);
  287. res.isHad = $compont.length > 0 ? true : false;
  288. if (res.isHad) {
  289. res.value = $compont.val();
  290. }
  291. $compont = null;
  292. return res;
  293. },
  294. set: function (compont, value, $container) {
  295. $container.find('#' + compont.id).val(value || '');
  296. }
  297. },
  298. texteditor: {
  299. render: function ($row, compont) {
  300. $row.addClass('lr-form-row-multi');
  301. var $compont = $('<textarea id="' + compont.id + '" ' + 'style="height: ' + compont.height + 'px;" ></textarea>');
  302. $compont.text(compont.dfvalue || '');
  303. $row.append($compont);
  304. $compont = null;
  305. $row = null;
  306. return true;
  307. },
  308. get: function (compont, $container) {
  309. var res = {};
  310. var $compont = $container.find('#' + compont.id);
  311. res.isHad = $compont.length > 0 ? true : false;
  312. if (res.isHad) {
  313. res.value = $compont.val();
  314. }
  315. $compont = null;
  316. return res;
  317. },
  318. set: function (compont, value, $container) {
  319. $container.find('#' + compont.id).val(value || '');
  320. }
  321. },
  322. radio: {
  323. render: function ($row, compont) {// 单选改用和下拉一致
  324. var $compont = $('<div id="' + compont.id + '" ></div>');
  325. $row.append($compont);
  326. if (compont.dataSource === '0') {
  327. $compont.lrpickerex({
  328. code: compont.itemCode,
  329. type: 'dataItem'
  330. });
  331. } else {
  332. var vlist = compont.dataSourceId.split(',');
  333. $compont.lrpickerex({
  334. code: vlist[0],
  335. type: 'sourceData',
  336. ivalue: vlist[2],
  337. itext: vlist[1]
  338. });
  339. }
  340. $compont = null;
  341. $row = null;
  342. return true;
  343. },
  344. get: function (compont, $container) {
  345. var res = {};
  346. var $compont = $container.find('#' + compont.id);
  347. res.isHad = $compont.length > 0 ? true : false;
  348. if (res.isHad) {
  349. res.value = $compont.lrpickerGet();
  350. }
  351. $compont = null;
  352. return res;
  353. },
  354. set: function (compont, value, $container) {
  355. $container.find('#' + compont.id).lrpickerSet(value);
  356. }
  357. },
  358. checkbox: {
  359. render: function ($row, compont) {
  360. var $compont = $('<div id="' + compont.id + '" ></div>');
  361. $row.append($compont);
  362. if (compont.dataSource === '0') {
  363. $compont.lrcheckboxex({
  364. code: compont.itemCode,
  365. type: 'dataItem'
  366. });
  367. } else {
  368. var vlist = compont.dataSourceId.split(',');
  369. $compont.lrcheckboxex({
  370. code: vlist[0],
  371. type: 'sourceData',
  372. ivalue: vlist[2],
  373. itext: vlist[1]
  374. });
  375. }
  376. $compont = null;
  377. $row = null;
  378. return true;
  379. },
  380. get: function (compont, $container) {
  381. var res = {};
  382. var $compont = $container.find('#' + compont.id);
  383. res.isHad = $compont.length > 0 ? true : false;
  384. if (res.isHad) {
  385. res.value = $compont.lrcheckboxGet();
  386. }
  387. $compont = null;
  388. return res;
  389. },
  390. set: function (compont, value, $container) {
  391. $container.find('#' + compont.id).lrcheckboxSet(value);
  392. }
  393. },
  394. select: {
  395. render: function ($row, compont) {//
  396. var $compont = $('<div id="' + compont.id + '" ></div>');
  397. $row.append($compont);
  398. if (compont.dataSource === '0') {
  399. $compont.lrpickerex({
  400. code: compont.itemCode,
  401. type: 'dataItem'
  402. });
  403. } else {
  404. var vlist = compont.dataSourceId.split(',');
  405. $compont.lrpickerex({
  406. code: vlist[0],
  407. type: 'sourceData',
  408. ivalue: vlist[2],
  409. itext: vlist[1]
  410. });
  411. }
  412. $compont = null;
  413. $row = null;
  414. return true;
  415. },
  416. get: function (compont, $container) {
  417. var res = {};
  418. var $compont = $container.find('#' + compont.id);
  419. res.isHad = $compont.length > 0 ? true : false;
  420. if (res.isHad) {
  421. res.value = $compont.lrpickerGet();
  422. }
  423. $compont = null;
  424. return res;
  425. },
  426. set: function (compont, value, $container) {
  427. $container.find('#' + compont.id).lrpickerSet(value);
  428. }
  429. },
  430. datetime: {
  431. render: function ($row, compont) {//
  432. var $compont = $('<div id="' + compont.id + '" ></div>');
  433. $row.append($compont);
  434. if (compont.dateformat === '0') {
  435. $compont.lrdate({
  436. type: 'date'
  437. });
  438. }
  439. else {
  440. $compont.lrdate();
  441. }
  442. $compont = null;
  443. $row = null;
  444. return true;
  445. },
  446. get: function (compont, $container) {
  447. var res = {};
  448. var $compont = $container.find('#' + compont.id);
  449. res.isHad = $compont.length > 0 ? true : false;
  450. if (res.isHad) {
  451. res.value = $compont.lrdateGet();
  452. }
  453. $compont = null;
  454. return res;
  455. },
  456. set: function (compont, value, $container) {
  457. if (compont.dateformat === '0') {
  458. value = learun.date.format(value, 'yyyy-MM-dd');
  459. }
  460. else {
  461. value = learun.date.format(value, 'yyyy-MM-dd hh:mm');
  462. }
  463. $container.find('#' + compont.id).lrdateSet(value);
  464. }
  465. },
  466. datetimerange: {
  467. render: function ($row, compont) {//
  468. var $compont = $('<input id="' + compont.id + '" type="text" />');
  469. function register(_compont) {
  470. if ($('#' + _compont.startTime).length > 0 && $('#' + _compont.endTime).length > 0) {
  471. $('#' + _compont.startTime).on('change', { myId: _compont.id, end: _compont.endTime }, function (e) {
  472. e = e || window.event;
  473. var end = e.data.end;
  474. var myId = e.data.myId;
  475. var st = $(this).lrdateGet();
  476. var et = $('#' + end).lrdateGet();
  477. if (!!st && !!et) {
  478. var diff = learun.date.parse(st).DateDiff('d', et) + 1;
  479. $('#' + myId).val(diff);
  480. }
  481. });
  482. $('#' + _compont.endTime).on('change', { myId: _compont.id, begin: _compont.startTime }, function (e) {
  483. e = e || window.event;
  484. var begin = e.data.begin;
  485. var myId = e.data.myId;
  486. var st = $('#' + begin).lrdateGet();
  487. var et = $(this).lrdateGet();
  488. if (!!st && !!et) {
  489. var diff = learun.date.parse(st).DateDiff('d', et) + 1;
  490. $('#' + myId).val(diff);
  491. }
  492. });
  493. }
  494. else {
  495. setTimeout(function () {
  496. register(_compont);
  497. }, 100);
  498. }
  499. }
  500. if (!!compont.startTime && compont.endTime) {
  501. register(compont);
  502. }
  503. $row.append($compont);
  504. $compont = null;
  505. $row = null;
  506. return true;
  507. },
  508. get: function (compont, $container) {
  509. var res = {};
  510. var $compont = $container.find('#' + compont.id);
  511. res.isHad = $compont.length > 0 ? true : false;
  512. if (res.isHad) {
  513. res.value = $compont.val();
  514. }
  515. $compont = null;
  516. return res;
  517. },
  518. set: function (compont, value, $container) {
  519. $container.find('#' + compont.id).val(value);
  520. }
  521. },
  522. encode: {
  523. render: function ($row, compont) {
  524. var $compont = $('<input id="' + compont.id + '" type="text" readonly />');
  525. compont.isInit = false;
  526. learun.getRuleCode(compont.rulecode, function (data) {
  527. if (!compont.isInit) {
  528. compont.isInit = true;
  529. $('#' + compont.id).val(data);
  530. }
  531. });
  532. $row.append($compont);
  533. $compont = null;
  534. $row = null;
  535. return true;
  536. },
  537. get: function (compont, $container) {
  538. var res = {};
  539. var $compont = $container.find('#' + compont.id);
  540. res.isHad = $compont.length > 0 ? true : false;
  541. if (res.isHad) {
  542. res.value = $compont.val();
  543. }
  544. $compont = null;
  545. return res;
  546. },
  547. set: function (compont, value, $container) {
  548. compont.isInit = true;
  549. $container.find('#' + compont.id).val(value);
  550. }
  551. },
  552. organize: {
  553. render: function ($row, compont) {
  554. var $compont = $('<div id="' + compont.id + '" ></div>');
  555. $row.append($compont);
  556. switch (compont.dataType) {
  557. case "company"://公司
  558. $compont.lrselect();
  559. break;
  560. case "department"://部门
  561. $compont.lrselect({
  562. type: 'department',
  563. needPre: compont.relation === '' ? false : true
  564. });
  565. organizeRegister1(compont);
  566. break;
  567. case "user"://用户
  568. $compont.lrselect({
  569. type: 'user',
  570. needPre: compont.relation === '' ? false : true
  571. });
  572. organizeRegister2(compont);
  573. break;
  574. }
  575. $compont = null;
  576. $row = null;
  577. return true;
  578. },
  579. get: function (compont, $container) {
  580. var res = {};
  581. var $compont = $container.find('#' + compont.id);
  582. res.isHad = $compont.length > 0 ? true : false;
  583. if (res.isHad) {
  584. res.value = $compont.lrselectGet();
  585. }
  586. $compont = null;
  587. return res;
  588. },
  589. set: function (compont, value, $container) {
  590. $container.find('#' + compont.id).lrselectSet(value);
  591. }
  592. },
  593. currentInfo: {
  594. render: function ($row, compont) {
  595. var $compont = $('<input id="' + compont.id + '" readonly type="text" />');
  596. var userinfo = learun.storage.get('userinfo');
  597. switch (compont.dataType) {
  598. case 'company':
  599. compont.value = userinfo.baseinfo.companyId;
  600. if (compont.isHide !== '1') {
  601. learun.clientdata.get('company', {
  602. key: compont.value,
  603. compont: compont,
  604. callback: function (item, _op) {
  605. if (!_op.compont.isEdit) {
  606. $compont.val(item.name);
  607. }
  608. }
  609. });
  610. }
  611. break;
  612. case 'department':
  613. compont.value = userinfo.baseinfo.departmentId;
  614. if (compont.isHide !== '1') {
  615. learun.clientdata.get('department', {
  616. key: compont.value,
  617. compont: compont,
  618. callback: function (item, _op) {
  619. if (!_op.compont.isEdit) {
  620. $compont.val(item.name);
  621. }
  622. }
  623. });
  624. }
  625. break;
  626. case 'user':
  627. $compont.val(userinfo.baseinfo.realName);
  628. compont.value = userinfo.baseinfo.userId;
  629. break;
  630. case 'time':
  631. compont.value = learun.date.format(new Date(), 'yyyy-MM-dd hh:mm:ss');
  632. $compont.val(compont.value);
  633. break;
  634. case 'guid':
  635. compont.value = learun.guid();
  636. $compont.val(compont.value);
  637. break;
  638. }
  639. if (compont.isHide === '1') {
  640. $compont = null;
  641. $row = null;
  642. return false;
  643. }
  644. else {
  645. $row.append($compont);
  646. $compont = null;
  647. $row = null;
  648. }
  649. return true;
  650. },
  651. get: function (compont, $container) {
  652. var res = {};
  653. var $compont = $container.find('#' + compont.id);
  654. res.isHad = $compont.length > 0 ? true : false;
  655. if (res.isHad) {
  656. res.value = compont.value;
  657. }
  658. $compont = null;
  659. return res;
  660. },
  661. set: function (compont, value, $container) {
  662. if (value) {
  663. var organization = learun.storage.get('organization');
  664. compont.isEdit = true;
  665. switch (compont.dataType) {
  666. case 'company':
  667. compont.value = value;
  668. if (compont.isHide !== '1') {
  669. learun.clientdata.get('company', {
  670. key: compont.value,
  671. compont: compont,
  672. callback: function (item, _op) {
  673. $container.find('#' + _op.compont.id).val(item.name || '');
  674. }
  675. });
  676. }
  677. break;
  678. case 'department':
  679. compont.value = value;
  680. if (compont.isHide !== '1') {
  681. learun.clientdata.get('department', {
  682. key: compont.value,
  683. compont: compont,
  684. callback: function (item, _op) {
  685. $container.find('#' + _op.compont.id).val(item.name || '');
  686. }
  687. });
  688. }
  689. break;
  690. case 'user':
  691. compont.value = value;
  692. if (compont.isHide !== '1') {
  693. learun.clientdata.get('user', {
  694. key: compont.value,
  695. compont: compont,
  696. callback: function (item, _op) {
  697. $container.find('#' + _op.compont.id).val(item.name || '');
  698. }
  699. });
  700. }
  701. break;
  702. case 'time':
  703. compont.value = value;
  704. if (compont.isHide !== '1') {
  705. $container.find('#' + compont.id).val(value);
  706. }
  707. break;
  708. case 'guid':
  709. compont.value = value;
  710. if (compont.isHide !== '1') {
  711. $container.find('#' + compont.id).val(value);
  712. }
  713. break;
  714. }
  715. }
  716. }
  717. },
  718. guid: {
  719. render: function ($row, compont) {
  720. compont.value = learun.guid();
  721. $row.remove();
  722. return false;
  723. },
  724. get: function (compont) {
  725. var res = {};
  726. res.isHad = true;
  727. res.value = compont.value;
  728. return res;
  729. },
  730. set: function (compont, value) {
  731. compont.value = value;
  732. }
  733. },
  734. upload: {
  735. render: function ($row, compont) {
  736. $row.addClass('lr-form-row-multi');
  737. var $compont = $('<div id="' + compont.id + '" ></div>');
  738. $row.append($compont);
  739. $compont.lrImagepicker();
  740. $compont = null;
  741. $row = null;
  742. return true;
  743. },
  744. get: function (compont, $container) {
  745. var res = {};
  746. var $compont = $container.find('#' + compont.id);
  747. res.isHad = $compont.length > 0 ? true : false;
  748. if (res.isHad) {
  749. res.value = $compont.imagepickerGet();
  750. }
  751. $compont = null;
  752. return res;
  753. },
  754. set: function (compont, value, $container) {
  755. $container.find('#' + compont.id).imagepickerSet(value);
  756. }
  757. },
  758. girdtable: {
  759. render: function ($row, compont) {
  760. var gridCompont = [];
  761. $.each(compont.fieldsData, function (_index, _item) {
  762. if (_item.field) {
  763. switch (_item.type) {
  764. case 'radio':
  765. case 'select':
  766. case 'checkbox':
  767. if (_item.dataSource === '0') {
  768. _item.code = _item.itemCode;
  769. _item.datatype = 'dataItem';
  770. }
  771. else {
  772. _item.code = _item.dataSourceId;
  773. _item.ivalue = _item.saveField;
  774. _item.itext = _item.showField;
  775. _item.datatype = 'sourceData';
  776. }
  777. break;
  778. case 'layer':
  779. if (_item.dataSource === '0') {
  780. _item.code = _item.itemCode;
  781. _item.datatype = 'dataItem';
  782. }
  783. else {
  784. _item.code = _item.dataSourceId;
  785. _item.datatype = 'sourceData';
  786. }
  787. break;
  788. }
  789. gridCompont.push(_item);
  790. }
  791. });
  792. $row.attr('id', compont.id);
  793. $row.lrgrid({
  794. title: compont.title,
  795. componts: gridCompont,
  796. isToLowerCase: true
  797. });
  798. $row = null;
  799. return true;
  800. },
  801. get: function (compont, $container) {
  802. var res = {};
  803. var $compont = $container.find('#' + compont.id);
  804. res.isHad = $compont.length > 0 ? true : false;
  805. if (res.isHad) {
  806. res.value = $compont.lrgridGet();
  807. }
  808. $compont = null;
  809. return res;
  810. },
  811. set: function (compont, value, $container) {
  812. $container.find('#' + compont.id).lrgridSet(value);
  813. }
  814. }
  815. };
  816. })(window.jQuery, window.lrmui, window);