Index.cshtml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  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: "../../SystemManage/DataItemDetail/GetDataItemTreeJson",
  36. onnodeclick: function (item) {
  37. var queryJson = { SchemeType: item.id };
  38. searchGrid(queryJson);
  39. }
  40. };
  41. //初始化
  42. $("#itemTree").treeview(item);
  43. }
  44. //加载表格
  45. function GetGrid() {
  46. var selectedRowIndex = 0;
  47. $("#gridTable").jqGrid({
  48. url: "../../FlowManage/FlowDesign/GetPageListJson",
  49. datatype: "json",
  50. height: $(window).height() - 169.5,
  51. autowidth: true,
  52. colModel: [
  53. { label: '主键', name: 'id', hidden: true },
  54. { label: '流程编号', name: 'schemecode', index: 'schemecode', width: 100, align: 'left' },
  55. { label: '流程名称', name: 'schemename', index: 'schemename', width: 150, align: 'left' },
  56. { label: '分类', name: 'schemetypename', index: 'schemetypename', width: 80, align: 'left' },
  57. {
  58. label: "表单类型", name: "frmtype", index: "frmtype", width: 80, align: "left",
  59. formatter: function (cellvalue, options, rowObject) {
  60. return (cellvalue == 1 ? '系统表单' : '自定义表单')
  61. }
  62. },
  63. { label: '模板版本', name: 'schemeversion', index: 'schemeversion', width: 180, align: 'left' },
  64. { label: '状态Id', name: 'enabledmark', index: 'enabledmark', hidden: true },
  65. {
  66. label: "状态", name: "enabledmarklabel", index: "enabledmarklabel", width: 50, align: "center",
  67. formatter: function (cellvalue, options, rowObject) {
  68. if (rowObject.enabledmark == 1) {
  69. return '<span class=\"label label-success\">启用</span>';
  70. } else if (rowObject.enabledmark == 0) {
  71. return '<span class=\"label label-danger\">停用</span>';
  72. } else {
  73. return '<span class=\"label label-info\">草稿</span>';
  74. }
  75. }
  76. },
  77. {
  78. label: "权限类型", name: "authorizetype", index: "authorizetype", width: 70, align: "center",
  79. formatter: function (cellvalue, options, rowObject) {
  80. if (cellvalue == 0) {
  81. return '<span class=\"label label-primary\">所有成员</span>';
  82. } else {
  83. return '<span class=\"label label-warning\">指定成员</span>';
  84. }
  85. }
  86. },
  87. { label: "最近编辑用户", name: "modifyusername", index: "modifyusername", width: 90, align: "left" },
  88. {
  89. label: "最近编辑时间", name: "modifydate", index: "modifydate", width: 150, align: "left",
  90. formatter: function (cellvalue, options, rowObject) {
  91. return formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss');
  92. }
  93. },
  94. { label: "创建用户", name: "createusername", index: "createusername", width: 80, align: "left" },
  95. {
  96. label: "创建时间", name: "createdate", index: "createdate", width: 150, align: "left",
  97. formatter: function (cellvalue, options, rowObject) {
  98. return formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss');
  99. }
  100. },
  101. { label: "备注", name: "description", index: "description", width: 200, align: "left" }
  102. ],
  103. viewrecords: true,
  104. rowNum: 30,
  105. rowList: [30, 50, 100],
  106. pager: "#gridPager",
  107. sortname: 'CreateDate desc',
  108. rownumbers: true,
  109. shrinkToFit: false,
  110. gridview: true,
  111. onSelectRow: function () {
  112. selectedRowIndex = $("#" + this.id).getGridParam('selrow');
  113. },
  114. gridComplete: function () {
  115. $("#" + this.id).setSelection(selectedRowIndex, false);
  116. },
  117. subGrid: true,
  118. subGridRowExpanded: function (subgrid_id, row_id) {
  119. var _wfSchemeInfoId = $("#gridTable").jqGrid('getRowData', row_id)['id'];
  120. var _schemeversion = $("#gridTable").jqGrid('getRowData', row_id)['schemeversion'];
  121. var _schemename = $("#gridTable").jqGrid('getRowData', row_id)['schemename'];
  122. var subgrid_table_id = subgrid_id + "_t";
  123. var subhtml = "";
  124. subhtml += '<div><table id="' + subgrid_table_id + '"></table></table></div>';
  125. $("#" + subgrid_id).html(subhtml);
  126. $("#" + subgrid_table_id).jqGrid({
  127. url: "../../FlowManage/FlowDesign/GetSchemeListJson?WFSchemeInfoId=" + _wfSchemeInfoId,
  128. datatype: "json",
  129. height: 260,
  130. autowidth: true,
  131. colModel: [
  132. { label: '主键', name: 'Id', hidden: true },
  133. { label: '流程模板信息Id', name: 'wfschemeinfoid', hidden: true },
  134. { label: '版本号', name: 'schemeversion', index: 'schemeversion', width: 180, align: 'center', sortable: false },
  135. { label: "创建用户", name: "createusername", index: "createusername", width: 80, align: "left",sortable: false, },
  136. {
  137. label: "创建时间", name: "createdate", index: "createdate", width: 150, align: "left", sortable: false,
  138. formatter: function (cellvalue, options, rowObject) {
  139. return formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss');
  140. }
  141. },
  142. {
  143. label: ' ', name: 'IsRequired', index: 'IsRequired', width: 70, align: 'center', sortable: false,
  144. formatter: function (cellvalue, options, rowObject) {
  145. return '<span class="label label-success" style="cursor:pointer;" onclick="btn_flowpreviewhistroy(\'' + _wfSchemeInfoId + '\',\'' + _schemeversion + '\',\'' + _schemename + '\')">模板预览</span>';
  146. }
  147. },
  148. {
  149. label: ' ', name: 'IsCurrent', index: 'IsCurrent', width: 70, align: 'left', sortable: false,
  150. formatter: function (cellvalue, options, rowObject) {
  151. return rowObject.schemeversion == _schemeversion ? '<span class=\"label label-danger\">当前版本</span>' : '';
  152. }
  153. }
  154. ],
  155. rowNum: "all",
  156. caption: "流程模板历史版本",
  157. hidegrid: false,
  158. shrinkToFit: false,
  159. gridview: true
  160. });
  161. }
  162. });
  163. //查询事件
  164. $("#btn_Search").click(function () {
  165. var queryJson = { Keyword: $("#txt_Keyword").val() };
  166. searchGrid(queryJson);
  167. });
  168. }
  169. //查询函数
  170. function searchGrid(queryJson) {
  171. $("#gridTable").jqGrid('setGridParam', {
  172. url: "../../FlowManage/FlowDesign/GetPageListJson",
  173. postData: { queryJson: JSON.stringify(queryJson) },
  174. }).trigger('reloadGrid');
  175. }
  176. //新增
  177. function btn_add() {
  178. dialogOpen({
  179. id: "FlowSchemeBuider",
  180. title: '流程创建',
  181. url: '/FlowManage/FlowDesign/FlowSchemeBuider',
  182. width: "1100px",
  183. height: "700px",
  184. btn:null,
  185. callBack: function (iframeId) {
  186. top.frames[iframeId].AcceptClick();
  187. }
  188. });
  189. };
  190. //编辑
  191. function btn_edit() {
  192. var keyValue = $("#gridTable").jqGridRowValue("id");
  193. if (checkedRow(keyValue)) {
  194. dialogOpen({
  195. id: "FlowSchemeBuider",
  196. title: '修改流程',
  197. url: '/FlowManage/FlowDesign/FlowSchemeBuider?keyValue=' + keyValue,
  198. width: "1100px",
  199. height: "700px",
  200. btn: null,
  201. callBack: function (iframeId) {
  202. top.frames[iframeId].AcceptClick();
  203. }
  204. });
  205. }
  206. }
  207. //预览
  208. function btn_flowpreview()
  209. {
  210. var keyValue = $("#gridTable").jqGridRowValue("id");
  211. var schemename = $("#gridTable").jqGridRowValue("schemename");
  212. var schemeversion = $("#gridTable").jqGridRowValue("schemeversion");
  213. if (keyValue) {
  214. top.tablist.newTab({ id: keyValue + schemeversion, title: '流程预览【' + schemename + '】',isNoLog:true, closed: true, icon: "fa fa fa-eye", url: top.contentPath + '/FlowManage/FlowLaunch/PreviewIndex?keyValue=' + keyValue + "&schemeVersion=" + schemeversion });
  215. } else {
  216. dialogMsg('请选择需要预览的流程!', 0);
  217. }
  218. }
  219. function btn_flowpreviewhistroy(wfschemeInfoId,schemeVersion,schemeName)
  220. {
  221. top.tablist.newTab({ id: wfschemeInfoId + schemeVersion, title: '流程预览【' + schemeName + schemeVersion + '】', isNoLog: true, closed: true, icon: "fa fa fa-eye", url: top.contentPath + '/FlowManage/FlowLaunch/PreviewIndex?keyValue=' + wfschemeInfoId + "&schemeVersion=" + schemeVersion });
  222. }
  223. //删除
  224. function btn_delete() {
  225. var keyValue = $("#gridTable").jqGridRowValue("id");
  226. if (keyValue) {
  227. $.RemoveForm({
  228. url: "../../FlowManage/FlowDesign/RemoveForm",
  229. param: { keyValue: keyValue },
  230. success: function (data) {
  231. $("#gridTable").trigger("reloadGrid");
  232. }
  233. })
  234. } else {
  235. dialogMsg('请选择需要删除的流程!', 0);
  236. }
  237. }
  238. //禁用
  239. function btn_disabled() {
  240. var keyValue = $("#gridTable").jqGridRowValue("id");
  241. var enabledmark = $("#gridTable").jqGridRowValue("enabledmark");
  242. if (keyValue) {
  243. if (enabledmark == 3) {
  244. dialogMsg('草稿不能被禁用!', 0);
  245. return;
  246. }
  247. $.ConfirmAjax({
  248. msg: "请确认是否要【禁用】流程?",
  249. url: "../../FlowManage/FlowDesign/SubmitUpdateState",
  250. param: { keyValue: keyValue, State: 0 },
  251. success: function (data) {
  252. $("#gridTable").trigger("reloadGrid");
  253. }
  254. })
  255. } else {
  256. dialogMsg('请选择要禁用的流程!', 0);
  257. }
  258. }
  259. //启用
  260. function btn_enabled() {
  261. var keyValue = $("#gridTable").jqGridRowValue("id");
  262. var enabledmark = $("#gridTable").jqGridRowValue("enabledmark");
  263. if (keyValue) {
  264. if (enabledmark == 3) {
  265. dialogMsg('草稿不能被启用!', 0);
  266. return;
  267. }
  268. $.ConfirmAjax({
  269. msg: "请确认是否要【启用】流程?",
  270. url: "../../FlowManage/FlowDesign/SubmitUpdateState",
  271. param: { keyValue: keyValue, State: 1 },
  272. success: function (data) {
  273. $("#gridTable").trigger("reloadGrid");
  274. }
  275. })
  276. } else {
  277. dialogMsg('请选择要启用的流程!', 0);
  278. }
  279. }
  280. </script>
  281. <div class="ui-layout" id="layout" style="height: 100%; width: 100%;">
  282. <div class="ui-layout-west">
  283. <div class="west-Panel">
  284. <div class="panel-Title">流程类别</div>
  285. <div id="itemTree"></div>
  286. </div>
  287. </div>
  288. <div class="ui-layout-center">
  289. <div class="center-Panel">
  290. <div class="panel-Title">流程管理</div>
  291. <div class="titlePanel">
  292. <div class="title-search">
  293. <table>
  294. <tr>
  295. <td>
  296. <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" style="width: 200px;" />
  297. </td>
  298. <td style="padding-left: 5px;">
  299. <a id="btn_Search" class="btn btn-primary"><i class="fa fa-search"></i>&nbsp;查询</a>
  300. </td>
  301. </tr>
  302. </table>
  303. </div>
  304. <div class="toolbar">
  305. <div class="btn-group">
  306. <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>
  307. <a id="lr-add" class="btn btn-default" onclick="btn_add()"><i class="fa fa-plus"></i>&nbsp;新增</a>
  308. <a id="lr-edit" class="btn btn-default" onclick="btn_edit()"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
  309. <a id="lr-flowpreview" class="btn btn-default" onclick="btn_flowpreview()"><i class="fa fa-eye"></i>&nbsp;预览</a>
  310. <a id="lr-delete" class="btn btn-default" onclick="btn_delete()"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
  311. </div>
  312. <div class="btn-group">
  313. <a id="lr-disabled" class="btn btn-default" onclick="btn_disabled()"><i class="fa fa-stop"></i>&nbsp;停用</a>
  314. <a id="lr-enabled" class="btn btn-default" onclick="btn_enabled()"><i class="fa fa-play"></i>&nbsp;启用</a>
  315. </div>
  316. <script>$('.toolbar').authorizeButton()</script>
  317. </div>
  318. </div>
  319. <div class="gridPanel">
  320. <table id="gridTable"></table>
  321. <div id="gridPager"></div>
  322. </div>
  323. </div>
  324. </div>
  325. </div>