index.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812
  1. var app = angular.module('app', [
  2. 'angularUtils.directives.dirPagination'
  3. ]);
  4. //定义一个全局的截图插件变量
  5. var cropper;
  6. app.controller("indexCtrl", ["$scope", "$http", "$timeout", function ($scope, $http, $timeout) {
  7. var self = this;
  8. var s4 = new SM4Util();
  9. self.userId = $.cookie("GlWorkPlatform-userid");
  10. self.userName = $.cookie("GlWorkPlatform-chineseName");
  11. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  12. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  13. self.get_type = sp.getUrlName("type");
  14. var postCfg = {
  15. headers: {
  16. 'Content-Type': 'application/json',
  17. 'Authorization': "Bearer " + self.get_AccessToken
  18. }
  19. }
  20. self.info = {
  21. "id": "0",
  22. "pgcode": "",///插件代码
  23. "cname": "",//插件名称
  24. "kinds": "",//插件来源
  25. "url": "",///插件地址
  26. "imagesmall": "",///缩略图
  27. "ctype": "",///使用方式
  28. "dtype": "",///插件类型
  29. "authman": "",///访问权限
  30. "ctypemodel": "",///桌面插件样式
  31. "remark": "",///备注
  32. }
  33. self.search = {
  34. "ctype": "",///使用方式
  35. "dtype": ""///插件类型
  36. }
  37. ////使用方式
  38. self.useType = [];
  39. self.useType_search = [];
  40. self.getUseType = function () {
  41. var postData = {
  42. tablename: "CODE_PLUGINCTYPE",
  43. colums: "",
  44. order: "ID",
  45. sqlwhere: { ID: ""},
  46. sqlinwhere: "",
  47. sqllikewhere: ""
  48. }
  49. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  50. .success(function (obj) {
  51. var res = strToJson(s4.decryptData_CBC(obj.data));
  52. //console.log(JSON.stringify(res));
  53. if (res.success) {
  54. if (sp.isval(res.data)) {
  55. self.useType = res.data;
  56. self.info.ctype = self.useType[0].CODE;
  57. angular.forEach(res.data, function (item, index) {
  58. self.useType_search.push(item);
  59. });
  60. var set_all_item = { "CNAME": "--全部--", "CODE": "" };
  61. self.useType_search.unshift(set_all_item);
  62. } else {
  63. self.rows = [];
  64. }
  65. } else {
  66. sp.dialog(res.message);
  67. }
  68. });
  69. }
  70. ////使用方式
  71. self.getUseType();
  72. ////桌面插件样式
  73. self.ctypemodelArray = [];
  74. self.getCtypeModel = function () {
  75. var postData = {
  76. tablename: "CODE_CTYPEMODEL",
  77. colums: "",
  78. order: "ID",
  79. sqlwhere: { ID: "" },
  80. sqlinwhere: "",
  81. sqllikewhere: ""
  82. }
  83. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  84. .success(function (obj) {
  85. var res = strToJson(s4.decryptData_CBC(obj.data));
  86. //console.log(JSON.stringify(res));
  87. if (res.success) {
  88. if (sp.isval(res.data)) {
  89. self.ctypemodelArray = res.data;
  90. self.info.ctypemodel = self.ctypemodelArray[0].CODE;
  91. } else {
  92. self.rows = [];
  93. }
  94. } else {
  95. sp.dialog(res.message);
  96. }
  97. });
  98. }
  99. ////桌面插件样式
  100. self.getCtypeModel();
  101. //插件类型
  102. self.dTypeData = [];
  103. self.dTypeData_search = [];
  104. self.getDType = function () {
  105. var postData = {
  106. tablename: "CODE_PLUGINDTYPE",
  107. colums: "",
  108. order: "ID",
  109. sqlwhere: { ID: "" },
  110. sqlinwhere: "",
  111. sqllikewhere: ""
  112. }
  113. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  114. .success(function (obj) {
  115. var res = strToJson(s4.decryptData_CBC(obj.data));
  116. //console.log(JSON.stringify(res));
  117. if (res.success) {
  118. if (sp.isval(res.data)) {
  119. self.dTypeData = res.data;
  120. self.info.dtype = self.dTypeData[0].CODE;
  121. angular.forEach(res.data, function (item, index) {
  122. self.dTypeData_search.push(item);
  123. });
  124. var set_all_item = { "CNAME": "--全部--", "CODE": "" };
  125. self.dTypeData_search.unshift(set_all_item);
  126. } else {
  127. self.rows = [];
  128. }
  129. } else {
  130. sp.dialog(res.message);
  131. }
  132. });
  133. }
  134. self.getDType();
  135. //权限--2023
  136. self.userAuth = [];
  137. self.getUserAuth = function () {
  138. var postData = {
  139. tablename: "CODE_PLUGINAUTHMAN",
  140. colums: "",
  141. order: "ID",
  142. sqlwhere: { ID: "" },
  143. sqlinwhere: "",
  144. sqllikewhere: ""
  145. }
  146. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  147. .success(function (obj) {
  148. var res = strToJson(s4.decryptData_CBC(obj.data));
  149. //console.log(JSON.stringify(res));
  150. if (res.success) {
  151. if (sp.isval(res.data)) {
  152. self.userAuth = res.data;
  153. self.info.authman = self.userAuth[0].CODE;
  154. } else {
  155. self.rows = [];
  156. }
  157. } else {
  158. sp.dialog(res.message);
  159. }
  160. });
  161. }
  162. self.getUserAuth();
  163. self.loading = true;
  164. ///插件来源---加载数据
  165. self.rows = [];
  166. self.users = [];
  167. self.getQueryDataList = function () {
  168. var time1 = sp.getLocalDate();
  169. self.activeRole = -1;
  170. self.activeKind = {
  171. id: "",
  172. cname: "",
  173. code:""
  174. }
  175. var postData = {
  176. }
  177. $http.post(apiurljs.login + "g2app/pluginkinds/queryDataList", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  178. .success(function (obj) {
  179. var res = strToJson(s4.decryptData_CBC(obj.data));
  180. //console.log(JSON.stringify(res));
  181. if (res.success) {
  182. if (sp.isval(res.data)) {
  183. self.rows = res.data;
  184. self.activeRole = 0;
  185. self.activeKind = {
  186. id: self.rows[0].ID,
  187. cname: self.rows[0].CNAME,
  188. code: self.rows[0].CODE
  189. }
  190. self.getPluginData(self.rows[0].CODE);
  191. } else {
  192. self.rows = [];
  193. }
  194. } else {
  195. sp.dialog(res.message);
  196. }
  197. });
  198. }
  199. $timeout(function () {
  200. self.getQueryDataList();
  201. },500)
  202. ///来源信息--新增、编辑
  203. self.laiyuan = {
  204. "id": "0",
  205. "cname": ""
  206. };
  207. self.btnAddLaiYuan = function () {
  208. self.laiyuan = {
  209. "id": "0",
  210. "cname": ""
  211. };
  212. sp.layer("#layer_laiyuan");
  213. };
  214. self.btnEditLaiYuan = function (itemdata) {
  215. self.laiyuan = {
  216. "id": itemdata.ID,
  217. "cname": itemdata.CNAME
  218. };
  219. sp.layer("#layer_laiyuan");
  220. };
  221. self.submit_laiYuan = function () {
  222. if (spngvld.submit("#layer_laiyuan")) {
  223. var postData = {
  224. "id": self.laiyuan.id,
  225. "cname": self.laiyuan.cname
  226. }
  227. //console.log(postData);
  228. $http.post(apiurljs.login + "g2app/pluginkinds/saveData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  229. .success(function (obj) {
  230. var res = strToJson(s4.decryptData_CBC(obj.data));
  231. self.loading = false;
  232. //console.log(JSON.stringify(res));
  233. if (res.success) {
  234. self.getQueryDataList();
  235. sp.layerhide();
  236. } else {
  237. sp.layerhide();
  238. sp.dialog(res.message);
  239. }
  240. })
  241. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  242. if (textStatus != 200) {
  243. self.loading = false;
  244. }
  245. })
  246. }
  247. };
  248. self.cancel_laiYuan = function () {
  249. sp.layerhide();
  250. spngvld.clear("#layer_laiyuan");
  251. }
  252. ////加载右侧插件列表
  253. self.pluginArray = [];///声明用户列表数组
  254. self.getPluginData = function (kindsstr) {
  255. self.loading = true;
  256. var postData = {
  257. kinds: kindsstr,
  258. ctype: self.search.ctype,
  259. dtype: self.search.dtype
  260. }
  261. //console.log(postData);s4.encryptData_CBC(JSON.stringify(postData))
  262. $http.post(apiurljs.login + "g2app/plugin/queryDataList", JSON.stringify(postData), postCfg)
  263. .success(function (obj) {
  264. //var res = strToJson(s4.decryptData_CBC(obj.data));
  265. var res = obj;
  266. self.loading = false;
  267. //console.log(JSON.stringify(res));
  268. if (res.success) {
  269. if (sp.isval(res.data)) {
  270. self.pluginArray = res.data;
  271. angular.forEach(self.pluginArray, function (item, index) {
  272. item.indexnum = index + 1;
  273. //console.log(item.ID);
  274. angular.forEach(self.userAuth, function (item2,index2) {
  275. if (item2.CODE == item.AUTHMAN) {
  276. item.AUTHMAN_set = item2.CNAME;
  277. }
  278. });
  279. });
  280. } else {
  281. self.pluginArray = [];
  282. }
  283. self.loading = false;
  284. } else {
  285. self.loading = false;
  286. sp.dialog(res.message);
  287. }
  288. })
  289. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  290. if (textStatus != 200) {
  291. self.loading = false;
  292. }
  293. })
  294. };
  295. ////下拉框change事件
  296. self.selectChange = function () {
  297. self.getPluginData(self.activeKind.code);
  298. };
  299. // 点击选中角色管理事件
  300. self.activeRole = -1;
  301. self.chooseRole = function (index, $item) {
  302. var time1 = sp.getLocalDate1();
  303. self.activeRole = index;
  304. self.activeKind = {
  305. id: $item.ID,
  306. cname: $item.CNAME,
  307. code: $item.CODE
  308. }
  309. //console.log($item.CODE);
  310. self.getPluginData($item.CODE);
  311. //self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/datazu/queryDataUser")
  312. }
  313. ///新增---插件
  314. self.btnAdd = function () {
  315. //var set_ctypemodel = "";
  316. //var set_ctypemodel = "";
  317. //if (self.info.ctype == 'C01') {
  318. // set_ctypemodel = self.ctypemodelArray[0].CODE;
  319. //} else {
  320. // set_ctypemodel = ""
  321. //}
  322. self.info = {
  323. "id": "0",
  324. "pgcode": "",///插件代码
  325. "cname": "",//插件名称
  326. "kinds": "",//插件来源
  327. "url": "",///插件地址
  328. "imagesmall": "",///缩略图
  329. "imageurl": "",
  330. "ctype": self.useType[0].CODE,///使用方式
  331. "dtype": self.dTypeData[0].CODE,///插件类型
  332. "authman": self.userAuth[0].CODE,///访问权限
  333. "ctypemodel": self.ctypemodelArray[0].CODE,///桌面插件样式
  334. "remark": "",///备注
  335. }
  336. self.pluginUpload_view = false;
  337. sp.layer("#layer_addplgn", 1);
  338. };
  339. ///编辑--插件
  340. self.btnEditPlugin = function ($item) {
  341. var set_ctypemodel = "";
  342. if (self.info.ctype == 'C01') {
  343. set_ctypemodel = self.info.ctypemodel;
  344. } else {
  345. set_ctypemodel = ""
  346. }
  347. self.info = {
  348. "id": $item.ID,
  349. "pgcode": $item.PGCODE,///插件代码
  350. "cname": $item.CNAME,//插件名称
  351. "kinds": $item.KINDS,//插件来源
  352. "url": $item.URL,///插件地址
  353. "imagesmall": $item.IMAGESMALL,///缩略图
  354. "imageurl": $item.IMAGEURL,///缩略图
  355. "ctype": $item.CTYPE,///使用方式
  356. "dtype": $item.DTYPE,///插件类型
  357. "authman": $item.AUTHMAN,///访问权限
  358. "ctypemodel": set_ctypemodel,///桌面插件样式
  359. "remark": $item.REMARK,///备注
  360. }
  361. sp.layer("#layer_addplgn", 1)
  362. };
  363. self.btnSubmitPlnDsabled = false;
  364. self.btnSubmitPln_text = "提 交";
  365. self.submit_plguin = function () {
  366. if (spngvld.submit("#layer_addplgn")) {
  367. //console.log(self.info.imagesmall);
  368. if (sp.isval(self.info.imagesmall)) {
  369. self.btnSubmitPlnDsabled = true;
  370. self.btnSubmitPln_text = "正在提交,请稍等..";
  371. var set_ctypemodel = "";
  372. if (self.info.ctype == 'C01') {
  373. set_ctypemodel = self.info.ctypemodel;
  374. } else {
  375. set_ctypemodel = ""
  376. }
  377. var postData = {
  378. "id": self.info.id,
  379. "pgcode": self.info.pgcode,///插件代码
  380. "cname": self.info.cname,//插件名称
  381. "kinds": self.activeKind.code,//插件来源
  382. "url": self.info.url,///插件地址
  383. "imagesmall": self.info.imagesmall,///缩略图
  384. "ctype": self.info.ctype,///使用方式
  385. "dtype": self.info.dtype,///插件类型
  386. "authman": self.info.authman,///访问权限
  387. "ctypemodel": set_ctypemodel,///桌面插件样式
  388. "remark": self.info.remark///备注
  389. }
  390. //console.log(postData); s4.encryptData_CBC(JSON.stringify(postData))
  391. $http.post(apiurljs.login + "g2app/plugin/saveData", JSON.stringify(postData), postCfg)
  392. .success(function (obj) {
  393. //var res = strToJson(s4.decryptData_CBC(obj.data));
  394. var res = obj;
  395. //console.log(JSON.stringify(res));
  396. if (res.success) {
  397. sp.closeCenter('.sp-layer');
  398. $timeout(function () {
  399. self.getPluginData(self.activeKind.code);
  400. },210);
  401. } else {
  402. sp.closeCenter('.sp-layer');
  403. sp.dialog(res.message);
  404. }
  405. self.btnSubmitPlnDsabled = false;
  406. self.btnSubmitPln_text = "提 交";
  407. })
  408. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  409. if (textStatus != 200) {
  410. self.loading = false;
  411. }
  412. })
  413. } else {
  414. alert("您好,图片不能为空!");
  415. }
  416. }
  417. }
  418. self.cancel_plguin = function () {
  419. sp.closeCenter('.sp-layer');
  420. }
  421. //删除插件来源
  422. self.removeKinds = function ($item) {
  423. var time1 = sp.getLocalDate1();
  424. //self.journalRecord(time1, sp.getLocalDate1(), "删除", "修改日志", window.location.pathname)
  425. var getDelID = $item.ID;
  426. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  427. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  428. var dialogFoot = "<div class=\"sp-dialog-foot\"><input data-id=" + getDelID + " id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  429. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  430. sp.openCenter(".sp-dialog");
  431. ///取消按钮
  432. $('.sp-closeDialog').click(function (event) {
  433. sp.closeCenter(".sp-dialog");
  434. event.preventDefault(); event.stopPropagation();
  435. });
  436. //post消息的id
  437. $("#delDataTrue").click(function () {
  438. var getid = $(this).attr("data-id");
  439. sp.dialoghide();
  440. var data = {
  441. id: getid///角色编码
  442. };
  443. //console.log(data);
  444. $http.post(apiurljs.login + "g2app/pluginkinds/deleteDataByID", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  445. .success(function (obj) {
  446. var res = strToJson(s4.decryptData_CBC(obj.data));
  447. if (res.success) {
  448. self.getQueryDataList();
  449. self.activeRole = -1;
  450. sp.dialoghide();
  451. } else {
  452. sp.dialog(res.message);
  453. }
  454. });
  455. });
  456. }
  457. //删除插件
  458. self.removePlugin = function ($item) {
  459. var time1 = sp.getLocalDate1();
  460. //self.journalRecord(time1, sp.getLocalDate1(), "删除", "修改日志", window.location.pathname)
  461. var getDelID = $item.ID;
  462. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  463. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  464. var dialogFoot = "<div class=\"sp-dialog-foot\"><input data-id=" + getDelID + " id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  465. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  466. sp.openCenter(".sp-dialog");
  467. ///取消按钮
  468. $('.sp-closeDialog').click(function (event) {
  469. sp.closeCenter(".sp-dialog");
  470. event.preventDefault(); event.stopPropagation();
  471. });
  472. //post消息的id
  473. $("#delDataTrue").click(function () {
  474. var getid = $(this).attr("data-id");
  475. sp.dialoghide();
  476. var data = {
  477. id: getid///角色编码
  478. };
  479. //console.log(data);
  480. $http.post(apiurljs.login + "g2app/plugin/deleteDataByID", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  481. .success(function (obj) {
  482. var res = strToJson(s4.decryptData_CBC(obj.data));
  483. if (res.success) {
  484. self.getQueryDataList();
  485. sp.dialoghide();
  486. } else {
  487. sp.dialog(res.message);
  488. }
  489. });
  490. });
  491. }
  492. //上移一位--来源
  493. self.moveUp = function () {
  494. var time1 = sp.getLocalDate1();
  495. //self.journalRecord(time1, sp.getLocalDate1(), "上移", "修改日志", window.location.pathname)
  496. if (sp.isval(self.activeKind.id)) {
  497. if (self.activeRole == 0) {
  498. sp.dialog("已处于最顶部,无法上移!");
  499. } else {
  500. var set_index = parseInt(self.activeRole - 1);
  501. var postData = {
  502. "id1": self.rows[set_index].ID,
  503. "id2": self.activeKind.id
  504. };
  505. //console.log(postData);
  506. $http.post(apiurljs.login + "g2app/pluginkinds/swapSortidByID", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  507. .success(function (obj) {
  508. var res = strToJson(s4.decryptData_CBC(obj.data));
  509. if (res.success) {
  510. self.getQueryDataList();
  511. self.activeRole = -1;
  512. //self.getPluginData(self.unit, "0"); ///加载机构下方的人员
  513. } else {
  514. sp.dialog(res.message);
  515. }
  516. });
  517. }
  518. } else {
  519. sp.dialog("请先点击选择来源!");
  520. }
  521. }
  522. //下移一位--来源
  523. self.moveDown = function () {
  524. var time1 = sp.getLocalDate1();
  525. //self.journalRecord(time1, sp.getLocalDate1(), "下移", "修改日志", window.location.pathname)
  526. if (sp.isval(self.activeKind.id)) {
  527. if (self.activeRole == self.rows.length - 1) {
  528. sp.dialog("已处于最底部,无法下移!");
  529. } else {
  530. var set_index = parseInt(self.activeRole + 1);
  531. var postData = {
  532. "id1": self.rows[set_index].ID,
  533. "id2": self.activeKind.id
  534. };
  535. $http.post(apiurljs.login + "g2app/pluginkinds/swapSortidByID", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  536. .success(function (obj) {
  537. var res = strToJson(s4.decryptData_CBC(obj.data));
  538. if (res.success) {
  539. self.getQueryDataList();
  540. self.activeRole = -1;
  541. //self.getPluginData(self.unit, "0"); ///加载机构下方的人员
  542. } else {
  543. sp.dialog(res.message);
  544. }
  545. });
  546. }
  547. } else {
  548. sp.dialog("请先点击选择来源!");
  549. }
  550. }
  551. //上移一位--插件
  552. self.moveUp_plugin = function (itemdata,indexnum) {
  553. var set_index = indexnum - 2;
  554. var postData = {
  555. "id1": self.pluginArray[set_index].ID,
  556. "id2": itemdata.ID
  557. };
  558. //console.log(postData);
  559. $http.post(apiurljs.login + "g2app/plugin/swapSortidByID", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  560. .success(function (obj) {
  561. var res = strToJson(s4.decryptData_CBC(obj.data));
  562. if (res.success) {
  563. self.getQueryDataList();
  564. self.activeRole = -1;
  565. //self.getPluginData(self.unit, "0"); ///加载机构下方的人员
  566. } else {
  567. sp.dialog(res.message);
  568. }
  569. });
  570. }
  571. //下移一位--插件
  572. self.moveDown_plugin = function (itemdata, indexnum) {
  573. var set_index = indexnum;
  574. var postData = {
  575. "id1": self.pluginArray[set_index].ID,
  576. "id2": itemdata.ID
  577. };
  578. //console.log(postData);
  579. $http.post(apiurljs.login + "g2app/plugin/swapSortidByID", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  580. .success(function (obj) {
  581. var res = strToJson(s4.decryptData_CBC(obj.data));
  582. if (res.success) {
  583. self.getQueryDataList();
  584. self.activeRole = -1;
  585. //self.getPluginData(self.unit, "0"); ///加载机构下方的人员
  586. } else {
  587. sp.dialog(res.message);
  588. }
  589. });
  590. }
  591. //记录日志
  592. self.journalRecord = function (time1, time2, title, func, url) {
  593. if (!self.CrossPage.cname) { return; }
  594. var data = {
  595. tablename: "SYS_CLICKLOG",
  596. data: {
  597. CTIME: time1 == null ? sp.getLocalDate1() : time1,
  598. TITLE: (title != "" ? self.CrossPage.cname + "/" + title : self.CrossPage.cname),
  599. REQUESTURL: url,
  600. REQUESTHEADERURL: window.location.origin,
  601. LOGTYPE: func,
  602. USERTYPE: $.cookie("GlWorkPlatform-userType"),
  603. ADMIN: $.cookie("GlWorkPlatform-userTypeEng"),
  604. CLIENTIP: sp.myIP(),
  605. PCNAME: sp.detectOS(),
  606. BROWSERNAME: sp.browser(),
  607. RESPONSETIME: time2 == null ? sp.getLocalDate1() : time2,
  608. USERID: self.userId,
  609. USERNAME: self.userCName
  610. }
  611. }
  612. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  613. .success(function (res) {
  614. })
  615. }
  616. //用来保存当前编辑图片的地址
  617. self.pluginUpload_view = false;
  618. self.nowImgUrl = "";
  619. //打开截图收藏框
  620. self.joinItem = function () {
  621. self.pluginUpload_view = true;
  622. //sp.layer('#layer_fav', 1);
  623. $("#imgUpload").blur();
  624. $("#imgUpload").val("");
  625. self.nowImgUrl = "";
  626. //每次打开截图层初始化截图窗口
  627. var image = document.querySelector('#image');
  628. cropper = new Cropper(image, {
  629. aspectRatio: 16 / 9,
  630. viewMode: 1,
  631. scalable: false,
  632. minCropBoxWidth: 64,
  633. minCropBoxHeight: 36,
  634. autoCrop: true,
  635. fillColor: "#fff",
  636. });
  637. }
  638. self.closeImgLayer = function () {
  639. self.nowImgUrl = "";
  640. $("#imgUpload").blur();
  641. $("#imgUpload").val("");
  642. self.pluginUpload_view = false;
  643. cropper.destroy();
  644. }
  645. self.saveData = function () {
  646. var cas = cropper.getCroppedCanvas();
  647. var base64url = cas.toDataURL('image/png');
  648. //console.log(base64url); //生成base64图片的格式
  649. self.info.imagesmall = base64url;
  650. self.pluginUpload_view = false;
  651. $timeout(function () {
  652. self.nowImgUrl = "";
  653. $("#imgUpload").blur();
  654. $("#imgUpload").val("");
  655. cropper.destroy();
  656. },10)
  657. }
  658. self.reset = function () {
  659. if (self.nowImgUrl != '') {
  660. cropper.reset();
  661. }
  662. }
  663. self.zoomOut = function () {
  664. if (self.nowImgUrl != '') {
  665. cropper.zoom(0.1);
  666. }
  667. }
  668. self.zoomIn = function () {
  669. if (self.nowImgUrl != '') {
  670. cropper.zoom(-0.1);
  671. }
  672. }
  673. self.clear = function () {
  674. if (self.nowImgUrl != '') {
  675. self.nowImgUrl = "";
  676. $("#imgUpload").blur();
  677. $("#imgUpload").val("");
  678. cropper.replace(" ", false);
  679. }
  680. }
  681. }]);
  682. function imgChange(e) {
  683. var files = document.getElementById('imgUpload').files;
  684. if (files[0].size > 1 * 1024 * 1024) {
  685. alert("上传图片不得超过1MB");
  686. return;
  687. }
  688. var dom = $("input[id^='imgUpload']")[0];
  689. var reader = new FileReader();
  690. reader.onload = (function (file) {
  691. return function (e) {
  692. // //把图片路径复制到angular控件中
  693. angular.element(document.getElementById('app')).scope().ctl.nowImgUrl = this.result;
  694. angular.element(document.getElementById('app')).scope().$apply();
  695. $("#image").prop("src", this.result);
  696. //console.log(cropper);
  697. cropper.replace(this.result, false);
  698. };
  699. })(e.target.files[0]);
  700. reader.readAsDataURL(e.target.files[0]);
  701. }
  702. document.body.addEventListener('paste', function (event) {
  703. if (!$("#layer_fav").is(":hidden")) {
  704. var items = (event.clipboardData || window.clipboardData).items;
  705. var file = null;
  706. var fileSize = 0;
  707. if (items && items.length) {
  708. //搜索剪切板items 只取第一个
  709. let first = items[0];
  710. if (first.type.indexOf('image') !== -1) {
  711. file = items[0].getAsFile();
  712. fileSize = file.size;
  713. }
  714. } else {
  715. alert('当前浏览器不支持');
  716. return;
  717. }
  718. if (!file) {
  719. //alert('粘贴内容非图片');
  720. return;
  721. }
  722. if (fileSize > 1 * 1024 * 1024) {
  723. alert('粘贴图片大小不得超过1MB');
  724. return;
  725. }
  726. // 此时file就是我们的剪切板中的图片对象
  727. // 如果需要预览,可以执行下面代码
  728. var reader = new FileReader()
  729. reader.onload = function (event) {
  730. // //把图片路径复制到angular控件中
  731. angular.element(document.getElementById('app')).scope().ctl.nowImgUrl = this.result;
  732. angular.element(document.getElementById('app')).scope().$apply();
  733. $("#image").prop("src", this.result);
  734. cropper.replace(this.result, false);
  735. }
  736. reader.readAsDataURL(file);
  737. } else {
  738. }
  739. });