formedit.js 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153
  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.copyrightid = sp.getUrlName("copyrightid");
  13. self.directionid = sp.getUrlName("directionid");
  14. self.formeditid = sp.getUrlName("formeditid");
  15. self.mbid = sp.getUrlName("mbid");
  16. self.fjid = sp.getUrlName("fjid");
  17. self.docmode = sp.getUrlName("docmode");
  18. self.dotype = sp.getUrlName("dotype");
  19. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  20. self.get_lastReturnPage = sp.getUrlName("lastReturnPage");
  21. self.get_type = sp.getUrlName("type");
  22. self.return = "../list.html?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
  23. self.deviceType = localStorage.getItem("tjJxtGoldenlinkWork-deviceType");
  24. var base64 = new Base64(); //声明base解码和编码类
  25. var postCfg = {
  26. headers: {
  27. 'Content-Type': 'application/json',
  28. 'Authorization': "Bearer " + self.get_AccessToken
  29. }
  30. };
  31. self.FormTitle = $.cookie("GlWorkPlatform-SYSNAME");
  32. //初始化参数数组
  33. self.data = {
  34. ID: 0,
  35. APPCODE: "",
  36. WJBH:"",
  37. FBRQ:"",
  38. FBR:"",
  39. FBNR:"",
  40. FBBM:"",
  41. FJ:"",
  42. WJBT:"",
  43. LX:"",
  44. FBZT:""
  45. }
  46. //初始化只读数组
  47. self.readonly = {
  48. WJBH:false,
  49. FBRQ:false,
  50. FBR:false,
  51. FBNR:false,
  52. FBBM:false,
  53. FJ:false,
  54. WJBT:false,
  55. LX:false,
  56. FBZT:false
  57. }
  58. self.LX=[];
  59. self.FBBM=[];
  60. self.FBZT=[];
  61. //初始化右上角按钮
  62. self.buttonList = []
  63. //上传附件
  64. self.arrayFile = [];
  65. self.beforeUpload = function () {
  66. if (self.data.ID == 0) {
  67. var getContent = editor2.html();
  68. var getContent_base64 = base64.encode(getContent);
  69. self.data.FBNR = getContent_base64;
  70. var dataArray = [];
  71. dataArray.push(self.data);
  72. var data = {
  73. ckey: "WJFB_CB",
  74. id: self.data.ID,
  75. routeid: self.routeid,
  76. routeinfoid: self.routeinfoid,
  77. routeinfotitle: self.data.WJBT,
  78. directionid: self.directionid,
  79. formeditid: self.formeditid,
  80. data: JSON.stringify(dataArray)
  81. }
  82. $http.post(apiurljs.login + "g2app/abase/saveData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  83. .success(function (obj) {
  84. var res = strToJson(s4.decryptData_CBC(obj.data));
  85. if (res.code == 0) {
  86. self.data.ID = res.data.ID;
  87. self.routeid = res.data.ROUTEID;
  88. self.routeinfoid = res.data.ROUTEINFOID;
  89. self.getSwenList(1)
  90. self.upload3()
  91. } else {
  92. sp.dialog(res.message)
  93. }
  94. })
  95. } else {
  96. self.upload3()
  97. }
  98. }
  99. //上层附件、业务参考、共享沟通组件
  100. self.uploading = false;
  101. self.upload = function () {
  102. var uploadformat = strToJson(s4.decryptData_CBC(apiurljs.uploadformat)).data.map(function (item) {
  103. return item.CNAME
  104. })
  105. $('#fileupload').fileupload({
  106. url: apiurljs.login + 'g2app/abase/uploadFileWithForm',
  107. dataType: 'json',
  108. beforeSend: function (xhr, data) {
  109. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  110. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + self.routeinfoid + ",ATTACHTYPE=文件发布"));
  111. },
  112. add: function (e, data) {
  113. var num = 0;
  114. var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
  115. //文件类型判断
  116. $.each(data.originalFiles, function (index, item) {
  117. if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
  118. sp.dialog("您好,请上传" + uploadformat.join("/") + "格式的文件!");
  119. return;
  120. } else {
  121. num++
  122. }
  123. })
  124. if (num == data.originalFiles.length) {
  125. self.uploading = true;
  126. data.submit();
  127. $scope.$apply();
  128. }
  129. },
  130. // 上传完成后的执行逻辑
  131. done: function (e, data) {
  132. self.uploading = false;
  133. self.getOther()
  134. }
  135. })
  136. }
  137. self.upload3 = function () {
  138. var uploadformat = strToJson(s4.decryptData_CBC(apiurljs.uploadformat)).data.map(function (item) {
  139. return item.CNAME
  140. })
  141. $('#fileupload2').fileupload({
  142. url: apiurljs.login + 'g2app/abase/saveUploadFileName',
  143. dataType: 'json',
  144. beforeSend: function (xhr, data) {
  145. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  146. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=WJFB_CB,column=FJ,routeinfoid=" + self.routeinfoid + ",loaded=" + data.loaded + ",total=" + data.total));
  147. },
  148. // 上传完成后的执行逻辑
  149. done: function (e, data) {
  150. var arrayFile = strToJson(s4.decryptData_CBC(data.result.data).slice(0, s4.decryptData_CBC(data.result.data).lastIndexOf("}") + 1))
  151. self.arrayFile = arrayFile.data;
  152. self.arrayFile.forEach(function (item) {
  153. item.FILENAMES1 = item.FILENAMES.length > 10 ? item.FILENAMES.slice(0, 10) + "..." : item.FILENAMES
  154. })
  155. $scope.$apply();//绑定数据局部刷新
  156. }
  157. })
  158. $timeout(function () {
  159. $("#fileupload2").trigger("click")
  160. }, 1)
  161. }
  162. self.downLoad = function (item) {
  163. window.open(apiurljs.login + "g2work/files/" + item.FILEURL.slice(7))
  164. }
  165. //获取附件和插件
  166. self.getOther = function () {
  167. if (self.routeinfoid == 0) { return }
  168. var data = {
  169. tablename: "FILE_ATTACH",
  170. colums: "*",
  171. order: "ID desc",
  172. sqlwhere: { ROUTEINFOID: self.routeinfoid },
  173. sqlinwhere: "",
  174. sqllikewhere: ""
  175. }
  176. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  177. .success(function (obj) {
  178. var res = strToJson(s4.decryptData_CBC(obj.data));
  179. console.log(res)
  180. self.arrayFile1 = [];
  181. if (res.data.length > 0) {
  182. res.data.forEach(function (item) {
  183. self.arrayFile1.push(item)
  184. })
  185. }
  186. })
  187. }
  188. self.getFLOW = function () {
  189. var data = {
  190. copyrightid: self.copyrightid
  191. }
  192. $http.post(apiurljs.login + "g2work/flow/queryDataByCopyrightid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  193. .success(function (obj) {
  194. var res = strToJson(s4.decryptData_CBC(obj.data));
  195. self.flowTitle = res.data.CNAME;
  196. // self.getJJCD()
  197. })
  198. }
  199. self.deleteFile = function (file) {
  200. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  201. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  202. var dialogFoot = "<div class=\"sp-dialog-foot\"><input id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  203. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  204. sp.openCenter(".sp-dialog");
  205. ///取消按钮
  206. $('.sp-closeDialog').click(function (event) {
  207. sp.closeCenter(".sp-dialog");
  208. event.preventDefault();
  209. event.stopPropagation();
  210. });
  211. //post消息的id
  212. $("#delDataTrue").click(function () {
  213. var data = {
  214. tablename: "FILE_ATTACH",
  215. id: file.ID
  216. };
  217. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  218. .success(function (obj) {
  219. var res = strToJson(s4.decryptData_CBC(obj.data));
  220. sp.dialoghide();
  221. if (res.success) {
  222. self.getOther();
  223. } else {
  224. sp.dialog("删除失败,请联系管理员!");
  225. }
  226. });
  227. });
  228. }
  229. self.goAttach = function (obj) {
  230. if (obj) {
  231. if (apiurljs.zhType.indexOf(obj.FILEEXT) == -1) {
  232. sp.dialog("文件暂不支持在线预览,请点击下载查看!")
  233. return
  234. }
  235. $("#attachlist")[0].contentWindow.openFile(obj)
  236. if ($(".fa-chevron-down").is(":hidden") == true) {
  237. showToggle(document.getElementById("toggleButton"))
  238. }
  239. } else {
  240. if ($("#attachlist").attr("src") == '') {
  241. $("#attachlist").attr("src", "attachlist.html?page=formedit&routeinfoid=" + self.routeinfoid)
  242. }
  243. }
  244. }
  245. self.getSwenList = function (n) {
  246. self.SwenList = [];
  247. var data = {
  248. directionid: self.directionid,
  249. userid: self.userId,
  250. routeinfoid: self.routeinfoid,
  251. routeid: self.routeid,
  252. formeditid: ""
  253. }
  254. $http.post(apiurljs.login + "g2app/abase/queryDataLink", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  255. .success(function (obj) {
  256. var res = strToJson(s4.decryptData_CBC(obj.data));
  257. $.each(res.data.LINKS, function (index, item) {
  258. if (item.TEMPFORM.indexOf("formedit.html") > -1) {
  259. self.Title = item.VNAME;
  260. }
  261. if (item.TEMPFORM.indexOf("?docmode") > 0) {
  262. if (item.TEMPFORM.indexOf("attachlist") > -1 || item.TEMPFORM.indexOf("fawenfile") > -1) {
  263. item.TEMPFORM = item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  264. } else {
  265. item.TEMPFORM = "../" + item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  266. }
  267. } else {
  268. item.TEMPFORM = "#";
  269. }
  270. self.SwenList.push(item)
  271. })
  272. self.SwenList.push({
  273. VNAME: "流程图",
  274. DIRECTIONID: self.SwenList[0].DIRECTIONID,
  275. TEMPFORM: "modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
  276. })
  277. if (n == 0) {
  278. self.getZRBM()
  279. self.getFLOW()
  280. self.getOther()
  281. } else {
  282. self.getData()
  283. }
  284. })
  285. }
  286. self.getSwenList(0)
  287. self.getZRBM = function () {
  288. var data = {
  289. ckey: "CODE_ZRBM",
  290. routeinfoid: self.routeinfoid
  291. }
  292. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  293. .success(function (obj) {
  294. var res = strToJson(s4.decryptData_CBC(obj.data));
  295. self.ZRBM = res.data.CODE_ZRBM;
  296. self.getLM()
  297. })
  298. }
  299. self.getLM = function () {
  300. var data = {
  301. tablename: "CODE_LM"
  302. }
  303. $http.post(apiurljs.login + "g2app/filepublishing/getTreeListByTablename", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  304. .success(function (obj) {
  305. var res = strToJson(s4.decryptData_CBC(obj.data));
  306. self.LX = [];
  307. res.data[0].C_H_I_L_D_DATA.forEach(function (item) {
  308. if (self.directionid == "SequenceFlow_0gqlk33_af78f780-9140-42c4-81c5-34fd14fcf9b3") {
  309. if (item.CNAME != "新闻动态" && item.CNAME != "通知公告" && ((item.MKUSERID != null && item.MKUSERID.indexOf(self.userId) != -1) || item.MKUSERID == null || item.MKUSERID == "")) {
  310. self.LX.push(item)
  311. }
  312. } else {
  313. if (item.CNAME != "新闻动态" && item.CNAME != "通知公告") {
  314. self.LX.push(item)
  315. }
  316. }
  317. })
  318. self.getDP()
  319. })
  320. }
  321. self.getDP = function () {
  322. var data = {
  323. userid: self.userId
  324. }
  325. $http.post(apiurljs.login + "g2app/richang/queryDpInfo", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  326. .success(function (obj) {
  327. var res = strToJson(s4.decryptData_CBC(obj.data));
  328. self.userDp = res.data.length == 0 ? "" : res.data[0].CODE;
  329. self.getData()
  330. })
  331. }
  332. //获取数据
  333. self.getData = function () {
  334. var data = {
  335. ckey: "WJFB_CB",
  336. id: 0,
  337. directionid: self.directionid,
  338. formeditid: self.formeditid,
  339. routeid: self.routeid,
  340. routeinfoid: self.routeinfoid
  341. }
  342. $http.post(apiurljs.login + "g2app/abase/queryData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  343. .success(function (obj) {
  344. var res = strToJson(s4.decryptData_CBC(obj.data));
  345. self.data = {
  346. ID: res.data.WJFB_CB.ID,
  347. WJBH: res.data.WJFB_CB.WJBH,
  348. FBR: res.data.WJFB_CB.FBR == "" ? self.userName : res.data.WJFB_CB.FBR,
  349. FBNR: res.data.WJFB_CB.FBNR == null ? "" : res.data.WJFB_CB.FBNR,
  350. FBRQ: res.data.WJFB_CB.FBRQ == "" ? sp.format(sp.getLocalDate()) : sp.format(res.data.WJFB_CB.FBRQ),
  351. LX: res.data.WJFB_CB.LX == "" ? self.LX[0].CODE : res.data.WJFB_CB.LX,
  352. LXNAME: res.data.WJFB_CB.LXNAME == "" ? self.LX[0].CNAME : res.data.WJFB_CB.LXNAME,
  353. //FBZT: res.data.WJFB_CB.FBZT == "" ? self.LX[0].CODE : res.data.WJFB_CB.FBZT,
  354. FBLX: "文件发布",
  355. FBBM: res.data.WJFB_CB.FBBM == "" ? self.userDp : res.data.WJFB_CB.FBBM,
  356. WJBT:res.data.WJFB_CB.WJBT
  357. }
  358. self.WJBTROWS = Math.ceil(self.data.WJBT.length / 34);
  359. $scope.data = self.data;
  360. self.readonly = {
  361. WJBH: res.data.WJFB_CB["WJBH.EREADONLY"] == "true",
  362. FBR: res.data.WJFB_CB["FBR.EREADONLY"] == "true",
  363. FBNR: res.data.WJFB_CB["FBNR.EREADONLY"] == "true",
  364. FBRQ: res.data.WJFB_CB["FBRQ.EREADONLY"] == "true",
  365. LX: res.data.WJFB_CB["LX.EREADONLY"] == "true",
  366. FBBM: res.data.WJFB_CB["FBBM.EREADONLY"] == "true",
  367. //FBZT: res.data.WJFB_CB["FBZT.EREADONLY"] == "true",
  368. FJ: res.data.WJFB_CB["FJ.EREADONLY"] == "true",
  369. WJBT: res.data.WJFB_CB["WJBT.EREADONLY"] == "true"
  370. }
  371. self.ZRBM.forEach(function (item) {
  372. if (self.data.FBBM == item.CODE) {
  373. self.userDpName = item.CNAME
  374. console.log(self.userDpName)
  375. }
  376. })
  377. if (self.data.ID == 0) {
  378. self.filedChange = true;
  379. } else {
  380. self.filedChange = false;
  381. }
  382. if (res.data.WJFB_CB.FJ && res.data.WJFB_CB.FJ != "") {
  383. self.arrayFile = JSON.parse(res.data.WJFB_CB.FJ);
  384. self.arrayFile.forEach(function (item) {
  385. item.FILENAMES1 = item.FILENAMES.length > 10 ? item.FILENAMES.slice(0, 10) + "..." : item.FILENAMES
  386. })
  387. }
  388. editor2.html(base64.decode(self.data.FBNR));
  389. self.buttonList = res.data["WJFB_CB.FUNCLIST"];
  390. self.getOpinion("YJ")
  391. self.getOpinion1()
  392. //watermark({
  393. // "watermarl_element": "app",
  394. // "watermark_txt": "测试水印内容",
  395. // "watermark_width": 150,
  396. // "watermark_height": 110,
  397. // "watermark_angle": 345
  398. //})
  399. })
  400. }
  401. //获取意见
  402. self.getOpinion = function (str) {
  403. var data = {
  404. cmanid: self.userId,
  405. routeinfoid: self.routeinfoid,
  406. routeid: "",//self.routeid,
  407. tableid: "WJFB_CB",
  408. colid: str,
  409. opiniontype: 0,
  410. orderbycol: "CDATE desc"
  411. }
  412. $http.post(apiurljs.login + "g2app/abase/queryDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  413. .success(function (obj) {
  414. var res = strToJson(s4.decryptData_CBC(obj.data));
  415. if (res.success == true) {
  416. self.YJ[str] = res.data;
  417. self.YJ[str + "STATUS"] = false;
  418. self.YJ[str].forEach(function (item) {
  419. item.CDATE = sp.datefmt("yyyy-MM-dd", item.CDATE);
  420. if (item.ROUTEID == self.routeid) {
  421. self.YJ[str + "STATUS"] = true;
  422. }
  423. })
  424. } else {
  425. sp.dialog(res.message)
  426. }
  427. })
  428. }
  429. //获取意见(不上表)
  430. self.opiniontype = 99;
  431. self.getOpinion1 = function () {
  432. var data = {
  433. cmanid: self.userId,
  434. routeinfoid: self.routeinfoid,
  435. routeid: "",//self.routeid,
  436. tableid: "WJFB_CB",
  437. colid: "",
  438. opiniontype: self.opiniontype,
  439. orderbycol: "CDATE desc"
  440. }
  441. $http.post(apiurljs.login + "g2app/abase/queryDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  442. .success(function (obj) {
  443. var res = strToJson(s4.decryptData_CBC(obj.data));
  444. if (res.success == true) {
  445. self.YJ.nulla = res.data;
  446. self.YJ.nullaSTATUS = false;
  447. self.YJ.nulla.forEach(function (item) {
  448. item.CDATE = sp.datefmt("yyyy-MM-dd", item.CDATE);
  449. //if (item.ROUTEID == self.routeid && item.COLID == "") {
  450. // self.YJ.nullaSTATUS = true;
  451. //}
  452. })
  453. } else {
  454. sp.dialog(res.message)
  455. }
  456. })
  457. }
  458. //判断页面字段是否只读readonly、是否隐藏show
  459. self.hide = function (type, field) {
  460. if (self.dotype == 0 && type == "readonly") {
  461. return true;
  462. } else {
  463. if (self[type][field] == true) {
  464. return true;
  465. } else {
  466. return false;
  467. }
  468. }
  469. }
  470. //右上角按钮调用方法
  471. self.btnEvent = function (item) {
  472. switch (item.CODE) {
  473. case "SAVEITEM": self.btnSave(0); break;
  474. case "PRINTITEM": self.btnPrint(); break;
  475. case "MEETITEM": self.Meet(); break;
  476. case "SENDLOG": self.RouteList(); break;
  477. default: self.forward(item); break;
  478. }
  479. }
  480. //保存提交,0直接保存,1保存后转发,2保存后对多人转发,3保存后跳转浏览
  481. self.btnSave = function (n) {
  482. if (spngvld.submit(".sp-page-center")) {
  483. var getContent = editor2.html();
  484. var getContent_base64 = base64.encode(getContent);
  485. self.data.FBNR = getContent_base64;
  486. var dataArray = [];
  487. self.data.YJ = "";
  488. self.data.FBRQ = self.data.FBRQ + " " + sp.datefmt("HH:mm:ss", sp.getLocalDate())
  489. dataArray.push(self.data);
  490. var data = {
  491. ckey: "WJFB_CB",
  492. id: self.data.ID,
  493. routeid: self.routeid,
  494. routeinfoid: self.routeinfoid,
  495. routeinfotitle: self.data.WJBT,
  496. directionid: self.directionid,
  497. formeditid: self.formeditid,
  498. data: JSON.stringify(dataArray)
  499. }
  500. $http.post(apiurljs.login + "g2app/abase/saveData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  501. .success(function (obj) {
  502. var res = strToJson(s4.decryptData_CBC(obj.data));
  503. if (res.code == 0) {
  504. self.data.ID = res.data.ID;
  505. self.routeid = res.data.ROUTEID;
  506. self.routeinfoid = res.data.ROUTEINFOID;
  507. self.filedChange = false;
  508. if (n == 0) {
  509. sp.dialog("保存成功!");
  510. $timeout(function () {
  511. sp.dialoghide()
  512. }, 1500)
  513. self.getSwenList(1)
  514. } else if (n == 1) {
  515. self.forward(self.btnItem);
  516. } else if (n == 2) {
  517. self.sendAll();
  518. } else if (n == 3) {
  519. self.browse();
  520. }
  521. } else {
  522. sp.dialog(res.message)
  523. }
  524. })
  525. }
  526. }
  527. //浏览
  528. self.browse = function () {
  529. sp.openNewWindow(window.location.pathname.replace("formedit", "detail") + "?id=" + self.data.ID + "&formPage=formedit", "预览")
  530. }
  531. //打印
  532. self.btnPrint = function () {
  533. // 创建隐藏的可下载链接
  534. var eleLink = document.createElement('a');
  535. eleLink.download = "";
  536. eleLink.style.display = 'none';
  537. eleLink.href = apiurljs.login + "g2app/shouwen/PrintWord?data=" + encodeURIComponent(s4.encryptData_CBC("templatefilename=XZYGQJ.ftl&tablename=WJFB_CB&outfilepath=/tmp/市住建委干部因公请假申请表.wps&prtdate=TBSJ,QJSJKS,QJSJJS&routeinfoid=" + self.routeinfoid));
  538. // 触发点击
  539. document.body.appendChild(eleLink);
  540. eleLink.click();
  541. // 然后移除
  542. document.body.removeChild(eleLink);
  543. //window.open(apiurljs.login + "g2app/shouwen/PrintWord?templatefilename=shouwen.ftl&tablename=WJFB_CB&outfilepath=" + apiurljs.print + "&routeinfoid=" + self.routeinfoid)
  544. }
  545. //下载附件
  546. self.download = function (item) {
  547. window.open(apiurljs.login + "g2work/files/" + item.FILEURL.slice(7))
  548. }
  549. //删除附件
  550. self.deleteFile1 = function (item, str) {
  551. var data = {
  552. tablename: "WJFB_CB",
  553. column: str,
  554. routeinfoid: self.routeinfoid,
  555. fileid: item.FILEID,
  556. filenames: item.FILEOLDNAME
  557. }
  558. $http.post(apiurljs.login + "g2app/abase/deleteUploadFileName", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  559. .success(function (obj) {
  560. var res = strToJson(s4.decryptData_CBC(obj.data));
  561. if (res.success == true) {
  562. self.arrayFile = res.data;
  563. self.arrayFile.forEach(function (item) {
  564. item.FILENAMES1 = item.FILENAMES.length > 10 ? item.FILENAMES.slice(0, 10) + "..." : item.FILENAMES
  565. })
  566. } else {
  567. sp.dialog(res.message)
  568. }
  569. })
  570. }
  571. self.showCol = function ($event, ele) {
  572. $('.detail-col').not(ele).hide();
  573. //$(ele).toggle("slow", function () {
  574. // $(ele).css('overflow-y', 'auto')
  575. //}).autoHide();
  576. $(ele).toggle("slow").autoHide();
  577. $event.stopPropagation();
  578. }
  579. self.selectLX = function (item) {
  580. self.data.LX = item.CODE
  581. self.data.LXNAME = item.CNAME
  582. self.filedChange = true;
  583. $(".detail-col").toggle("slow");
  584. }
  585. self.selectLX1 = function (item) {
  586. self.data.LX = item.CODE
  587. self.data.LXNAME = self.secodeName + "-" + item.CNAME;
  588. self.filedChange = true;
  589. $(".detail-col").toggle("slow");
  590. }
  591. self.showSecond = function (obj, n) {
  592. self.LX1 = [];
  593. self.secodeName = obj.CNAME;
  594. obj.C_H_I_L_D_DATA.forEach(function (item) {
  595. if ((item.MKUSERID != null && item.MKUSERID.indexOf(self.userId) != -1) || item.MKUSERID == null || item.MKUSERID == "") {
  596. self.LX1.push(item)
  597. }
  598. })
  599. $(".detail-col").eq(1).css("top", (n + 2) * 30 + n);
  600. $(".detail-col").eq(1).show().autoHide()
  601. }
  602. //签写意见编辑状态
  603. self.opinion = {
  604. YJ: false,
  605. YJImg: false,
  606. nulla: false
  607. }
  608. self.YJ = {
  609. YJ: [],
  610. YJSTATUS: false,
  611. nulla: [],
  612. nullaSTATUS: false
  613. }
  614. //意见(下表)
  615. self.openOptionList = function () {
  616. console.log(12312)
  617. if (self.routeinfoid == 0 && self.routeid == 0) {
  618. sp.dialog("请先保存!")
  619. return;
  620. }
  621. if (self.opinion.nulla == true) {
  622. return;
  623. }
  624. self.nulla = "";
  625. $(".optionList").css("height", 149)
  626. self.opinion.nulla = true;
  627. }
  628. self.closeOptionList = function () {
  629. $(".optionList").css("height", 389)
  630. self.opinion.nulla = false;
  631. }
  632. self.submitOptionList = function () {
  633. var data = {
  634. cmanid: self.userId,
  635. routeinfoid: self.routeinfoid,
  636. routeid: self.routeid,
  637. tableid: "WJFB_CB",
  638. colid: "",
  639. opiniontype: 99,
  640. cresult: "",
  641. opinion: self.nulla,
  642. opinionimage: ""
  643. }
  644. $http.post(apiurljs.login + "g2app/abase/saveDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  645. .success(function (obj) {
  646. var res = strToJson(s4.decryptData_CBC(obj.data));
  647. if (res.success == true) {
  648. self.getOpinion1();
  649. self.opinion.nulla = false;
  650. $(".optionList").css("height", 389)
  651. } else {
  652. sp.dialog(res.message)
  653. }
  654. })
  655. }
  656. self.changeOptionList = function (item) {
  657. self.nulla = item.OPINION;
  658. self.opinion.nulla = true;
  659. }
  660. //意见附件(下表)
  661. self.uploading1 = false;
  662. self.upload1 = function () {
  663. $('#fileupload1').fileupload({
  664. url: apiurljs.login + 'g2app/abase/UploadWholeFileWithRouteAttach',
  665. dataType: 'json',
  666. beforeSend: function (xhr, data) {
  667. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  668. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SYS_ROUTE_ATTACHLIST,userid=" + self.userId + ",routeinfoid=" + self.routeinfoid
  669. + ",routeid=" + self.routeid + ",tableid=WJFB_CB"));
  670. },
  671. // 上传完成后的执行逻辑
  672. done: function (e, data) {
  673. self.uploading1 = false;
  674. self.getOpinion1()
  675. }
  676. })
  677. }
  678. //意见附件(上表)
  679. self.upload2 = function (str) {
  680. $('#fileupload-' + str).fileupload({
  681. url: apiurljs.login + 'g2app/abase/UploadWholeFileWithRouteAttach',
  682. dataType: 'json',
  683. beforeSend: function (xhr, data) {
  684. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  685. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SYS_ROUTE_ATTACHLIST,userid=" + self.userId + ",routeinfoid=" + self.routeinfoid
  686. + ",routeid=" + self.routeid + ",tableid=WJFB_CB,colid=" + str));
  687. },
  688. // 上传完成后的执行逻辑
  689. done: function (e, data) {
  690. self.uploading1 = false;
  691. self.getOpinion(str)
  692. }
  693. })
  694. }
  695. //下载意见表附件
  696. self.downLoadOption = function (item) {
  697. window.open(apiurljs.login + "g2work/files/" + item.FILEPATH.slice(7))
  698. }
  699. //删除意见表附件
  700. self.deleteOptionFile = function (file, str) {
  701. var data = {
  702. routeid: file.ROUTEID,
  703. tableid: "WJFB_CB",
  704. colid: str,
  705. fileid: file.FILEID
  706. };
  707. $http.post(apiurljs.login + "g2app/abase/deleteDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  708. .success(function (obj) {
  709. var res = strToJson(s4.decryptData_CBC(obj.data));
  710. sp.dialoghide();
  711. if (res.success) {
  712. if (str != "") {
  713. self.getOpinion(str);
  714. } else {
  715. self.getOpinion1();
  716. }
  717. } else {
  718. sp.dialog("删除失败,请联系管理员!");
  719. }
  720. });
  721. }
  722. //签写意见
  723. self.openOpinion = function (str) {
  724. if (self.routeinfoid == 0 && self.routeid == 0) {
  725. sp.dialog("请先保存!")
  726. return;
  727. }
  728. self.opinion[str] = true;
  729. }
  730. //修改意见
  731. self.changeOpinion = function (str) {
  732. self.data[str] = self.YJ[str][0].OPINION;
  733. self.opinion[str] = true;
  734. }
  735. self.changeOpinionItem = function (str, item) {
  736. if (item.OPINIONIMAGE != "") {
  737. self.QianZi(str);
  738. self.opinion[str + "Img"] = true;
  739. }
  740. self.data[str] = item.OPINION;
  741. self.opinion[str] = true;
  742. }
  743. //提交意见
  744. self.Sopinion = function (str) {
  745. if (self.opinion[str + "Img"] == true) {
  746. self.data[str] = $("#" + str + "QZ").find("canvas")[0].toDataURL();
  747. } else {
  748. self.data[str] = $("#" + str).val();
  749. }
  750. var data = {
  751. cmanid: self.userId,
  752. routeinfoid: self.routeinfoid,
  753. routeid: self.routeid,
  754. tableid: "WJFB_CB",
  755. colid: str,
  756. opiniontype: 0,
  757. cresult: "",
  758. opinion: self.opinion[str + "Img"] == false ? self.data[str] : "",
  759. opinionimage: self.opinion[str + "Img"] == true ? self.data[str] : ""
  760. }
  761. $http.post(apiurljs.login + "g2app/abase/saveDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  762. .success(function (obj) {
  763. var res = strToJson(s4.decryptData_CBC(obj.data));
  764. if (res.success == true) {
  765. sp.dialog("保存成功!");
  766. self.getOpinion(str);
  767. self.opinion[str] = false;
  768. self.opinion[str + "Img"] = false;
  769. self.data[str] = "";
  770. self.changeFiled(str)
  771. } else {
  772. sp.dialog(res.message)
  773. }
  774. })
  775. }
  776. //删除意见
  777. self.Dopinion = function (str, item) {
  778. var data = {
  779. cmanid: self.userId,
  780. routeid: self.routeid,
  781. tableid: "WJFB_CB",
  782. colid: str,
  783. }
  784. $http.post(apiurljs.login + "g2app/abase/deleteDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  785. .success(function (obj) {
  786. var res = strToJson(s4.decryptData_CBC(obj.data));
  787. if (res.success == true) {
  788. if (str != "") {
  789. self.getOpinion(str);
  790. } else {
  791. self.getOpinion1();
  792. }
  793. self.changeFiled(str)
  794. } else {
  795. sp.dialog(res.message)
  796. }
  797. })
  798. }
  799. self.phraseText = "";//添加常用语
  800. self.phraseList = []//常用语列表
  801. //获取常用语库
  802. self.phrase = function (colid) {
  803. sp.layer("#phrase");
  804. self.colid = colid;
  805. self.getPhrase();
  806. }
  807. //添加常用语到常用语库
  808. self.Aphrase = function () {
  809. if (self.phraseText == "") {
  810. return;
  811. }
  812. var data = {
  813. cmanid: self.userId,
  814. tableid: "WJFB_CB",
  815. colid: self.colid,
  816. contents: self.phraseText
  817. }
  818. $http.post(apiurljs.login + "g2app/abase/insertDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  819. .success(function (obj) {
  820. var res = strToJson(s4.decryptData_CBC(obj.data));
  821. if (res.success == true) {
  822. self.phraseText = "";
  823. self.getPhrase();
  824. } else {
  825. sp.dialog(res.message)
  826. }
  827. })
  828. }
  829. //获取常用语库
  830. self.getPhrase = function () {
  831. var data = {
  832. cmanid: self.userId,
  833. tableid: "WJFB_CB",
  834. colid: self.colid
  835. }
  836. $http.post(apiurljs.login + "g2app/abase/queryDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  837. .success(function (obj) {
  838. var res = strToJson(s4.decryptData_CBC(obj.data));
  839. self.phraseList = res.data;
  840. self.phraseSelect = self.phraseList[0].CONTENTS;
  841. })
  842. }
  843. //从常用语库删除
  844. self.Dphrase = function () {
  845. var id = null;
  846. $.each(self.phraseList, function (index, item) {
  847. if (item.CONTENTS == self.phraseSelect) {
  848. id = item.ID;
  849. }
  850. })
  851. var data = {
  852. id: id
  853. }
  854. $http.post(apiurljs.login + "g2app/abase/deleteDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  855. .success(function (obj) {
  856. var res = strToJson(s4.decryptData_CBC(obj.data));
  857. self.getPhrase();
  858. })
  859. }
  860. //常用语确认为意见
  861. self.btnPhrase = function () {
  862. if (!self.colid) {
  863. self.nulla = self.phraseSelect;
  864. } else {
  865. self.data[self.colid] = self.phraseSelect;
  866. }
  867. sp.layerhide();
  868. }
  869. //签字—手写
  870. self.QianZi = function (str) {
  871. self.opinion[str + "Img"] = true;
  872. setTimeout(function () {
  873. new lineCanvas(str + "QZ")
  874. }, 1)
  875. }
  876. //清除手写
  877. self.canvasClear = function (str) {
  878. var cxt = $("#" + str + "QZ").find("canvas")[0].getContext("2d");
  879. cxt.clearRect(0, 0, $("#" + str + "QZ").find("canvas")[0].width, $("#" + str + "QZ").find("canvas")[0].height)
  880. }
  881. //发生修改
  882. self.changeFiled = function (str) {
  883. self.filedChange = true;
  884. if (str == "FBBM") {
  885. self.ZRBM.forEach(function (item) {
  886. if (self.data.FBBM == item.CODE) {
  887. self.userDpName = item.CNAME
  888. console.log(self.userDpName)
  889. }
  890. })
  891. }
  892. }
  893. //转发
  894. self.forward = function (obj) {
  895. self.btnItem = obj;
  896. if (self.filedChange == true) {
  897. self.btnSave(1)
  898. } else {
  899. $("#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=wenjianbg")
  900. sp.layer("#forward")
  901. }
  902. }
  903. //查看流转记录
  904. self.RouteList = function () {
  905. if (self.deviceType == "pad") {
  906. window.location.href = "../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
  907. } else {
  908. sp.openNewWindow("../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1], "流程图")
  909. }
  910. //var data = {
  911. // directionid: self.directionid,
  912. // userid: self.userId,
  913. // routeid: self.routeid,
  914. // routeinfoid: self.routeinfoid,
  915. //}
  916. //$http.post(apiurljs.login + "g2app/abase/queryDataRouteList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  917. // .success(function (obj) {
  918. // var res = strToJson(s4.decryptData_CBC(obj.data));
  919. // self.routeList = res.data;
  920. // $.each(self.routeList, function (index, item) {
  921. // item.mainUser = [];
  922. // item.copyUsers = [];
  923. // $.each(item.USERS, function (index1, item1) {
  924. // if (item1.KIND == 0) {
  925. // item.mainUser.push(item1.USERNAME);
  926. // } else {
  927. // item.copyUsers.push(item1.USERNAME);
  928. // }
  929. // })
  930. // item.mainUser = item.mainUser.join(",");
  931. // item.copyUsers = item.copyUsers.join(",");
  932. // })
  933. // setTimeout(function (item) {
  934. // sp.layer("#RouteList");
  935. // }, 100);
  936. // })
  937. }
  938. self.reSizeRow = function () {
  939. var bodybox = document.getElementById("bodyDiv");
  940. var topbox = document.getElementById("topDiv");
  941. var bottombox = document.getElementById("bottomDiv");
  942. var line = document.getElementById("lineDiv");
  943. document.getElementById("lineDiv").addEventListener("mousedown", function (event) {
  944. $(".mousemove").show()
  945. var bodyboxH = bodybox.clientHeight;
  946. var topboxH = topbox.clientHeight;
  947. var bottomboxH = bottombox.clientHeight;
  948. //var y = event.pageY - line.offsetTop;
  949. var y = event.pageY - line.clientHeight;
  950. document.addEventListener("mousemove", boxMove)
  951. function boxMove(event) {
  952. if (topboxH * 1 + (event.pageY - y) * 1 - 36 <= 45) {
  953. //
  954. } else if (bottomboxH * 1 - (event.pageY - y) * 1 - 36 <= 45) {
  955. //
  956. } else {
  957. topbox.style.height = topboxH * 1 + (event.pageY - y) * 1 - 36 + "px";
  958. //topbox.getElementsByTagName("iframe")[0].style.height = topboxH * 1 + (event.pageY - y) * 1 - 45 + "px";
  959. bottombox.style.height = bodyboxH * 1 - topboxH * 1 - (event.pageY - y) * 1 + 36 + "px";
  960. bottombox.getElementsByTagName("iframe")[0].style.height = bodyboxH * 1 - topboxH * 1 - (event.pageY - y) * 1 - 25 + "px";
  961. }
  962. }
  963. document.addEventListener("mouseup", function () {
  964. $(".mousemove").hide()
  965. document.removeEventListener("mousemove", boxMove)
  966. })
  967. })
  968. }
  969. ////头部关键字搜索---20230905
  970. self.headBtnSearchKeyword = "";
  971. self.headSearchResult = [];
  972. self.headSearchResult_view = false;
  973. self.headBtnSearch = function () {
  974. if (sp.isval(self.headBtnSearchKeyword)) {
  975. self.headSearchResult = [];
  976. var data = {
  977. "url": "/basic/api/StatSelect/selectCodeList",
  978. "data": { "keyWord": self.headBtnSearchKeyword }
  979. }
  980. //console.log(JSON.stringify(data));
  981. $http.post(apiurljs.login + "g2app/yizhangtu/selectCodeList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  982. .success(function (obj) {
  983. var res = strToJson(s4.decryptData_CBC(obj.data));
  984. //console.log(JSON.stringify(res.data));
  985. self.headSearchResult = res.data.build;
  986. if (sp.isval(self.headSearchResult)) {
  987. self.headSearchResult_view = true;
  988. } else {
  989. self.headSearchResult_view = false;
  990. }
  991. })
  992. } else {
  993. self.headSearchResult_view = false;
  994. }
  995. };
  996. self.headKeywordPage = function (itemdata) {
  997. var get_token = localStorage.getItem("main-token");
  998. var set_url = apiurljs.onePic + "wholeProcessPage/?token=" + get_token + "&name=" + itemdata.name + "&type=" + itemdata.type + "&id=" + itemdata.id;
  999. $('#attachlist')[0].contentWindow.openTool(set_url, '一张图');
  1000. self.headSearchResult_view = false;
  1001. };
  1002. self.onePic = function () {
  1003. $('#attachlist')[0].contentWindow.openTool(apiurljs.onePic + "wholeProcessPage/?token=" + localStorage.getItem("main-token"), "地图搜索")
  1004. }
  1005. //头部下滚冻结
  1006. $(function () {
  1007. $(".sp-page-center").eq(0).css("max-height", $("#topDiv").height()).css("height", $("#topDiv").height())
  1008. $(".formedit center").css("height", $(".formedit center").next("div").height()).css("line-height", $(".formedit center").next("div").height() / 6 + "px")
  1009. //$("body").bind("scroll", function () {
  1010. // var scrollTop = $("body").scrollTop();
  1011. // if (scrollTop == 0) {
  1012. // $(".FixTop").removeClass("FixTop");
  1013. // }
  1014. // if (scrollTop > 35) {
  1015. // $(".sp-page-title").parents(".sp-box").addClass("FixTop");
  1016. // }
  1017. //});
  1018. //页面高度撑满
  1019. setTimeout(function () {
  1020. if ($(".ibox-content").height() < $(window).height() - 31) {
  1021. $(".ibox-content").css("height", $(window).height() - 31)
  1022. }
  1023. $(".mousemove").css("top", 0).css("left", 0).css("width", $(window).width()).css("height", $(window).height() - 10)
  1024. }, 1)
  1025. })
  1026. var editor2;
  1027. self.setKindEditor2 = function () {
  1028. var options = {
  1029. uploadJson: apiurljs.login + "g2app/abase/uploadFileKindeditorImage/" + s4.encryptData_CBC(JSON.stringify("FILEKINDEDITOR_ATTACH")),
  1030. fileManagerJson: apiurljs.login + 'g2app/abase/uploadFileKindeditorImage/' + s4.encryptData_CBC(JSON.stringify("FILEKINDEDITOR_ATTACH")),
  1031. filterMode: true,//过滤HTML代码
  1032. allowImageUpload: true,
  1033. allowFlashUpload: false,
  1034. allowMediaUpload: false,
  1035. allowFileManager: false,
  1036. themeType: 'simple',
  1037. items: ['source', '|', 'undo', 'redo', '|', 'preview', 'template', '|',
  1038. 'cut', 'copy', 'paste', 'plainpaste', 'wordpaste', '|',
  1039. 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', '|',
  1040. 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', '|',
  1041. 'subscript', 'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
  1042. 'image', '|', 'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', '|',
  1043. 'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|',
  1044. 'table', 'hr', 'emoticons', '|', 'pagebreak', 'anchor', '|', 'about',
  1045. 'table', 'insertfile', 'hr', 'emoticons', 'baidumap', '|',
  1046. 'pagebreak', 'anchor', 'link', 'unlink', '|', 'about'],
  1047. afterUpload: function (url, data, name) {
  1048. this.sync();
  1049. }, //图片上传后,将上传内容同步到textarea中
  1050. afterBlur: function () {
  1051. this.sync();
  1052. }, ////失去焦点时,将内容同步到textarea中
  1053. afterCreate: function () {
  1054. this.sync();
  1055. }
  1056. }
  1057. editor2 = KindEditor.create('#kindEditor_Content', options);
  1058. };
  1059. self.setKindEditor2();
  1060. }])
  1061. app.filter('trustHtml', function ($sce) {
  1062. return function (input) {
  1063. return $sce.trustAsHtml(input.replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp;'));
  1064. };
  1065. });
  1066. //canvas画布签字
  1067. function lineCanvas(obj) {
  1068. var self = this;
  1069. self.linewidth = 1;
  1070. self.color = "#000000";
  1071. self.background = "#ffffff";
  1072. self.canvas = document.createElement("canvas");
  1073. document.getElementById(obj).appendChild(self.canvas);
  1074. self.cxt = self.canvas.getContext("2d");
  1075. self.canvas.width = document.getElementById(obj).clientWidth;
  1076. self.canvas.height = document.getElementById(obj).scrollHeight;
  1077. self.cxt.fillStyle = self.background;
  1078. self.cxt.fillRect(0, 0, self.canvas.width, self.canvas.width);
  1079. self.cxt.strokeStyle = self.color;
  1080. self.cxt.lineWidth = self.linewidth;
  1081. self.cxt.lineCap = "round";
  1082. //开始绘制
  1083. self.canvas.addEventListener("mousedown", function (e) {
  1084. self.cxt.beginPath();
  1085. self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
  1086. self.canvas.addEventListener("mousemove", move)
  1087. }.bind(self), false);
  1088. //绘制中
  1089. function move() {
  1090. var e = window.event;
  1091. self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
  1092. self.cxt.stroke();
  1093. }
  1094. //结束绘制
  1095. self.canvas.addEventListener("mouseup", up)
  1096. function up() {
  1097. self.cxt.closePath();
  1098. self.canvas.removeEventListener("mousemove", move)
  1099. }
  1100. };
  1101. var parentData = {}
  1102. function getData() {
  1103. parentData = angular.element(document.getElementById("app")).scope().data
  1104. return parentData
  1105. }
  1106. function showToggle(e) {
  1107. $(e).children().toggle()
  1108. $(e).next().toggle()
  1109. }
  1110. function toggleYJL(e) {
  1111. if ($(e).children(".fa-angle-double-down").is(":hidden") == true) {
  1112. $("#topDiv").css("height", 160)
  1113. $(e).parent().css("height", 450)
  1114. $("#attachlist").css("height", 200)
  1115. $("#bottomDiv").css("height", "")
  1116. } else {
  1117. $("#topDiv").css("height", 600)
  1118. $(e).parent().css("height", 10)
  1119. }
  1120. $(e).children().toggle()
  1121. }