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.

835 lines
27 KiB

2 weeks ago
  1. $(function () {
  2. document.body.className = localStorage.getItem('config-skin');
  3. $("[data-toggle='tooltip']").tooltip();
  4. })
  5. $.reload = function () {
  6. location.reload();
  7. return false;
  8. }
  9. $.loading = function (bool, text) {
  10. var $loadingpage = top.$("#loadingPage");
  11. var $loadingtext = $loadingpage.find('.loading-content');
  12. if (bool) {
  13. $loadingpage.show();
  14. } else {
  15. if ($loadingtext.attr('istableloading') == undefined) {
  16. $loadingpage.hide();
  17. }
  18. }
  19. if (!!text) {
  20. $loadingtext.html(text);
  21. } else {
  22. $loadingtext.html("页面加载中,请稍等...");
  23. }
  24. $loadingtext.css("left", (top.$('body').width() - $loadingtext.width()) / 2 - 50);
  25. $loadingtext.css("top", (top.$('body').height() - $loadingtext.height()) / 2);
  26. }
  27. $.request = function (name) {
  28. var search = location.search.slice(1);
  29. var arr = search.split("&");
  30. for (var i = 0; i < arr.length; i++) {
  31. var ar = arr[i].split("=");
  32. if (ar[0] == name) {
  33. if (unescape(ar[1]) == 'undefined') {
  34. return "";
  35. } else {
  36. return unescape(ar[1]);
  37. }
  38. }
  39. }
  40. return "";
  41. }
  42. $.currentWindow = function () {
  43. var iframeId = top.$(".NFine_iframe:visible").attr("id");
  44. return top.frames[iframeId];
  45. }
  46. $.currentWindow1 = function () {
  47. var iframeId = window.parent.document.getElementsByName("CartonNoAdd");
  48. return top.frames[iframeId];
  49. }
  50. $.browser = function () {
  51. var userAgent = navigator.userAgent;
  52. var isOpera = userAgent.indexOf("Opera") > -1;
  53. if (isOpera) {
  54. return "Opera"
  55. };
  56. if (userAgent.indexOf("Firefox") > -1) {
  57. return "FF";
  58. }
  59. if (userAgent.indexOf("Chrome") > -1) {
  60. if (window.navigator.webkitPersistentStorage.toString().indexOf('DeprecatedStorageQuota') > -1) {
  61. return "Chrome";
  62. } else {
  63. return "360";
  64. }
  65. }
  66. if (userAgent.indexOf("Safari") > -1) {
  67. return "Safari";
  68. }
  69. if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
  70. return "IE";
  71. };
  72. }
  73. $.download = function (url, data, method) {
  74. if (url && data) {
  75. data = typeof data == 'string' ? data : jQuery.param(data);
  76. var inputs = '';
  77. $.each(data.split('&'), function () {
  78. var pair = this.split('=');
  79. inputs += '<input type="hidden" name="' + pair[0] + '" value="' + pair[1] + '" />';
  80. });
  81. $('<form action="' + url + '" method="' + (method || 'post') + '">' + inputs + '</form>').appendTo('body').submit().remove();
  82. };
  83. };
  84. $.modalOpen = function (options) {
  85. var defaults = {
  86. id: null,
  87. title: '系统提示',
  88. width: "100px",
  89. height: "100px",
  90. url: '',
  91. shade: 0.3,
  92. btn: ['确定', '关闭'],
  93. btnclass: ['btn btn-info', 'btn btn-danger'],
  94. end: null,
  95. callBack: null
  96. };
  97. var options = $.extend(defaults, options);
  98. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  99. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  100. top.layer.open({
  101. id: options.id,
  102. type: 2,
  103. shade: options.shade,
  104. title: options.title,
  105. fix: false,
  106. area: [_width, _height],
  107. content: options.url,
  108. btn: options.btn,
  109. btnclass: options.btnclass,
  110. yes: function () {
  111. options.callBack(options.id)
  112. }, cancel: function () {
  113. return true;
  114. }
  115. });
  116. }
  117. $.modalOpenCommit = function (options) {
  118. var defaults = {
  119. id: null,
  120. title: '系统提示',
  121. width: "100px",
  122. height: "100px",
  123. url: '',
  124. shade: 0.3,
  125. btn: ['提交', '关闭'],
  126. btnclass: ['btn btn-info', 'btn btn-danger'],
  127. end: null,
  128. callBack: null
  129. };
  130. var options = $.extend(defaults, options);
  131. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  132. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  133. top.layer.open({
  134. id: options.id,
  135. type: 2,
  136. shade: options.shade,
  137. title: options.title,
  138. fix: false,
  139. area: [_width, _height],
  140. content: options.url,
  141. btn: options.btn,
  142. maxmin: true,
  143. btnclass: options.btnclass,
  144. yes: function () {
  145. options.callBack(options.id)
  146. }, cancel: function () {
  147. return true;
  148. },
  149. end: function () {
  150. var $Gird = $("#gridList");
  151. $("#gridList").trigger("reloadGrid");
  152. //reloadData();
  153. }
  154. });
  155. }
  156. $.modalOpenOKAndCancel = function (options) {
  157. var defaults = {
  158. id: null,
  159. title: '系统提示',
  160. width: "100px",
  161. height: "100px",
  162. url: '',
  163. shade: 0.3,
  164. btn: ['确定'],
  165. btnclass: ['btn btn-info'],
  166. end: null,
  167. callBack: null
  168. };
  169. var options = $.extend(defaults, options);//将两个参数合并成一个对象
  170. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  171. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  172. top.layer.open({
  173. id: options.id,
  174. type: 2,
  175. shade: options.shade,
  176. title: options.title,
  177. fix: false,
  178. area: [_width, _height],
  179. content: options.url,
  180. btn: options.btn,
  181. btnclass: options.btnclass,
  182. yes: function () {
  183. options.callBack(options.id)
  184. }, cancel: function () {
  185. options.btnClose(options.id);
  186. $(".btn-danger")
  187. }
  188. });
  189. }
  190. $.modalOpenbyxu = function (options) {
  191. var defaults = {
  192. id: null,
  193. title: '系统提示',
  194. width: "100px",
  195. height: "100px",
  196. url: '',
  197. shade: 0.3,
  198. btn: [],
  199. btnclass: ['btn btn-info', 'btn btn-danger'],
  200. end: null,
  201. callBack: null
  202. };
  203. var options = $.extend(defaults, options);
  204. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  205. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  206. top.layer.open({
  207. id: options.id,
  208. type: 2,
  209. shade: options.shade,
  210. title: options.title,
  211. fix: false,
  212. area: [_width, _height],
  213. content: options.url,
  214. btn: options.btn,
  215. maxmin: true,
  216. btnclass: options.btnclass,
  217. yes: function () {
  218. options.callBack(options.id)
  219. }, cancel: function () {
  220. return true;
  221. },
  222. end: function () {
  223. var $Gird = $("#gridList");
  224. $("#gridList").trigger("reloadGrid");
  225. //reloadData();
  226. }
  227. });
  228. }
  229. $.modalOpen1 = function (options) {
  230. var defaults = {
  231. id: null,
  232. title: '系统提示',
  233. width: "100px",
  234. height: "100px",
  235. url: '',
  236. shade: 0.3,
  237. btn: ['确定'],
  238. btnclass: ['btn btn-info', 'btn btn-danger'],
  239. callBack: null
  240. };
  241. var options = $.extend(defaults, options);
  242. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  243. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  244. top.layer.open({
  245. id: options.id,
  246. type: 2,
  247. closeBtn:0,
  248. shade: options.shade,
  249. title: options.title,
  250. fix: false,
  251. area: [_width, _height],
  252. content: options.url,
  253. btn: options.btn,
  254. btnclass: options.btnclass,
  255. yes: function () {
  256. options.callBack(options.id)
  257. }, cancel: function () {
  258. options.callBack(options.id)
  259. }
  260. });
  261. }
  262. $.modalOpenClean = function (options) {
  263. debugger;
  264. var defaults = {
  265. id: null,
  266. title: '系统提示',
  267. width: "100px",
  268. height: "100px",
  269. url: '',
  270. shade: 0.3,
  271. btn: [],
  272. btnclass: ['btn btn-danger'],
  273. end: null,
  274. callBack: null
  275. };
  276. var options = $.extend(defaults, options);
  277. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  278. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  279. top.layer.open({
  280. id: options.id,
  281. type: 2,
  282. shade: options.shade,
  283. title: options.title,
  284. fix: false,
  285. area: [_width, _height],
  286. content: options.url,
  287. btn: options.btn,
  288. maxmin: true,
  289. btnclass: options.btnclass,
  290. cancel: function () {
  291. return true;
  292. }
  293. //,
  294. //end: function () {
  295. // var $Gird = $("#gridList");
  296. // $("#gridList").trigger("reloadGrid");
  297. // //reloadData();
  298. //}
  299. });
  300. }
  301. $.modalOpen2 = function (options) {
  302. var defaults = {
  303. id: null,
  304. title: '系统提示',
  305. width: "100px",
  306. height: "100px",
  307. url: '',
  308. shade: 0.3,
  309. btn: ['确定', '关闭'],
  310. btnclass: ['btn btn-info', 'btn btn-danger'],
  311. end: null,
  312. callBack: null
  313. };
  314. var options = $.extend(defaults, options);
  315. var _width = top.$(window).width() > parseInt(options.width.replace('px', '')) ? options.width : top.$(window).width() + 'px';
  316. var _height = top.$(window).height() > parseInt(options.height.replace('px', '')) ? options.height : top.$(window).height() + 'px';
  317. top.layer.open({
  318. id: options.id,
  319. type: 2,
  320. shade: options.shade,
  321. title: options.title,
  322. fix: false,
  323. area: [_width, _height],
  324. content: options.url,
  325. btn: options.btn,
  326. btnclass: options.btnclass,
  327. yes: function () {
  328. options.callBack(options.id)
  329. }, cancel: function () {
  330. return true;
  331. },
  332. end: function () {
  333. var $Gird = $("#gridList");
  334. $("#gridList").trigger("reloadGrid");
  335. reloadData();
  336. }
  337. });
  338. }
  339. $.submitFormNOClose = function (options) {
  340. var defaults = {
  341. url: "",
  342. param: [],
  343. loading: "正在提交数据...",
  344. //loading: "Submission of data...",
  345. success: null,
  346. close: true
  347. };
  348. var options = $.extend(defaults, options);
  349. $.loading(true, options.loading);
  350. window.setTimeout(function () {
  351. if ($('[name=__RequestVerificationToken]').length > 0) {
  352. options.param["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
  353. }
  354. $.ajax({
  355. url: options.url,
  356. data: options.param,
  357. type: "post",
  358. dataType: "json",
  359. success: function (data) {
  360. if (data.state == "success") {
  361. options.success(data);
  362. $.modalMsg(data.message, data.state);
  363. if (options.close == true) {
  364. //$.modalClose();
  365. }
  366. } else {
  367. $.modalAlert(data.message, data.state);
  368. }
  369. },
  370. error: function (XMLHttpRequest, textStatus, errorThrown) {
  371. $.loading(false);
  372. $.modalMsg(errorThrown, "error");
  373. },
  374. beforeSend: function () {
  375. $.loading(true, options.loading);
  376. },
  377. complete: function () {
  378. $.loading(false);
  379. }
  380. });
  381. }, 500);
  382. }
  383. $.modalConfirm = function (content, callBack) {
  384. top.layer.confirm(content, {
  385. icon: "fa-exclamation-circle",
  386. title: "提示信息",
  387. btn: ['确认', '取消'],
  388. btnclass: ['btn btn-info', 'btn btn-danger'],
  389. }, function () {
  390. callBack(true);
  391. }, function () {
  392. callBack(false)
  393. });
  394. }
  395. $.modalConfirm2 = function (content, callBack) {
  396. top.layer.confirm(content, {
  397. icon: "fa-exclamation-circle",
  398. title: "系统消息",
  399. btn: ['确定', '取消'],
  400. btnclass: ['btn btn-info', 'btn btn-danger'],
  401. }, function () {
  402. callBack(true);
  403. }, function () {
  404. callBack(false)
  405. });
  406. }
  407. $.modalAlert = function (content, type) {
  408. var icon = "";
  409. if (type == 'success') {
  410. icon = "fa-check-circle";
  411. }
  412. if (type == 'error') {
  413. icon = "fa-times-circle";
  414. }
  415. if (type == 'warning') {
  416. icon = "fa-exclamation-circle";
  417. }
  418. top.layer.alert(content, {
  419. icon: icon,
  420. //title: "System Message",
  421. title: "系统信息",
  422. btn: ['确认'],
  423. btnclass: ['btn btn-info'],
  424. });
  425. }
  426. $.modalMsg = function (content, type) {
  427. if (type != undefined) {
  428. var icon = "";
  429. if (type == 'success') {
  430. icon = "fa-check-circle";
  431. }
  432. if (type == 'error') {
  433. icon = "fa-times-circle";
  434. }
  435. if (type == 'warning') {
  436. icon = "fa-exclamation-circle";
  437. }
  438. top.layer.msg(content, { icon: icon, time: 4000, shift: 5 });
  439. top.$(".layui-layer-msg").find('i.' + icon).parents('.layui-layer-msg').addClass('layui-layer-msg-' + type);
  440. } else {
  441. top.layer.msg(content);
  442. }
  443. }
  444. $.modalClose = function () {
  445. var index = top.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  446. var $IsdialogClose = top.$("#layui-layer" + index).find('.layui-layer-btn').find("#IsdialogClose");
  447. var IsClose = $IsdialogClose.is(":checked");
  448. if ($IsdialogClose.length == 0) {
  449. IsClose = true;
  450. }
  451. if (IsClose) {
  452. top.layer.close(index);
  453. } else {
  454. location.reload();
  455. }
  456. }
  457. $.submitForm = function (options) {
  458. var defaults = {
  459. url: "",
  460. param: [],
  461. loading: "正在提交数据...",
  462. //loading: "Submission of data...",
  463. success: null,
  464. close: true
  465. };
  466. var options = $.extend(defaults, options);
  467. $.loading(true, options.loading);
  468. window.setTimeout(function () {
  469. if ($('[name=__RequestVerificationToken]').length > 0) {
  470. options.param["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
  471. }
  472. $.ajax({
  473. url: options.url,
  474. data: options.param,
  475. type: "post",
  476. dataType: "json",
  477. success: function (data) {
  478. if (data.state == "success") {
  479. options.success(data);
  480. $.modalMsg(data.message, data.state);
  481. if (options.close == true) {
  482. $.modalClose();
  483. }
  484. } else {
  485. $.modalAlert(data.message, data.state);
  486. }
  487. },
  488. error: function (XMLHttpRequest, textStatus, errorThrown) {
  489. $.loading(false);
  490. $.modalMsg(errorThrown, "error");
  491. },
  492. beforeSend: function () {
  493. $.loading(true, options.loading);
  494. },
  495. complete: function () {
  496. $.loading(false);
  497. }
  498. });
  499. }, 500);
  500. }
  501. $.submitForm2 = function (options) {
  502. var defaults = {
  503. url: "",
  504. param: [],
  505. loading: "正在提交数据...",
  506. //loading: "Submission of data...",
  507. success: null,
  508. close: true
  509. };
  510. var options = $.extend(defaults, options);
  511. $.loading(true, options.loading);
  512. window.setTimeout(function () {
  513. if ($('[name=__RequestVerificationToken]').length > 0) {
  514. options.param["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
  515. }
  516. $.ajax({
  517. url: options.url,
  518. data: options.param,
  519. type: "post",
  520. dataType: "json",
  521. success: function (data) {
  522. if (data.state == "success") {
  523. options.success(data);
  524. $.modalAlert(data.message, data.state);
  525. if (options.close == true) {
  526. $.modalClose();
  527. }
  528. } else {
  529. $.modalAlert(data.message, data.state);
  530. }
  531. },
  532. error: function (XMLHttpRequest, textStatus, errorThrown) {
  533. $.loading(false);
  534. $.modalMsg(errorThrown, "error");
  535. },
  536. beforeSend: function () {
  537. $.loading(true, options.loading);
  538. },
  539. complete: function () {
  540. $.loading(false);
  541. }
  542. });
  543. }, 500);
  544. }
  545. $.submitForm3 = function (options) {
  546. var defaults = {
  547. url: "",
  548. param: [],
  549. loading: "正在提交数据...",
  550. //loading: "Submission of data...",
  551. success: null,
  552. close: true
  553. };
  554. var options = $.extend(defaults, options);
  555. $.loading(true, options.loading);
  556. window.setTimeout(function () {
  557. //if ($('[name=__RequestVerificationToken]').length > 0) {
  558. // options.param["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
  559. //}
  560. $.ajax({
  561. url: options.url,
  562. data: options.param,
  563. type: "post",
  564. dataType: "json",
  565. success: function (data) {
  566. if (data.state == "success") {
  567. options.success(data);
  568. $.modalMsg(data.message, data.state);
  569. if (options.close == true) {
  570. //window.parent.reloadData();
  571. $.modalClose();
  572. }
  573. } else {
  574. $.modalAlert(data.message, data.state);
  575. }
  576. },
  577. error: function (XMLHttpRequest, textStatus, errorThrown) {
  578. $.loading(false);
  579. $.modalMsg(errorThrown, "error");
  580. },
  581. beforeSend: function () {
  582. $.loading(true, options.loading);
  583. },
  584. complete: function () {
  585. $.loading(false);
  586. }
  587. });
  588. }, 500);
  589. }
  590. $.deleteForm = function (options) {
  591. var defaults = {
  592. prompt: "注:您确定要删除该项数据吗?",
  593. //prompt: "Note: are you sure you want to delete this data?",
  594. url: "",
  595. param: [],
  596. loading: "正在删除数据...",
  597. //loading: "Deleting data...",
  598. success: null,
  599. close: true
  600. };
  601. var options = $.extend(defaults, options);
  602. if ($('[name=__RequestVerificationToken]').length > 0) {
  603. options.param["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
  604. }
  605. $.modalConfirm(options.prompt, function (r) {
  606. if (r) {
  607. $.loading(true, options.loading);
  608. window.setTimeout(function () {
  609. $.ajax({
  610. url: options.url,
  611. data: options.param,
  612. type: "post",
  613. dataType: "json",
  614. success: function (data) {
  615. if (data.state == "success") {
  616. options.success(data);
  617. $.modalMsg(data.message, data.state);
  618. } else {
  619. $.modalAlert(data.message, data.state);
  620. }
  621. },
  622. error: function (XMLHttpRequest, textStatus, errorThrown) {
  623. $.loading(false);
  624. $.modalMsg(errorThrown, "error");
  625. },
  626. beforeSend: function () {
  627. $.loading(true, options.loading);
  628. },
  629. complete: function () {
  630. $.loading(false);
  631. }
  632. });
  633. }, 500);
  634. }
  635. });
  636. }
  637. $.jsonWhere = function (data, action) {
  638. if (action == null) return;
  639. var reval = new Array();
  640. $(data).each(function (i, v) {
  641. if (action(v)) {
  642. reval.push(v);
  643. }
  644. })
  645. return reval;
  646. }
  647. $.fn.jqGridRowValue = function () {
  648. var $grid = $(this);
  649. var selectedRowIds = $grid.jqGrid("getGridParam", "selarrrow");
  650. if (selectedRowIds != "") {
  651. var json = [];
  652. var len = selectedRowIds.length;
  653. for (var i = 0; i < len ; i++) {
  654. var rowData = $grid.jqGrid('getRowData', selectedRowIds[i]);
  655. json.push(rowData);
  656. }
  657. return json;
  658. } else {
  659. return $grid.jqGrid('getRowData', $grid.jqGrid('getGridParam', 'selrow'));
  660. }
  661. }
  662. $.fn.formValid = function () {
  663. return $(this).valid({
  664. errorPlacement: function (error, element) {
  665. element.parents('.formValue').addClass('has-error');
  666. element.parents('.has-error').find('i.error').remove();
  667. element.parents('.has-error').append('<i class="form-control-feedback fa fa-exclamation-circle error" data-placement="left" data-toggle="tooltip" title="' + error + '"></i>');
  668. $("[data-toggle='tooltip']").tooltip();
  669. if (element.parents('.input-group').hasClass('input-group')) {
  670. element.parents('.has-error').find('i.error').css('right', '33px')
  671. }
  672. },
  673. success: function (element) {
  674. element.parents('.has-error').find('i.error').remove();
  675. element.parent().removeClass('has-error');
  676. }
  677. });
  678. }
  679. $.fn.formSerialize = function (formdate) {
  680. var element = $(this);
  681. if (!!formdate) {
  682. for (var key in formdate) {
  683. var $id = element.find('#' + key);
  684. var value = $.trim(formdate[key]).replace(/&nbsp;/g, '');
  685. var type = $id.attr('type');
  686. if ($id.hasClass("select2-hidden-accessible")) {
  687. type = "select";
  688. }
  689. switch (type) {
  690. case "checkbox":
  691. if (value == "true") {
  692. $id.attr("checked", 'checked');
  693. } else {
  694. $id.removeAttr("checked");
  695. }
  696. break;
  697. case "select":
  698. $id.val(value).trigger("change");
  699. break;
  700. default:
  701. $id.val(value);
  702. break;
  703. }
  704. };
  705. return false;
  706. }
  707. var postdata = {};
  708. element.find('input,select,textarea').each(function (r) {
  709. var $this = $(this);
  710. var id = $this.attr('id');
  711. var type = $this.attr('type');
  712. switch (type) {
  713. case "checkbox":
  714. postdata[id] = $this.is(":checked");
  715. break;
  716. default:
  717. var value = $this.val() == "" ? "&nbsp;" : $this.val();
  718. if (!$.request("keyValue")) {
  719. value = value.replace(/&nbsp;/g, '');
  720. }
  721. postdata[id] = value;
  722. break;
  723. }
  724. });
  725. if ($('[name=__RequestVerificationToken]').length > 0) {
  726. postdata["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
  727. }
  728. return postdata;
  729. };
  730. $.fn.bindText = function (options) {
  731. var defaults = {
  732. id: "id",
  733. text: "text",
  734. search: false,
  735. url: "",
  736. param: [],
  737. change: null
  738. };
  739. var options = $.extend(defaults, options);
  740. var $element = $(this);
  741. if (options.url != "") {
  742. $.ajax({
  743. url: options.url,
  744. data: options.param,
  745. dataType: "text",
  746. async: false,
  747. success: function (data) {
  748. $element.val(data);
  749. }
  750. });
  751. }
  752. }
  753. $.fn.bindSelect = function (options) {
  754. var defaults = {
  755. id: "id",
  756. text: "text",
  757. search: false,
  758. url: "",
  759. param: [],
  760. change: null
  761. };
  762. var options = $.extend(defaults, options);
  763. var $element = $(this);
  764. if (options.url != "") {
  765. $.ajax({
  766. url: options.url,
  767. data: options.param,
  768. dataType: "json",
  769. async: false,
  770. success: function (data) {
  771. $.each(data, function (i) {
  772. $element.append($("<option></option>").val(data[i][options.id]).html(data[i][options.text]));
  773. });
  774. $element.select2({
  775. minimumResultsForSearch: options.search == true ? 0 : -1
  776. });
  777. $element.on("change", function (e) {
  778. if (options.change != null) {
  779. options.change(data[$(this).find("option:selected").index()]);
  780. }
  781. $("#select2-" + $element.attr('id') + "-container").html($(this).find("option:selected").text().replace(/  /g, ''));
  782. });
  783. }
  784. });
  785. } else {
  786. $element.select2({
  787. minimumResultsForSearch: -1
  788. });
  789. }
  790. }
  791. $.fn.authorizeButton = function () {
  792. var moduleId = top.$(".NFine_iframe:visible").attr("id").substr(6);
  793. var dataJson = top.clients.authorizeButton[moduleId];
  794. var $element = $(this);
  795. $element.find('a[authorize=yes]').attr('authorize', 'no');
  796. if (dataJson != undefined) {
  797. $.each(dataJson, function (i) {
  798. $element.find("#" + dataJson[i].F_EnCode).attr('authorize', 'yes');
  799. });
  800. }
  801. $element.find("[authorize=no]").parents('li').prev('.split').remove();
  802. $element.find("[authorize=no]").parents('li').remove();
  803. $element.find('[authorize=no]').remove();
  804. }
  805. $.fn.dataGrid = function (options) {
  806. var defaults = {
  807. datatype: "json",
  808. autowidth: true,
  809. rownumbers: true,
  810. shrinkToFit: false,
  811. gridview: true
  812. };
  813. var options = $.extend(defaults, options);
  814. var $element = $(this);
  815. options["onSelectRow"] = function (rowid) {
  816. if ($(this).jqGrid("getGridParam", "selrow") != null) {
  817. var length = $(this).jqGrid("getGridParam", "selrow").length;
  818. var $operate = $(".operate");
  819. if (length > 0) {
  820. $operate.animate({ "left": 0 }, 200);
  821. } else {
  822. $operate.animate({ "left": '-100.1%' }, 200);
  823. }
  824. $operate.find('.close').click(function () {
  825. $operate.animate({ "left": '-100.1%' }, 200);
  826. })
  827. }
  828. };
  829. $element.jqGrid(options);
  830. };