RestActions.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. MWF.xApplication.process.ProcessManager = MWF.xApplication.process.ProcessManager || {};
  2. MWF.xApplication.process.ProcessManager.Actions = MWF.xApplication.process.ProcessManager.Actions || {};
  3. MWF.xDesktop.requireApp("process.ProcessManager", "package", null, false);
  4. MWF.require("MWF.xDesktop.Actions.RestActions", null, false);
  5. MWF.require("MWF.widget.UUID", null, false);
  6. MWF.xApplication.process.ProcessManager.Actions.RestActions = new Class({
  7. initialize: function(){
  8. this.action = new MWF.xDesktop.Actions.RestActions("/Actions/action.json", "x_processplatform_assemble_designer", "x_component_process_ProcessManager");
  9. },
  10. getId: function(count, success, failure, async){
  11. this.action.invoke({"name": "getId","async": async, "parameter": {"count": count}, "success": success, "failure": failure});
  12. },
  13. getUUID: function(success){
  14. var id = "";
  15. this.action.invoke({"name": "getId","async": false, "parameter": {"count": "1"}, "success": function(ids){
  16. id = ids.data[0].id;
  17. if (success) success(id);
  18. }, "failure": null});
  19. //this.action.invoke({"name": "getId","async": false, "parameter": {"count": "1"}, "success": function(ids){
  20. // id = ids.data[0].id;
  21. // if (success) success(id);
  22. //}, "failure": null, "withCredentials": false});
  23. return id;
  24. },
  25. listApplication: function(categoryName, success, failure, async){
  26. if (categoryName){
  27. this.action.invoke({"name": "listApplicationByCategory","async": async, "parameter": {"applicationCategory": categoryName}, "success": success, "failure": failure});
  28. }else{
  29. this.action.invoke({"name": "listApplication","async": async, "success": success, "failure": failure});
  30. }
  31. },
  32. getApplication: function(application, success, failure, async){
  33. this.action.invoke({"name": "getApplication","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  34. },
  35. saveApplication: function(applicationData, success, failure){
  36. if (applicationData.id){
  37. this.updateApplication(applicationData, success, failure);
  38. }else{
  39. this.addApplication(applicationData, success, failure);
  40. }
  41. },
  42. updateApplication: function(applicationData, success, failure){
  43. this.action.invoke({"name": "updataApplication","data": applicationData,"parameter": {"id": applicationData.id},"success": success,"failure": failure});
  44. },
  45. addApplication: function(applicationData, success, failure){
  46. this.getId(1, function(json){
  47. applicationData.id = json.data[0].id;
  48. this.action.invoke({"name": "addApplication","data": applicationData,"success": success,"failure": failure});
  49. }.bind(this));
  50. },
  51. changeApplicationIcon: function(applicationId, success, failure, formData, file){
  52. this.action.invoke({"name": "updataApplicationIcon", "parameter": {"id": applicationId},"data": formData,"file": file,"success": success,"failure": failure});
  53. },
  54. listProcess: function(application, success, failure, async){
  55. this.action.invoke({"name": "listProcess","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  56. },
  57. listForm: function(application, success, failure, async){
  58. this.action.invoke({"name": "listForm","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  59. },
  60. listDictionary: function(application, success, failure, async){
  61. this.action.invoke({"name": "listDictionary","async": async, "parameter": {"application": application}, "success": success, "failure": failure});
  62. },
  63. listScript: function(application, success, failure, async){
  64. this.action.invoke({"name": "listScript","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  65. },
  66. listView: function(application, success, failure, async){
  67. this.action.invoke({"name": "listView","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  68. },
  69. listStat: function(application, success, failure, async){
  70. this.action.invoke({"name": "listStat","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  71. },
  72. listFormField: function(application, success, failure, async){
  73. this.action.invoke({"name": "listFormField","async": async, "parameter": {"id": application}, "success": success, "failure": failure});
  74. },
  75. listFormTemplate: function(success, failure, async){
  76. this.action.invoke({"name": "listFormTemplate","async": async, "success": success, "failure": failure});
  77. },
  78. listFormTemplateCategory: function(success, failure, async){
  79. this.action.invoke({"name": "listFormTemplateCategory","async": async, "success": success, "failure": failure});
  80. },
  81. listFormTemplatByCategory: function(success, failure, async){
  82. this.action.invoke({"name": "listFormTemplatByCategory","async": async, "success": success, "failure": failure});
  83. },
  84. //listFormCategory: function(lastId, count, success, failure, async){
  85. // this.action.invoke({"name": "listFormCategory","async": async, "parameter": {"id": lastId || "(0)", "count": count || "20"}, "success": success, "failure": failure});
  86. //},
  87. //listProcessCategory: function(lastId, count, success, failure, async){
  88. // this.action.invoke({"name": "listProcessCategory","async": async, "parameter": {"id": lastId || "(0)", "count": count || "20"}, "success": success, "failure": failure});
  89. //},
  90. //listForm: function(category, last, count, success, failure, async){
  91. // this.action.invoke({"name": "listForm","async": async, "parameter": {"cid": category, "id": last || "(0)", "count": count || "20"}, "success": success, "failure": failure});
  92. //},
  93. //listProcess: function(category, last, count, success, failure, async){
  94. // this.action.invoke({"name": "listProcess","async": async, "parameter": {"cid": category, "id": last || "(0)", "count": count || "20"}, "success": success, "failure": failure});
  95. //},
  96. getForm: function(form, success, failure, async){
  97. this.action.invoke({"name": "getForm","async": async, "parameter": {"id": form}, "success": success, "failure": failure});
  98. },
  99. getView: function(id, success, failure, async){
  100. this.action.invoke({"name": "getView","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  101. },
  102. getStat: function(id, success, failure, async){
  103. this.action.invoke({"name": "getStat","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  104. },
  105. getProcess: function(process, success, failure, async){
  106. this.action.invoke({"name": "getProcess","async": async, "parameter": {"id": process}, "success": success, "failure": failure});
  107. },
  108. getDictionary: function(id, success, failure, async){
  109. this.action.invoke({"name": "getDictionary","async": async, "parameter": {"applicationDict": id}, "success": success, "failure": failure});
  110. },
  111. getScript: function(id, success, failure, async){
  112. this.action.invoke({"name": "getScript","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  113. },
  114. getScriptByName: function(name, application, success, failure, async){
  115. this.action.invoke({"name": "getScriptByName","async": async, "parameter": {"name": name, "applicationId": application}, "success": success, "failure": failure});
  116. },
  117. getFormTemplate: function(id, success, failure, async){
  118. this.action.invoke({"name": "getFormTemplate","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  119. },
  120. //getProcessCategory: function(id, success, failure, async){
  121. // this.action.invoke({"name": "getProcessCategory","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  122. //},
  123. //getFormCategory: function(id, success, failure, async){
  124. // this.action.invoke({"name": "getFormCategory","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  125. //},
  126. //saveProcessCategory: function(categoryData, success, failure){
  127. // if (categoryData.id){
  128. // this.updateProcessCategory(categoryData, success, failure);
  129. // }else{
  130. // this.addProcessCategory(categoryData, success, failure);
  131. // }
  132. //},
  133. //updateProcessCategory: function(categoryData, success, failure){
  134. // this.action.invoke({"name": "updataProcessCategory","data": categoryData,"parameter": {"id": categoryData.id},"success": success,"failure": failure});
  135. //},
  136. //addProcessCategory: function(categoryData, success, failure){
  137. // this.getId(1, function(json){
  138. // categoryData.id = json.data[0].id;
  139. // this.action.invoke({"name": "addProcessCategory","data": categoryData,"success": success,"failure": failure});
  140. // }.bind(this));
  141. //},
  142. saveProcess: function(processData, success, failure){
  143. if (!processData.isNewProcess){
  144. this.updateProcess(processData, success, failure);
  145. }else{
  146. this.addProcess(processData, success, failure);
  147. }
  148. },
  149. addProcess: function(processData, success, failure){
  150. this.action.invoke({"name": "addProcess","data": processData,"parameter": {"id": processData.categoryId},"success": success,"failure": failure});
  151. },
  152. updateProcess: function(processData, success, failure){
  153. this.action.invoke({"name": "updataProcess","data": processData,"parameter": {"id": processData.id},"success": success,"failure": failure});
  154. },
  155. deleteProcess: function(id, success, failure, async){
  156. this.action.invoke({"name": "removeProcess", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  157. },
  158. saveForm: function(formData, mobileData, fieldList, success, failure){
  159. if (!formData.isNewForm){
  160. this.updateForm(formData, mobileData, fieldList, success, failure);
  161. }else{
  162. this.addForm(formData, mobileData, fieldList, success, failure);
  163. }
  164. },
  165. updateForm: function(formData, mobileData, fieldList, success, failure){
  166. var data, mobileDataStr;
  167. if (formData) data = MWF.encodeJsonString(JSON.encode(formData));
  168. if (mobileData) mobileDataStr = MWF.encodeJsonString(JSON.encode(mobileData));
  169. var json = {
  170. "id": formData.json.id,
  171. "name": formData.json.name,
  172. "alias": formData.json.name,
  173. "description": formData.json.description,
  174. "application": formData.json.application,
  175. "icon": formData.json.formIcon,
  176. "formFieldList": fieldList
  177. };
  178. if (formData) json.data = data;
  179. if (mobileData) json.mobileData = mobileDataStr;
  180. this.action.invoke({"name": "updataForm","data": json,"parameter": {"id": formData.json.id},"success": success,"failure": failure});
  181. },
  182. addForm: function(formData, mobileData, fieldList, success, failure){
  183. var data, mobileDataStr;
  184. if (!formData.json.id){
  185. this.getUUID(function(id){
  186. formData.json.id = id;
  187. //if (formData) formData.isNewForm = false;
  188. //if (mobileData) mobileData.isNewForm = false;
  189. if (formData) data = MWF.encodeJsonString(JSON.encode(formData));
  190. if (mobileData) mobileDataStr = MWF.encodeJsonString(JSON.encode(mobileData));
  191. var json = {
  192. "id": formData.json.id,
  193. "name": formData.json.name,
  194. "alias": formData.json.name,
  195. "description": formData.json.description,
  196. "application": formData.json.application,
  197. "icon": formData.json.formIcon,
  198. "formFieldList": fieldList
  199. };
  200. if (formData) json.data = data;
  201. if (mobileData) json.mobileData = mobileDataStr;
  202. this.action.invoke({"name": "addForm","data": json, "parameter": {"id": formData.json.categoryId}, "success": success,"failure": failure});
  203. }.bind(this));
  204. }else{
  205. //if (formData) formData.isNewForm = false;
  206. //if (mobileData) mobileData.isNewForm = false;
  207. if (formData) data = MWF.encodeJsonString(JSON.encode(formData));
  208. if (mobileData) mobileData = MWF.encodeJsonString(JSON.encode(mobileData));
  209. var json = {
  210. "id": formData.json.id,
  211. "name": formData.json.name,
  212. "alias": formData.json.name,
  213. "description": formData.json.description,
  214. "application": formData.json.application
  215. };
  216. if (formData) json.data = data;
  217. if (mobileData) json.mobileData = mobileData;
  218. this.action.invoke({"name": "addForm","data": json, "parameter": {"id": formData.json.categoryId}, "success": success,"failure": failure});
  219. }
  220. },
  221. deleteForm: function(id, success, failure, async){
  222. this.action.invoke({"name": "removeForm", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  223. },
  224. addFormTemplate: function(formData, mobileData, templateData, success, failure){
  225. var data, mobileDataStr;
  226. debugger;
  227. this.getUUID(function(id){
  228. //formData.json.id = id;
  229. templateData.id = id;
  230. if (formData){
  231. var tFormData = Object.clone(formData);
  232. tFormData.json.id = id;
  233. tFormData.json.name = templateData.name;
  234. data = MWF.encodeJsonString(JSON.encode(tFormData));
  235. }
  236. if (mobileData){
  237. var tMobileData = Object.clone(mobileData);
  238. tMobileData.json.id = id;
  239. tMobileData.json.name = templateData.name;
  240. mobileDataStr = MWF.encodeJsonString(JSON.encode(tMobileData));
  241. }
  242. //templateData.name
  243. //templateData.category
  244. //templateData.description
  245. if (formData) templateData.data = data;
  246. if (mobileData) templateData.mobileData = mobileDataStr;
  247. this.action.invoke({"name": "addFormTemplate","data": templateData, "success": success,"failure": failure});
  248. }.bind(this));
  249. },
  250. deleteFormTemplate: function(id, success, failure, async){
  251. this.action.invoke({"name": "deleteFormTemplate", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  252. },
  253. saveView: function(viewData, success, failure){
  254. if (!viewData.isNewView){
  255. this.updateView(viewData, success, failure);
  256. }else{
  257. viewData.isNewView = false;
  258. this.addView(viewData, success, failure);
  259. }
  260. },
  261. updateView: function(viewData, success, failure){
  262. var data =viewData.data;
  263. viewData.data = JSON.encode(viewData.data);
  264. this.action.invoke({"name": "updataView","data": viewData,"parameter": {"id": viewData.id},"success": success,"failure": failure});
  265. viewData.data = data;
  266. },
  267. addView: function(viewData, success, failure){
  268. var data =viewData.data;
  269. viewData.data = JSON.encode(viewData.data);
  270. if (!data.id){
  271. this.getUUID(function(id){
  272. viewData.id = id;
  273. this.action.invoke({"name": "addView","data": viewData, "success": success,"failure": failure});
  274. viewData.data = data;
  275. }.bind(this));
  276. }else{
  277. this.action.invoke({"name": "addView","data": viewData, "success": success,"failure": failure});
  278. viewData.data = data;
  279. }
  280. },
  281. saveStat: function(data, success, failure){
  282. if (!data.isNewView){
  283. this.updateStat(data, success, failure);
  284. }else{
  285. data.isNewView = false;
  286. this.addStat(data, success, failure);
  287. }
  288. },
  289. updateStat: function(statData, success, failure){
  290. var data =statData.data;
  291. statData.data = JSON.encode(statData.data);
  292. this.action.invoke({"name": "updataStat","data": statData,"parameter": {"id": statData.id},"success": success,"failure": failure});
  293. statData.data = data;
  294. },
  295. addStat: function(statData, success, failure){
  296. var data =statData.data;
  297. statData.data = JSON.encode(statData.data);
  298. if (!data.id){
  299. this.getUUID(function(id){
  300. statData.id = id;
  301. this.action.invoke({"name": "addStat","data": statData, "success": success,"failure": failure});
  302. statData.data = data;
  303. }.bind(this));
  304. }else{
  305. this.action.invoke({"name": "addView","data": statData, "success": success,"failure": failure});
  306. statData.data = data;
  307. }
  308. },
  309. deleteView: function(id, success, failure, async){
  310. this.action.invoke({"name": "removeView", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  311. },
  312. deleteStat: function(id, success, failure, async){
  313. this.action.invoke({"name": "removeStat", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  314. },
  315. saveDictionary: function(data, success, failure){
  316. if (data.id){
  317. this.updateDictionary(data, success, failure);
  318. }else{
  319. this.addDictionary(data, success, failure);
  320. }
  321. },
  322. updateDictionary: function(data, success, failure){
  323. this.action.invoke({"name": "updataDictionary","data": data,"parameter": {"applicationDict": data.id},"success": success,"failure": failure});
  324. },
  325. addDictionary: function(data, success, failure){
  326. if (!data.id){
  327. var dirData = Object.clone(data);
  328. this.getUUID(function(id){
  329. dirData.id = id;
  330. this.action.invoke({"name": "addDictionary","data": dirData,"success": success,"failure": failure});
  331. }.bind(this));
  332. }
  333. },
  334. deleteDictionary: function(id, success, failure, async){
  335. this.action.invoke({"name": "removeDictionary", "async": async, "parameter": {"applicationDict": id}, "success": success, "failure": failure});
  336. },
  337. saveScript: function(data, success, failure){
  338. if (!data.isNewScript){
  339. this.updateScript(data, success, failure);
  340. }else{
  341. this.addScript(data, success, failure);
  342. }
  343. },
  344. updateScript: function(data, success, failure){
  345. this.action.invoke({"name": "updataScript","data": data,"parameter": {"id": data.id},"success": success,"failure": failure});
  346. },
  347. addScript: function(data, success, failure){
  348. //if (!data.id){
  349. // thi.getUUID(function(id){
  350. // data.id = id;
  351. this.action.invoke({"name": "addScript","data": data,"success": success,"failure": failure});
  352. // }.bind(this));
  353. //}
  354. },
  355. deleteScript: function(id, success, failure, async){
  356. this.action.invoke({"name": "removeScript", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  357. },
  358. loadView: function(id, success, failure, async){
  359. this.action.invoke({"name": "loadView","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  360. },
  361. loadStat: function(id, success, failure, async){
  362. this.action.invoke({"name": "loadStat","async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  363. }
  364. });