placeCtrl.js 23 KB

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