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.

876 lines
28 KiB

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