queryWfStep.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. define(function (require) {
  2. return function () {
  3. var $grid1, $grid2, $form;
  4. // 输入搜索文本后点击回车按钮查询列表
  5. function enterQueryGrid1(e) {
  6. if (e.keyCode === 13) {
  7. var tmp = $(this).val();
  8. $form.formSet({queryProperties: tmp});
  9. queryGrid1();
  10. }
  11. }
  12. function queryGrid1() {
  13. $grid1.reload({
  14. url: api('/sys/wf/query'),
  15. mtype: 'GET',
  16. queryParams: $form.formGet()
  17. }, true);
  18. if ($grid2 != undefined) {
  19. $grid2.jqGrid("clearGridData");
  20. }
  21. }
  22. function queryGrid2(rowid) {
  23. var row = $grid1.rowData(rowid);
  24. if (!row) {
  25. $.yvan.msg('请先选择一行数据');
  26. return;
  27. }
  28. var queryUrl = '/sys/wfStep/query';// 自行替换此参数
  29. var queryData = {wfId: row.wfId};// 多个参数自行新增
  30. $grid2.reload({
  31. mtype: 'GET',
  32. url: api(queryUrl),
  33. queryParams: queryData
  34. });
  35. }
  36. //获取平台列表
  37. function getSysList() {
  38. var _datas = [];
  39. _datas.push({
  40. "id": "",
  41. "text": "全部",
  42. "selected": true
  43. });
  44. $.yvan.ajax({
  45. url: api('/sys/system/query'),
  46. data: {status: 1},
  47. method: 'post',
  48. async: false,
  49. success: function (data) {
  50. if (data.data != null && data.data != undefined) {
  51. for (var i = 0; i < data.data.length; i++) {
  52. _datas.push({
  53. "id": data.data[i].sysId,
  54. "text": data.data[i].sysName
  55. })
  56. }
  57. }
  58. }
  59. });
  60. return _datas;
  61. }
  62. // 更新启用停用状态
  63. function updateStatus() {
  64. var row = $grid1.rowData();
  65. if (!row) {
  66. $.yvan.msg('请先选择一行数据');
  67. return;
  68. }
  69. var obj = {};
  70. obj.name = row.wfName;// 自行替换此参数
  71. obj.status = row.status;
  72. obj.isTree = 0;// 树为1,非树为0
  73. obj = setStatusMsg(obj); //返回rtnStatus
  74. var msg = obj.msg;
  75. var status = obj.rtnStatus;
  76. /*|-----------------------自行替换start-----------------------*/
  77. var apiUrl = '/sys/wf/updateStatus';// 自行替换此参数
  78. var apiData = {
  79. wfId: row.wfId,// 自行替换此参数
  80. status: status
  81. };
  82. /*-----------------------自行替换end-----------------------|*/
  83. $.yvan.confirm(msg, {
  84. yes: function (index) {
  85. $.yvan.ajax({
  86. method: 'post',
  87. url: api(apiUrl),
  88. data: apiData,
  89. success: function (data) {
  90. $.yvan.msg(data.msg);
  91. $grid1.reload();
  92. }
  93. });
  94. }
  95. });
  96. }
  97. // 更新启用停用状态
  98. function updateStatusStep() {
  99. var row = $grid2.rowData();
  100. if (!row) {
  101. $.yvan.msg('请先选择一行数据');
  102. return;
  103. }
  104. var obj = {};
  105. obj.name = row.stepName;// 自行替换此参数
  106. obj.status = row.status;
  107. obj.isTree = 1;// 树为1,非树为0
  108. obj = setStatusMsg(obj); //返回rtnStatus
  109. var msg = obj.msg;
  110. var status = obj.rtnStatus;
  111. /*|-----------------------自行替换start-----------------------*/
  112. var apiUrl = '/sys/wfStep/updateStatus';// 自行替换此参数
  113. var apiData = {
  114. stepId: row.stepId,// 自行替换此参数
  115. status: status
  116. };
  117. /*-----------------------自行替换end-----------------------|*/
  118. $.yvan.confirm(msg, {
  119. yes: function (index) {
  120. $.yvan.ajax({
  121. method: 'post',
  122. url: api(apiUrl),
  123. data: apiData,
  124. success: function (data) {
  125. $.yvan.msg(data.msg);
  126. $grid2.reload();
  127. }
  128. });
  129. }
  130. });
  131. }
  132. // 搜索按钮
  133. var queryToolbarTitle = '业务流程管理';// 自行替换此参数
  134. var queryToolbar = {
  135. xtype: 'toolbar', title: queryToolbarTitle, items: [
  136. {
  137. text: '查询', iconCls: 'fa fa-search', onClick: function () {
  138. queryGrid1();
  139. }
  140. }, {
  141. text: '重置', iconCls: 'fa fa-refresh', onClick: function () {
  142. $form.formClear();
  143. queryGrid1();
  144. }
  145. }, {
  146. text: '关闭', iconCls: 'fa fa-times-circle', onClick: function () {
  147. App.closeMe(this);
  148. }
  149. }
  150. ]
  151. };
  152. // 搜索条件
  153. var queryFormPrompt = '任务编码/名称/说明';// 自行替换此参数
  154. var queryForm = {
  155. onRender: function () {
  156. $form = $(this);
  157. },
  158. xtype: 'form',
  159. items: [[
  160. {
  161. xtype: 'textbox',
  162. label: '检索条件',
  163. name: 'queryProperties',
  164. prompt: queryFormPrompt,
  165. labelWidth: 'auto',
  166. events: {keydown: enterQueryGrid1}
  167. }, {
  168. xtype: 'yvselect',
  169. label: '所属平台',
  170. name: 'sysId',
  171. labelWidth: 'auto',
  172. width: 280,
  173. data: getSysList(),
  174. onChange: function () {
  175. queryGrid1();
  176. }
  177. }
  178. ]]
  179. };
  180. // 列表1增删改查按钮
  181. var gridToolbarTitle1 = '业务流程列表';// 自行替换此参数
  182. var gridToolbar1 = {
  183. xtype: 'toolbar', title: gridToolbarTitle1, items: [
  184. {
  185. text: '新增', iconCls: 'fa fa-plus-circle', onClick: function () {
  186. var dlg = require('app/sys/wf/dialogWf.js')({
  187. isEdit: false,
  188. confirm: function () {
  189. $grid1.reload();
  190. }
  191. });
  192. $.yvan.showDialog(this, dlg);
  193. }
  194. },
  195. {
  196. text: '编辑', iconCls: 'fa fa-pencil-square-o', onClick: function () {
  197. var row = $grid1.rowData();
  198. if (!row) {
  199. $.yvan.msg('选择一行数据');
  200. return;
  201. }
  202. var dlg = require('/app/sys/wf/dialogWf.js')({
  203. isEdit: true,
  204. wfId: row.wfId,
  205. confirm: function () {
  206. $grid1.reload();
  207. }
  208. });
  209. $.yvan.showDialog(this, dlg);
  210. }
  211. }, {
  212. text: '启用/停用', iconCls: 'fa fa-circle-o-notch', onClick: function () {
  213. updateStatus();
  214. }
  215. }
  216. ]
  217. };
  218. // 列表2增删改查按钮
  219. var gridToolbarTitle2 = '业务流程步骤列表';// 自行替换此参数
  220. var gridToolbar2 = {
  221. xtype: 'toolbar', title: gridToolbarTitle2, items: [
  222. {
  223. text: '新增', iconCls: 'fa fa-plus-circle', onClick: function () {
  224. var sysId = 0, wfId = 0, treeUp = 0;
  225. var row1 = $grid1.rowData();
  226. if (!row1) {
  227. $.yvan.msg('选择一行数据');
  228. return;
  229. }
  230. sysId = row1.sysId;
  231. wfId = row1.wfId;
  232. var row2 = $grid2.rowData();
  233. if (row2) {
  234. treeUp = row2.treeUp;
  235. }
  236. var dlg = require('/app/sys/wf/dialogWfStep.js')({
  237. isEdit: false,
  238. sysId: sysId,
  239. wfId: wfId,
  240. treeUp: treeUp,
  241. confirm: function () {
  242. $grid2.reload();
  243. }
  244. });
  245. $.yvan.showDialog(this, dlg);
  246. }
  247. }, {
  248. text: '新增下级', iconCls: 'fa fa-plus-circle', onClick: function () {
  249. var row1 = $grid1.rowData();
  250. if (!row1) {
  251. $.yvan.msg('选择一行数据');
  252. return;
  253. }
  254. var row2 = $grid2.rowData();
  255. if (!row2) {
  256. $.yvan.msg('选择一行数据');
  257. return;
  258. }
  259. if (row2.treeLeaf == 1) {
  260. $.yvan.msg('无法添加下级');
  261. return;
  262. }
  263. var dlg = require('/app/sys/wf/dialogWfStep.js')({
  264. isEdit: false,
  265. sysId: row1.sysId,
  266. wfId: row1.wfId,
  267. taskType: row2.taskType,
  268. treeUp: row2.stepId,
  269. confirm: function () {
  270. $grid2.reload();
  271. }
  272. });
  273. $.yvan.showDialog(this, dlg);
  274. }
  275. }, {
  276. text: '编辑', iconCls: 'fa fa-pencil-square-o', onClick: function () {
  277. var row1 = $grid1.rowData();
  278. if (!row1) {
  279. $.yvan.msg('选择一行数据');
  280. return;
  281. }
  282. var row2 = $grid2.rowData();
  283. if (!row2) {
  284. $.yvan.msg('选择一行数据');
  285. return;
  286. }
  287. var dlg = require('/app/sys/wf/dialogWfStep.js')({
  288. isEdit: true,
  289. sysId: row1.sysId,
  290. stepId: row2.stepId,
  291. confirm: function () {
  292. $grid1.reload();
  293. }
  294. });
  295. $.yvan.showDialog(this, dlg);
  296. }
  297. }, {
  298. text: '同级排序', iconCls: 'fa fa-pencil-square-o', onClick: function () {
  299. var row1 = $grid1.rowData();
  300. if (!row1) {
  301. $.yvan.msg('请先选择一行数据');
  302. return;
  303. }
  304. var row2 = $grid2.rowData();
  305. $.yvan.showDialog(this,
  306. require('/app/sys/wf/dialogWfStepSort.js')({
  307. confirm: function () {
  308. $grid2.reload();
  309. },
  310. // stepId: row2.stepId,
  311. wfId: row1.wfId,
  312. treeLev: row2.treeLev,
  313. treeUp: row2.treeUp,
  314. treeCode: row2.treeCode,
  315. })
  316. );
  317. }
  318. }, {
  319. text: '启用/停用', iconCls: 'fa fa-circle-o-notch', onClick: function () {
  320. updateStatusStep();
  321. }
  322. }
  323. ]
  324. };
  325. //界面
  326. return {
  327. north: {
  328. height: 90,
  329. split: true,
  330. border: false,
  331. items: [
  332. queryToolbar,
  333. queryForm
  334. ]
  335. },
  336. west: {
  337. width: "50%",
  338. border: false,
  339. split: true,
  340. items: {
  341. onRender: function () {
  342. $grid1 = $(this);
  343. //queryGrid1();
  344. },
  345. xtype: 'grid',
  346. toolbar: gridToolbar1,
  347. pagination: false,
  348. idField: 'wfId',
  349. title: '业务流程列表',
  350. columns: [[
  351. {title: '业务流程ID', field: 'wfId', hidden: true},
  352. {title: '系统ID', field: 'sysId', hidden: true},
  353. {title: '流程编码', field: 'wfCode'},
  354. {title: '流程名称', field: 'wfName'},
  355. {title: '流程说明', field: 'wfDesp'},
  356. {title: '步骤数', field: 'stepNum', hidden: true},
  357. {title: '任务种类', field: 'taskNum', hidden: true},
  358. {title: '启用状态', field: 'status', hidden: true},
  359. {title: '启用状态', field: 'statusView', align: "center", formatter: $.fn.fmatter.statusView},
  360. {title: '新增时间', field: 'timeCreate', formatter: 'ts', hidden: true},
  361. {title: '更新时间', field: 'timeUpdate', formatter: 'ts', hidden: true}
  362. ]],
  363. onSelectRow: function (rowid) {
  364. queryGrid2(rowid);
  365. }
  366. }
  367. },
  368. center: {
  369. width: '50%',
  370. items: {
  371. onRender: function () {
  372. $grid2 = $(this);
  373. },
  374. xtype: 'grid',
  375. toolbar: gridToolbar2,
  376. pagination: false,
  377. idField: 'stepId',
  378. title: '业务流程步骤列表',
  379. columns: [[
  380. {field: 'stepId', hidden: true},
  381. {field: 'stepSort', title: '步骤排序', hidden: true},
  382. {field: 'stepName', title: '步骤名称', hidden: true},
  383. {field: 'stepNameView', title: '步骤', formatter: $.fn.fmatter.treeNameView},// 树结构需要fmatter
  384. {field: 'taskType', title: '任务类型', hidden: true},
  385. {field: 'stepCode', title: '步骤编码'},
  386. {field: 'taskName', title: '任务类型'},
  387. {field: 'treeCode', title: '树编码', hidden: true},
  388. {field: 'treeUp', title: '上级ID', hidden: true},
  389. {field: 'treeLev', title: '树级别', hidden: true},
  390. {field: 'treePath', title: '树路径', hidden: true},
  391. {field: 'treeSort', title: '树排序', hidden: true},
  392. {field: 'treeLeaf', title: '树叶子', hidden: true},
  393. {field: 'status', title: '启用状态', hidden: true},
  394. {field: 'statusView', title: '启用状态', align: "center", formatter: $.fn.fmatter.statusView},
  395. {field: 'userCreate', title: '新增人', hidden: true},
  396. {field: 'timeCreate', title: '新增时间', formatter: $.fn.fmatter.ts, hidden: true},
  397. {field: 'userUpdate', title: '修改人', hidden: true},
  398. {field: 'timeUpdate', title: '修改时间', formatter: $.fn.fmatter.ts, hidden: true}
  399. ]]
  400. }
  401. }
  402. };
  403. };
  404. });