fawenfile.js 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. 'use strict';
  2. var app = angular.module('app', [
  3. ]);
  4. app.controller("formeditCtrl", ["$scope", "$http", "$timeout", function ($scope, $http, $timeout) {
  5. var self = this;
  6. var s4 = new SM4Util();
  7. self.userId = $.cookie("GlWorkPlatform-userid");
  8. self.userName = $.cookie("GlWorkPlatform-chineseName");
  9. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  10. self.routeid = sp.getUrlName("routeid");
  11. self.routeinfoid = sp.getUrlName("routeinfoid");
  12. self.directionid = sp.getUrlName("directionid");
  13. self.formeditid = sp.getUrlName("formeditid");
  14. self.docmode = sp.getUrlName("docmode");
  15. self.dotype = sp.getUrlName("dotype");
  16. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  17. self.get_lastReturnPage = sp.getUrlName("lastReturnPage");
  18. self.get_type = sp.getUrlName("type");
  19. sp.fitHeight("#iframe_WO", 100);
  20. if (self.get_lastReturnPage != "") {
  21. self.return = "../../../" + self.get_lastReturnPage + "?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
  22. } else {
  23. self.return = "../list.html?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
  24. }
  25. var postCfg = {
  26. headers: {
  27. 'Content-Type': 'application/json',
  28. 'Authorization': "Bearer " + self.get_AccessToken
  29. }
  30. };
  31. self.video = false;
  32. self.QianPi = false;
  33. self.watchNum = 0;
  34. //初始化右上角按钮
  35. self.buttonList = []
  36. self.getSwenList = function () {
  37. self.SwenList = [];
  38. var data = {
  39. directionid: self.directionid,
  40. userid: self.userId,
  41. routeinfoid: self.routeinfoid,
  42. routeid: self.routeid,
  43. formeditid: ""
  44. }
  45. $http.post(apiurljs.login + "g2app/abase/queryDataLink", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  46. .success(function (obj) {
  47. var res = strToJson(s4.decryptData_CBC(obj.data));
  48. $.each(res.data.LINKS, function (index, item) {
  49. if (item.TEMPFORM.indexOf("fawenfile.html") > -1) {
  50. self.Title = item.VNAME;
  51. }
  52. if (item.TEMPFORM.indexOf("?docmode") > 0) {
  53. if (item.TEMPFORM.indexOf("attachlist") > -1 || item.TEMPFORM.indexOf("fawenfile") > -1) {
  54. item.TEMPFORM = item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  55. } else {
  56. item.TEMPFORM = "../" + item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
  57. }
  58. } else {
  59. item.TEMPFORM = "#";
  60. }
  61. self.SwenList.push(item)
  62. })
  63. self.SwenList.push({
  64. VNAME: "流程图",
  65. DIRECTIONID: self.SwenList[0].DIRECTIONID,
  66. TEMPFORM: "modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
  67. })
  68. self.getGWZL()
  69. })
  70. }
  71. self.getSwenList(0)
  72. self.getGWZL = function () {
  73. var data = {
  74. tablename: "CODE_GWTYPE",
  75. colums: "ID,CODE,CNAME,FLOWID",
  76. order: "ID desc",
  77. sqlwhere: {
  78. USEMARK: 1
  79. },
  80. sqlinwhere: "",
  81. sqllikewhere: ""
  82. }
  83. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  84. .success(function (obj) {
  85. var res = strToJson(s4.decryptData_CBC(obj.data));
  86. console.log(res.data)
  87. self.GWZL = res.data;
  88. //console.log(JSON.stringify(self.GWZL));
  89. self.getDOCKIND()
  90. })
  91. }
  92. self.getDOCKIND = function () {
  93. var data = {
  94. ckey: "CODE_DOCKIND",
  95. routeinfoid: self.routeinfoid
  96. }
  97. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  98. .success(function (obj) {
  99. var res = strToJson(s4.decryptData_CBC(obj.data));
  100. self.DOCKIND = res.data.CODE_DOCKIND;
  101. self.getFuncList()
  102. })
  103. }
  104. self.getFuncList = function () {
  105. var data = {
  106. ckey: "SX_SZJWWZXXFBD",
  107. id: 0,
  108. directionid: self.directionid,
  109. formeditid: self.formeditid,
  110. routeid: self.routeid,
  111. routeinfoid: self.routeinfoid
  112. }
  113. $http.post(apiurljs.login + "g2app/abase/queryData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  114. .success(function (obj) {
  115. var res = strToJson(s4.decryptData_CBC(obj.data));
  116. self.file = {
  117. GWZL: res.data.SX_SZJWWZXXFBD.GWZL,
  118. DOCKIND: self.DOCKIND[0].CODE
  119. }
  120. var data = {
  121. ckey: "FAWEN_FILES",
  122. id: 0,
  123. directionid: self.directionid,
  124. formeditid: self.formeditid,
  125. routeid: self.routeid,
  126. routeinfoid: self.routeinfoid
  127. }
  128. $http.post(apiurljs.login + "g2app/abase/queryData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  129. .success(function (obj1) {
  130. var res1 = strToJson(s4.decryptData_CBC(obj1.data));
  131. self.buttonList = self.dotype == 0 ? [] : res1.data["FAWEN_FILES.FUNCLIST"];
  132. ///---zyg---********************************
  133. self.getFileByKind(1, self.DOCKIND[0].CODE);
  134. self.getFileByKind(2, self.DOCKIND[1].CODE);
  135. self.getFileByKind(3, self.DOCKIND[2].CODE);
  136. })
  137. })
  138. }
  139. ///---zyg---*************************************************************************
  140. self.btnCreateFileKind = function () {
  141. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  142. var dialogBody = "<div class=\"sp-dialog-body\">您确认要创建吗?</div>";
  143. 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>";
  144. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  145. sp.openCenter(".sp-dialog");
  146. ///取消按钮
  147. $('.sp-closeDialog').click(function (event) {
  148. sp.closeCenter(".sp-dialog");
  149. event.preventDefault();
  150. event.stopPropagation();
  151. });
  152. //post消息的id
  153. $("#delDataTrue").click(function () {
  154. var data = {
  155. dockind: self.file.DOCKIND,
  156. routeinfoid: self.routeinfoid,
  157. gwtype: self.file.GWZL
  158. }
  159. console.log(data);
  160. $http.post(apiurljs.login + "g2app/fawenfiles/newDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  161. .success(function (obj) {
  162. var res = strToJson(s4.decryptData_CBC(obj.data));
  163. console.log(JSON.stringify(res));
  164. sp.dialoghide();
  165. if (res.success) {
  166. self.getFileByKind(1, self.DOCKIND[0].CODE);
  167. //self.getFileByKind(2, self.DOCKIND[1].CODE);
  168. } else {
  169. sp.dialog("创建失败,请联系管理员!");
  170. }
  171. ///
  172. });
  173. });
  174. };
  175. self.gaoTypeArrayFirst = [];
  176. self.gaoTypeArraySecond = [];
  177. self.leftFileKind_active_id = "";///当前选中的文件的id
  178. self.getFileByKind = function (ctype, dockindStr) {
  179. var data = {
  180. dockind: dockindStr,
  181. routeinfoid: self.routeinfoid
  182. }
  183. //console.log(data);
  184. $http.post(apiurljs.login + "g2app/fawenfiles/queryDataList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  185. .success(function (obj) {
  186. var res = strToJson(s4.decryptData_CBC(obj.data));
  187. if (ctype == 1) {
  188. self.gaoTypeArrayFirst = res.data;
  189. if (sp.isval(self.gaoTypeArrayFirst)) {
  190. ///self.getFileWo("1111219901", "自定义表单工作梳理.doc", "http://10.233.22.204:8088/glwork/g2work/files2/inline/865e508cb0c706bd2e09e73f2168cb8a/431d39d5e28fec47bc346a3b8e2f35f7/e887aae5ae9ae8a1a8e58d95e5b7a5e4bd9ce9878fe9878de696b0e6a2b3e79086.doc");
  191. ///http://10.233.22.204:8088/glworkweb/UploadAttach/doc1090286669558296576.wps
  192. var set_filepath = apiurljs.login.split("glwork/")[0] + "glworkweb/" + self.gaoTypeArrayFirst[0].FILEURL;
  193. //console.log(set_filepath);
  194. self.getFileWo(self.gaoTypeArrayFirst[0].ID, self.gaoTypeArrayFirst[0].FILENAMES, set_filepath);
  195. self.leftFileKind_active_id = self.gaoTypeArrayFirst[0].ID;
  196. } else {
  197. $("#iframe_WO").attr("src", "");
  198. self.leftFileKind_active_id = "";
  199. }
  200. } else if (ctype == 2) {
  201. self.gaoTypeArraySecond = res.data;
  202. if (self.gaoTypeArraySecond.length > 0) {
  203. self.browse(self.gaoTypeArraySecond[0])
  204. } else {
  205. $("#iframe_WO").attr("src", "");
  206. }
  207. } else if (ctype == 3) {
  208. self.gaoTypeArrayThird = res.data;
  209. if (self.gaoTypeArrayThird.length > 0) {
  210. self.browse(self.gaoTypeArrayThird[0])
  211. } else {
  212. $("#iframe_WO").attr("src", "");
  213. }
  214. }
  215. ///
  216. })
  217. };
  218. self.btnClickFileKind = function (itemdata) {
  219. ///点击过程稿标题--zyg--20230328---***********
  220. self.leftFileKind_active_id = itemdata.ID;
  221. var set_filepath = apiurljs.login.split("glwork/")[0] + "glworkweb/" + itemdata.FILEURL;
  222. self.getFileWo(itemdata.ID, itemdata.FILENAMES, set_filepath);
  223. };
  224. self.btnDelFileKind = function (itemdata, n) {
  225. ///点击过程稿--删除图标--zyg--20230328---***********
  226. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  227. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  228. 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>";
  229. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  230. sp.openCenter(".sp-dialog");
  231. ///取消按钮
  232. $('.sp-closeDialog').click(function (event) {
  233. sp.closeCenter(".sp-dialog");
  234. event.preventDefault();
  235. event.stopPropagation();
  236. });
  237. //post消息的id
  238. $("#delDataTrue").click(function () {
  239. var data = {
  240. id: itemdata.ID
  241. }
  242. $http.post(apiurljs.login + "g2app/fawenfiles/deleteDataFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  243. .success(function (obj) {
  244. var res = strToJson(s4.decryptData_CBC(obj.data));
  245. //console.log(JSON.stringify(res));
  246. sp.dialoghide();
  247. if (res.success) {
  248. self.getFileByKind(n, self.DOCKIND[n - 1].CODE);
  249. } else {
  250. sp.dialog("创建失败,请联系管理员!");
  251. }
  252. ///
  253. });
  254. });
  255. };
  256. self.getFileWo = function (fileid, filename, filepath) {
  257. //var str = "jsonParams: %7B%22method%22%3A1%2C%22params%22%3A%7B%22userId%22%3A%2210.222.33.204%22%2C%22fileId%22%3A%22bcc3655a692547259a2f2335f78cd52f_558347767%22%2C%22filePath%22%3A%22%2Fdoc1090299906328735744.wps%22%2C%22userRight%22%3A0%2C%22mobileFlag%22%3Afalse%2C%22saveFlag%22%3Atrue%7D%2C%22indexFlag%22%3Atrue%7D";
  258. //console.log(decodeURIComponent(str));
  259. ////调用永中中转--zyg--**********************************--2023
  260. var data = {
  261. method: 1,
  262. params: {
  263. userId: self.userName,
  264. fileId: fileid,
  265. fileName: filename,
  266. filePath: filepath,
  267. userRight: self.dotype == 1 ? 0 : 1, // 用户权限 编辑:UserRightEdit = 0; 只读:UserRightReadonly = 1; 临时只读:UserRightTempReadonly = 2;此时页面上编辑—临时只读按钮,打开只能临时只读,不打开可以进行编辑
  268. //saveFlag: true, /// true:自动保存文档 false:不自动保存文档 (默认为true)
  269. callbackUrl: apiurljs.login + "g2app/fawenfiles/uploadFile"
  270. }
  271. };
  272. console.log(JSON.stringify(data))
  273. $.ajax({
  274. url: apiurljs.yzFileWo + "api.do",
  275. data: {
  276. jsonParams: encodeURIComponent(JSON.stringify(data))
  277. },
  278. type: "POST",
  279. dataType: "json",
  280. general: false,
  281. async: false,
  282. success: function (data) {
  283. console.log(data);
  284. if (data) {
  285. if (data.errorCode === "0") {
  286. let rst = data.result;
  287. console.log(rst.urls);
  288. if (rst && rst.urls) {
  289. var get_urls = rst.urls;
  290. console.log(get_urls);
  291. if (typeof (get_urls) === "string") {
  292. $timeout(function () {
  293. $("#iframe_WO").attr("src", get_urls);
  294. })
  295. } else {
  296. console.warn("无效的urls:" + get_urls);
  297. }
  298. } else {
  299. console.warn("ajax响应内容data.result有问题:" + rst);
  300. }
  301. } else {
  302. alert(data.errorMessage);
  303. }
  304. } else {
  305. console.warn("ajax响应内容为空!");
  306. }
  307. },
  308. });
  309. };
  310. //self.btnSave_1 = function () {
  311. // document.getElementById("iframe_WO").contentWindow.YozoOffice.Application.ActiveDocument.Save(true);
  312. //}
  313. self.btnSave = function () {
  314. ////调用永中保存函数--zyg--**********************************--2023
  315. //console.log("保存文件");
  316. var data = {
  317. method: 2,
  318. params: {
  319. fileId: self.leftFileKind_active_id
  320. }
  321. };
  322. $.ajax({
  323. url: apiurljs.yzFileWo + "api.do",
  324. data: {
  325. jsonParams: encodeURIComponent(JSON.stringify(data))
  326. },
  327. type: "POST",
  328. dataType: "json",
  329. general: false,
  330. async: false,
  331. success: function (data) {
  332. console.log(data);
  333. if (data && data.errorCode === "0") {
  334. sp.dialog("保存成功");
  335. }
  336. },
  337. });
  338. }
  339. //打印
  340. self.printFile = function () {
  341. document.getElementById("iframe_WO").contentWindow.YozoOffice.print();
  342. }
  343. self.btnXiuDing = function () {
  344. console.log("开启/关闭修订模式")
  345. }
  346. //右上角按钮调用方法
  347. self.btnEvent = function (item) {
  348. switch (item.CODE) {
  349. case "SAVEITEM": self.btnSave(); break;
  350. case "PRINTITEM": self.printFile(); break;
  351. case "SAVEOFD": self.toOFD(); break;
  352. case "GAIZITEM": self.qianZ(); break;
  353. case "SENDLOG": self.RouteList(); break;
  354. default: self.forward(item); break;
  355. }
  356. }
  357. //生成终稿
  358. self.toOFD = function () {
  359. if (self.gaoTypeArraySecond.length != 0) {
  360. sp.dialog("请删除成文稿后,点击文件保存!")
  361. $timeout(function () {
  362. sp.dialoghide()
  363. }, 1000)
  364. return
  365. }
  366. var data = {
  367. routeinfoid: self.routeinfoid,
  368. gwtype: self.file.GWZL,
  369. dockind: "D02"
  370. }
  371. $http.post(apiurljs.login + "g2app/fawenfiles/convertDataFinalOFDFile", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  372. .success(function (obj) {
  373. var res = strToJson(s4.decryptData_CBC(obj.data));
  374. if (res.success == true) {
  375. self.getFileByKind(2, self.DOCKIND[1].CODE)
  376. }
  377. })
  378. }
  379. //签章
  380. self.qianZ = function () {
  381. if (self.gaoTypeArrayThird.length != 0 || self.gaoTypeArraySecond.length != 0) {
  382. sp.dialog("请删除终稿、签章稿后,点击签章!")
  383. $timeout(function () {
  384. sp.dialoghide()
  385. }, 1000)
  386. return
  387. }
  388. var data = {
  389. srcpath: "/root/TongWeb7.0/applications/glworkweb/UploadAttach/" + self.gaoTypeArraySecond[0].FILENAMES,
  390. outpath: "/root/TongWeb7.0/applications/glworkweb/UploadAttach",
  391. routeinfoid: self.routeinfoid,
  392. gwtype: self.file.GWZL,
  393. dockind: "D03"
  394. }
  395. $http.post(apiurljs.login + "g2app/signature/getSignature", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  396. .success(function (obj) {
  397. var res = strToJson(s4.decryptData_CBC(obj.data));
  398. if (res.success == true) {
  399. self.getFileByKind(3, self.DOCKIND[2].CODE)
  400. }
  401. })
  402. }
  403. self.download = function (item) {
  404. window.open(apiurljs.login.split("glwork/")[0] + "glworkweb/" + item.FILEURL)
  405. }
  406. self.browse = function (item) {
  407. var set_convertType;
  408. if (item.FILEEXT == "ofd") {
  409. set_convertType = 570;
  410. } else {
  411. set_convertType = 0;
  412. }
  413. let postData = {
  414. convertType: set_convertType,
  415. fileUrl: apiurljs.login.split("glwork/")[0] + "glworkweb/" + item.FILEURL
  416. };
  417. var postCfg_transfer = {
  418. headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  419. transformRequest: function (data) {
  420. return $.param(data);
  421. }
  422. };
  423. $http.post(apiurljs.login.split("glwork/")[0] + "fcscloud/composite/httpfile", postData, postCfg_transfer)
  424. .success(function (res) {
  425. //console.log(res);
  426. if (res.errorcode === 0) {
  427. $("#iframe_WO").attr("src", res.data.viewUrl);
  428. } else {
  429. sp.dialog(res.message);
  430. }
  431. });
  432. }
  433. //转发
  434. self.forward = function (obj) {
  435. self.activeGroup = "部门";
  436. self.forwardUser = [];
  437. self.searchName = "";
  438. self.saveZB = false;
  439. self.btnItem = obj;
  440. if (self.filedChange == true) {
  441. self.btnSave(1)
  442. } else {
  443. var data = {
  444. codefuncbutton: self.btnItem.CODE,
  445. directionid: self.directionid,
  446. directionidtarget: self.btnItem.DIRECTIONIDTARGET,
  447. userid: self.userId,
  448. routeinfoid: self.routeinfoid,
  449. routeid: self.routeid
  450. }
  451. $http.post(apiurljs.login + "g2app/abase/queryDataSendByTarget", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  452. .success(function (obj) {
  453. var res = strToJson(s4.decryptData_CBC(obj.data));
  454. self.showContent = true;
  455. self.directions = res.data;//所有可选流向
  456. self.direction = self.directions[0];//所选流向
  457. if (self.direction.ENDNODETYPE == 1 || self.direction.CODEFUNCBUTTON == "SENDCOPYEND" || self.direction.CODEFUNCBUTTON == "SENDPERUSAL") {
  458. self.showContent = false;
  459. self.forward1(0)
  460. } else if (self.direction.ENDNODETYPE == 3) {
  461. self.showContent = true;
  462. self.forwardUser = [];
  463. self.directionList = self.direction["DIRECTION.CHILD"];
  464. $.each(self.directionList, function (index, item) {
  465. item.forwardUser = index;
  466. self.forwardUser.push([])
  467. //item.show = false;
  468. item.Dep = [];//部门
  469. item.Dep.push(item.SENDUSERS.SECTS[0]);
  470. item.organCode = item.Dep[0].CODE;//所选部门编号
  471. $.each(item.Dep, function (index1, item1) {
  472. item1.open = true;
  473. $.each(item1.C_H_I_L_D, function (index2, item2) {
  474. item2.open = true;
  475. })
  476. })
  477. item.people = item.SENDUSERS.USERS;//人员
  478. item.people.forEach(function (item1) {
  479. item1.show = true;
  480. })
  481. item.mainSend = null;//主送
  482. item.copySend = [];//抄送
  483. })
  484. self.activeDirection = self.directionList[0]
  485. console.log(self.activeDirection)
  486. self.forward2(0)
  487. } else {
  488. self.showContent = true;
  489. self.forwardUser = [];
  490. self.Dep = [];//部门
  491. self.Dep.push(self.direction.SENDUSERS.SECTS[0]);
  492. self.organCode = self.Dep[0].CODE;//所选部门编号
  493. $.each(self.Dep, function (index, item) {
  494. item.open = true;
  495. $.each(item.C_H_I_L_D, function (index1, item1) {
  496. item1.open = true;
  497. })
  498. })
  499. self.people = self.direction.SENDUSERS.USERS;//人员
  500. self.people.forEach(function (item) {
  501. item.show = true;
  502. })
  503. self.mainSend = null;//主送
  504. self.copySend = [];//抄送
  505. self.forward1(0)
  506. }
  507. //setTimeout(function () {
  508. // sp.layer("#forward");
  509. //}, 100)
  510. })
  511. }
  512. }
  513. //转发(新)
  514. self.forward1 = function (n) {
  515. if (n == 0) {
  516. sp.layer("#forward");
  517. } else {
  518. if (self.activeGroup == "自定义") {
  519. self.getZbList()
  520. }
  521. }
  522. self.activeUser = null;
  523. self.moveFlag1 = false;
  524. self.moveFlag2 = false;
  525. }
  526. self.searchPerson = function () {
  527. self.people.forEach(function (item) {
  528. if (item.USERNAME.indexOf(self.searchName) > -1) {
  529. item.show = true;
  530. } else {
  531. item.show = false;
  532. }
  533. })
  534. }
  535. self.adduser = function () {
  536. self.people.forEach(function (item) {
  537. if (item.checked == true && item.show == true) {
  538. self.forwardUser.push(item);
  539. item.checked = false;
  540. item.show = false;
  541. }
  542. })
  543. if (self.forwardUser.length == 1) {
  544. self.moveFlag1 = false;
  545. self.moveFlag2 = false;
  546. return;
  547. }
  548. self.getmoveFlag()
  549. }
  550. self.deluser = function () {
  551. self.forwardUser.forEach(function (item) {
  552. if (item.checked == true) {
  553. item.checked = false;
  554. item.show = true;
  555. }
  556. })
  557. self.forwardUser = self.forwardUser.filter(function (item) {
  558. return item.show == false;
  559. })
  560. if (self.forwardUser.length == 1) {
  561. self.moveFlag1 = false;
  562. self.moveFlag2 = false;
  563. return;
  564. }
  565. self.getmoveFlag()
  566. }
  567. self.adduserAll = function () {
  568. self.people.forEach(function (item) {
  569. if (item.show == true) {
  570. self.forwardUser.push(item);
  571. item.checked = false;
  572. item.show = false;
  573. }
  574. })
  575. if (self.forwardUser.length == 1) {
  576. self.moveFlag1 = false;
  577. self.moveFlag2 = false;
  578. return;
  579. }
  580. self.getmoveFlag()
  581. }
  582. self.deluserAll = function () {
  583. self.forwardUser.forEach(function (item) {
  584. item.checked = false;
  585. item.show = true;
  586. })
  587. self.forwardUser = [];
  588. self.moveFlag1 = false;
  589. self.moveFlag2 = false;
  590. }
  591. self.checkForwardUser = function (n) {
  592. if (self.activeUser != n) {
  593. self.activeUser = n;
  594. } else {
  595. self.activeUser = null;
  596. }
  597. if (self.forwardUser.length == 1) {
  598. self.moveFlag1 = false;
  599. self.moveFlag2 = false;
  600. return;
  601. }
  602. if (self.activeUser == null) {
  603. self.moveFlag1 = false;
  604. self.moveFlag2 = false;
  605. } else {
  606. self.getmoveFlag()
  607. }
  608. }
  609. self.getmoveFlag = function () {
  610. if (self.activeUser == 0) {
  611. self.moveFlag1 = false;
  612. self.moveFlag2 = true;
  613. } else if (self.activeUser == self.forwardUser.length - 1) {
  614. self.moveFlag1 = true;
  615. self.moveFlag2 = false;
  616. } else {
  617. self.moveFlag1 = true;
  618. self.moveFlag2 = true;
  619. }
  620. }
  621. self.moveUp = function () {
  622. var a = self.forwardUser[self.activeUser], b = self.forwardUser[self.activeUser - 1];
  623. self.forwardUser[self.activeUser] = b;
  624. self.forwardUser[self.activeUser - 1] = a;
  625. self.activeUser = self.activeUser - 1;
  626. self.getmoveFlag()
  627. }
  628. self.moveDown = function () {
  629. var a = self.forwardUser[self.activeUser], b = self.forwardUser[self.activeUser + 1];
  630. self.forwardUser[self.activeUser] = b;
  631. self.forwardUser[self.activeUser + 1] = a;
  632. self.activeUser = self.activeUser + 1;
  633. self.getmoveFlag()
  634. }
  635. self.getZbList = function () {
  636. var data = {
  637. userid: self.userId
  638. }
  639. $http.post(apiurljs.login + "g2app/usercustom/queryCustomData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  640. .success(function (obj) {
  641. var res = strToJson(s4.decryptData_CBC(obj.data));
  642. self.zbList = res.data;
  643. self.zbCode = self.zbList[0].CODE;
  644. self.people.forEach(function (item) {
  645. item.show = false;
  646. self.zbList.forEach(function (item1) {
  647. item1.USERS.forEach(function (item2) {
  648. if (item.USERID == item2.USERID) {
  649. item.show = true;
  650. item.set = self.zbCode;
  651. }
  652. })
  653. self.forwardUser.forEach(function (obj) {
  654. item1.USERS.forEach(function (item2) {
  655. if (obj.USERID == item2.USERID) {
  656. obj.show = false;
  657. obj.set = self.zbCode;
  658. }
  659. })
  660. })
  661. })
  662. })
  663. })
  664. }
  665. self.checkZB = function (item1) {
  666. self.zbCode = item1.CODE;
  667. self.people.forEach(function (item) {
  668. item.show = false;
  669. item.checked = false;
  670. item1.USERS.forEach(function (item2) {
  671. if (item.USERID == item2.USERID) {
  672. item.show = true;
  673. item.set = self.zbCode;
  674. }
  675. })
  676. })
  677. self.forwardUser.forEach(function (obj) {
  678. item1.USERS.forEach(function (item2) {
  679. if (obj.USERID == item2.USERID) {
  680. obj.show = false;
  681. obj.set = self.zbCode;
  682. }
  683. })
  684. })
  685. }
  686. self.delZB = function (item) {
  687. var data = {
  688. code: item.CODE,
  689. userid: self.userId
  690. }
  691. $http.post(apiurljs.login + "g2app/usercustom/delCustomData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  692. .success(function (obj) {
  693. var res = strToJson(s4.decryptData_CBC(obj.data));
  694. if (res.success == true) {
  695. self.getZbList()
  696. }
  697. })
  698. }
  699. self.btnSaveZB = function () {
  700. if (self.forwardUser.length == 0) {
  701. return
  702. }
  703. var data = {
  704. userid: self.userId,
  705. cname: self.cnameZB,
  706. userids: JSON.stringify(self.forwardUser.map(function (item) {
  707. return { userid: item.USERID }
  708. }))
  709. }
  710. $http.post(apiurljs.login + "g2app/usercustom/saveCustomData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  711. .success(function (obj) {
  712. var res = strToJson(s4.decryptData_CBC(obj.data));
  713. if (res.success == true) {
  714. self.searchName = "";
  715. self.saveZB = false;
  716. self.getZbList()
  717. }
  718. })
  719. }
  720. //a代表所选项上一级,b代表当前所选项
  721. self.setMainSend = function (a, b) {
  722. a.mainSend = b;
  723. }
  724. self.setCopySend = function (a, b) {
  725. a.copySend.push(b);
  726. }
  727. self.delCopySend = function (a, b) {
  728. a.copySend.splice(a.copySend.indexOf(b), 1)
  729. }
  730. self.sendFlag = false;
  731. self.send = function () {
  732. self.sendFlag = true;
  733. if (self.direction.ENDNODETYPE == 1) {
  734. var sendUser = {
  735. DIRECTIONID: self.direction.DIRECTIONID,
  736. MAINUSERID: "STOP",
  737. COPYUSERID: ""
  738. }
  739. } else if (self.direction.CODEFUNCBUTTON == "SENDCOPYEND" || self.direction.CODEFUNCBUTTON == "SENDPERUSAL") {
  740. var sendUser = {
  741. DIRECTIONID: self.direction.DIRECTIONID,
  742. MAINUSERID: "",
  743. COPYUSERID: ""
  744. }
  745. } else {
  746. if (self.forwardUser.length == 0) {
  747. sp.layerhide()
  748. sp.dialog("请选择人员!");
  749. $timeout(function () {
  750. sp.dialoghide()
  751. sp.layer("#forward");
  752. }, 2000)
  753. return
  754. }
  755. //if (self.mainSend == null && (self.direction.SENDRULE == 0 || self.direction.SENDRULE == 1)) {
  756. // self.mainNull = true;
  757. // self.sendFlag = false;
  758. // return;
  759. //}
  760. //var sendUser = {
  761. // DIRECTIONID: self.direction.DIRECTIONID,
  762. // MAINUSERID: self.mainSend ? self.mainSend.USERID : "",
  763. // COPYUSERID: self.copySend.map(function (item) {
  764. // return item.USERID
  765. // }).join("|")
  766. //}
  767. var sendUser = {
  768. DIRECTIONID: self.direction.DIRECTIONID,
  769. MAINUSERID: self.forwardUser.map(function (item) {
  770. return item.USERID
  771. }).join("|"),
  772. COPYUSERID: ""
  773. }
  774. }
  775. var data = {
  776. codefuncbutton: self.direction.CODEFUNCBUTTON,
  777. directionid: self.directionid,
  778. userid: self.userId,
  779. routeinfoid: self.routeinfoid,
  780. routeid: self.routeid,
  781. data: "[" + JSON.stringify(sendUser) + "]"
  782. }
  783. $http.post(apiurljs.login + "g2app/abase/saveDataSend", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  784. .success(function (obj) {
  785. var res = strToJson(s4.decryptData_CBC(obj.data));
  786. self.sendFlag = false;
  787. sp.closeCenter('.sp-layer');
  788. if (res.success == true) {
  789. sp.dialog("发送成功!");
  790. $timeout(function () {
  791. window.location.href = "../list.html?lastReturnPageno=" + sp.getUrlName("lastReturnPageno")
  792. }, 1500)
  793. } else {
  794. sp.dialog(res.message)
  795. }
  796. })
  797. }
  798. self.openPeopleList = function (item1) {
  799. $.each(self.directionList, function (index, item) {
  800. if (item.CNAME == item1.CNAME) {
  801. item.show = !item1.show;
  802. } else {
  803. item.show = false;
  804. }
  805. })
  806. }
  807. self.sendAll = function () {
  808. if (self.filedChange == true) {
  809. self.btnSave(2)
  810. } else {
  811. var sendUser = [];
  812. self.directionList.forEach(function (item) {
  813. if (item.mainSend != null || item.copySend.length > 0) {
  814. sendUser.push({
  815. DIRECTIONID: item.DIRECTIONID,
  816. MAINUSERID: item.mainSend ? item.mainSend.USERID : "",
  817. COPYUSERID: item.copySend.map(function (item1) {
  818. return item1.USERID
  819. }).join("|")
  820. })
  821. }
  822. })
  823. var data = {
  824. codefuncbutton: self.direction.CODEFUNCBUTTON,
  825. directionid: self.directionid,
  826. userid: self.userId,
  827. routeinfoid: self.routeinfoid,
  828. routeid: self.routeid,
  829. data: JSON.stringify(sendUser)
  830. }
  831. $http.post(apiurljs.login + "g2app/abase/saveDataSend", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  832. .success(function (obj) {
  833. var res = strToJson(s4.decryptData_CBC(obj.data));
  834. sp.closeCenter('.sp-layer');
  835. if (res.success == true) {
  836. if (apiurljs.sendMsg == true) {
  837. if (self.mainSend) {
  838. var data = {
  839. acceptuserid: self.mainSend.USERID,
  840. flowid: "AA18",
  841. routeinfoid: self.routeinfoid
  842. }
  843. $http.post(apiurljs.login + "g2app/message/queryDataTodoFilen", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  844. .success(function (obj) {
  845. var res = strToJson(s4.decryptData_CBC(obj.data));
  846. if (res.success) {
  847. var data = {
  848. users: self.mainSend.UINPUTNAME,
  849. title: "你有一份新邮件",
  850. subtitle: self.data.BT,
  851. content: "请及时处理",
  852. link: window.location.origin + "/g2workweb/fromMessage.html?userid=" + self.mainSend.USERID + "&&openPage=" + res.data + "&dotype=" + self.dotype + "&type=" + self.get_type + "&&PKID=FZF08&&CNAME=发文管理"
  853. }
  854. $http.post(apiurljs.login + "g2app/message/sendEmailMessage", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  855. .success(function (obj) {
  856. var res = strToJson(s4.decryptData_CBC(obj.data));
  857. if (res.data.status == 200) {
  858. sp.dialog("发送成功!");
  859. $timeout(function () {
  860. window.location.href = "../list.html?lastReturnPageno=" + sp.getUrlName("lastReturnPageno")
  861. }, 1500)
  862. } else {
  863. sp.dialog(res.message)
  864. }
  865. })
  866. } else {
  867. sp.dialog(res.message)
  868. }
  869. })
  870. } else {
  871. var n = 0;
  872. $.each(self.copySend, function (index, item) {
  873. var data = {
  874. acceptuserid: item.USERID,
  875. flowid: "AA18",
  876. routeinfoid: self.routeinfoid
  877. }
  878. $http.post(apiurljs.login + "g2app/message/queryDataTodoFilen", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  879. .success(function (obj) {
  880. var res = strToJson(s4.decryptData_CBC(obj.data));
  881. if (res.success) {
  882. var data = {
  883. users: item.UINPUTNAME,
  884. title: "你有一份新邮件",
  885. subtitle: self.data.BT,
  886. content: "请及时处理",
  887. link: window.location.origin + "/g2workweb/fromMessage.html?userid=" + item.USERID + "&&openPage=" + res.data + "&dotype=" + self.dotype + "&type=" + self.get_type + "&&PKID=FZF08&&CNAME=发文管理"
  888. }
  889. $http.post(apiurljs.login + "g2app/message/sendEmailMessage", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  890. .success(function (obj) {
  891. var res = strToJson(s4.decryptData_CBC(obj.data));
  892. if (res.data.status == 200) {
  893. n++
  894. } else {
  895. sp.dialog(res.message);
  896. return false
  897. }
  898. })
  899. } else {
  900. sp.dialog(res.message);
  901. return false
  902. }
  903. })
  904. })
  905. if (n == self.copySend.length) {
  906. sp.dialog("发送成功!");
  907. $timeout(function () {
  908. window.location.href = "../list.html?lastReturnPageno=" + sp.getUrlName("lastReturnPageno")
  909. }, 1500)
  910. }
  911. }
  912. } else {
  913. sp.dialog("发送成功!");
  914. $timeout(function () {
  915. window.location.href = "../list.html?lastReturnPageno=" + sp.getUrlName("lastReturnPageno")
  916. }, 1500)
  917. }
  918. } else {
  919. sp.dialog(res.message)
  920. }
  921. })
  922. }
  923. }
  924. //查看流转记录
  925. self.RouteList = function () {
  926. $(".sp-page-center").hide();
  927. var data = {
  928. directionid: self.directionid,
  929. userid: self.userId,
  930. routeid: self.routeid,
  931. routeinfoid: self.routeinfoid,
  932. }
  933. $http.post(apiurljs.login + "g2app/abase/queryDataRouteList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  934. .success(function (obj) {
  935. var res = strToJson(s4.decryptData_CBC(obj.data));
  936. self.routeList = res.data;
  937. $.each(self.routeList, function (index, item) {
  938. $.each(item.USERS, function (index1, item1) {
  939. if (item1.KIND == 0) {
  940. item.mainUser = [];
  941. item.mainUser.push(item1.USERNAME);
  942. item.mainUser = item.mainUser.join(",");
  943. } else if (item1.KIND == 1) {
  944. item.copyUsers = [];
  945. item.copyUsers.push(item1.USERNAME)
  946. item.copyUsers = item.copyUsers.join(",");
  947. } else {
  948. item.mainUser = [];
  949. item.mainUser.push(item1.USERNAME);
  950. item.mainUser = item.mainUser.join(",");
  951. }
  952. })
  953. })
  954. $time(function (item) {
  955. sp.layer("#RouteList");
  956. }, 100);
  957. })
  958. }
  959. //头部下滚冻结
  960. $(function () {
  961. $(".sp-page-center").css("max-height", $(window).height() - 58).css("height", $(window).height() - 58)
  962. //页面高度撑满
  963. setTimeout(function () {
  964. if ($(".ibox-content").height() < $(window).height() - 31) {
  965. $(".ibox-content").css("height", $(window).height() - 31)
  966. }
  967. }, 1)
  968. $(".sp-bgMask").bind("click", function () {
  969. $('.sp-page-center').show(); $('.Browse').attr('src', $('.Browse').attr('src'));
  970. });
  971. })
  972. }])