formedit.js 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443
  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 postCfg = {
  25. headers: {
  26. 'Content-Type': 'application/json',
  27. 'Authorization': "Bearer " + self.get_AccessToken
  28. }
  29. };
  30. self.FormTitle = $.cookie("GlWorkPlatform-SYSNAME");
  31. //初始化右上角按钮
  32. self.buttonList = []
  33. //上层附件、业务参考、共享沟通组件
  34. self.uploading_zw = false;
  35. self.uploading = false;
  36. self.upload_zw = function () {
  37. var uploadformat = strToJson(s4.decryptData_CBC(apiurljs.uploadformat)).data.map(function (item) {
  38. return item.CNAME
  39. })
  40. $('#fileupload-zw').fileupload({
  41. url: apiurljs.login + 'g2app/fawenfiles/uploadFileWithForm',
  42. dataType: 'json',
  43. beforeSend: function (xhr, data) {
  44. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  45. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FAWEN_FILES,routeinfoid=" + self.routeinfoid + ",gwtype=" + self.data.GWZL + ",dockind=D01"));
  46. },
  47. add: function (e, data) {
  48. var num = 0;
  49. var acceptFileTypes = eval('/(' + apiurljs.zwType.join("|") + ')$/i')
  50. //文件类型判断
  51. $.each(data.originalFiles, function (index, item) {
  52. if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
  53. sp.dialog("您好,请上传" + apiurljs.zwType.join("/") + "格式的文件!");
  54. return;
  55. } else {
  56. num++
  57. }
  58. })
  59. if (num == data.originalFiles.length) {
  60. self.uploading_zw = true;
  61. data.submit();
  62. $scope.$apply();
  63. }
  64. },
  65. // 上传完成后的执行逻辑
  66. done: function (e, data) {
  67. self.uploading_zw = false;
  68. self.getGCG()
  69. }
  70. })
  71. $timeout(function () {
  72. $("#fileupload-zw").trigger("click")
  73. }, 1)
  74. }
  75. self.upload = function () {
  76. var uploadformat = strToJson(s4.decryptData_CBC(apiurljs.uploadformat)).data.map(function (item) {
  77. return item.CNAME
  78. })
  79. $('#fileupload').fileupload({
  80. url: apiurljs.login + 'g2app/abase/uploadFileWithForm',
  81. dataType: 'json',
  82. beforeSend: function (xhr, data) {
  83. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  84. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + self.routeinfoid + ",ATTACHTYPE=督办公文延期"));
  85. },
  86. add: function (e, data) {
  87. var num = 0;
  88. var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
  89. //文件类型判断
  90. $.each(data.originalFiles, function (index, item) {
  91. if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
  92. sp.dialog("您好,请上传" + uploadformat.join("/") + "格式的文件!");
  93. return;
  94. } else {
  95. num++
  96. }
  97. })
  98. if (num == data.originalFiles.length) {
  99. self.uploading = true;
  100. data.submit();
  101. $scope.$apply();
  102. }
  103. },
  104. // 上传完成后的执行逻辑
  105. done: function (e, data) {
  106. self.uploading = false;
  107. self.getOther()
  108. }
  109. })
  110. }
  111. self.downLoad = function (item) {
  112. window.open(apiurljs.login + "g2work/files/" + item.FILEURL.slice(7))
  113. }
  114. self.deleteFile = function (file) {
  115. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  116. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  117. 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>";
  118. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  119. sp.openCenter(".sp-dialog");
  120. ///取消按钮
  121. $('.sp-closeDialog').click(function (event) {
  122. sp.closeCenter(".sp-dialog");
  123. event.preventDefault();
  124. event.stopPropagation();
  125. });
  126. //post消息的id
  127. $("#delDataTrue").click(function () {
  128. var data = {
  129. tablename: "FILE_ATTACH",
  130. id: file.ID
  131. };
  132. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  133. .success(function (obj) {
  134. var res = strToJson(s4.decryptData_CBC(obj.data));
  135. sp.dialoghide();
  136. if (res.success) {
  137. self.getOther();
  138. } else {
  139. sp.dialog("删除失败,请联系管理员!");
  140. }
  141. });
  142. });
  143. }
  144. self.goAttach = function (obj) {
  145. if (obj) {
  146. if (apiurljs.zhType.indexOf(obj.FILEEXT) == -1) {
  147. sp.dialog("文件暂不支持在线预览,请点击下载查看!")
  148. return
  149. }
  150. $("#attachlist")[0].contentWindow.openFile(obj)
  151. if ($(".fa-chevron-down").is(":hidden") == true) {
  152. showToggle(document.getElementById("toggleButton"))
  153. }
  154. } else {
  155. if ($("#attachlist").attr("src") == '') {
  156. $("#attachlist").attr("src", "attachlist.html?page=formedit&routeinfoid=" + self.routeinfoid)
  157. }
  158. }
  159. }
  160. self.readonly = {
  161. JJCD: false,
  162. BH: false,
  163. HYZZDW: false,
  164. HYRQ: false,
  165. ZCR: false,
  166. CHLD: false,
  167. HYMC: false,
  168. HYDD: false,
  169. BGSNCHYJ: false,
  170. WLDYJ: false,
  171. CSCHYJ: false,
  172. BZ: false
  173. }
  174. self.getSwenList = function (n) {
  175. self.SwenList = [];
  176. var data = {
  177. directionid: self.directionid,
  178. userid: self.userId,
  179. routeinfoid: self.routeinfoid,
  180. routeid: self.routeid,
  181. formeditid: ""
  182. }
  183. $http.post(apiurljs.login + "g2app/abase/queryDataLink", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  184. .success(function (obj) {
  185. var res = strToJson(s4.decryptData_CBC(obj.data));
  186. if (self.copyrightid == "") {
  187. self.copyrightid = res.data.LINKS[0].COPYRIGHTID
  188. }
  189. $.each(res.data.LINKS, function (index, item) {
  190. if (item.TEMPFORM.indexOf("formedit.html") > -1) {
  191. self.Title = item.VNAME;
  192. }
  193. if (item.TEMPFORM.indexOf("?docmode") > 0) {
  194. if (item.TEMPFORM.indexOf("attachlist") > -1 || item.TEMPFORM.indexOf("fawenfile") > -1) {
  195. item.TEMPFORM = item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  196. } else {
  197. item.TEMPFORM = "../" + item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  198. }
  199. } else {
  200. item.TEMPFORM = "#";
  201. }
  202. self.SwenList.push(item)
  203. })
  204. self.SwenList.push({
  205. VNAME: "流程图",
  206. DIRECTIONID: self.SwenList[0].DIRECTIONID,
  207. TEMPFORM: "modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
  208. })
  209. if (n == 0) {
  210. self.getFLOW()
  211. } else {
  212. self.getData()
  213. }
  214. })
  215. }
  216. self.getSwenList(0)
  217. self.getFLOW = function () {
  218. var data = {
  219. copyrightid: self.copyrightid
  220. }
  221. $http.post(apiurljs.login + "g2work/flow/queryDataByCopyrightid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  222. .success(function (obj) {
  223. var res = strToJson(s4.decryptData_CBC(obj.data));
  224. self.flowTitle = res.data.CNAME;
  225. self.getGWZL()
  226. })
  227. }
  228. self.getGWZL = function () {
  229. var data = {
  230. tablename: "CODE_GWTYPE",
  231. colums: "ID,CODE,CNAME,FLOWID,DOCFILE,REDFILE",
  232. order: "ID desc",
  233. sqlwhere: {
  234. USEMARK: 1,
  235. FLOWID: "AA65"
  236. },
  237. sqlinwhere: "",
  238. sqllikewhere: ""
  239. }
  240. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  241. .success(function (obj) {
  242. var res = strToJson(s4.decryptData_CBC(obj.data));
  243. self.GWZL = res.data;
  244. self.getJJQK()
  245. })
  246. }
  247. self.getJJQK = function () {
  248. var data = {
  249. ckey: "CODE_EMERGENCY",
  250. routeinfoid: self.routeinfoid
  251. }
  252. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  253. .success(function (obj) {
  254. var res = strToJson(s4.decryptData_CBC(obj.data));
  255. self.JJCD = res.data.CODE_EMERGENCY;
  256. self.getUserList()
  257. })
  258. }
  259. self.getUserList = function () {
  260. $http.post(apiurljs.login + "g2app/dataabase/getDpList", { data: s4.encryptData_CBC("") }, postCfg)
  261. .success(function (obj) {
  262. var res = strToJson(s4.decryptData_CBC(obj.data));
  263. self.userList = res.data;
  264. self.userList.forEach(function (item) {
  265. item.checked = false;
  266. item.USER.forEach(function (item1) {
  267. item1.checked = false;
  268. item1.USHOWNAME1 = item1.USHOWNAME.length > 3 ? item1.USHOWNAME.slice(0, 3) + "..." : item1.USHOWNAME;
  269. item1.USHOWNAME2 = item1.USHOWNAME.length > 10 ? item1.USHOWNAME.slice(0, 10) + "..." : item1.USHOWNAME
  270. })
  271. })
  272. self.UserList = {
  273. WNRY: JSON.parse(JSON.stringify(self.userList))
  274. };
  275. self.AllChecked = {};
  276. self.UserLength = {};
  277. self.selectList = {};
  278. self.getData()
  279. })
  280. }
  281. //获取数据
  282. self.getData = function () {
  283. var data = {
  284. ckey: "SX_PHD",
  285. id: 0,
  286. directionid: self.directionid,
  287. formeditid: self.formeditid,
  288. routeid: self.routeid,
  289. routeinfoid: self.routeinfoid
  290. }
  291. $http.post(apiurljs.login + "g2app/abase/queryData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  292. .success(function (obj) {
  293. var res = strToJson(s4.decryptData_CBC(obj.data));
  294. self.data = {
  295. ID: res.data.SX_PHD.ID,
  296. APPCODE: res.data.SX_PHD.APPCODE,
  297. JJCD: res.data.SX_PHD.JJCD == "" ? self.JJCD[0].CODE : res.data.SX_PHD.JJCD,
  298. BH: res.data.SX_PHD.BH,
  299. HYZZDW: res.data.SX_PHD.HYZZDW,
  300. HYRQ: res.data.SX_PHD.HYRQ == "" ? sp.datefmt("yyyy-MM-dd HH:mm", sp.getLocalDate()) : sp.datefmt("yyyy-MM-dd HH:mm", res.data.SX_PHD.HYRQ),
  301. ZCR: res.data.SX_PHD.ZCR,
  302. GWZL:res.data.SX_PHD.GWZL == "" ? self.GWZL[0].CODE : res.data.SX_PHD.GWZL,
  303. CHLD: res.data.SX_PHD.CHLD,
  304. HYMC: res.data.SX_PHD.HYMC,
  305. HYDD: res.data.SX_PHD.HYDD,
  306. BZ: res.data.SX_PHD.BZ
  307. }
  308. self.readonly = {
  309. JJCD: res.data.SX_PHD["JJCD.EREADONLY"] == "true",
  310. BH: res.data.SX_PHD["BH.EREADONLY"] == "true",
  311. HYZZDW: res.data.SX_PHD["HYZZDW.EREADONLY"] == "true",
  312. HYRQ: res.data.SX_PHD["HYRQ.EREADONLY"] == "true",
  313. ZCR: res.data.SX_PHD["ZCR.EREADONLY"] == "true",
  314. CHLD: res.data.SX_PHD["CHLD.EREADONLY"] == "true",
  315. HYMC: res.data.SX_PHD["HYMC.EREADONLY"] == "true",
  316. HYDD: res.data.SX_PHD["HYDD.EREADONLY"] == "true",
  317. BGSNCHYJ: res.data.SX_PHD["BGSNCHYJ.EREADONLY"] == "true",
  318. WLDYJ: res.data.SX_PHD["WLDYJ.EREADONLY"] == "true",
  319. CSCHYJ: res.data.SX_PHD["CSCHYJ.EREADONLY"] == "true",
  320. BZ: res.data.SX_PHD["BZ.EREADONLY"] == "true"
  321. }
  322. if (self.data.ID == 0) {
  323. self.filedChange = true;
  324. } else {
  325. self.filedChange = false;
  326. }
  327. self.buttonList = res.data["SX_PHD.FUNCLIST"];
  328. self.getOpinion("BGSNCHYJ")
  329. self.getOpinion("WLDYJ")
  330. self.getOpinion("CSCHYJ")
  331. self.getOpinion1()
  332. self.getOther()
  333. self.getGCG()
  334. })
  335. }
  336. //获取意见
  337. self.getOpinion = function (str) {
  338. var data = {
  339. cmanid: self.userId,
  340. routeinfoid: self.routeinfoid,
  341. routeid: "",//self.routeid,
  342. tableid: "SX_PHD",
  343. colid: str,
  344. opiniontype: 0,
  345. orderbycol: "CDATE desc"
  346. }
  347. $http.post(apiurljs.login + "g2app/abase/queryDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  348. .success(function (obj) {
  349. var res = strToJson(s4.decryptData_CBC(obj.data));
  350. if (res.success == true) {
  351. self.YJ[str] = res.data;
  352. self.YJ[str + "STATUS"] = false;
  353. self.YJ[str].forEach(function (item) {
  354. item.CDATE = sp.datefmt("yyyy-MM-dd", item.CDATE);
  355. if (item.ROUTEID == self.routeid) {
  356. self.YJ[str + "STATUS"] = true;
  357. }
  358. })
  359. } else {
  360. sp.dialog(res.message)
  361. }
  362. })
  363. }
  364. //获取附件和插件
  365. self.getOther = function () {
  366. if (self.routeinfoid == 0) { return }
  367. var data = {
  368. tablename: "FILE_ATTACH",
  369. colums: "*",
  370. order: "ID desc",
  371. sqlwhere: { ROUTEINFOID: self.routeinfoid },
  372. sqlinwhere: "",
  373. sqllikewhere: ""
  374. }
  375. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  376. .success(function (obj) {
  377. var res = strToJson(s4.decryptData_CBC(obj.data));
  378. self.arrayFile1 = [];
  379. if (res.data.length > 0) {
  380. res.data.forEach(function (item) {
  381. if (item.ATTACHTYPE.indexOf("-正文") > -1) {
  382. self.arrayFile = item;
  383. } else {
  384. self.arrayFile1.push(item)
  385. }
  386. })
  387. }
  388. })
  389. }
  390. //获取意见(不上表)
  391. self.opiniontype = 99;
  392. self.getOpinion1 = function () {
  393. var data = {
  394. cmanid: self.userId,
  395. routeinfoid: self.routeinfoid,
  396. routeid: "",//self.routeid,
  397. tableid: "SX_PHD",
  398. colid: "",
  399. opiniontype: self.opiniontype,
  400. orderbycol: "CDATE desc"
  401. }
  402. $http.post(apiurljs.login + "g2app/abase/queryDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  403. .success(function (obj) {
  404. var res = strToJson(s4.decryptData_CBC(obj.data));
  405. if (res.success == true) {
  406. self.YJ.nulla = res.data;
  407. self.YJ.nullaSTATUS = false;
  408. self.YJ.nulla.forEach(function (item) {
  409. item.CDATE = sp.datefmt("yyyy-MM-dd", item.CDATE);
  410. //if (item.ROUTEID == self.routeid && item.COLID == "") {
  411. // self.YJ.nullaSTATUS = true;
  412. //}
  413. })
  414. } else {
  415. sp.dialog(res.message)
  416. }
  417. })
  418. }
  419. //发文打开过程稿在线编辑
  420. self.getGCG = function () {
  421. var data = {
  422. dockind: "D01",
  423. routeinfoid: self.routeinfoid
  424. }
  425. $http.post(apiurljs.login + "g2app/fawenfiles/queryDataList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  426. .success(function (obj) {
  427. var res = strToJson(s4.decryptData_CBC(obj.data));
  428. self.gaoTypeArrayFirst = res.data;
  429. if (self.gaoTypeArrayFirst.length > 1) {
  430. var data = {
  431. id: self.gaoTypeArrayFirst[0].ID
  432. }
  433. $http.post(apiurljs.login + "g2app/fawenfiles/deleteDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  434. .success(function (obj) {
  435. var res = strToJson(s4.decryptData_CBC(obj.data));
  436. if (res.success) {
  437. self.getGCG()
  438. }
  439. });
  440. } else if (self.gaoTypeArrayFirst.length > 0) {
  441. if (self.gaoTypeArrayFirst[0].FILEURL.indexOf("files") > -1) {
  442. if (self.gaoTypeArrayFirst[0].FILENAMES.split(".").length == 1) {
  443. self.gaoTypeArrayFirst[0].FILENAMES = self.gaoTypeArrayFirst[0].FILENAMES + "." + self.gaoTypeArrayFirst[0].FILEEXT
  444. }
  445. var set_filepath = apiurljs.login + "g2work/files/" + self.gaoTypeArrayFirst[0].FILEURL.slice(7);
  446. } else {
  447. var set_filepath = apiurljs.login.split("glwork/")[0] + "glworkweb/" + self.gaoTypeArrayFirst[0].FILEURL;
  448. }
  449. self.getFileWo(self.gaoTypeArrayFirst[0].ID, self.gaoTypeArrayFirst[0].FILENAMES, set_filepath);
  450. self.goAttach(self.gaoTypeArrayFirst[0])
  451. }
  452. console.log(self.gaoTypeArrayFirst)
  453. })
  454. }
  455. //生成正文三种方式:空白模板,红头模板,上传本地文件
  456. self.newMoBan1 = function () {
  457. if (self.gaoTypeArrayFirst&&self.gaoTypeArrayFirst.length > 0) {
  458. var data = {
  459. id: self.gaoTypeArrayFirst[0].ID
  460. }
  461. $http.post(apiurljs.login + "g2app/fawenfiles/deleteDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  462. .success(function (obj) {
  463. var res = strToJson(s4.decryptData_CBC(obj.data));
  464. if (res.success) {
  465. var data = {
  466. dockind: "D01",
  467. routeinfoid: self.routeinfoid,
  468. gwtype: self.data.GWZL,
  469. filekind: "DOCFILE"
  470. }
  471. $http.post(apiurljs.login + "g2app/fawenfiles/newDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  472. .success(function (obj) {
  473. var res = strToJson(s4.decryptData_CBC(obj.data));
  474. if (res.success) {
  475. self.getGCG()
  476. } else {
  477. sp.dialog("创建失败,请联系管理员!");
  478. }
  479. });
  480. } else {
  481. sp.dialog("创建失败,请联系管理员!");
  482. }
  483. });
  484. } else {
  485. var data = {
  486. dockind: "D01",
  487. routeinfoid: self.routeinfoid,
  488. gwtype: self.data.GWZL,
  489. filekind: "DOCFILE"
  490. }
  491. $http.post(apiurljs.login + "g2app/fawenfiles/newDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  492. .success(function (obj) {
  493. var res = strToJson(s4.decryptData_CBC(obj.data));
  494. if (res.success) {
  495. self.getGCG()
  496. } else {
  497. sp.dialog("创建失败,请联系管理员!");
  498. }
  499. });
  500. }
  501. }
  502. self.newMoBan2 = function () {
  503. if (self.gaoTypeArrayFirst&&self.gaoTypeArrayFirst.length > 0) {
  504. var data = {
  505. id: self.gaoTypeArrayFirst[0].ID
  506. }
  507. $http.post(apiurljs.login + "g2app/fawenfiles/deleteDataFile", { 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) {
  511. var data = {
  512. dockind: "D01",
  513. routeinfoid: self.routeinfoid,
  514. gwtype: self.data.GWZL,
  515. filekind: "REDFILE"
  516. }
  517. $http.post(apiurljs.login + "g2app/fawenfiles/newDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  518. .success(function (obj) {
  519. var res = strToJson(s4.decryptData_CBC(obj.data));
  520. if (res.success) {
  521. self.getGCG()
  522. } else {
  523. sp.dialog("创建失败,请联系管理员!");
  524. }
  525. });
  526. } else {
  527. sp.dialog("创建失败,请联系管理员!");
  528. }
  529. });
  530. } else {
  531. var data = {
  532. dockind: "D01",
  533. routeinfoid: self.routeinfoid,
  534. gwtype: self.data.GWZL,
  535. filekind: "REDFILE"
  536. }
  537. $http.post(apiurljs.login + "g2app/fawenfiles/newDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  538. .success(function (obj) {
  539. var res = strToJson(s4.decryptData_CBC(obj.data));
  540. if (res.success) {
  541. self.getGCG()
  542. } else {
  543. sp.dialog("创建失败,请联系管理员!");
  544. }
  545. });
  546. }
  547. }
  548. self.getFileWo = function (fileid, filename, filepath) {
  549. var data = {
  550. method: 1,
  551. params: {
  552. userId: self.userName,
  553. fileId: fileid,
  554. fileName: filename,
  555. filePath: filepath,
  556. userRight: self.dotype == 1 ? 0 : 1,// 用户权限 编辑:UserRightEdit = 0; 只读:UserRightReadonly = 1; 临时只读:UserRightTempReadonly = 2;此时页面上编辑—临时只读按钮,打开只能临时只读,不打开可以进行编辑
  557. //saveFlag: true, /// true:自动保存文档 false:不自动保存文档 (默认为true)
  558. callbackUrl: apiurljs.login + "g2app/fawenfiles/uploadFile"
  559. }
  560. };
  561. console.log(JSON.stringify(data))
  562. $.ajax({
  563. url: apiurljs.yzFileWo + "api.do",
  564. data: {
  565. jsonParams: encodeURIComponent(JSON.stringify(data))
  566. },
  567. type: "POST",
  568. dataType: "json",
  569. general: false,
  570. async: false,
  571. success: function (data) {
  572. console.log(data);
  573. if (data) {
  574. if (data.errorCode === "0") {
  575. let rst = data.result;
  576. console.log(rst.urls);
  577. if (rst && rst.urls) {
  578. var get_urls = rst.urls;
  579. console.log(get_urls);
  580. if (typeof (get_urls) === "string") {
  581. $timeout(function () {
  582. //$("#iframe_book").css("height", $(".ibox-content").height() - 123)
  583. $("#iframe_book").attr("src", get_urls)
  584. })
  585. } else {
  586. console.warn("无效的urls:" + get_urls);
  587. }
  588. } else {
  589. console.warn("ajax响应内容data.result有问题:" + rst);
  590. }
  591. } else {
  592. alert(data.errorMessage);
  593. }
  594. } else {
  595. console.warn("ajax响应内容为空!");
  596. }
  597. },
  598. });
  599. }
  600. //判断页面字段是否只读readonly、是否隐藏show
  601. self.hide = function (type, field) {
  602. if (self.dotype == 0 && type == "readonly") {
  603. return true;
  604. } else {
  605. if (self[type][field] == true) {
  606. return true;
  607. } else {
  608. return false;
  609. }
  610. }
  611. }
  612. //右上角按钮调用方法
  613. self.btnEvent = function (item) {
  614. switch (item.CODE) {
  615. case "SAVEITEM": self.btnSave(0); break;
  616. case "PRINTITEM": self.btnPrint(); break;
  617. case "MEETITEM": self.Meet(); break;
  618. case "SENDLOG": self.RouteList(); break;
  619. default: self.forward(item); break;
  620. }
  621. }
  622. self.openUserList = function (str) {
  623. if (self.hide("readonly", str) == true) {
  624. return
  625. } else {
  626. self.filed = str;
  627. //self.AllChecked[self.filed] = false;
  628. sp.layer("#userList")
  629. $("#userList .sp-page").eq(0).scrollTop(0);
  630. }
  631. }
  632. self.checkAllUser = function () {
  633. self.AllChecked[self.filed] = !self.AllChecked[self.filed];
  634. $.each(self.UserList[self.filed], function (index, item) {
  635. item.checked = self.AllChecked[self.filed];
  636. $.each(item.USER, function (index1, item1) {
  637. item1.checked = self.AllChecked[self.filed];
  638. })
  639. })
  640. self.submitUserList(1)
  641. }
  642. self.checkUserItem = function (item) {
  643. item.checked = !item.checked;
  644. $.each(item.USER, function (index, item1) {
  645. item1.checked = item.checked;
  646. })
  647. var n = 0;
  648. $.each(self.UserList[self.filed], function (index, item) {
  649. if (item.checked == true) {
  650. n++
  651. }
  652. })
  653. if (n == self.UserList[self.filed].length) {
  654. self.AllChecked[self.filed] = true;
  655. } else {
  656. self.AllChecked[self.filed] = false;
  657. }
  658. self.submitUserList(1)
  659. }
  660. self.checkUser = function (item) {
  661. item.checked = !item.checked;
  662. var n = [], all = 0;
  663. $.each(self.UserList[self.filed], function (x, y) {
  664. n.push(0);
  665. $.each(y.USER, function (x1, y1) {
  666. if (y1.checked == true) {
  667. n[x]++
  668. }
  669. })
  670. if (n[x] == y.USER.length && n[x] != 0) {
  671. y.checked = true;
  672. all++
  673. } else {
  674. y.checked = false;
  675. }
  676. })
  677. if (all == self.UserList[self.filed].length) {
  678. self.AllChecked[self.filed] = true;
  679. } else {
  680. self.AllChecked[self.filed] = false;
  681. }
  682. self.submitUserList(1)
  683. }
  684. self.submitUserList = function (n) {
  685. var AllCheckedLength = 0;
  686. self.selectList[self.filed] = [];
  687. $.each(self.UserList[self.filed], function (index, item) {
  688. $.each(item.USER, function (index1, item1) {
  689. if (item1.checked == true) {
  690. AllCheckedLength++;
  691. self.selectList[self.filed].push(item1)
  692. }
  693. })
  694. })
  695. self.data[self.filed] = self.selectList[self.filed].map(function (item) {
  696. return item.USHOWNAME
  697. }).join(",")
  698. if (self.data[self.filed + "USERID"] != undefined) {
  699. self.data[self.filed + "USERID"] = self.selectList[self.filed].map(function (item) {
  700. return item.USERID
  701. }).join(",")
  702. }
  703. self.AllChecked[self.filed] = AllCheckedLength == self.UserLength[self.filed];
  704. self.changeFiled(self.filed)
  705. if (n == 0) {
  706. sp.layerhide();
  707. }
  708. }
  709. //保存提交
  710. self.btnSave = function (n) {
  711. if (spngvld.submit(".sp-page-center")) {
  712. var dataArray = [];
  713. dataArray.push(self.data);
  714. var data = {
  715. ckey: "SX_PHD",
  716. id: self.data.ID,
  717. routeid: self.routeid,
  718. routeinfoid: self.routeinfoid,
  719. routeinfotitle: self.data.HYMC,
  720. directionid: self.directionid,
  721. formeditid: self.formeditid,
  722. data: JSON.stringify(dataArray)
  723. }
  724. $http.post(apiurljs.login + "g2app/abase/saveData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  725. .success(function (obj) {
  726. var res = strToJson(s4.decryptData_CBC(obj.data));
  727. if (res.code == 0) {
  728. self.data.ID = res.data.ID;
  729. self.routeid = res.data.ROUTEID;
  730. self.routeinfoid = res.data.ROUTEINFOID;
  731. self.filedChange = false;
  732. if (self.gaoTypeArrayFirst.length == 0) {
  733. var data = {
  734. dockind: "D01",
  735. routeinfoid: self.routeinfoid,
  736. gwtype: self.data.GWZL,
  737. filekind: "DOCFILE"
  738. }
  739. $http.post(apiurljs.login + "g2app/fawenfiles/newDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  740. .success(function (obj) {
  741. var res = strToJson(s4.decryptData_CBC(obj.data));
  742. if (res.success) {
  743. if (n == 0) {
  744. sp.dialog("保存成功!");
  745. $timeout(function () {
  746. sp.dialoghide()
  747. }, 1500)
  748. self.getSwenList(1)
  749. } else if (n == 1) {
  750. self.forward(self.btnItem);
  751. } else {
  752. self.sendAll();
  753. }
  754. } else {
  755. sp.dialog("文稿创建失败,请联系管理员!");
  756. }
  757. });
  758. } else {
  759. var YZdata = {
  760. method: 2,
  761. params: {
  762. fileId: self.gaoTypeArrayFirst[0].ID
  763. }
  764. };
  765. $.ajax({
  766. url: apiurljs.yzFileWo + "api.do",
  767. data: {
  768. jsonParams: encodeURIComponent(JSON.stringify(YZdata))
  769. },
  770. type: "POST",
  771. dataType: "json",
  772. general: false,
  773. async: false,
  774. success: function (resp) {
  775. if (n == 0) {
  776. sp.dialog("保存成功!");
  777. $timeout(function () {
  778. sp.dialoghide()
  779. }, 1500)
  780. self.getSwenList(1)
  781. } else if (n == 1) {
  782. self.forward(self.btnItem);
  783. } else {
  784. self.sendAll();
  785. }
  786. }
  787. });
  788. }
  789. } else {
  790. sp.dialog(res.message)
  791. }
  792. })
  793. }
  794. }
  795. //打印
  796. self.btnPrint = function () {
  797. // 创建隐藏的可下载链接
  798. var eleLink = document.createElement('a');
  799. eleLink.download = "";
  800. eleLink.style.display = 'none';
  801. eleLink.href = apiurljs.login + "g2app/shouwen/PrintWord?data=" + encodeURIComponent(s4.encryptData_CBC("templatefilename=XZGZDT.ftl&tablename=SX_PHD&outfilepath=/tmp/会议通知单.wps&prtdate=RIQI&routeinfoid=" + self.routeinfoid));
  802. // 触发点击
  803. document.body.appendChild(eleLink);
  804. eleLink.click();
  805. // 然后移除
  806. document.body.removeChild(eleLink);
  807. //window.open(apiurljs.login + "g2app/shouwen/PrintWord?templatefilename=shouwen.ftl&tablename=SX_PHD&outfilepath=" + apiurljs.print + "&routeinfoid=" + self.routeinfoid)
  808. }
  809. //签写意见编辑状态
  810. self.opinion = {
  811. BGSNCHYJ: false,
  812. BGSNCHYJImg: false,
  813. WLDYJ: false,
  814. WLDYJImg: false,
  815. CSCHYJ: false,
  816. CSCHYJImg: false
  817. }
  818. self.YJ = {
  819. BGSNCHYJ: [],
  820. BGSNCHYJSTATUS: false,
  821. WLDYJ: [],
  822. WLDYJSTATUS: false,
  823. CSCHYJ: [],
  824. CSCHYJSTATUS: false
  825. }
  826. //下载意见表附件
  827. //删除意见表附件
  828. //意见附件(上表)
  829. self.upload2 = function (str) {
  830. $('#fileupload-' + str).fileupload({
  831. url: apiurljs.login + 'g2app/abase/UploadWholeFileWithRouteAttach',
  832. dataType: 'json',
  833. beforeSend: function (xhr, data) {
  834. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  835. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SYS_ROUTE_ATTACHLIST,userid=" + self.userId + ",routeinfoid=" + self.routeinfoid
  836. + ",routeid=" + self.routeid + ",tableid=SX_PHD,colid=" + str));
  837. },
  838. // 上传完成后的执行逻辑
  839. done: function (e, data) {
  840. self.uploading1 = false;
  841. self.getOpinion(str)
  842. }
  843. })
  844. }
  845. //签写意见
  846. self.openOpinion = function (str) {
  847. if (self.routeinfoid == 0 && self.routeid == 0) {
  848. sp.dialog("请先保存!")
  849. return;
  850. }
  851. self.opinion[str] = true;
  852. }
  853. //修改意见
  854. self.changeOpinion = function (str) {
  855. self.data[str] = self.YJ[str][0].OPINION;
  856. self.opinion[str] = true;
  857. }
  858. self.changeOpinionItem = function (str, item) {
  859. if (item.OPINIONIMAGE != "") {
  860. self.QianZi(str);
  861. self.opinion[str + "Img"] = true;
  862. }
  863. self.data[str] = item.OPINION;
  864. self.opinion[str] = true;
  865. }
  866. //提交意见
  867. self.Sopinion = function (str) {
  868. if (self.opinion[str + "Img"] == true) {
  869. self.data[str] = $("#" + str + "QZ").find("canvas")[0].toDataURL();
  870. } else {
  871. self.data[str] = $("#" + str).val();
  872. }
  873. var data = {
  874. cmanid: self.userId,
  875. routeinfoid: self.routeinfoid,
  876. routeid: self.routeid,
  877. tableid: "SX_PHD",
  878. colid: str,
  879. opiniontype: 0,
  880. cresult: "",
  881. opinion: self.opinion[str + "Img"] == false ? self.data[str] : "",
  882. opinionimage: self.opinion[str + "Img"] == true ? self.data[str] : ""
  883. }
  884. $http.post(apiurljs.login + "g2app/abase/saveDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  885. .success(function (obj) {
  886. var res = strToJson(s4.decryptData_CBC(obj.data));
  887. if (res.success == true) {
  888. self.getOpinion(str);
  889. self.opinion[str] = false;
  890. self.opinion[str + "Img"] = false;
  891. self.data[str] = "";
  892. self.changeFiled(str)
  893. } else {
  894. sp.dialog(res.message)
  895. }
  896. })
  897. }
  898. //意见(下表)
  899. self.openOptionList = function () {
  900. if (self.routeinfoid == 0 && self.routeid == 0) {
  901. sp.dialog("请先保存!")
  902. return;
  903. }
  904. if (self.opinion.nulla == true) {
  905. return;
  906. }
  907. self.nulla = "";
  908. $(".optionList").css("height", 149)
  909. self.opinion.nulla = true;
  910. }
  911. self.closeOptionList = function () {
  912. $(".optionList").css("height", 389)
  913. self.opinion.nulla = false;
  914. }
  915. self.submitOptionList = function () {
  916. var data = {
  917. cmanid: self.userId,
  918. routeinfoid: self.routeinfoid,
  919. routeid: self.routeid,
  920. tableid: "SX_PHD",
  921. colid: "",
  922. opiniontype: 99,
  923. cresult: "",
  924. opinion: self.nulla,
  925. opinionimage: ""
  926. }
  927. $http.post(apiurljs.login + "g2app/abase/saveDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  928. .success(function (obj) {
  929. var res = strToJson(s4.decryptData_CBC(obj.data));
  930. if (res.success == true) {
  931. self.getOpinion1();
  932. self.opinion.nulla = false;
  933. $(".optionList").css("height", 389)
  934. } else {
  935. sp.dialog(res.message)
  936. }
  937. })
  938. }
  939. self.changeOptionList = function (item) {
  940. self.nulla = item.OPINION;
  941. self.opinion.nulla = true;
  942. }
  943. //意见附件(下表)
  944. self.uploading1 = false;
  945. self.upload1 = function () {
  946. $('#fileupload1').fileupload({
  947. url: apiurljs.login + 'g2app/abase/UploadWholeFileWithRouteAttach',
  948. dataType: 'json',
  949. beforeSend: function (xhr, data) {
  950. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  951. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SYS_ROUTE_ATTACHLIST,userid=" + self.userId + ",routeinfoid=" + self.routeinfoid
  952. + ",routeid=" + self.routeid + ",tableid=SX_PHD"));
  953. },
  954. // 上传完成后的执行逻辑
  955. done: function (e, data) {
  956. self.uploading1 = false;
  957. self.getOpinion1()
  958. }
  959. })
  960. }
  961. //下载意见表附件
  962. self.downLoadOption = function (item) {
  963. window.open(apiurljs.login + "g2work/files/" + item.FILEPATH.slice(7))
  964. }
  965. //删除意见表附件
  966. self.deleteOptionFile = function (file, str) {
  967. var data = {
  968. routeid: file.ROUTEID,
  969. tableid: "SX_PHD",
  970. colid: str,
  971. fileid: file.FILEID
  972. };
  973. $http.post(apiurljs.login + "g2app/abase/deleteDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  974. .success(function (obj) {
  975. var res = strToJson(s4.decryptData_CBC(obj.data));
  976. sp.dialoghide();
  977. if (res.success) {
  978. if (str != "") {
  979. self.getOpinion(str);
  980. } else {
  981. self.getOpinion1();
  982. }
  983. } else {
  984. sp.dialog("删除失败,请联系管理员!");
  985. }
  986. });
  987. }
  988. //删除意见
  989. self.Dopinion = function (str, item) {
  990. var data = {
  991. cmanid: self.userId,
  992. routeid: self.routeid,
  993. tableid: "SX_PHD",
  994. colid: str,
  995. }
  996. $http.post(apiurljs.login + "g2app/abase/deleteDataOpinion", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  997. .success(function (obj) {
  998. var res = strToJson(s4.decryptData_CBC(obj.data));
  999. if (res.success == true) {
  1000. if (str != "") {
  1001. self.getOpinion(str);
  1002. } else {
  1003. self.getOpinion1();
  1004. }
  1005. self.changeFiled(str)
  1006. } else {
  1007. sp.dialog(res.message)
  1008. }
  1009. })
  1010. }
  1011. self.phraseText = "";//添加常用语
  1012. self.phraseList = []//常用语列表
  1013. //获取常用语库
  1014. self.phrase = function (colid) {
  1015. sp.layer("#phrase");
  1016. self.colid = colid;
  1017. self.getPhrase();
  1018. }
  1019. //添加常用语到常用语库
  1020. self.Aphrase = function () {
  1021. if (self.phraseText == "") {
  1022. return;
  1023. }
  1024. var data = {
  1025. cmanid: self.userId,
  1026. tableid: "SX_PHD",
  1027. colid: self.colid,
  1028. contents: self.phraseText
  1029. }
  1030. $http.post(apiurljs.login + "g2app/abase/insertDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  1031. .success(function (obj) {
  1032. var res = strToJson(s4.decryptData_CBC(obj.data));
  1033. if (res.success == true) {
  1034. self.phraseText = "";
  1035. self.getPhrase();
  1036. } else {
  1037. sp.dialog(res.message)
  1038. }
  1039. })
  1040. }
  1041. //获取常用语库
  1042. self.getPhrase = function () {
  1043. var data = {
  1044. cmanid: self.userId,
  1045. tableid: "SX_PHD",
  1046. colid: self.colid
  1047. }
  1048. $http.post(apiurljs.login + "g2app/abase/queryDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  1049. .success(function (obj) {
  1050. var res = strToJson(s4.decryptData_CBC(obj.data));
  1051. self.phraseList = res.data;
  1052. self.phraseSelect = self.phraseList[0].CONTENTS;
  1053. })
  1054. }
  1055. //从常用语库删除
  1056. self.Dphrase = function () {
  1057. var id = null;
  1058. $.each(self.phraseList, function (index, item) {
  1059. if (item.CONTENTS == self.phraseSelect) {
  1060. id = item.ID;
  1061. }
  1062. })
  1063. var data = {
  1064. id: id
  1065. }
  1066. $http.post(apiurljs.login + "g2app/abase/deleteDataPatterns", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  1067. .success(function (obj) {
  1068. var res = strToJson(s4.decryptData_CBC(obj.data));
  1069. self.getPhrase();
  1070. })
  1071. }
  1072. //常用语确认为意见
  1073. self.btnPhrase = function () {
  1074. if (!self.colid) {
  1075. self.nulla = self.phraseSelect;
  1076. } else {
  1077. self.data[self.colid] = self.phraseSelect;
  1078. }
  1079. sp.layerhide();
  1080. }
  1081. //签字—手写
  1082. self.QianZi = function (str) {
  1083. if (self.opinion[str + "Img"] == true) { return; }
  1084. self.opinion[str + "Img"] = true;
  1085. setTimeout(function () {
  1086. new lineCanvas(str + "QZ")
  1087. }, 1)
  1088. }
  1089. //清除手写
  1090. self.canvasClear = function (str) {
  1091. var cxt = $("#" + str + "QZ").find("canvas")[0].getContext("2d");
  1092. cxt.clearRect(0, 0, $("#" + str + "QZ").find("canvas")[0].width, $("#" + str + "QZ").find("canvas")[0].height)
  1093. }
  1094. //发生修改
  1095. self.changeFiled = function (str) {
  1096. self.filedChange = true;
  1097. }
  1098. //转发
  1099. self.forward = function (obj) {
  1100. self.btnItem = obj;
  1101. if (self.filedChange == true) {
  1102. self.btnSave(1)
  1103. } else {
  1104. $("#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=PH")
  1105. sp.layer("#forward")
  1106. }
  1107. }
  1108. //查看流转记录
  1109. self.RouteList = function () {
  1110. sp.openNewWindow("../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1], "流程图")
  1111. }
  1112. self.reSizeRow = function () {
  1113. var bodybox = document.getElementById("bodyDiv");
  1114. var topbox = document.getElementById("topDiv");
  1115. var bottombox = document.getElementById("bottomDiv");
  1116. var line = document.getElementById("lineDiv");
  1117. document.getElementById("lineDiv").addEventListener("mousedown", function (event) {
  1118. $(".mousemove").show()
  1119. var bodyboxH = bodybox.clientHeight;
  1120. var topboxH = topbox.clientHeight;
  1121. var bottomboxH = bottombox.clientHeight;
  1122. //var y = event.pageY - line.offsetTop;
  1123. var y = event.pageY - line.clientHeight;
  1124. document.addEventListener("mousemove", boxMove)
  1125. function boxMove(event) {
  1126. if (topboxH * 1 + (event.pageY - y) * 1 - 36 <= 45) {
  1127. //
  1128. } else if (bottomboxH * 1 - (event.pageY - y) * 1 - 36 <= 45) {
  1129. //
  1130. } else {
  1131. topbox.style.height = topboxH * 1 + (event.pageY - y) * 1 - 36 + "px";
  1132. //topbox.getElementsByTagName("iframe")[0].style.height = topboxH * 1 + (event.pageY - y) * 1 - 45 + "px";
  1133. bottombox.style.height = bodyboxH * 1 - topboxH * 1 - (event.pageY - y) * 1 + 36 + "px";
  1134. bottombox.getElementsByTagName("iframe")[0].style.height = bodyboxH * 1 - topboxH * 1 - (event.pageY - y) * 1 - 25 + "px";
  1135. }
  1136. }
  1137. document.addEventListener("mouseup", function () {
  1138. $(".mousemove").hide()
  1139. document.removeEventListener("mousemove", boxMove)
  1140. })
  1141. })
  1142. }
  1143. ////头部关键字搜索---20230905
  1144. self.headBtnSearchKeyword = "";
  1145. self.headSearchResult = [];
  1146. self.headSearchResult_view = false;
  1147. self.headBtnSearch = function () {
  1148. if (sp.isval(self.headBtnSearchKeyword)) {
  1149. self.headSearchResult = [];
  1150. var data = {
  1151. "url": "/basic/api/StatSelect/selectCodeList",
  1152. "data": { "keyWord": self.headBtnSearchKeyword }
  1153. }
  1154. //console.log(JSON.stringify(data));
  1155. $http.post(apiurljs.login + "g2app/yizhangtu/selectCodeList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  1156. .success(function (obj) {
  1157. var res = strToJson(s4.decryptData_CBC(obj.data));
  1158. //console.log(JSON.stringify(res.data));
  1159. self.headSearchResult = res.data.build;
  1160. if (sp.isval(self.headSearchResult)) {
  1161. self.headSearchResult_view = true;
  1162. } else {
  1163. self.headSearchResult_view = false;
  1164. }
  1165. })
  1166. } else {
  1167. self.headSearchResult_view = false;
  1168. }
  1169. };
  1170. self.headKeywordPage = function (itemdata) {
  1171. var get_token = localStorage.getItem("main-token");
  1172. var set_url = apiurljs.onePic + "wholeProcessPage/?token=" + get_token + "&name=" + itemdata.name + "&type=" + itemdata.type + "&id=" + itemdata.id;
  1173. $('#attachlist')[0].contentWindow.openTool(set_url, '一张图');
  1174. self.headSearchResult_view = false;
  1175. };
  1176. self.onePic = function () {
  1177. $('#attachlist')[0].contentWindow.openTool(apiurljs.onePic + "wholeProcessPage/?token=" + localStorage.getItem("main-token"), "地图搜索")
  1178. }
  1179. //公开
  1180. self.PUBLICITEM = function () {
  1181. var data = {
  1182. userid: self.userId
  1183. }
  1184. $http.post(apiurljs.login + "g2app/richang/queryDpInfo", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  1185. .success(function (obj) {
  1186. var res = strToJson(s4.decryptData_CBC(obj.data));
  1187. var data1 = {
  1188. tablename: "CODE_LM"
  1189. }
  1190. $http.post(apiurljs.login + "g2app/filepublishing/getTreeListByTablename", { data: s4.encryptData_CBC(JSON.stringify(data1)) }, postCfg)
  1191. .success(function (obj1) {
  1192. var res1 = strToJson(s4.decryptData_CBC(obj1.data));
  1193. self.LM = res1.data[0].C_H_I_L_D_DATA;
  1194. self.LM.forEach(function (item) {
  1195. item.show = true;
  1196. if (item.CNAME == "新闻动态" || item.CNAME == "通知公告" || (item.MKUSERID && item.MKUSERID.indexOf(self.userId) == -1)) {
  1197. item.show = false;
  1198. }
  1199. item.C_H_I_L_D_DATA.forEach(function (item1) {
  1200. item1.show = true;
  1201. if (item1.MKUSERID && item1.MKUSERID.indexOf(self.userId) == -1) {
  1202. item1.show = false;
  1203. }
  1204. })
  1205. })
  1206. self.filed = "GKFW";
  1207. self.msgGK = {
  1208. WJLY: "FW",
  1209. FLOWID: "AA88",
  1210. FORMROUTEINFOID: self.routeinfoid,
  1211. FBUSERID: self.userId,
  1212. FBNAME: self.userName,
  1213. GKFW: "",
  1214. LM: "P0103",
  1215. LM1: "委发文件",
  1216. FBRQ: sp.getLocalDate(),
  1217. FBBM: res.data[0].SECTION,
  1218. WJBT: self.data.FWBT
  1219. }
  1220. sp.layer("#PUBLICITEM")
  1221. $("#PUBLICITEM .sp-page").eq(0).scrollTop(0);
  1222. })
  1223. })
  1224. }
  1225. self.showCol = function ($event, ele) {
  1226. $('.detail-col').not(ele).hide();
  1227. $(ele).toggle("slow").autoHide();
  1228. $event.stopPropagation();
  1229. }
  1230. self.selectLM = function (item) {
  1231. self.msgGK.LM = item.CODE
  1232. self.msgGK.LM1 = item.CNAME
  1233. console.log(self.msgGK)
  1234. $(".detail-col").toggle("slow");
  1235. }
  1236. self.showSecond = function (obj, n) {
  1237. self.LM1 = obj.C_H_I_L_D_DATA;
  1238. $(".detail-col").eq(1).css("top", (n + 1) * 30 + n);
  1239. $(".detail-col").eq(1).show().autoHide()
  1240. }
  1241. self.checkAllUser1 = function () {
  1242. self.AllChecked[self.filed] = !self.AllChecked[self.filed];
  1243. $.each(self.UserList[self.filed], function (index, item) {
  1244. item.checked = self.AllChecked[self.filed];
  1245. $.each(item.USER, function (index1, item1) {
  1246. item1.checked = self.AllChecked[self.filed];
  1247. })
  1248. })
  1249. self.submitGK(1)
  1250. }
  1251. self.checkUserItem1 = function (item) {
  1252. item.checked = !item.checked;
  1253. $.each(item.USER, function (index, item1) {
  1254. item1.checked = item.checked;
  1255. })
  1256. var n = 0;
  1257. $.each(self.UserList[self.filed], function (index, item) {
  1258. if (item.checked == true) {
  1259. n++
  1260. }
  1261. })
  1262. if (n == self.UserList[self.filed].length) {
  1263. self.AllChecked[self.filed] = true;
  1264. } else {
  1265. self.AllChecked[self.filed] = false;
  1266. }
  1267. self.submitGK(1)
  1268. }
  1269. self.checkUser1 = function (item) {
  1270. item.checked = !item.checked;
  1271. var n = [], all = 0;
  1272. $.each(self.UserList[self.filed], function (x, y) {
  1273. n.push(0);
  1274. $.each(y.USER, function (x1, y1) {
  1275. if (y1.checked == true) {
  1276. n[x]++
  1277. }
  1278. })
  1279. if (n[x] == y.USER.length && n[x] != 0) {
  1280. y.checked = true;
  1281. all++
  1282. } else {
  1283. y.checked = false;
  1284. }
  1285. })
  1286. if (all == self.UserList[self.filed].length) {
  1287. self.AllChecked[self.filed] = true;
  1288. } else {
  1289. self.AllChecked[self.filed] = false;
  1290. }
  1291. self.submitGK(1)
  1292. }
  1293. self.submitGK = function (n) {
  1294. var AllCheckedLength = 0;
  1295. self.selectList[self.filed] = [];
  1296. $.each(self.UserList[self.filed], function (index, item) {
  1297. $.each(item.USER, function (index1, item1) {
  1298. if (item1.checked == true) {
  1299. AllCheckedLength++;
  1300. self.selectList[self.filed].push(item1)
  1301. }
  1302. })
  1303. })
  1304. self.msgGK[self.filed] = self.selectList[self.filed].map(function (item) {
  1305. return item.USERID
  1306. }).join(",")
  1307. self.AllChecked[self.filed] = AllCheckedLength == self.UserLength[self.filed];
  1308. if (n == 0) {
  1309. sp.layerhide();
  1310. var data = {
  1311. tablename: "SX_FBLIST",
  1312. data: {
  1313. WJLY: self.msgGK.WJLY,
  1314. FLOWID: self.msgGK.FLOWID,
  1315. FORMROUTEINFOID: self.msgGK.FORMROUTEINFOID,
  1316. FBUSERID: self.msgGK.FBUSERID,
  1317. FBNAME: self.msgGK.FBNAME,
  1318. GKFW: self.msgGK.GKFW,
  1319. LM: self.msgGK.LM,
  1320. FBRQ: self.msgGK.FBRQ,
  1321. FBBM: self.msgGK.FBBM,
  1322. WJBT: self.msgGK.WJBT
  1323. }
  1324. }
  1325. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  1326. .success(function (obj) {
  1327. var res = strToJson(s4.decryptData_CBC(obj.data));
  1328. sp.layerhide();
  1329. if (res.success) {
  1330. sp.dialog("操作成功!");
  1331. $timeout(function () {
  1332. sp.dialoghide();
  1333. }, 1000)
  1334. } else {
  1335. sp.dialog(res.message);
  1336. }
  1337. })
  1338. }
  1339. }
  1340. //头部下滚冻结
  1341. $(function () {
  1342. $(".sp-page-center").eq(0).css("max-height", $("#topDiv").height()).css("height", $("#topDiv").height())
  1343. $(".formedit center").css("height", $(".formedit center").next("div").height()).css("line-height", $(".formedit center").next("div").height() / 6 + "px")
  1344. //页面高度撑满
  1345. setTimeout(function () {
  1346. if ($(".ibox-content").height() < $(window).height() - 31) {
  1347. $(".ibox-content").css("height", $(window).height() - 31)
  1348. }
  1349. $(".mousemove").css("top", 0).css("left", 0).css("width", $(window).width()).css("height", $(window).height() - 10)
  1350. }, 1)
  1351. })
  1352. }])
  1353. app.filter('trustHtml', function ($sce) {
  1354. return function (input) {
  1355. return $sce.trustAsHtml(input.replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp;'));
  1356. };
  1357. });
  1358. //canvas画布签字
  1359. function lineCanvas(obj) {
  1360. var self = this;
  1361. self.linewidth = 1;
  1362. self.color = "#000000";
  1363. self.background = "#ffffff";
  1364. self.canvas = document.createElement("canvas");
  1365. document.getElementById(obj).appendChild(self.canvas);
  1366. self.cxt = self.canvas.getContext("2d");
  1367. self.canvas.width = document.getElementById(obj).clientWidth;
  1368. self.canvas.height = document.getElementById(obj).scrollHeight;
  1369. self.cxt.fillStyle = self.background;
  1370. self.cxt.fillRect(0, 0, self.canvas.width, self.canvas.width);
  1371. self.cxt.strokeStyle = self.color;
  1372. self.cxt.lineWidth = self.linewidth;
  1373. self.cxt.lineCap = "round";
  1374. //开始绘制
  1375. self.canvas.addEventListener("mousedown", function (e) {
  1376. self.cxt.beginPath();
  1377. self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
  1378. self.canvas.addEventListener("mousemove", move)
  1379. }.bind(self), false);
  1380. //绘制中
  1381. function move() {
  1382. var e = window.event;
  1383. self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
  1384. self.cxt.stroke();
  1385. }
  1386. //结束绘制
  1387. self.canvas.addEventListener("mouseup", up)
  1388. function up() {
  1389. self.cxt.closePath();
  1390. self.canvas.removeEventListener("mousemove", move)
  1391. }
  1392. };
  1393. var parentData = {}
  1394. function getData() {
  1395. parentData = angular.element(document.getElementById("app")).scope().data
  1396. return parentData
  1397. }
  1398. function showToggle(e) {
  1399. $(e).children().toggle()
  1400. $(e).next().toggle()
  1401. }
  1402. function toggleYJL(e) {
  1403. if ($(e).children(".fa-angle-double-down").is(":hidden") == true) {
  1404. $("#topDiv").css("height", 160)
  1405. $(e).parent().css("height", 450)
  1406. $("#attachlist").css("height", 200)
  1407. $("#bottomDiv").css("height", "")
  1408. } else {
  1409. $("#topDiv").css("height", 600)
  1410. $(e).parent().css("height", 10)
  1411. }
  1412. $(e).children().toggle()
  1413. }