list.js 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination'
  4. ]);
  5. app.controller("listCtrl", ["$scope", "$http", "$timeout", "$interval", function ($scope, $http, $timeout, $interval) {
  6. var self = this;
  7. var s4 = new SM4Util();
  8. self.userId = $.cookie("GlWorkPlatform-userid");
  9. self.userName = $.cookie("GlWorkPlatform-chineseName");
  10. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  11. self.deviceType = localStorage.getItem("tjJxtGoldenlinkWork-deviceType");
  12. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  13. self.get_type = sp.getUrlName("type");
  14. self.params = sp.getUrlName("params");
  15. var postCfg = {
  16. headers: {
  17. 'Content-Type': 'application/json',
  18. 'Authorization': "Bearer " + self.get_AccessToken
  19. }
  20. }
  21. self.type = self.get_type != "" ? self.get_type : "todo";
  22. self.Url = getUrl(self.type);
  23. self.CrossPage = window.parent.CrossPage;
  24. self.loading = false;
  25. self.search = null//JSON.parse($.cookie("GlWorkPlatform-shouwenbg"));
  26. self.noDataTip = 1;//没有数据时赋变量为0,先默认为1
  27. self.pageno = 1;
  28. self.total_count = 0;
  29. self.itemsPerPage = 10;
  30. self.pageOptions = [10, 20, 30, 40, 50, 100, 300, 500];
  31. self.getJJQK = function () {
  32. var data = {
  33. ckey: "CODE_EMERGENCY",
  34. routeinfoid: self.routeinfoid
  35. }
  36. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  37. .success(function (obj) {
  38. var res = strToJson(s4.decryptData_CBC(obj.data));
  39. self.JJQK = res.data.CODE_EMERGENCY;
  40. self.load()
  41. })
  42. }
  43. self.ordercondition = [];
  44. self.flowids = [{ ID: "AA18", NAME: "一般收文", checked: false }, { ID: "AA16", NAME: "领导批示", checked: false }]
  45. self.getData = function (pageno) {
  46. if (self.search == null) {
  47. self.search = {
  48. FLOW: [],
  49. TITLE: "",
  50. JJCD: "",
  51. DATE1: "",
  52. DATE2: "",
  53. SWBH: '',
  54. LWDW: '',
  55. LWWH: '',
  56. ZBCS: '',
  57. LWRQ1: '',
  58. LWRQ2: '',
  59. DBSX1: '',
  60. DBSX2: ''
  61. }
  62. }
  63. var flowids = self.search.FLOW.join("|");
  64. var querycondition = [];
  65. var columnscondition = [
  66. { COLID: "JJCD", COLUMNS: "SW_LDPSCBD.JJCD|SW_ZJWWJCBD.JJCD" },
  67. { COLID: "SWBH", COLUMNS: "SW_LDPSCBD.SWBH|SW_ZJWWJCBD.SWBH" },
  68. { COLID: "LWDW", COLUMNS: "SW_LDPSCBD.LWDW|SW_ZJWWJCBD.LWDW" },
  69. { COLID: "LWWH", COLUMNS: "SW_LDPSCBD.LWWH|SW_ZJWWJCBD.LWWH" },
  70. { COLID: "ZBCS", COLUMNS: "SW_LDPSCBD.ZBCS|SW_ZJWWJCBD.ZBCS" },
  71. { COLID: "LWRQ", COLUMNS: "SW_LDPSCBD.TO_CHAR(LWRQ)|SW_ZJWWJCBD.TO_CHAR(LWRQ)" },
  72. { COLID: "DBSX", COLUMNS: "SW_LDPSCBD.TO_CHAR(DBSX)|SW_ZJWWJCBD.TO_CHAR(DBSX)" },
  73. { COLID: "DBLX", COLUMNS: "SW_LDPSCBD.ZDDB|SW_ZJWWJCBD.DBLX" }
  74. ]
  75. if (self.search.TITLE != "") {
  76. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "TITLE", "VALUEA": self.search.TITLE, "VALUEB": "" })
  77. }
  78. if (self.search.JJCD != "") {
  79. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "CODETABLE", "COLID": "JJCD", "VALUEA": self.search.JJCD.join(","), "VALUEB": "" })
  80. }
  81. if (self.search.SWBH != "") {
  82. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "SWBH", "VALUEA": self.search.SWBH, "VALUEB": "" })
  83. }
  84. if (self.search.LWDW != "") {
  85. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "LWDW", "VALUEA": self.search.LWDW, "VALUEB": "" })
  86. }
  87. if (self.search.LWWH != "") {
  88. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "LWWH", "VALUEA": self.search.LWWH, "VALUEB": "" })
  89. }
  90. if (self.search.ZBCS != "") {
  91. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "ZBCS", "VALUEA": self.search.ZBCS, "VALUEB": "" })
  92. }
  93. if (self.search.LWRQ1 != "" && self.search.LWRQ2 != "") {
  94. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "LWRQ", "VALUEA": self.search.LWRQ1, "VALUEB": self.search.LWRQ2 })
  95. } else if (self.search.LWRQ1 != "" && self.search.LWRQ2 == "") {
  96. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "LWRQ", "VALUEA": self.search.LWRQ1, "VALUEB": "" })
  97. } else if (self.search.LWRQ1 == "" && self.search.LWRQ2 != "") {
  98. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "LWRQ", "VALUEA": "", "VALUEB": self.search.LWRQ2 })
  99. }
  100. if (self.search.DBSX1 != "" && self.search.DBSX2 != "") {
  101. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "DBSX", "VALUEA": self.search.DBSX1, "VALUEB": self.search.DBSX2 })
  102. } else if (self.search.DBSX1 != "" && self.search.DBSX2 == "") {
  103. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "DBSX", "VALUEA": self.search.DBSX1, "VALUEB": "" })
  104. } else if (self.search.DBSX1 == "" && self.search.DBSX2 != "") {
  105. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "DBSX", "VALUEA": "", "VALUEB": self.search.DBSX2 })
  106. }
  107. if (self.params != "") {
  108. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "SYS_ROUTE", "COLID": "ROUTEID", "VALUEA": self.params, "VALUEB": "" })
  109. }
  110. if (self.search.DATE1 != "" && self.search.DATE2 != "") {
  111. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": self.search.DATE1, "VALUEB": self.search.DATE2 })
  112. } else if (self.search.DATE1 != "" && self.search.DATE2 == "") {
  113. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": self.search.DATE1, "VALUEB": ""})
  114. } else if (self.search.DATE1 == "" && self.search.DATE2 != "") {
  115. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": "", "VALUEB": self.search.DATE2 })
  116. }
  117. self.list = [];
  118. self.loading = true;
  119. self.pageno = pageno;
  120. $scope.__default__currentPage = self.pageno; //设置页面样式在第几页
  121. var data = {
  122. flowid: flowids == "" ? "AA18|AA16" : flowids,
  123. userid: self.userId,
  124. pageno: self.pageno,
  125. pagesize: self.itemsPerPage,
  126. columnscondition: JSON.stringify(columnscondition),
  127. querycondition: JSON.stringify(querycondition),
  128. ordercondition: self.ordercondition.length == 0 ? "" : JSON.stringify(self.ordercondition)
  129. }
  130. //$http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  131. $http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, data, postCfg)
  132. .success(function (obj) {
  133. var res = obj;
  134. //var res = strToJson(s4.decryptData_CBC(obj.data));
  135. self.loading = false;
  136. if (res.data == null || res.data == undefined || res.data == "") {
  137. self.noDataTip = 0;
  138. if (self.params != "") {
  139. self.params = "";
  140. self.getData(1)
  141. }
  142. } else {
  143. self.noDataTip = 1;
  144. self.list = res.data;
  145. self.total_count = res.totalCount;
  146. $.each(self.list, function (index, item) {
  147. item.LWRQ = sp.format(item.LWRQ);
  148. item.DBSX = sp.format(item.DBSX);
  149. self.JJQK.forEach(function (item1) {
  150. if (item.JJCD == item1.CODE) {
  151. item.JJCD1 = item1.CNAME
  152. }
  153. })
  154. if (item.FILEN != "") {
  155. item.FILEN = item.FILEN.indexOf("dotype") > -1 ? item.FILEN.replace("dotype=1", "dotype=" + getDoType(self.type)) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno + "&flowid=" + item.FLOWID : item.FILEN + "&dotype=" + getDoType(self.type) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno + "&flowid=" + item.FLOWID;
  156. } else {
  157. item.FILEN = "#";
  158. }
  159. if (self.type == "finish") {
  160. item.RECEIVEDATE = item.FINISHEDDATE;
  161. }
  162. })
  163. }
  164. })
  165. }
  166. self.load = function () {
  167. if (self.get_lastReturnPageno == undefined || self.get_lastReturnPageno == null || self.get_lastReturnPageno == "") {
  168. self.getData(self.pageno);
  169. } else {
  170. $timeout(function () {
  171. self.getData(self.get_lastReturnPageno);
  172. }, 1)
  173. }
  174. }
  175. self.sortFiled = function (str) {
  176. var n = 0, obj, x = -1;
  177. self.ordercondition.forEach(function (item, index) {
  178. if (item.COLID == str) {
  179. n++
  180. item.SORTTYPE = item.SORTTYPE == "" || item.SORTTYPE == "asc" ? "desc" : "asc"
  181. obj = item; x = index
  182. }
  183. })
  184. if (n == 0) {
  185. self.ordercondition.unshift({ COLID: str, SORTTYPE: "desc" })
  186. }
  187. if (x != -1) {
  188. self.ordercondition.splice(x, 1)
  189. self.ordercondition.unshift(obj)
  190. }
  191. self.getData(1);
  192. }
  193. self.getJJQK();
  194. self.openLayer = function () {
  195. self.params = "";
  196. if (self.search == null) {
  197. self.search = {
  198. FLOW: [],
  199. TITLE: "",
  200. JJCD: "",
  201. DATE1: "",
  202. DATE2: "",
  203. SWBH: '',
  204. LWDW: '',
  205. LWWH: '',
  206. ZBCS: '',
  207. LWRQ1: '',
  208. LWRQ2: '',
  209. DBSX1: '',
  210. DBSX2: ''
  211. }
  212. } else {
  213. self.flowids.forEach(function (item) {
  214. item.checked = false;
  215. if (self.search.FLOW.indexOf(item.ID) > -1) {
  216. item.checked = true;
  217. }
  218. })
  219. self.JJQK.forEach(function (item) {
  220. item.checked = false;
  221. if (self.search.JJCD.indexOf(item.CODE) > -1) {
  222. item.checked = true;
  223. }
  224. })
  225. }
  226. sp.layer("#Search")
  227. }
  228. self.doSearch = function () {
  229. self.search.FLOW = [];
  230. self.flowids.forEach(function (item) {
  231. if (item.checked == true) {
  232. self.search.FLOW.push(item.ID)
  233. }
  234. })
  235. self.search.JJCD = [];
  236. self.JJQK.forEach(function (item) {
  237. if (item.checked == true) {
  238. self.search.JJCD.push(item.CODE)
  239. }
  240. })
  241. self.getData(self.pageno)
  242. sp.layerhide()
  243. }
  244. self.cancal = function () {
  245. self.search = {
  246. FLOW: [],
  247. TITLE: "",
  248. JJCD: "",
  249. DATE1: "",
  250. DATE2: "",
  251. SWBH: '',
  252. LWDW: '',
  253. LWWH: '',
  254. ZBCS: '',
  255. LWRQ1: '',
  256. LWRQ2: '',
  257. DBSX1: '',
  258. DBSX2: ''
  259. }
  260. $.cookie("GlWorkPlatform-shouwenbg", null, { path: '/', expires: 1 });
  261. self.getData(1)
  262. sp.layerhide()
  263. }
  264. self.refresh = function () {
  265. self.CrossPage.type = null;
  266. self.getData(self.pageno);
  267. }
  268. self.goUrl = function (item) {
  269. if (item.PASSWORD == 1) {
  270. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">密码验证</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  271. var dialogBody = "<div class=\"sp-dialog-body\"><input type='password' class='sp-input' placeholder='请输入密码' id='password' /><br><p id='warning' class='sp-color-red sp-text-center sp-mt-10'></p></div>";
  272. var dialogFoot = "<div class=\"sp-dialog-foot\"><input id='DataTrue' type='button' value='确 定' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  273. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  274. sp.openCenter(".sp-dialog");
  275. ///取消按钮
  276. $('.sp-closeDialog').click(function (event) {
  277. sp.closeCenter(".sp-dialog");
  278. event.preventDefault();
  279. event.stopPropagation();
  280. });
  281. //post消息的id
  282. $("#DataTrue").click(function () {
  283. if ($("#password").val() == "") {
  284. $("#warning").html("密码不能为空!")
  285. return
  286. }
  287. var data = {
  288. routeinfoid: item.ROUTEINFOID,
  289. password: $("#password").val()
  290. }
  291. $http.post(apiurljs.login + "g2work/routeinfo/checkPasswordWithRouteinfoID", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  292. .success(function (obj) {
  293. var res = strToJson(s4.decryptData_CBC(obj.data));
  294. sp.dialoghide()
  295. if (res.success == true) {
  296. if (item.TODOLIST && item.TODOLIST.length > 1) {
  297. self.todoTitle = item.TITLE;
  298. self.todoList = item.TODOLIST;
  299. sp.layer("#todolist")
  300. } else {
  301. if (self.deviceType == "pad") {
  302. window.location.href = item.FILEN + "&dotype=" + getDoType(self.type)
  303. } else {
  304. sp.openNewWindow(item.FILEN + "&dotype=" + getDoType(self.type), item.TITLE)
  305. }
  306. sp.layerhide();
  307. }
  308. } else {
  309. sp.dialog(res.message)
  310. }
  311. })
  312. })
  313. } else {
  314. if (item.TODOLIST && item.TODOLIST.length > 1) {
  315. self.todoTitle = item.TITLE;
  316. self.todoList = item.TODOLIST;
  317. sp.layer("#todolist")
  318. } else {
  319. if (self.deviceType == "pad") {
  320. window.location.href = item.FILEN + "&dotype=" + getDoType(self.type)
  321. } else {
  322. sp.openNewWindow(item.FILEN + "&dotype=" + getDoType(self.type), item.TITLE)
  323. }
  324. sp.layerhide();
  325. }
  326. }
  327. }
  328. self.setPassword = function (item) {
  329. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">密码设置</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  330. var dialogBody = "<div class=\"sp-dialog-body\"><input type='password' class='sp-input sp-mb-5' placeholder='请输入密码' id='password1' /><br><input type='password' class='sp-input' placeholder='请再次输入密码' id='password2' /><br><p id='warning' class='sp-color-red sp-text-center sp-mt-10'></p></div>";
  331. var dialogFoot = "<div class=\"sp-dialog-foot\"><input id='DataTrue' type='button' value='确 定' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  332. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  333. sp.openCenter(".sp-dialog");
  334. ///取消按钮
  335. $('.sp-closeDialog').click(function (event) {
  336. sp.closeCenter(".sp-dialog");
  337. event.preventDefault();
  338. event.stopPropagation();
  339. });
  340. //post消息的id
  341. $("#DataTrue").click(function () {
  342. if ($("#password1").val() == "") {
  343. $("#warning").html("密码不能为空!")
  344. return
  345. }
  346. if ($("#password1").val() != $("#password2").val()) {
  347. $("#warning").html("两次密码不一致!")
  348. return
  349. }
  350. $("#warning").html("")
  351. var data = {
  352. routeinfoid: item.ROUTEINFOID,
  353. oldpassword: "",
  354. newpassword: $("#password1").val()
  355. }
  356. $http.post(apiurljs.login + "g2work/routeinfo/updatePasswordWithRouteinfoID", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  357. .success(function (obj) {
  358. var res = strToJson(s4.decryptData_CBC(obj.data));
  359. sp.dialoghide()
  360. if (res.success == true) {
  361. self.getData(self.pageno)
  362. } else {
  363. sp.dialog(res.message)
  364. }
  365. })
  366. })
  367. }
  368. self.RePassword = function (item) {
  369. self.RePasswordObj = {
  370. type: 1,
  371. routeinfoid: item.ROUTEINFOID,
  372. oldpassword: "",
  373. newpassword: "",
  374. newpassword1: "",
  375. password: "",
  376. warning: ""
  377. }
  378. sp.layer("#RePassword")
  379. }
  380. self.subRePassword = function () {
  381. if (self.RePasswordObj.type == 1) {
  382. if (self.RePasswordObj.oldpassword == "") {
  383. self.RePasswordObj.warning = "请输入旧密码!";
  384. return
  385. } else if (self.RePasswordObj.newpassword == "") {
  386. self.RePasswordObj.warning = "请输入新密码!";
  387. return
  388. } else if (self.RePasswordObj.newpassword != self.RePasswordObj.newpassword1) {
  389. self.RePasswordObj.warning = "两次密码不一致,请重新输入!";
  390. return
  391. }
  392. var data = {
  393. routeinfoid: self.RePasswordObj.routeinfoid,
  394. oldpassword: self.RePasswordObj.oldpassword,
  395. newpassword: self.RePasswordObj.newpassword
  396. }
  397. $http.post(apiurljs.login + "g2work/routeinfo/updatePasswordWithRouteinfoID", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  398. .success(function (obj) {
  399. var res = strToJson(s4.decryptData_CBC(obj.data));
  400. sp.layerhide()
  401. if (res.success == true) {
  402. self.getData(self.pageno)
  403. } else {
  404. sp.dialog(res.message)
  405. }
  406. })
  407. } else {
  408. var data = {
  409. routeinfoid: self.RePasswordObj.routeinfoid,
  410. password: self.RePasswordObj.password
  411. }
  412. $http.post(apiurljs.login + "g2work/routeinfo/clearPasswordWithRouteinfoID", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  413. .success(function (obj) {
  414. var res = strToJson(s4.decryptData_CBC(obj.data));
  415. sp.layerhide()
  416. if (res.success == true) {
  417. self.getData(self.pageno)
  418. } else {
  419. sp.dialog(res.message)
  420. }
  421. })
  422. }
  423. }
  424. self.btnDel = function (item) {
  425. var data = {
  426. routeinfoid: item.ROUTEINFOID,
  427. userid: self.userId
  428. }
  429. $http.post(apiurljs.login + "g2work/routeinfo/deleteDraftByRouteinfoid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  430. .success(function (obj) {
  431. var res = strToJson(s4.decryptData_CBC(obj.data));
  432. if (res.success == true) {
  433. self.getData(self.pageno)
  434. } else {
  435. sp.dialog(res.message)
  436. }
  437. })
  438. }
  439. self.btnRecall = function (routeid,kind) {
  440. var data = {
  441. routeid: routeid,
  442. kind:kind,
  443. userid: self.userId
  444. }
  445. $http.post(apiurljs.login + "g2work/routeinfo/queryDataRecallDoneByRouteid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  446. .success(function (obj) {
  447. var res = strToJson(s4.decryptData_CBC(obj.data));
  448. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  449. var dialogBody = "<div class=\"sp-dialog-body\">" + res.data.REMARK + "</div>";
  450. 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>";
  451. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  452. sp.openCenter(".sp-dialog");
  453. ///取消按钮
  454. $('.sp-closeDialog').click(function (event) {
  455. sp.closeCenter(".sp-dialog");
  456. event.preventDefault();
  457. event.stopPropagation();
  458. });
  459. //post消息的id
  460. $("#delDataTrue").click(function () {
  461. $http.post(apiurljs.login + "g2work/routeinfo/recallDoneByRouteid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  462. .success(function (obj) {
  463. var res = strToJson(s4.decryptData_CBC(obj.data));
  464. sp.dialoghide()
  465. if (res.success == true) {
  466. self.getData(self.pageno)
  467. } else {
  468. sp.dialog(res.message)
  469. }
  470. })
  471. });
  472. })
  473. }
  474. self.btnYS = function (item) {
  475. var data = {
  476. userid: self.userId,
  477. flowid: "AA1H"
  478. }
  479. $http.post(apiurljs.login + "g2work/DangAn/queryWorkflowByusrid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  480. .success(function (obj) {
  481. var res = strToJson(s4.decryptData_CBC(obj.data));
  482. if (res.data[0]) {
  483. $.cookie("DBYS-LY", JSON.stringify({ TABLENAME: item.CODETABLE, ROUTEINFOID: item.ROUTEINFOID, TITLE: item.TITLE, CPSX: item[item.CODETABLE + ".CPSX"], DBSX: item.DBSX }), { path: '/', expires: 1 });
  484. console.log($.cookie("DBYS-LY"))
  485. sp.openNewWindow("../DBYS/" + res.data[0].FILEN + "&id=0&dotype=1&lastReturnPageno=1")
  486. } else {
  487. sp.dialog("暂无申请权限!")
  488. }
  489. })
  490. }
  491. self.changeType = function (str) {
  492. if (self.type == str) {
  493. return;
  494. } else {
  495. var time1 = sp.getLocalDate1();
  496. self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/routeinfo/" + self.Url)
  497. self.type = str;
  498. self.Url = getUrl(self.type);
  499. self.getData(1)
  500. }
  501. }
  502. self.getAddFlag = function () {
  503. var data = {
  504. userid: self.userId,
  505. ntops: 0
  506. }
  507. $http.post(apiurljs.login + "g2work/desktop/queryWorkflowCando", data, postCfg)
  508. .success(function (obj) {
  509. var res = strToJson(s4.decryptData_CBC(obj.data));
  510. self.lcList = [];
  511. self.activeLC = {};
  512. res.data.forEach(function (item) {
  513. if ("AA18|AA16|AA02|AA17".indexOf(item.FLOWID) > -1) {
  514. self.lcList.push(item);
  515. }
  516. })
  517. })
  518. }
  519. self.getAddFlag()
  520. self.addLC = function () {
  521. if (self.lcList.length == 1) {
  522. sp.openNewWindow(self.lcList[0].FILEN + "&dotype=1&flowid=" + self.lcList[0].FLOWID, self.lcList[0].FLOWNAME)
  523. } else {
  524. sp.layer("#addLC");
  525. }
  526. }
  527. self.seeLCT = function (item,event) {
  528. event.preventDefault();
  529. event.stopPropagation();
  530. }
  531. self.goAddUrl = function (obj) {
  532. sp.openNewWindow(obj.FILEN + "&dotype=1&flowid=" + obj.FLOWID, obj.FLOWNAME)
  533. sp.layerhide()
  534. }
  535. self.printEXCEL = function () {
  536. self.columns = [
  537. { header: "紧急程度", key: "JJCD", width: 20 },
  538. { header: "收文类别", key: "FLOWNAME", width: 20 },
  539. { header: "收文编号", key: "SWBH", width: 20 },
  540. { header: "标题", key: "TITLE", width: 100 },
  541. { header: "来文单位", key: "LWDW", width: 20 },
  542. { header: "来文文号", key: "LWWH", width: 20 },
  543. { header: "来文日期", key: "LWRQ", width: 25 },
  544. { header: "督办时限", key: "DBSX", width: 25 },
  545. { header: "主办处室", key: "ZBCS", width: 25 },
  546. { header: "上一节点转办时间", key: "RECEIVEDATE", width: 25 }
  547. ]
  548. self.listExcel = self.list.map(function (item) {
  549. return {
  550. JJCD: item.JJCD1,
  551. FLOWNAME: item.FLOWNAME,
  552. SWBH: item.SWBH,
  553. TITLE: item.TITLE,
  554. LWDW: item.LWDW,
  555. LWWH: item.LWWH,
  556. LWRQ: item.LWRQ,
  557. DBSX: item.DBSX,
  558. ZBCS: item.ZBCS,
  559. RECEIVEDATE: item.RECEIVEDATE
  560. }
  561. })
  562. // 创建工作簿
  563. var workbook = new ExcelJS.Workbook()
  564. // 添加工作表
  565. var worksheet = workbook.addWorksheet('sheet1')
  566. // 设置表头
  567. worksheet.columns = self.columns
  568. // 添加表体数据
  569. self.listExcel.forEach(function (item) {
  570. worksheet.addRow(item)
  571. })
  572. /**
  573. * 设置样式
  574. */
  575. // 1、设置标题行样式
  576. var headerRow = worksheet.getRow(1)
  577. // 连续遍历所有非空单元格
  578. headerRow.eachCell(function (cell) {
  579. // 边框 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E8%BE%B9%E6%A1%86
  580. cell.border = {
  581. top: {
  582. style: 'thin'
  583. },
  584. left: {
  585. style: 'thin'
  586. },
  587. bottom: {
  588. style: 'thin'
  589. },
  590. right: {
  591. style: 'thin'
  592. },
  593. }
  594. // 填充 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%A1%AB%E5%85%85
  595. cell.fill = {
  596. type: 'pattern',
  597. pattern: 'solid',
  598. fgColor: {
  599. argb: '4f81bd'
  600. }
  601. }
  602. // 字体 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AD%97%E4%BD%93
  603. cell.font = {
  604. name: '微软雅黑',
  605. size: 11,
  606. bold: true,
  607. color: { argb: '000000' }
  608. }
  609. // 对齐 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AF%B9%E9%BD%90
  610. cell.alignment = {
  611. vertical: 'middle',
  612. horizontal: 'center'
  613. }
  614. })
  615. // 2、设置内容行样式
  616. const bodyRow = worksheet.getRows(2, self.listExcel.length + 1)
  617. bodyRow.forEach(function (row) {
  618. //遍历此列中的所有当前单元格,包括空单元格
  619. row.eachCell({ includeEmpty: true }, function (cell) {
  620. // 边框
  621. cell.border = {
  622. top: {
  623. style: 'thin'
  624. },
  625. left: {
  626. style: 'thin'
  627. },
  628. bottom: {
  629. style: 'thin'
  630. },
  631. right: {
  632. style: 'thin'
  633. },
  634. }
  635. // 字体 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AD%97%E4%BD%93
  636. cell.font = {
  637. name: '微软雅黑',
  638. size: 11,
  639. color: { argb: '000000' }
  640. }
  641. // 对齐 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AF%B9%E9%BD%90
  642. cell.alignment = {
  643. vertical: 'middle',
  644. horizontal: 'center'
  645. }
  646. })
  647. })
  648. // 导出表格
  649. workbook.xlsx.writeBuffer().then(function (buffer) {
  650. const blob = new Blob([buffer], {
  651. type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  652. })
  653. const link = document.createElement('a')
  654. link.href = URL.createObjectURL(blob)
  655. link.download = '收文' + sp.format(sp.getLocalDate()) + '.xlsx'
  656. link.click()
  657. URL.revokeObjectURL(link.href) // 下载完成释放掉blob对象
  658. })
  659. //})
  660. }
  661. //记录日志
  662. self.journalRecord = function (time1, time2, title, func, url) {
  663. if (!self.CrossPage || !self.CrossPage.cname) { return; }
  664. var data = {
  665. tablename: "SYS_CLICKLOG",
  666. data: {
  667. CTIME: time1 == null ? sp.getLocalDate1() : time1,
  668. TITLE: (title != "" ? self.CrossPage.cname + "/" + title : self.CrossPage.cname),
  669. REQUESTURL: url,
  670. REQUESTHEADERURL: window.location.origin,
  671. LOGTYPE: func,
  672. USERTYPE: $.cookie("GlWorkPlatform-userType"),
  673. ADMIN: $.cookie("GlWorkPlatform-userTypeEng"),
  674. CLIENTIP: sp.myIP(),
  675. PCNAME: sp.detectOS(),
  676. BROWSERNAME: sp.browser(),
  677. RESPONSETIME: time2 == null ? sp.getLocalDate1() : time2,
  678. USERID: self.userId,
  679. USERNAME: self.userName
  680. }
  681. }
  682. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  683. .success(function (res) {
  684. self.CrossPage.type = 1;
  685. })
  686. }
  687. var width = 0, height = 0;
  688. $interval(function () {
  689. if (localStorage.getItem("GlWorkPlatform-shouwenbg-refresh") == 1) {
  690. localStorage.removeItem("GlWorkPlatform-shouwenbg-refresh")
  691. self.refresh()
  692. }
  693. }, 1000)
  694. //头部下滚冻结
  695. $(function () {
  696. width = window.outerWidth;
  697. height = window.outerHeight;
  698. //页面高度撑满
  699. setTimeout(function () {
  700. if ($(".ibox-content").height() < $(window).height() - 31) {
  701. $(".ibox-content").css("height", $(window).height() - 31)
  702. }
  703. }, 1)
  704. })
  705. }])
  706. function getUrl(str) {
  707. switch (str) {
  708. case "todo":
  709. return "queryDataTodoWithPage";
  710. break;
  711. case "done":
  712. return "queryDataDoneWithPage";
  713. break;
  714. case "finish":
  715. return "queryDataFinishWithPage";
  716. break;
  717. }
  718. }
  719. function getDoType(str) {
  720. switch (str) {
  721. case "todo":
  722. return 1;
  723. break;
  724. default:
  725. return 0;
  726. break;
  727. }
  728. }