placeCtrl-old.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. app.controller('placeCtrl', ["$rootScope", "$scope", "$http", "$state", "$timeout", "$interval", "SweetAlert", "$modal", "FileUploader", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_user_data", function($rootScope, $scope, $http, $state, $timeout, $interval, SweetAlert, $modal, FileUploader, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data) {
  2. $scope.langs = i18nService.getAllLangs();
  3. $scope.lang = 'zh-cn';
  4. $scope.cancles = true;
  5. var loginUser = $rootScope.user;
  6. var fildata = { "idx": 0, "sum": 1000 };
  7. $scope.choice = false;
  8. $scope.backcolor = [];
  9. $scope.placebackcolor = [];
  10. $scope.outarea = [];
  11. $scope.outplace = [];
  12. $scope.pla = {};
  13. $scope.areaid = '';
  14. $scope.areaname = "";
  15. $scope.areaplace = true;
  16. $scope.freshenarea = function() {
  17. api_user_data.fetchDataList('area', fildata).then(function(response) {
  18. if (response) {
  19. if (response.status = 200) {
  20. $scope.outarea = response.list;
  21. }
  22. }
  23. })
  24. }
  25. $scope.freshenarea();
  26. $scope.freshenplace = function(id) {
  27. if (id) {
  28. var fildata = { "idx": 0, "sum": 1000, "place": { areaId: id } };
  29. api_user_data.fetchDataList('place', fildata).then(function(response) {
  30. if (response) {
  31. if (response.status = 200) {
  32. $scope.outplace = response.list;
  33. }
  34. }
  35. })
  36. }
  37. }
  38. $scope.ckickrow = function(data) {
  39. $scope.choice = false;
  40. $scope.areaid = data.id;
  41. $scope.areaname = data.area;
  42. $scope.areaplace = true;
  43. if (data.id) {
  44. $scope.freshenplace(data.id);
  45. // var fildata={"idx":0,"sum":1000,"place":{areaId:data.id}};
  46. // api_user_data.fetchDataList('place',fildata).then(function(response){
  47. // if(response){
  48. // if(response.status=200){
  49. // $scope.outplace= response.list;
  50. // }
  51. // }
  52. // })
  53. } else {}
  54. }
  55. $scope.clickplace = function(pla) {
  56. $scope.areaplace = false;
  57. $scope.pla = pla
  58. }
  59. //区域地点修改
  60. $scope.savedatas = function(placedate) {
  61. $scope.choice = false;
  62. if ($scope.areaplace) {
  63. if ($scope.areaid && $scope.areaid != "") {
  64. var addarea = true;
  65. for (var i = 0; i < $scope.outarea.length; i++) {
  66. if ($scope.outarea[i].area == placedate && $scope.outarea[i].id != $scope.areaid) {
  67. addarea = false;
  68. }
  69. }
  70. if (addarea) {
  71. var upplace = { "area": { 'id': $scope.areaid, 'area': placedate } };
  72. api_user_data.updData('area', upplace).then(function(response) {
  73. if (response) {
  74. if (response.status == 200) {
  75. for (var i = 0; i < $scope.outarea.length; i++) {
  76. if ($scope.outarea[i].id == $scope.areaid) {
  77. $scope.backcolor[i] = "";
  78. }
  79. }
  80. $scope.cancles = true;
  81. SweetAlert.swal({
  82. title: "修改成功!",
  83. type: "success"
  84. })
  85. } else {
  86. $scope.cancles = false;
  87. SweetAlert.swal({
  88. title: "修改失败!",
  89. type: "error"
  90. })
  91. }
  92. }
  93. })
  94. } else {
  95. for (var i = 0; i < $scope.outarea.length; i++) {
  96. if ($scope.outarea[i].id == $scope.areaid) {
  97. $scope.backcolor[i] = "#FF9933";
  98. }
  99. }
  100. $scope.cancles = false;
  101. SweetAlert.swal({
  102. title: "修改失败!",
  103. text: "“" + placedate + "”" + "已存在",
  104. type: "error"
  105. }, function() {
  106. // $scope.cancles=false;
  107. })
  108. }
  109. } else {
  110. var addarearight = true;
  111. for (var i = 0; i < $scope.outarea.length; i++) {
  112. if ($scope.outarea[i].area == placedate) {
  113. addarearight = false;
  114. }
  115. }
  116. if (addarearight) {
  117. var filplace = { "area": { "area": placedate } };
  118. api_user_data.addData('area', filplace).then(function(response) {
  119. if (response) {
  120. if (response.status == 200) {
  121. $scope.cancles = true;
  122. $scope.areaid = response.data.id;
  123. $scope.areaname = response.data.area;
  124. $scope.freshenarea();
  125. $scope.freshenplace($scope.areaid);
  126. SweetAlert.swal({
  127. title: "新增成功!",
  128. type: "success"
  129. })
  130. } else {
  131. $scope.cancles = false;
  132. SweetAlert.swal({
  133. title: "新增失败!",
  134. type: "error"
  135. })
  136. }
  137. }
  138. })
  139. } else {
  140. $scope.cancles = false;
  141. SweetAlert.swal({
  142. title: "新增失败!",
  143. text: "“" + placedate + "”" + "已存在",
  144. type: "error"
  145. })
  146. }
  147. }
  148. } else {
  149. if ($scope.pla.id) {
  150. var addplace = true;
  151. for (var i = 0; i < $scope.outplace.length; i++) {
  152. if ($scope.outplace[i].place == placedate && $scope.outplace[i].id != $scope.pla.id) {
  153. addplace = false;
  154. }
  155. }
  156. if (addplace) {
  157. var upplace = { "place": { 'id': $scope.pla.id, 'areaId': $scope.areaid, 'place': placedate } };
  158. api_user_data.updData('place', upplace).then(function(response) {
  159. if (response) {
  160. for (var i = 0; i < $scope.outplace.length; i++) {
  161. if ($scope.outplace[i].id == $scope.pla.id) {
  162. $scope.placebackcolor[i] = "";
  163. }
  164. }
  165. if (response.status == 200) {
  166. $scope.cancles = true;
  167. SweetAlert.swal({
  168. title: "修改成功!",
  169. type: "success"
  170. })
  171. } else {
  172. $scope.cancles = false;
  173. SweetAlert.swal({
  174. title: "修改失败!",
  175. type: "error"
  176. })
  177. }
  178. }
  179. })
  180. } else {
  181. for (var i = 0; i < $scope.outplace.length; i++) {
  182. if ($scope.outplace[i].id == $scope.pla.id) {
  183. $scope.placebackcolor[i] = "#FF9933";
  184. }
  185. }
  186. $scope.cancles = false;
  187. SweetAlert.swal({
  188. title: "修改失败!",
  189. text: "“" + placedate + "”" + "已存在",
  190. type: "error"
  191. })
  192. }
  193. } else {
  194. var addplaceright = true;
  195. for (var i = 0; i < $scope.outplace.length; i++) {
  196. if ($scope.outplace[i].place == placedate) {
  197. addplaceright = false;
  198. }
  199. }
  200. if (addplaceright) {
  201. var filplace = { "place": { 'areaId': $scope.areaid, 'place': placedate } };
  202. api_user_data.addData('place', filplace).then(function(response) {
  203. if (response) {
  204. if (response.status == 200) {
  205. $scope.freshenplace($scope.areaid)
  206. $scope.cancles = true;
  207. SweetAlert.swal({
  208. title: "新增成功!",
  209. type: "success"
  210. })
  211. } else {
  212. $scope.cancles = false;
  213. SweetAlert.swal({
  214. title: "新增失败!",
  215. type: "error"
  216. })
  217. }
  218. }
  219. })
  220. } else {
  221. $scope.cancles = false;
  222. SweetAlert.swal({
  223. title: "新增失败!",
  224. text: "“" + placedate + "”" + "已存在",
  225. type: "error"
  226. })
  227. }
  228. }
  229. }
  230. };
  231. // $scope.scrollWindowarea = function() {
  232. // var _el = document.getElementById('addarea');
  233. // _el.scrollTop = _el.scrollHeight;
  234. // };
  235. // $scope.scrollWindowplace = function() {
  236. // var _el = document.getElementById('addplace');
  237. // _el.scrollTop = _el.scrollHeight;
  238. // };
  239. //新增区域
  240. $scope.addarea = function() {
  241. $scope.choice = true;
  242. $scope.cancles = false;
  243. $scope.areaplace = true;
  244. // $scope.outarea.push({
  245. // setareaid: $scope.outarea.length + 1
  246. // });
  247. // angular.forEach($scope.outarea, function(item, i) {
  248. // $scope.outarea[i + 1] = $scope.outarea[i];
  249. // })
  250. for (i = $scope.outarea.length; i >= 0; i--) {
  251. $scope.outarea[i] = $scope.outarea[i - 1];
  252. }
  253. $scope.outarea[0] = { setareaid: 0 };
  254. // $timeout(function() {
  255. // $scope.scrollWindowarea();
  256. // }, 500);
  257. };
  258. //删除区域
  259. $scope.closearea = function(index, data) {
  260. if (!data.id) {
  261. $scope.cancles = true;
  262. $scope.outarea.splice(index, 1);
  263. } else {
  264. var rmvList = data;
  265. var modalInstance = $modal.open({
  266. templateUrl: 'assets/views/delete.html',
  267. controller: function($scope, $modalInstance) {
  268. $scope.ok = function() {
  269. $modalInstance.close(data);
  270. };
  271. $scope.cancel = function() {
  272. $modalInstance.dismiss('cancel');
  273. };
  274. },
  275. size: 'sm'
  276. });
  277. modalInstance.result.then(function(selectedItem) {
  278. if (selectedItem) {
  279. if (selectedItem.id) {
  280. var fildata = [selectedItem.id];
  281. api_user_data.rmvData('area', fildata).then(function(response) {
  282. if (response) {
  283. if (response.status == 200) {
  284. $scope.outplace = [];
  285. $scope.areaname = "";
  286. $scope.outarea.splice(index, 1);
  287. SweetAlert.swal({
  288. title: "删除成功!",
  289. type: "success"
  290. })
  291. } else {
  292. SweetAlert.swal({
  293. title: "删除失败!",
  294. type: "error"
  295. })
  296. }
  297. }
  298. })
  299. }
  300. }
  301. })
  302. }
  303. }
  304. //新增地点
  305. $scope.addplace = function(data) {
  306. $scope.choice = true;
  307. $scope.cancles = false;
  308. $scope.areaplace = false;
  309. if ($scope.areaid != {}) {
  310. for (i = $scope.outplace.length; i >= 0; i--) {
  311. $scope.outplace[i] = $scope.outplace[i - 1];
  312. }
  313. $scope.outplace[0] = { setid: 0 };
  314. // $scope.outplace.push({
  315. // setid: $scope.outplace.length + 1
  316. // });
  317. } else {
  318. SweetAlert.swal({
  319. title: "请选择要填加的地点所在区域!",
  320. type: "error"
  321. })
  322. }
  323. // $timeout(function() {
  324. // $scope.scrollWindowplace();
  325. // }, 500);
  326. }
  327. //删除地点
  328. $scope.closeplace = function(index, data) {
  329. if (!data.id) {
  330. $scope.cancles = true;
  331. $scope.outplace.splice(index, 1);
  332. } else {
  333. var rmvList = data;
  334. var modalInstance = $modal.open({
  335. templateUrl: 'assets/views/delete.html',
  336. controller: function($scope, $modalInstance) {
  337. $scope.ok = function() {
  338. $modalInstance.close(data);
  339. };
  340. $scope.cancel = function() {
  341. $modalInstance.dismiss('cancel');
  342. };
  343. },
  344. size: 'sm'
  345. });
  346. modalInstance.result.then(function(selectedItem) {
  347. if (selectedItem) {
  348. if (selectedItem.id) {
  349. var fildata = [selectedItem.id];
  350. api_user_data.rmvData('place', fildata).then(function(response) {
  351. if (response) {
  352. if (response.status == 200) {
  353. $scope.outplace.splice(index, 1);
  354. SweetAlert.swal({
  355. title: "删除成功!",
  356. type: "success"
  357. })
  358. } else {
  359. SweetAlert.swal({
  360. title: "删除失败!",
  361. type: "error"
  362. })
  363. }
  364. }
  365. })
  366. }
  367. }
  368. })
  369. }
  370. }
  371. //导入
  372. $scope.importopen = function() { //导入触发事件
  373. var modalInstance = $modal.open({
  374. templateUrl: 'assets/views/import.html',
  375. controller: function($scope, $modalInstance, FileUploader) {
  376. var importUploader = $scope.importUploader = new FileUploader({
  377. url: api_user_data.importData().getRequestedUrl(),
  378. });
  379. importUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) {
  380. console.info('onWhenAddingFileFailed', item, filter, options);
  381. };
  382. importUploader.onAfterAddingFile = function(fileItem) {
  383. console.info('onAfterAddingFile', fileItem);
  384. };
  385. importUploader.onAfterAddingAll = function(addedFileItems) {
  386. console.info('onAfterAddingAll', addedFileItems);
  387. };
  388. importUploader.onProgressItem = function(fileItem, progress) {
  389. console.info('onProgressItem', fileItem, progress);
  390. };
  391. importUploader.onProgressAll = function(progress) {
  392. console.info('onProgressAll', progress);
  393. };
  394. importUploader.onSuccessItem = function(fileItem, response, status, headers) {
  395. if (response.status == 200) {
  396. SweetAlert.swal({
  397. title: "导入成功!",
  398. confirmButtonColor: "#007AFF",
  399. type: "success"
  400. }, function() {
  401. // $scope.ldloading.contract_overlay = false;
  402. $rootScope.isMask = false;
  403. $scope.refreshData('expand-right', defaultFilterData);
  404. });
  405. } else {
  406. // $scope.ldloading.contract_overlay = false;
  407. $rootScope.isMask = false;
  408. SweetAlert.swal({
  409. title: "导入失败!",
  410. text: response.error,
  411. type: "error"
  412. })
  413. }
  414. console.info('onSuccessItem', fileItem, response, status, headers);
  415. };
  416. importUploader.onErrorItem = function(fileItem, response, status, headers) {
  417. console.info('onErrorItem', fileItem, response, status, headers);
  418. SweetAlert.swal({
  419. title: "系统错误!",
  420. text: "系统错误,请稍候重试!",
  421. type: "error"
  422. });
  423. };
  424. importUploader.onCancelItem = function(fileItem, response, status, headers) {
  425. console.info('onCancelItem', fileItem, response, status, headers);
  426. };
  427. importUploader.onCompleteItem = function(fileItem, response, status, headers) {
  428. console.info('onCompleteItem', fileItem, response, status, headers);
  429. };
  430. importUploader.onCompleteAll = function() {
  431. console.info('onCompleteAll');
  432. };
  433. $scope.ldloading = {};
  434. $rootScope.isMask = false;
  435. $scope.import = function(style) {
  436. // $scope.ldloading[style.replace('-', '_')] = true;
  437. $modalInstance.dismiss('cancel');
  438. $rootScope.isMask = true;
  439. importUploader.onBeforeUploadItem = function(item) {
  440. angular.extend(item.headers, $rootScope.getSession());
  441. item.formData.push({ 'filename': item.file.name });
  442. item.formData.push({ 'type': "areaPlace" });
  443. console.info('onBeforeUploadItem', item);
  444. };
  445. importUploader.uploadAll();
  446. }
  447. $scope.cancel = function() {
  448. $modalInstance.dismiss('cancel');
  449. };
  450. },
  451. size: 'sm',
  452. resolve: {
  453. importUploader: function() {
  454. return $scope.importUploader;
  455. }
  456. }
  457. });
  458. modalInstance.result.then(function(selectedItem) {
  459. if (selectedItem) {}
  460. })
  461. }
  462. //导出
  463. $scope.openmodel = function() {
  464. // var modalInstance = $modal.open({
  465. // templateUrl: 'assets/views/system/tpl/getdown.html',
  466. // controller: function($scope, $modalInstance) {
  467. // $scope.key = {};
  468. // $scope.onChange = function(key) {
  469. // $scope.key = key;
  470. // }
  471. // // $scope.downmodel = [{ id: 1, name: "EXCEL2003版(xls)" }, { id: 2, name: "EXCEL2007及以上版(xlsx)" }]
  472. // $scope.ok = function() {
  473. // $modalInstance.close($scope.key);
  474. // };
  475. // $scope.cancel = function() {
  476. // $modalInstance.dismiss('cancel');
  477. // };
  478. // },
  479. // size: 'sm',
  480. // });
  481. // modalInstance.result.then(function(selectedItem) {
  482. // if (selectedItem) {
  483. // var selectedItemId = "";
  484. // if (selectedItem.id == 2) {
  485. // selectedItemId = ".xlsx";
  486. // }
  487. // var type = "areaPlace";
  488. // var month = 0;
  489. $http({
  490. url: api_user_data.downDataModel("areaPlace", 0).getRequestedUrl(),
  491. method: 'GET',
  492. headers: {
  493. 'Accept': '*/*'
  494. },
  495. responseType: 'arraybuffer'
  496. }).success(function(data, status, headers, config) {
  497. var file = new Blob([data], {
  498. // type : 'application/octet-stream'
  499. type: 'application/vnd.ms-excel'
  500. });
  501. //trick to download store a file having its URL
  502. var fileURL = URL.createObjectURL(file);
  503. var a = document.createElement('a');
  504. a.href = fileURL;
  505. a.target = '_blank';
  506. a.download = "区域地点.xlsx";
  507. document.body.appendChild(a);
  508. a.click();
  509. }).error(function(data, status, headers, config) {
  510. console.log(data);
  511. });
  512. }
  513. // });
  514. // }
  515. }]);