纽威
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.

675 lines
28 KiB

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