formedit_yj.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. 'use strict';
  2. var app = angular.module('app', [
  3. ]);
  4. app.controller("formeditCtrl", ["$scope", "$http", "$timeout", "$sce", function ($scope, $http, $timeout, $sce) {
  5. var self = this;
  6. var s4 = new SM4Util();
  7. self.userId = $.cookie("GlWorkPlatform-userid");
  8. self.userName = $.cookie("GlWorkPlatform-chineseName");
  9. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  10. self.routeid = sp.getUrlName("routeid");
  11. self.routeinfoid = sp.getUrlName("routeinfoid");
  12. self.directionid = sp.getUrlName("directionid");
  13. self.formeditid = sp.getUrlName("formeditid");
  14. self.mbid = sp.getUrlName("mbid");
  15. self.fjid = sp.getUrlName("fjid");
  16. self.docmode = sp.getUrlName("docmode");
  17. self.dotype = sp.getUrlName("dotype");
  18. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  19. self.get_lastReturnPage = sp.getUrlName("lastReturnPage");
  20. self.get_type = sp.getUrlName("type");
  21. self.return = "../list.html?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
  22. self.deviceType = localStorage.getItem("tjJxtGoldenlinkWork-deviceType");
  23. var postCfg = {
  24. headers: {
  25. 'Content-Type': 'application/json',
  26. 'Authorization': "Bearer " + self.get_AccessToken
  27. }
  28. };
  29. self.FormTitle = $.cookie("GlWorkPlatform-SYSNAME");
  30. //初始化右上角按钮
  31. self.buttonList = []
  32. self.readonly = {
  33. LDPS: false,
  34. BGSYJ: false,
  35. FLGWYJ: false,
  36. XXGKBYJ: false,
  37. DFGZS: false,
  38. DFGZSZS: false,
  39. BLJG: false,
  40. SJBJRQ: false,
  41. GKSXLB: false,
  42. SFSF: false,
  43. JE: false,
  44. SFJF: false
  45. }
  46. //上传附件
  47. self.arrayFile = [];
  48. self.beforeUpload = function () {
  49. if (self.data.ID == 0) {
  50. var dataArray = [];
  51. self.data.LDPS = "";
  52. dataArray.push(self.data);
  53. var data = {
  54. ckey: "SX_SZFZBYFSQGKXXYJB",
  55. id: self.data.ID,
  56. routeid: self.routeid,
  57. routeinfoid: self.routeinfoid,
  58. //routeinfotitle: "",
  59. directionid: self.directionid,
  60. formeditid: self.formeditid,
  61. data: JSON.stringify(dataArray)
  62. }
  63. $http.post(apiurljs.login + "g2app/abase/saveData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  64. .success(function (obj) {
  65. var res = strToJson(s4.decryptData_CBC(obj.data));
  66. if (res.code == 0) {
  67. self.data.ID = res.data.ID;
  68. self.routeid = res.data.ROUTEID;
  69. self.routeinfoid = res.data.ROUTEINFOID;
  70. self.getSwenList(1)
  71. self.upload()
  72. } else {
  73. sp.dialog(res.message)
  74. }
  75. })
  76. } else {
  77. self.upload()
  78. }
  79. }
  80. self.upload = function () {
  81. $('#fileupload').fileupload({
  82. url: apiurljs.login + 'g2app/abase/saveUploadFileName',
  83. dataType: 'json',
  84. beforeSend: function (xhr, data) {
  85. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  86. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SX_SZFZBYFSQGKXXYJB,column=DFGZS,routeinfoid=" + self.routeinfoid + ",loaded=" + data.loaded + ",total=" + data.total));
  87. },
  88. // 上传完成后的执行逻辑
  89. done: function (e, data) {
  90. var arrayFile = strToJson(s4.decryptData_CBC(data.result.data).slice(0, s4.decryptData_CBC(data.result.data).lastIndexOf("}") + 1))
  91. self.arrayFile = arrayFile.data;
  92. $scope.$apply();//绑定数据局部刷新
  93. }
  94. })
  95. $timeout(function () {
  96. $("#fileupload").trigger("click")
  97. }, 1)
  98. }
  99. //上传附件
  100. self.arrayFile1 = [];
  101. self.beforeUpload1 = function () {
  102. if (self.data.ID == 0) {
  103. var dataArray = [];
  104. self.data.LDPS = "";
  105. dataArray.push(self.data);
  106. var data = {
  107. ckey: "SX_SZFZBYFSQGKXXYJB",
  108. id: self.data.ID,
  109. routeid: self.routeid,
  110. routeinfoid: self.routeinfoid,
  111. routeinfotitle: "",
  112. directionid: self.directionid,
  113. formeditid: self.formeditid,
  114. data: JSON.stringify(dataArray)
  115. }
  116. $http.post(apiurljs.login + "g2app/abase/saveData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  117. .success(function (obj) {
  118. var res = strToJson(s4.decryptData_CBC(obj.data));
  119. if (res.code == 0) {
  120. self.data.ID = res.data.ID;
  121. self.routeid = res.data.ROUTEID;
  122. self.routeinfoid = res.data.ROUTEINFOID;
  123. self.getSwenList(1)
  124. self.upload1()
  125. } else {
  126. sp.dialog(res.message)
  127. }
  128. })
  129. } else {
  130. self.upload1()
  131. }
  132. }
  133. self.upload1 = function () {
  134. $('#fileupload1').fileupload({
  135. url: apiurljs.login + 'g2app/abase/saveUploadFileName',
  136. dataType: 'json',
  137. beforeSend: function (xhr, data) {
  138. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  139. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SX_SZFZBYFSQGKXXYJB,column=DFGZSZS,routeinfoid=" + self.routeinfoid + ",loaded=" + data.loaded + ",total=" + data.total));
  140. },
  141. // 上传完成后的执行逻辑
  142. done: function (e, data) {
  143. var arrayFile = strToJson(s4.decryptData_CBC(data.result.data).slice(0, s4.decryptData_CBC(data.result.data).lastIndexOf("}") + 1))
  144. self.arrayFile1 = arrayFile.data;
  145. $scope.$apply();//绑定数据局部刷新
  146. }
  147. })
  148. $timeout(function () {
  149. $("#fileupload1").trigger("click")
  150. }, 1)
  151. }
  152. self.getSwenList = function (n) {
  153. self.SwenList = [];
  154. var data = {
  155. directionid: self.directionid,
  156. userid: self.userId,
  157. routeinfoid: self.routeinfoid,
  158. routeid: self.routeid,
  159. formeditid: ""
  160. }
  161. $http.post(apiurljs.login + "g2app/abase/queryDataLink", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  162. .success(function (obj) {
  163. var res = strToJson(s4.decryptData_CBC(obj.data));
  164. $.each(res.data.LINKS, function (index, item) {
  165. if (item.TEMPFORM.indexOf("formedit_yj.html") > -1) {
  166. self.Title = item.VNAME;
  167. }
  168. if (item.TEMPFORM.indexOf("?docmode") > 0) {
  169. if (item.TEMPFORM.indexOf("attachlist") > -1) {
  170. item.TEMPFORM = item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  171. } else {
  172. item.TEMPFORM = "../" + item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  173. }
  174. } else {
  175. item.TEMPFORM = "#";
  176. }
  177. self.SwenList.push(item)
  178. })
  179. self.SwenList.push({
  180. VNAME: "流程图",
  181. DIRECTIONID: self.SwenList[0].DIRECTIONID,
  182. TEMPFORM: "modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
  183. })
  184. if (n == 0) {
  185. self.getGKSXLB()
  186. } else {
  187. self.getData()
  188. }
  189. })
  190. }
  191. self.getSwenList(0)
  192. self.getGKSXLB = function () {
  193. var data = {
  194. ckey: "CODE_GKSXLB",
  195. routeinfoid: self.routeinfoid
  196. }
  197. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  198. .success(function (obj) {
  199. var res = strToJson(s4.decryptData_CBC(obj.data));
  200. self.GKSXLB = res.data.CODE_GKSXLB;
  201. self.getData()
  202. })
  203. }
  204. //获取数据
  205. self.getData = function () {
  206. var data = {
  207. ckey: "SX_SZFZBYFSQGKXXYJB",
  208. id: 0,
  209. directionid: self.directionid,
  210. formeditid: self.formeditid,
  211. routeid: self.routeid,
  212. routeinfoid: self.routeinfoid
  213. }
  214. $http.post(apiurljs.login + "g2app/abase/queryData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  215. .success(function (obj) {
  216. var res = strToJson(s4.decryptData_CBC(obj.data));
  217. self.data = {
  218. ID: res.data.SX_SZFZBYFSQGKXXYJB.ID,
  219. APPCODE: res.data.SX_SZFZBYFSQGKXXYJB.APPCODE,
  220. LDPS: res.data.SX_SZFZBYFSQGKXXYJB.LDPS,
  221. BGSYJ: res.data.SX_SZFZBYFSQGKXXYJB.BGSYJ,
  222. FLGWYJ: res.data.SX_SZFZBYFSQGKXXYJB.FLGWYJ,
  223. XXGKBYJ: res.data.SX_SZFZBYFSQGKXXYJB.XXGKBYJ,
  224. DFGZS: res.data.SX_SZFZBYFSQGKXXYJB.DFGZS,
  225. DFGZSZS: res.data.SX_SZFZBYFSQGKXXYJB.DFGZSZS,
  226. BLJG: res.data.SX_SZFZBYFSQGKXXYJB.BLJG == "" ? true : res.data.SX_SZFZBYFSQGKXXYJB.BLJG == "true",
  227. SJBJRQ: res.data.SX_SZFZBYFSQGKXXYJB.SJBJRQ == "" ? sp.format(sp.getLocalDate()) : sp.format(res.data.SX_SZFZBYFSQGKXXYJB.SJBJRQ),
  228. GKSXLB: res.data.SX_SZFZBYFSQGKXXYJB.GKSXLB == "" ? self.GKSXLB[0].CODE : res.data.SX_SZFZBYFSQGKXXYJB.GKSXLB,
  229. SFSF: res.data.SX_SZFZBYFSQGKXXYJB.SFSF,
  230. JE: res.data.SX_SZFZBYFSQGKXXYJB.JE,
  231. SFJF: res.data.SX_SZFZBYFSQGKXXYJB.SFJF
  232. }
  233. self.readonly = {
  234. LDPS: res.data.SX_SZFZBYFSQGKXXYJB["LDPS.EREADONLY"] == "true",
  235. BGSYJ: res.data.SX_SZFZBYFSQGKXXYJB["BGSYJ.EREADONLY"] == "true",
  236. FLGWYJ: res.data.SX_SZFZBYFSQGKXXYJB["FLGWYJ.EREADONLY"] == "true",
  237. XXGKBYJ: res.data.SX_SZFZBYFSQGKXXYJB["XXGKBYJ.EREADONLY"] == "true",
  238. DFGZS: res.data.SX_SZFZBYFSQGKXXYJB["DFGZS.EREADONLY"] == "true",
  239. DFGZSZS: res.data.SX_SZFZBYFSQGKXXYJB["DFGZSZS.EREADONLY"] == "true",
  240. BLJG: res.data.SX_SZFZBYFSQGKXXYJB["BLJG.EREADONLY"] == "true",
  241. SJBJRQ: res.data.SX_SZFZBYFSQGKXXYJB["SJBJRQ.EREADONLY"] == "true",
  242. GKSXLB: res.data.SX_SZFZBYFSQGKXXYJB["GKSXLB.EREADONLY"] == "true",
  243. SFSF: res.data.SX_SZFZBYFSQGKXXYJB["SFSF.EREADONLY"] == "true",
  244. JE: res.data.SX_SZFZBYFSQGKXXYJB["JE.EREADONLY"] == "true",
  245. SFJF: res.data.SX_SZFZBYFSQGKXXYJB["SFJF.EREADONLY"] == "true"
  246. }
  247. if (res.data.SX_SZFZBYFSQGKXXYJB.DFGZS && res.data.SX_SZFZBYFSQGKXXYJB.DFGZS != "") {
  248. self.arrayFile = JSON.parse(res.data.SX_SZFZBYFSQGKXXYJB.DFGZS);
  249. }
  250. if (res.data.SX_SZFZBYFSQGKXXYJB.DFGZSZS && res.data.SX_SZFZBYFSQGKXXYJB.DFGZSZS != "") {
  251. self.arrayFile1 = JSON.parse(res.data.SX_SZFZBYFSQGKXXYJB.DFGZSZS);
  252. }
  253. if (self.data.ID == 0) {
  254. self.filedChange = true;
  255. } else {
  256. self.filedChange = false;
  257. }
  258. self.buttonList = res.data["SX_SZFZBYFSQGKXXYJB.FUNCLIST"];
  259. self.getOpinion("LDPS")
  260. self.getOpinion("BGSYJ")
  261. self.getOpinion("FLGWYJ")
  262. self.getOpinion("XXGKBYJ")
  263. //watermark({
  264. // "watermarl_element": "app",
  265. // "watermark_txt": "测试水印内容",
  266. // "watermark_width": 150,
  267. // "watermark_height": 110,
  268. // "watermark_angle": 345
  269. //})
  270. })
  271. }
  272. //获取意见
  273. self.getOpinion = function (str) {
  274. var data = {
  275. cmanid: self.userId,
  276. routeinfoid: self.routeinfoid,
  277. routeid: "",//self.routeid,
  278. tableid: "SX_SZFZBYFSQGKXXYJB",
  279. colid: str,
  280. opiniontype: 0,
  281. orderbycol: "CDATE desc"
  282. }
  283. $http.post(apiurljs.login + "g2app/abase/queryDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  284. .success(function (obj) {
  285. var res = strToJson(s4.decryptData_CBC(obj.data));
  286. if (res.success == true) {
  287. self.YJ[str] = res.data;
  288. self.YJ[str + "STATUS"] = false;
  289. self.YJ[str].forEach(function (item) {
  290. item.CDATE = sp.datefmt("yyyy-MM-dd", item.CDATE);
  291. if (item.ROUTEID == self.routeid) {
  292. self.YJ[str + "STATUS"] = true;
  293. }
  294. })
  295. } else {
  296. sp.dialog(res.message)
  297. }
  298. })
  299. }
  300. //判断页面字段是否只读readonly、是否隐藏show
  301. self.hide = function (type, field) {
  302. if (self.dotype == 0 && type == "readonly") {
  303. return true;
  304. } else {
  305. if (self[type][field] == true) {
  306. return true;
  307. } else {
  308. return false;
  309. }
  310. }
  311. }
  312. //右上角按钮调用方法
  313. self.btnEvent = function (item) {
  314. switch (item.CODE) {
  315. case "SAVEITEM": self.btnSave(0); break;
  316. case "PRINTITEM": self.btnPrint(); break;
  317. case "MEETITEM": self.Meet(); break;
  318. case "SENDLOG": self.RouteList(); break;
  319. default: self.forward(item); break;
  320. }
  321. }
  322. //保存提交
  323. self.btnSave = function (n) {
  324. if (spngvld.submit(".sp-page-center")) {
  325. var dataArray = [];
  326. self.data.LDPS = "";
  327. self.data.BGSYJ = "";
  328. self.data.FLGWYJ = "";
  329. self.data.XXGKBYJ = "";
  330. dataArray.push(self.data);
  331. var data = {
  332. ckey: "SX_SZFZBYFSQGKXXYJB",
  333. id: self.data.ID,
  334. routeid: self.routeid,
  335. routeinfoid: self.routeinfoid,
  336. routeinfotitle: "",
  337. directionid: self.directionid,
  338. formeditid: self.formeditid,
  339. data: JSON.stringify(dataArray)
  340. }
  341. $http.post(apiurljs.login + "g2app/abase/saveData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  342. .success(function (obj) {
  343. var res = strToJson(s4.decryptData_CBC(obj.data));
  344. if (res.code == 0) {
  345. self.data.ID = res.data.ID;
  346. self.routeid = res.data.ROUTEID;
  347. self.routeinfoid = res.data.ROUTEINFOID;
  348. self.filedChange = false;
  349. if (n == 0) {
  350. sp.dialog("保存成功!");
  351. $timeout(function () {
  352. sp.dialoghide()
  353. }, 1500)
  354. self.getSwenList(1)
  355. } else if (n == 1) {
  356. self.forward(self.btnItem);
  357. } else {
  358. self.sendAll();
  359. }
  360. } else {
  361. sp.dialog(res.message)
  362. }
  363. })
  364. }
  365. }
  366. //打印
  367. self.btnPrint = function () {
  368. // 创建隐藏的可下载链接
  369. var eleLink = document.createElement('a');
  370. eleLink.download = "";
  371. eleLink.style.display = 'none';
  372. eleLink.href = apiurljs.login + "g2app/shouwen/PrintWord?data=" + encodeURIComponent(s4.encryptData_CBC("templatefilename=XZGZDT.ftl&tablename=SX_SZFZBYFSQGKXXYJB&outfilepath=/tmp/信访表单.wps&prtdate=RIQI&routeinfoid=" + self.routeinfoid));
  373. // 触发点击
  374. document.body.appendChild(eleLink);
  375. eleLink.click();
  376. // 然后移除
  377. document.body.removeChild(eleLink);
  378. //window.open(apiurljs.login + "g2app/shouwen/PrintWord?templatefilename=shouwen.ftl&tablename=SX_SZFZBYFSQGKXXYJB&outfilepath=" + apiurljs.print + "&routeinfoid=" + self.routeinfoid)
  379. }
  380. //下载附件
  381. self.download = function (item) {
  382. window.open(apiurljs.login + "g2work/files/" + item.FILEURL.slice(7))
  383. }
  384. //删除附件
  385. self.deleteFile = function (item, str) {
  386. var data = {
  387. tablename: "SX_SZFZBYFSQGKXXYJB",
  388. column: str,
  389. routeinfoid: self.routeinfoid,
  390. fileid: item.FILEID,
  391. filenames: item.FILEOLDNAME
  392. }
  393. $http.post(apiurljs.login + "g2app/abase/deleteUploadFileName", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  394. .success(function (obj) {
  395. var res = strToJson(s4.decryptData_CBC(obj.data));
  396. if (res.success == true) {
  397. if (str == "DFGZS") {
  398. self.arrayFile = res.data;
  399. } else {
  400. self.arrayFile1 = res.data;
  401. }
  402. } else {
  403. sp.dialog(res.message)
  404. }
  405. })
  406. }
  407. //签写意见编辑状态
  408. self.opinion = {
  409. LDPS: false,
  410. LDPSImg: false,
  411. BGSYJ: false,
  412. BGSYJImg: false,
  413. FLGWYJ: false,
  414. FLGWYJImg: false,
  415. XXGKBYJ: false,
  416. XXGKBYJImg: false
  417. }
  418. self.YJ = {
  419. LDPS: [],
  420. LDPSSTATUS: false,
  421. BGSYJ: [],
  422. BGSYJSTATUS: false,
  423. FLGWYJ: [],
  424. FLGWYJSTATUS: false,
  425. XXGKBYJ: [],
  426. XXGKBYJSTATUS: false
  427. }
  428. //下载意见表附件
  429. self.downLoadOption = function (item) {
  430. window.open(apiurljs.login + "g2work/files/" + item.FILEPATH.slice(7))
  431. }
  432. //删除意见表附件
  433. self.deleteOptionFile = function (file, str) {
  434. var data = {
  435. routeid: file.ROUTEID,
  436. tableid: "SX_SZFZBYFSQGKXXYJB",
  437. colid: str,
  438. fileid: file.FILEID
  439. };
  440. $http.post(apiurljs.login + "g2app/abase/deleteDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  441. .success(function (obj) {
  442. var res = strToJson(s4.decryptData_CBC(obj.data));
  443. sp.dialoghide();
  444. if (res.success) {
  445. self.getOpinion(str);
  446. } else {
  447. sp.dialog("删除失败,请联系管理员!");
  448. }
  449. });
  450. }
  451. //意见附件(上表)
  452. self.upload2 = function (str) {
  453. $('#fileupload-' + str).fileupload({
  454. url: apiurljs.login + 'g2app/abase/UploadWholeFileWithRouteAttach',
  455. dataType: 'json',
  456. beforeSend: function (xhr, data) {
  457. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  458. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SYS_ROUTE_ATTACHLIST,userid=" + self.userId + ",routeinfoid=" + self.routeinfoid
  459. + ",routeid=" + self.routeid + ",tableid=SX_SZFZBYFSQGKXXYJB,colid=" + str));
  460. },
  461. // 上传完成后的执行逻辑
  462. done: function (e, data) {
  463. self.uploading1 = false;
  464. self.getOpinion(str)
  465. }
  466. })
  467. }
  468. //签写意见
  469. self.openOpinion = function (str) {
  470. if (self.routeinfoid == 0 && self.routeid == 0) {
  471. sp.dialog("请先保存!")
  472. return;
  473. }
  474. self.opinion[str] = true;
  475. }
  476. //修改意见
  477. self.changeOpinion = function (str) {
  478. self.data[str] = self.YJ[str][0].OPINION;
  479. self.opinion[str] = true;
  480. }
  481. self.changeOpinionItem = function (str, item) {
  482. if (item.OPINIONIMAGE != "") {
  483. self.QianZi(str);
  484. self.opinion[str + "Img"] = true;
  485. }
  486. self.data[str] = item.OPINION;
  487. self.opinion[str] = true;
  488. }
  489. //提交意见
  490. self.Sopinion = function (str) {
  491. if (self.opinion[str + "Img"] == true) {
  492. self.data[str] = $("#" + str + "QZ").find("canvas")[0].toDataURL();
  493. } else {
  494. self.data[str] = $("#" + str).val();
  495. }
  496. var data = {
  497. cmanid: self.userId,
  498. routeinfoid: self.routeinfoid,
  499. routeid: self.routeid,
  500. tableid: "SX_SZFZBYFSQGKXXYJB",
  501. colid: str,
  502. opiniontype: 0,
  503. cresult: "",
  504. opinion: self.opinion[str + "Img"] == false ? self.data[str] : "",
  505. opinionimage: self.opinion[str + "Img"] == true ? self.data[str] : ""
  506. }
  507. $http.post(apiurljs.login + "g2app/abase/saveDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  508. .success(function (obj) {
  509. var res = strToJson(s4.decryptData_CBC(obj.data));
  510. if (res.success == true) {
  511. sp.dialog("保存成功!");
  512. self.getOpinion(str);
  513. self.opinion[str] = false;
  514. self.opinion[str + "Img"] = false;
  515. self.data[str] = "";
  516. self.changeFiled(str)
  517. } else {
  518. sp.dialog(res.message)
  519. }
  520. })
  521. }
  522. //删除意见
  523. self.Dopinion = function (str, item) {
  524. var data = {
  525. cmanid: self.userId,
  526. routeid: self.routeid,
  527. tableid: "SX_SZFZBYFSQGKXXYJB",
  528. colid: str,
  529. }
  530. $http.post(apiurljs.login + "g2app/abase/deleteDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  531. .success(function (obj) {
  532. var res = strToJson(s4.decryptData_CBC(obj.data));
  533. if (res.success == true) {
  534. self.getOpinion(str);
  535. self.changeFiled(str)
  536. } else {
  537. sp.dialog(res.message)
  538. }
  539. })
  540. }
  541. self.phraseText = "";//添加常用语
  542. self.phraseList = []//常用语列表
  543. //获取常用语库
  544. self.phrase = function (colid) {
  545. sp.layer("#phrase");
  546. self.colid = colid;
  547. self.getPhrase();
  548. }
  549. //添加常用语到常用语库
  550. self.Aphrase = function () {
  551. if (self.phraseText == "") {
  552. return;
  553. }
  554. var data = {
  555. cmanid: self.userId,
  556. tableid: "SX_SZFZBYFSQGKXXYJB",
  557. colid: self.colid,
  558. contents: self.phraseText
  559. }
  560. $http.post(apiurljs.login + "g2app/abase/insertDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  561. .success(function (obj) {
  562. var res = strToJson(s4.decryptData_CBC(obj.data));
  563. if (res.success == true) {
  564. self.phraseText = "";
  565. self.getPhrase();
  566. } else {
  567. sp.dialog(res.message)
  568. }
  569. })
  570. }
  571. //获取常用语库
  572. self.getPhrase = function () {
  573. var data = {
  574. cmanid: self.userId,
  575. tableid: "SX_SZFZBYFSQGKXXYJB",
  576. colid: self.colid
  577. }
  578. $http.post(apiurljs.login + "g2app/abase/queryDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  579. .success(function (obj) {
  580. var res = strToJson(s4.decryptData_CBC(obj.data));
  581. self.phraseList = res.data;
  582. self.phraseSelect = self.phraseList[0].CONTENTS;
  583. })
  584. }
  585. //从常用语库删除
  586. self.Dphrase = function () {
  587. var id = null;
  588. $.each(self.phraseList, function (index, item) {
  589. if (item.CONTENTS == self.phraseSelect) {
  590. id = item.ID;
  591. }
  592. })
  593. var data = {
  594. id: id
  595. }
  596. $http.post(apiurljs.login + "g2app/abase/deleteDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  597. .success(function (obj) {
  598. var res = strToJson(s4.decryptData_CBC(obj.data));
  599. self.getPhrase();
  600. })
  601. }
  602. //常用语确认为意见
  603. self.btnPhrase = function () {
  604. if (!self.colid) {
  605. self.nulla = self.phraseSelect;
  606. } else {
  607. self.data[self.colid] = self.phraseSelect;
  608. }
  609. sp.layerhide();
  610. }
  611. //签字—手写
  612. self.QianZi = function (str) {
  613. self.opinion[str + "Img"] = true;
  614. $timeout(function () {
  615. new lineCanvas(str + "QZ")
  616. }, 1)
  617. }
  618. //清除手写
  619. self.canvasClear = function (str) {
  620. var cxt = $("#" + str + "QZ").find("canvas")[0].getContext("2d");
  621. cxt.clearRect(0, 0, $("#" + str + "QZ").find("canvas")[0].width, $("#" + str + "QZ").find("canvas")[0].height)
  622. }
  623. //发生修改
  624. self.changeFiled = function (str) {
  625. self.filedChange = true;
  626. }
  627. //转发
  628. self.forward = function (obj) {
  629. self.btnItem = obj;
  630. if (self.filedChange == true) {
  631. self.btnSave(1)
  632. } else {
  633. $("#forwardWin").attr("src", "../../forward/forward.html?routeid=" + self.routeid + "&routeinfoid=" + self.routeinfoid + "&copyrightid=" + self.copyrightid + "&directionid=" + self.directionid + "&formeditid=" + self.formeditid + "&codefuncbutton=" + obj.CODE + "&directionidtarget=" + obj.DIRECTIONIDTARGET + "&cookie=gongkaishi")
  634. sp.layer("#forward")
  635. }
  636. }
  637. //查看流转记录
  638. self.RouteList = function () {
  639. if (self.deviceType == "pad") {
  640. window.location.href = "../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
  641. } else {
  642. sp.openNewWindow("../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1], "流程图")
  643. }
  644. //var data = {
  645. // directionid: self.directionid,
  646. // userid: self.userId,
  647. // routeid: self.routeid,
  648. // routeinfoid: self.routeinfoid,
  649. //}
  650. //$http.post(apiurljs.login + "g2app/abase/queryDataRouteList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  651. //.success(function (obj) {
  652. // var res = strToJson(s4.decryptData_CBC(obj.data));
  653. // self.routeList = res.data;
  654. // $.each(self.routeList, function (index, item) {
  655. // item.mainUser = [];
  656. // item.copyUsers = [];
  657. // $.each(item.USERS, function (index1, item1) {
  658. // if (item1.KIND == 0) {
  659. // item.mainUser.push(item1.USERNAME);
  660. // } else {
  661. // item.copyUsers.push(item1.USERNAME);
  662. // }
  663. // })
  664. // item.mainUser = item.mainUser.join(",");
  665. // item.copyUsers = item.copyUsers.join(",");
  666. // })
  667. // setTimeout(function (item) {
  668. // sp.layer("#RouteList");
  669. // }, 100);
  670. //})
  671. }
  672. //头部下滚冻结
  673. $(function () {
  674. $(".sp-page-center").css("max-height", $(window).height() - 58).css("height", $(window).height() - 58)
  675. //$("body").bind("scroll", function () {
  676. // var scrollTop = $("body").scrollTop();
  677. // if (scrollTop == 0) {
  678. // $(".FixTop").removeClass("FixTop");
  679. // }
  680. // if (scrollTop > 35) {
  681. // $(".sp-page-title").parents(".sp-box").addClass("FixTop");
  682. // }
  683. //});
  684. //页面高度撑满
  685. setTimeout(function () {
  686. if ($(".ibox-content").height() < $(window).height() - 31) {
  687. $(".ibox-content").css("height", $(window).height() - 31)
  688. }
  689. }, 1)
  690. })
  691. }])
  692. app.filter('trustHtml', function ($sce) {
  693. return function (input) {
  694. return $sce.trustAsHtml(input.replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp;'));
  695. };
  696. });
  697. //canvas画布签字
  698. function lineCanvas(obj) {
  699. var self = this;
  700. self.linewidth = 1;
  701. self.color = "#000000";
  702. self.background = "#ffffff";
  703. self.canvas = document.createElement("canvas");
  704. document.getElementById(obj).appendChild(self.canvas);
  705. self.cxt = self.canvas.getContext("2d");
  706. self.canvas.width = document.getElementById(obj).clientWidth;
  707. self.canvas.height = document.getElementById(obj).scrollHeight;
  708. self.cxt.fillStyle = self.background;
  709. self.cxt.fillRect(0, 0, self.canvas.width, self.canvas.width);
  710. self.cxt.strokeStyle = self.color;
  711. self.cxt.lineWidth = self.linewidth;
  712. self.cxt.lineCap = "round";
  713. //开始绘制
  714. self.canvas.addEventListener("mousedown", function (e) {
  715. self.cxt.beginPath();
  716. self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
  717. self.canvas.addEventListener("mousemove", move)
  718. }.bind(self), false);
  719. //绘制中
  720. function move() {
  721. var e = window.event;
  722. self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
  723. self.cxt.stroke();
  724. }
  725. //结束绘制
  726. self.canvas.addEventListener("mouseup", up)
  727. function up() {
  728. self.cxt.closePath();
  729. self.canvas.removeEventListener("mousemove", move)
  730. }
  731. };