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.

705 lines
27 KiB

  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <style>
  6. .btn-primary {
  7. margin-right: 2px;
  8. }
  9. .topPanel .toolbar {
  10. float: left;
  11. }
  12. /*.ui-jqgrid tr.jqgrow td {
  13. white-space: normal !important;
  14. height: auto;
  15. }*/
  16. </style>
  17. <script src="~/Content/js/CommonReport/CommonReport.js"></script>
  18. <script>
  19. var mold = $.request("mold");
  20. //var _MenuCaption = "";
  21. var _MenuTag = "";
  22. var _MenuID = "";//菜单ID
  23. var _SourceID = "";//数据源ID
  24. var _sqlTxt = "";//加上参数的sql
  25. var _sqlTxt_Condition = new Array();//加上过滤条件的sql
  26. var _sqlTxt_AddCondition = "";//加上过滤条件的sql
  27. var _IsExistsDataSource = "";
  28. var _DBName = "";//s数据库
  29. var _Cols = new Array();//列
  30. var _ReportName = "";
  31. var _Filter = "";
  32. var _TempName = "";
  33. var _footerrow = false;//是否有合计项
  34. var _footercols = new Array();//合计项
  35. var _formatcols = new Array();//个性化项
  36. var _formatcols_Row = new Array();//个性化项的行
  37. var _Mergercols = new Array();//合并项
  38. var _XCol = "";
  39. var dataRR = "";
  40. var _HiddenCols = new Array();
  41. $(function () {
  42. //1、获取当前页菜单名
  43. GetMenuID();
  44. //2、获取菜单设置
  45. GetMenu();
  46. //gridList();
  47. $(window).resize(function () {
  48. $("#gridList").setGridWidth($(window).width() * 0.99);
  49. $("#gridList").setGridWidth(document.body.clientWidth * 0.99);
  50. $("#gridList").setGridHeight($(window).height() - 132);
  51. $("#gridList").setGridHeight(document.body.clientHeight - 132);
  52. });
  53. });
  54. //1、获取当前页菜单名
  55. function GetMenuID() {
  56. var cc = self.frameElement.getAttribute('id');
  57. _MenuID = cc.replace("iframe", "");
  58. //_MenuTag = $.request("MenuTag");
  59. //$.ajax({
  60. // url: "/SystemManage/CommonReport/GetMenuID?MenuTag=" + _MenuTag + "&" + Math.random(),
  61. // dataType: "json",
  62. // async: false,
  63. // success: function (data) {
  64. // if (data != false && data != null && data.length > 0) {
  65. // _MenuID = data[0].MenuID;
  66. // }
  67. // else {
  68. // alert("获取菜单ID异常,请查看菜单配置并刷新:" + data);
  69. // }
  70. // },
  71. // error: function (aa) {
  72. // alert("异常:" + aa.responseText);
  73. // }
  74. //});
  75. }
  76. //2、获取菜单设置 URL 列 等
  77. function GetMenu() {
  78. $.ajax({
  79. url: "/SystemManage/CommonReport/GetMenu?MenuID=" + _MenuID + "&" + Math.random(),
  80. dataType: "json",
  81. async: false,
  82. success: function (data) {
  83. if (data != false && data != null) {
  84. _sqlTxt = data.sqlTxt;
  85. _sqlTxt_AddCondition = data.sqlTxt;
  86. _DBName = data.DBName;
  87. _SourceID = data.SourceID;
  88. _IsExistsDataSource = data.IsExistsDataSource;
  89. _ReportName = data.ReportName;
  90. _XCol = data.XCol;
  91. _Mergercols = eval(data.Mergercols);
  92. _formatcols = data.formatcols;
  93. _TempName = data.TempName;
  94. _footerrow = data.footerrow;
  95. _footercols = eval(data.footercols);
  96. _Cols = SetCols(eval(data.Cols));
  97. _HiddenCols = eval(data.HiddenCols);
  98. btn_Filter();
  99. }
  100. else {
  101. alert("获取菜单栏位等信息异常。" + data);
  102. }
  103. },
  104. error: function (aa) {
  105. //alert("异常:" + aa.responseText);
  106. $.modalAlertNew("WMS00015", aa.responseText);
  107. }
  108. });
  109. }
  110. //个性化栏位背景色
  111. function addCellAttr(rowId, val, rawObject, cm, rdata) {
  112. var rr = ' id=\'' + cm.name + '' + rowId + "\' ";
  113. var formatList = Getformatcol(_formatcols, cm.name);//获取format所有条件
  114. if (formatList != null && formatList.length > 0) {
  115. for (var i = 0; i < formatList.length; i++) {
  116. var formatcol = formatList[i];//条件
  117. var IsRow = false;
  118. if (formatcol.AllRowFlag) {
  119. IsRow = true;
  120. var rr = {
  121. rowid: rowId - 1,
  122. backgroundcolor: formatcol.Color,
  123. }
  124. }
  125. var FormatDataType = formatcol.DataType;
  126. var LogStr = GetLogStringByNum(parseInt(formatcol.LogStr));
  127. if (FormatDataType != "日期型") {
  128. switch (LogStr) {
  129. case "等于": if (val == formatcol.SValue) {
  130. if (IsRow) { _formatcols_Row.push(rr); }
  131. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  132. }
  133. break;
  134. case "不等于": if (val != formatcol.SValue) {
  135. if (IsRow) { _formatcols_Row.push(rr); }
  136. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  137. }
  138. break;
  139. case "小于": if (val < formatcol.SValue) {
  140. if (IsRow) { _formatcols_Row.push(rr); }
  141. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  142. }
  143. break;
  144. case "大于": if (val > formatcol.SValue) {
  145. if (IsRow) { _formatcols_Row.push(rr); }
  146. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  147. }
  148. break;
  149. case "小于等于": if (val <= formatcol.SValue) {
  150. if (IsRow) { _formatcols_Row.push(rr); }
  151. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  152. }
  153. break;
  154. case "大于等于": if (val >= formatcol.SValue) {
  155. if (IsRow) { _formatcols_Row.push(rr); }
  156. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  157. }
  158. break;
  159. case "范围内": if (val >= formatcol.SValue && val <= formatcol.DValue) {
  160. if (IsRow) { _formatcols_Row.push(rr); }
  161. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  162. }
  163. break;
  164. case "范围外": if (val < formatcol.SValue || val > formatcol.DValue) {
  165. if (IsRow) { _formatcols_Row.push(rr); }
  166. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  167. }
  168. break;
  169. case "包含": if (val.indexOf(formatcol.SValue) != -1) {
  170. if (IsRow) { _formatcols_Row.push(rr); }
  171. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  172. }
  173. break;
  174. case "头部包含": if (val.indexOf(formatcol.SValue) == 0) {
  175. if (IsRow) { _formatcols_Row.push(rr); }
  176. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  177. }
  178. break;
  179. case "尾部包含": if (val.indexOf(formatcol.SValue) == formatcol.length - val.length) {
  180. if (IsRow) { _formatcols_Row.push(rr); }
  181. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  182. }
  183. break;
  184. case "不包含": if (val.indexOf(formatcol.SValue) == -1) {
  185. if (IsRow) { _formatcols_Row.push(rr); }
  186. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  187. }
  188. break;
  189. }
  190. }
  191. else {
  192. //日期型
  193. if (val.length >= 10)
  194. {
  195. var VV = val.substring(0, 10);
  196. switch (LogStr) {
  197. case "等于":
  198. if (VV== formatcol.SValue) {
  199. if (IsRow) { _formatcols_Row.push(rr); }
  200. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  201. }
  202. break;
  203. case "不等于": if (VV != formatcol.SValue) {
  204. if (IsRow) { _formatcols_Row.push(rr); }
  205. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  206. }
  207. break;
  208. case "小于":
  209. if (VV < formatcol.SValue) {
  210. if (IsRow) { _formatcols_Row.push(rr); }
  211. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  212. }
  213. break;
  214. case "大于": if (VV > formatcol.SValue) {
  215. if (IsRow) { _formatcols_Row.push(rr); }
  216. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  217. }
  218. break;
  219. case "小于等于": if (VV <= formatcol.SValue) {
  220. if (IsRow) { _formatcols_Row.push(rr); }
  221. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  222. }
  223. break;
  224. case "大于等于": if (VV >= formatcol.SValue) {
  225. if (IsRow) { _formatcols_Row.push(rr); }
  226. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  227. }
  228. break;
  229. case "范围内": if (VV >= formatcol.SValue && VV <= formatcol.DValue) {
  230. if (IsRow) { _formatcols_Row.push(rr); }
  231. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  232. }
  233. break;
  234. case "范围外": if (VV < formatcol.SValue || VV > formatcol.DValue) {
  235. if (IsRow) { _formatcols_Row.push(rr); }
  236. else { rr += "style='background-color:" + formatcol.Color + "'"; return rr; }
  237. }
  238. break;
  239. }
  240. }
  241. }
  242. }
  243. }
  244. return rr;
  245. }
  246. //个性化栏位背景色
  247. function addCellAttr_ID(rowId, val, rawObject, cm, rdata) {
  248. var rr = ' id=\'' + cm.name + '' + rowId + "\' ";
  249. return rr;
  250. }
  251. function Getformatcol(formatcols, colname) {
  252. var formatList = new Array();
  253. if (formatcols != null && formatcols.length > 0) {
  254. for (var i = 0; i < formatcols.length; i++) {
  255. if (formatcols[i].ColFiledName == colname) {
  256. formatList.push(formatcols[i]);
  257. }
  258. }
  259. }
  260. return formatList;
  261. }
  262. //生成colModel
  263. function SetCols(datacols) {
  264. var cols = new Array();
  265. if (datacols != null && datacols.length > 0) {
  266. for (var i = 0; i < datacols.length; i++) {
  267. var ColCaption = datacols[i].ColCaption;
  268. var ColFiledName = datacols[i].ColFiledName;
  269. var DataType = datacols[i].DataType;
  270. var DataTypeStr = GetDataTypeByNum(DataType);
  271. var ColWidth = datacols[i].ColWidth;
  272. var DeciamlNum = datacols[i].DeciamlNum;
  273. var sortable = datacols[i].sortable;
  274. var ColMerFlag = datacols[i].ColMerFlag;
  275. var IsFormat = datacols[i].IsFormat;
  276. var obj = new Array();
  277. if (IsFormat == "1") {
  278. obj = {
  279. label: ColCaption,
  280. name: ColFiledName,
  281. width: ColWidth,
  282. align: "left",
  283. sortable: sortable,
  284. cellattr: addCellAttr,
  285. }
  286. }
  287. else {
  288. obj = {
  289. label: ColCaption,
  290. name: ColFiledName,
  291. width: ColWidth,
  292. align: "left",
  293. sortable: sortable,
  294. cellattr: addCellAttr_ID,
  295. }
  296. }
  297. switch (DataTypeStr) {
  298. case "数值型":
  299. var Formatoptions = new { decimalPlaces: DeciamlNum };
  300. obj.push({ formatter: "number" });
  301. obj.push({ formatoptions: Formatoptions });
  302. break;
  303. case "字符型":
  304. case "日期型":
  305. case "布尔值":
  306. break;
  307. }
  308. //if (IsFormat) {
  309. // obj.push({ cellattr: addCellAttr });
  310. //}
  311. cols.push(obj);
  312. }
  313. var collast = { label: "", name: "", width: "20", align: "left", sortable: false };
  314. cols.push(collast);
  315. }
  316. return cols;
  317. }
  318. function gridList() {
  319. document.getElementById("gridPanel").innerHTML = ' <table id="gridList"></table> <div id="gridPager"></div>';//重置grid
  320. _formatcols_Row = new Array();
  321. var $gridList = $("#gridList");
  322. var condion = new Array();
  323. if (_sqlTxt_Condition != undefined && _sqlTxt_Condition.length > 0)
  324. {
  325. condion = _sqlTxt_Condition;
  326. }
  327. $gridList.dataGrid({
  328. //url: "/SystemManage/CommonReport/GetGridJson",
  329. url: "/SystemManage/CommonReport/GetGridJsonNew",
  330. height: $(window).height() - 132,
  331. // postData: { sqlTxt: _sqlTxt_AddCondition, DBName: _DBName, TempName: _TempName },
  332. postData: { MenuID: _MenuID, sqlTxt_Condition: JSON.stringify(condion), DBName: _DBName, TempName: _TempName },
  333. colModel: _Cols,
  334. pager: "#gridPager",
  335. //sortname: ' ',
  336. //sortorder: ' ',
  337. sortname: _XCol,
  338. sortorder: ' ',
  339. viewrecords: true,
  340. multiselect: true,//开启选中行
  341. footerrow: _footerrow,
  342. gridComplete: function () {
  343. var strIds = $("#gridList").jqGrid("getDataIDs");
  344. if (_formatcols_Row.length > 0) {
  345. for (var i = 0; i < _formatcols_Row.length; i++) {
  346. $("#" + strIds[_formatcols_Row[i].rowid] + " td").css("background-color", _formatcols_Row[i].backgroundcolor);
  347. }
  348. }
  349. //$("#"+ids[ii]+ " td").css("background-color","red");
  350. //合并行
  351. if (_Mergercols != undefined && _Mergercols.length > 0) {
  352. for (var i = 0; i < _Mergercols.length; i++) {
  353. Merger("gridList", _Mergercols[i]);
  354. }
  355. }
  356. //合计
  357. if (_footerrow == true) {
  358. var footerData = {};
  359. for (var i = 0; i < _footercols.length; i++) {
  360. var total = 0;
  361. for (var j = 0; j < strIds.length; j++) {
  362. var qty = $("#gridList").jqGrid("getCell", strIds[j], _footercols[i]);
  363. if (qty != "") {
  364. total += parseInt(qty);
  365. }
  366. }
  367. footerData[_footercols[i]] = total;
  368. }
  369. $("#gridList").footerData('set', footerData);
  370. $("#gridList").footerData('set', { "rn": "合计" });
  371. }
  372. //隐藏列(不可见/无权限)
  373. if (_HiddenCols != null && _HiddenCols.length > 0)
  374. {
  375. for (var j = 0; j < _HiddenCols.length; j++)
  376. {
  377. $("#gridList").setGridParam().hideCol(_HiddenCols[j].ColFiledName);
  378. }
  379. }
  380. },
  381. loadError: function (data) {
  382. //alert("异常:");
  383. $.modalAlertNew("WMS00015");
  384. }
  385. });
  386. $("#btn_search").click(function () {
  387. $gridList.jqGrid('setGridParam', {
  388. //sqlTxt: _sqlTxt_AddCondition, DBName: _DBName, TempName: _TempName
  389. MenuID: _MenuID, sqlTxt_Condition: JSON.stringify(condion), DBName: _DBName, TempName: _TempName
  390. }).trigger('reloadGrid');
  391. });
  392. }
  393. //过滤
  394. function btn_Filter() {
  395. $.modalOpenYC({
  396. id: "Filer",
  397. title: "过滤条件",
  398. url: "/SystemManage/CommonReport/Filter?MenuID=" + _MenuID + "&SourceID=" + _SourceID + "&" + Math.random(),
  399. width: "800px",
  400. height: "570px",
  401. //btn: ['确认', '关闭'],
  402. callBack: function (iframeId) {
  403. _sqlTxt_Condition = eval(top.frames[iframeId].submitForm());
  404. //_sqlTxt_AddCondition = _sqlTxt;
  405. if (_sqlTxt_Condition != undefined) {
  406. // if (_sqlTxt_Condition.length > 0) {
  407. // for (var i = 0; i < _sqlTxt_Condition.length; i++) {
  408. // _sqlTxt_AddCondition = ReplaceALL(_sqlTxt_AddCondition, _sqlTxt_Condition[i].CIndex, _sqlTxt_Condition[i].Content);
  409. // }
  410. // }
  411. top.frames[iframeId].Close();
  412. gridList();
  413. }
  414. }
  415. });
  416. }
  417. //数据源
  418. function btn_DataSource() {
  419. $.modalOpen({
  420. id: "DataSource",
  421. title: "数据源",
  422. url: "/SystemManage/CommonReport/DataSource?MenuID=" + _MenuID,//+ "&" + Math.random(),
  423. width: "1300px",
  424. height: "570px",
  425. btn: ['确认', '关闭'],
  426. callBack: function (iframeId) {
  427. dataRR = top.frames[iframeId].submitForm();
  428. if (dataRR == "Error")
  429. { }
  430. else {
  431. GetMenu();
  432. }
  433. }
  434. });
  435. }
  436. //列设置
  437. function btn_Cols() {
  438. if (_IsExistsDataSource != "1") {
  439. alert("请先设置数据源");
  440. }
  441. else {
  442. $.modalOpen({
  443. id: "Cols",
  444. title: "列设置",
  445. url: "/SystemManage/CommonReport/Cols?SourceID=" + _SourceID + "&MenuID=" + _MenuID + "&" + Math.random(),
  446. width: "1300px",
  447. height: "570px",
  448. btn: ['确认', '关闭'],
  449. callBack: function (iframeId) {
  450. top.frames[iframeId].submitForm();
  451. GetMenu();
  452. }
  453. });
  454. }
  455. }
  456. //个性化设置
  457. function btn_GridFormat() {
  458. if (_IsExistsDataSource != "1") {
  459. alert("请先设置数据源");
  460. }
  461. else {
  462. $.modalOpen({
  463. id: "GridFormat",
  464. title: "个性化设置",
  465. url: "/SystemManage/CommonReport/GridFormat?SourceID=" + _SourceID + "&" + Math.random(),
  466. width: "800px",
  467. height: "570px",
  468. btn: null,
  469. callBack: function (iframeId) {
  470. GetMenu();
  471. }
  472. });
  473. }
  474. }
  475. //多表头设置
  476. function btn_GridHeader() {
  477. if (_IsExistsDataSource != "1") {
  478. alert("请先设置数据源");
  479. }
  480. else {
  481. $.modalOpen({
  482. id: "GridHeader",
  483. title: "多表头设置",
  484. url: "/SystemManage/CommonReport/GridHeader?SourceID=" + _SourceID + "&" + Math.random(),
  485. width: "1300px",
  486. height: "570px",
  487. btn: ['确认', '关闭'],
  488. callBack: function (iframeId) {
  489. top.frames[iframeId].submitForm();
  490. GetMenu();
  491. }
  492. });
  493. }
  494. }
  495. //清空本菜单所有数据源相关设置
  496. function btn_Clear() {
  497. $.deleteForm({
  498. url: "/SystemManage/CommonReport/ClearAll?" + Math.random(),
  499. param: { MenuID: _MenuID },
  500. success: function () {
  501. _SourceID = "";//数据源ID
  502. _sqlTxt = "";//加上参数的sql
  503. _sqlTxt_AddCondition = "";//加上过滤条件的sql
  504. _TempName = "";
  505. _IsExistsDataSource = "";
  506. _DBName = "";//s数据库
  507. _Cols = new Array();//列
  508. _Filter = "";
  509. _footerrow = false;//是否有合计项
  510. _footercols = new Array();//合计项
  511. _formatcols = new Array();//个性化项
  512. _formatcols_Row = new Array();//个性化项的行
  513. _Mergercols = new Array();//合并项
  514. document.getElementById("gridPanel").innerHTML = ' <table id="gridList"></table> <div id="gridPager"></div>';
  515. },
  516. error: function (aa) {
  517. //alert("异常", aa.responseText);
  518. $.modalAlertNew("WMS00015", aa.responseText);
  519. }
  520. });
  521. }
  522. function btn_ExportAll()
  523. {
  524. var condion = new Array();
  525. if (_sqlTxt_Condition != undefined && _sqlTxt_Condition.length > 0) {
  526. condion = _sqlTxt_Condition;
  527. }
  528. //var data = "&sqlTxt=" + encodeURIComponent(_sqlTxt_AddCondition) + "&DBName=" + _DBName + "&TempName=" + _TempName + "&MenuID=" + _MenuID;
  529. var data = "&sqlTxt=" + encodeURIComponent(JSON.stringify(condion)) + "&DBName=" + _DBName + "&TempName=" + _TempName + "&MenuID=" + _MenuID + "&XCol=" + _XCol;
  530. $.download("/SystemManage/CommonReport/ExportAllNew?" + Math.random(), data, 'post');
  531. }
  532. function btn_WatchPanel() {
  533. var condion = new Array();
  534. if (_sqlTxt_Condition != undefined && _sqlTxt_Condition.length > 0) {
  535. condion = _sqlTxt_Condition;
  536. }
  537. $.modalOpen({
  538. id: "WatchPanel",
  539. title: _ReportName + "看板显示",
  540. url: "/SystemManage/CommonReport/WatchPanel?_MenuID=" + _MenuID + "&_sqlTxt_Condition=" + escape(JSON.stringify(condion)) + "&TempName=" + escape(_TempName) + "&" + Math.random(),
  541. width: "1300px",
  542. height: "570px",
  543. btn: null,
  544. callBack: function (iframeId) {
  545. top.frames[iframeId].submitForm();
  546. GetMenu();
  547. }
  548. });
  549. }
  550. //角色显示栏位
  551. function btn_ColsVisible()
  552. {
  553. $.modalOpen({
  554. id: "ColsVisible",
  555. title: _ReportName + " 角色显示栏位",
  556. url: "/SystemManage/CommonReport/ColsVisible?MenuID=" + _MenuID + "&IsCommon=Y&Cols=&" + Math.random(),
  557. width: "1000px",
  558. height: "570px",
  559. btn: null,
  560. callBack: function (iframeId) {
  561. alert("111");
  562. GetMenu();
  563. }
  564. });
  565. }
  566. function btnPrint() {
  567. debugger;
  568. // var mold = 'FP0001'; //条码打印
  569. var objArr = '';
  570. var arr = [];
  571. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  572. for (var i = 0; i < objList.length; i++) {
  573. var rowId = objList[i];
  574. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  575. objArr += "'" + rowData.ID + "',";
  576. }
  577. objArr = objArr.slice(0, objArr.length - 1);
  578. if (objArr == "") {
  579. $.modalAlertNew("WMS00003");
  580. return;
  581. }
  582. objArr = "" + objArr + "|";
  583. arr.push(objArr);
  584. $.modalOpen({
  585. id: "PrintLot",
  586. title: "打印",
  587. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  588. width: "550px",
  589. height: "1000px",
  590. callBack: function (iframeId) {
  591. top.frames[iframeId].submitForm();
  592. }
  593. });
  594. }
  595. </script>
  596. <div class="topPanel">
  597. <div class="toolbar">
  598. <div class="btn-group">
  599. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  600. <a class="btn btn-primary dropdown-text" onclick="btn_Filter()"><i class="fa fa-filter"></i>过滤</a>
  601. </div>
  602. <div class="btn-group">
  603. <a id="NF-DataSource" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_DataSource()"><i class="fa fa-database"></i>设置数据源</a>
  604. <a id="NF-Cols" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_Cols()"><i class="fa fa-text-width"></i>列设置</a>
  605. <a id="NF-GridFormat" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_GridFormat()"><i class="fa fa-bars"></i>个性化设置</a>
  606. <a id="NF-Clear" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_Clear()"><i class="fa fa-times"></i>清空本菜单所有设置</a>
  607. <a id="NF-ExportAll" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_ExportAll()"><i class="fa fa-download"></i>全部导出</a>
  608. <a id="NF-WatchPanel" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_WatchPanel()"><i class="fa fa-download"></i>看板显示</a>
  609. <a id="NF-ColsVisible" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_ColsVisible()"><i class="fa fa-user"></i>角色显示栏位</a>
  610. <a id="NF-Print" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnPrint()"><i class="fa fa-pencil-square-o"></i>打印</a>
  611. @*<a id="NF-GridHeader" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_GridHeader()"><i class="fa fa-list-alt"></i>多表头设置</a>*@
  612. </div>
  613. <script>$('.toolbar').authorizeButton()</script>
  614. </div>
  615. </div>
  616. <div class="gridPanel" id="gridPanel">
  617. <table id="gridList"></table>
  618. <div id="gridPager"></div>
  619. </div>