MonitoringIndex.cshtml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. @{
  2. ViewBag.Title = "流程监控";
  3. Layout = "~/Views/Shared/_LayoutIndex.cshtml";
  4. }
  5. <script>
  6. $(function () {
  7. InitialPage();
  8. GetTree();
  9. GetGrid();
  10. });
  11. //初始化页面
  12. function InitialPage() {
  13. //layout布局
  14. $('#layout').layout({
  15. applyDemoStyles: true,
  16. onresize: function () {
  17. $(window).resize()
  18. }
  19. });
  20. //resize重设(表格、树形)宽高
  21. $(window).resize(function (e) {
  22. window.setTimeout(function () {
  23. $('#gridTable').setGridWidth(($('.gridPanel').width()));
  24. $("#gridTable").setGridHeight($(window).height() - 169.5);
  25. $("#itemTree").setTreeHeight($(window).height() - 52);
  26. }, 200);
  27. e.stopPropagation();
  28. });
  29. }
  30. //加载树
  31. function GetTree() {
  32. var item = {
  33. height: $(window).height() - 52,
  34. param: { EnCode: "FlowSort" },
  35. url: "../../FlowManage/FlowDesign/GetTreeJson",
  36. onnodeclick: function (item) {
  37. if (item.Sort != "SchemeType")
  38. {
  39. var queryJson = { WFSchemeInfoId: item.id };
  40. searchGrid(queryJson);
  41. }
  42. }
  43. };
  44. //初始化
  45. $("#itemTree").treeview(item);
  46. }
  47. //加载表格流程是否完成(0运行中,1运行结束,2被召回,3不同意,4表示被驳回)
  48. function GetGrid() {
  49. var selectedRowIndex = 0;
  50. $("#gridTable").jqGrid({
  51. url: "../../FlowManage/FlowProcess/GetProcessPageListJson",
  52. datatype: "json",
  53. height: $(window).height() - 169.5,
  54. autowidth: true,
  55. colModel: [
  56. { label: '主键', name: 'id', hidden: true },
  57. { label: '节点id', name: 'activityid', hidden: true },
  58. { label: '实例模板id', name: 'processschemeid', hidden: true },
  59. { label: '实例编号', name: 'code', index: 'code', width: 100, align: 'left' },
  60. { label: '实例名称', name: 'customname', index: 'customname', width: 150, align: 'left' },
  61. { label: '分类', name: 'schemetypename', index: 'schemetypename', width: 80, align: 'left' },
  62. {
  63. label: "等级", name: "wflevel", index: "wflevel", width: 50, align: "center",
  64. formatter: function (cellvalue, options, rowObject) {
  65. if (cellvalue == 1) {
  66. return '<span class=\"label label-danger\">重要</span>';
  67. } else if (cellvalue == 2) {
  68. return '<span class=\"label label-primary\">普通</span>';
  69. } else {
  70. return '<span class=\"label label-success\">一般</span>';
  71. }
  72. }
  73. },
  74. { label: "当前节点", name: "activityname", index: "activityname", width: 90, align: "left" },
  75. {
  76. label: "状态", name: "isfinish", index: "isfinish", width: 80, align: "center",
  77. formatter: function (cellvalue, options, rowObject) {
  78. if (rowObject.enabledmark == 1) {
  79. if (cellvalue == 0) {
  80. return '<span class=\"label label-success\">运行中</span>';
  81. }
  82. else if (cellvalue == 1) {
  83. return '<span class=\"label label-info\">运行结束</span>';
  84. }
  85. else if (cellvalue == 2) {
  86. return '<span class=\"label label-important-learun\">取消</span>';
  87. }
  88. else if (cellvalue == 3) {
  89. return '<span class=\"label label-danger\">不同意</span>';
  90. }
  91. else if (cellvalue == 4) {
  92. return '<span class=\"label label-warning \">被驳回</span>';
  93. }
  94. }
  95. else {
  96. return '<span class=\"label label-inverse-learun \">暂停</span>';
  97. }
  98. }
  99. },
  100. { label: "创建用户", name: "createusername", index: "createusername", width: 80, align: "left" },
  101. {
  102. label: "创建时间", name: "createdate", index: "createdate", width: 150, align: "left",
  103. formatter: function (cellvalue, options, rowObject) {
  104. return formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss');
  105. }
  106. },
  107. { label: "备注", name: "description", index: "description", width: 200, align: "left" }
  108. ],
  109. viewrecords: true,
  110. rowNum: 30,
  111. rowList: [30, 50, 100],
  112. pager: "#gridPager",
  113. sortname: 'CreateDate desc',
  114. rownumbers: true,
  115. shrinkToFit: false,
  116. gridview: true,
  117. onSelectRow: function () {
  118. selectedRowIndex = $("#" + this.id).getGridParam('selrow');
  119. },
  120. gridComplete: function () {
  121. $("#" + this.id).setSelection(selectedRowIndex, false);
  122. }
  123. });
  124. //查询事件
  125. $("#btn_Search").click(function () {
  126. var queryJson = { Keyword: $("#txt_Keyword").val() };
  127. searchGrid(queryJson);
  128. });
  129. }
  130. //查询函数
  131. function searchGrid(queryJson) {
  132. $("#gridTable").jqGrid('setGridParam', {
  133. postData: { queryJson: JSON.stringify(queryJson) },
  134. }).trigger('reloadGrid');
  135. }
  136. //查看
  137. function btn_flowpreview()
  138. {
  139. var _processSchemeId = $("#gridTable").jqGridRowValue("processschemeid");
  140. var _processname = $("#gridTable").jqGridRowValue("customname");
  141. var _activityId = $("#gridTable").jqGridRowValue("activityid");
  142. if (_processSchemeId) {
  143. dialogOpen({
  144. id: "ProcessLookForm",
  145. title: '进度查看【' + _processname + '】',
  146. url: '../../FlowManage/FlowProcess/ProcessLookFrom?processSchemeId=' + _processSchemeId + '&activityId=' + _activityId,
  147. width: "1100px",
  148. height: "700px",
  149. btn: null,
  150. callBack: function (iframeId) {
  151. }
  152. });
  153. } else {
  154. dialogMsg('请选择需要查看的实例!', 0);
  155. }
  156. }
  157. //取消
  158. function btn_delete() {
  159. var keyValue = $("#gridTable").jqGridRowValue("id");
  160. if (keyValue) {
  161. $.ConfirmAjax({
  162. msg: "注:您确定要取消吗?该操作将无法恢复",
  163. url: "../../FlowManage/FlowProcess/OperateProcess",
  164. param: { keyValue: keyValue,state:2 },
  165. success: function (data) {
  166. $("#gridTable").trigger("reloadGrid");
  167. }
  168. })
  169. } else {
  170. dialogMsg('请选择要取消的实例!', 0);
  171. }
  172. }
  173. //暂停
  174. function btn_disabled() {
  175. var keyValue = $("#gridTable").jqGridRowValue("id");
  176. if (keyValue) {
  177. $.ConfirmAjax({
  178. msg: "注:您确定要暂停吗?",
  179. url: "../../FlowManage/FlowProcess/OperateProcess",
  180. param: { keyValue: keyValue,state:0 },
  181. success: function (data) {
  182. $("#gridTable").trigger("reloadGrid");
  183. }
  184. })
  185. } else {
  186. dialogMsg('请选择要暂停的实例!', 0);
  187. }
  188. }
  189. //启用
  190. function btn_enabled() {
  191. var keyValue = $("#gridTable").jqGridRowValue("id");
  192. if (keyValue) {
  193. $.ConfirmAjax({
  194. msg: "注:您确定要启用吗?",
  195. url: "../../FlowManage/FlowProcess/OperateProcess",
  196. param: { keyValue: keyValue ,state:1},
  197. success: function (data) {
  198. $("#gridTable").trigger("reloadGrid");
  199. }
  200. })
  201. } else {
  202. dialogMsg('请选择要启用的实例!', 0);
  203. }
  204. }
  205. </script>
  206. <div class="ui-layout" id="layout" style="height: 100%; width: 100%;">
  207. <div class="ui-layout-west">
  208. <div class="west-Panel">
  209. <div class="panel-Title">流程模板</div>
  210. <div id="itemTree"></div>
  211. </div>
  212. </div>
  213. <div class="ui-layout-center">
  214. <div class="center-Panel">
  215. <div class="panel-Title">流程实例</div>
  216. <div class="titlePanel">
  217. <div class="title-search">
  218. <table>
  219. <tr>
  220. <td>
  221. <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" style="width: 200px;" />
  222. </td>
  223. <td style="padding-left: 5px;">
  224. <a id="btn_Search" class="btn btn-primary"><i class="fa fa-search"></i>&nbsp;查询</a>
  225. </td>
  226. </tr>
  227. </table>
  228. </div>
  229. <div class="toolbar">
  230. <div class="btn-group">
  231. <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>
  232. <a id="lr-flowpreview" class="btn btn-default" onclick="btn_flowpreview()"><i class="fa fa-eye"></i>&nbsp;查看</a>
  233. </div>
  234. <div class="btn-group">
  235. <a id="lr-disabled" class="btn btn-default" onclick="btn_disabled()"><i class="fa fa-stop"></i>&nbsp;暂停</a>
  236. <a id="lr-enabled" class="btn btn-default" onclick="btn_enabled()"><i class="fa fa-play"></i>&nbsp;启用</a>
  237. <a id="lr-delete" class="btn btn-default" onclick="btn_delete()"><i class="fa fa-trash-o"></i>&nbsp;取消</a>
  238. </div>
  239. <script>$('.toolbar').authorizeButton()</script>
  240. </div>
  241. </div>
  242. <div class="gridPanel">
  243. <table id="gridTable"></table>
  244. <div id="gridPager"></div>
  245. </div>
  246. </div>
  247. </div>
  248. </div>