user.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. define(['app'], function (app) {
  2. app.controller('UserCtrl', function ($scope, $rootScope, AppData, $location) {
  3. //Every module Set Same Variable//
  4. $rootScope.menucont = true;
  5. $rootScope.pageLoadComp = false;
  6. $scope.pageData = userData[$rootScope.selLanguage];
  7. //console.log("$scope.pageData-->",$scope.pageData)
  8. $scope.formLoad = false;
  9. $scope.search_box = true;
  10. $scope.filerequired = true;
  11. $scope.url = "../senddata/log/";
  12. $scope.pageurl = "../senddata/user/";
  13. $scope.commonurl = "../senddata/common/";
  14. $scope.formAction = "Add";
  15. $rootScope.sideselect = $scope.pageData.sidemenu[0];
  16. $scope.submenu = [];
  17. $scope.selectedIndex = null;
  18. $rootScope.cofirmWindow = false;
  19. $scope.tblheading = $rootScope.sideselect.headingText;
  20. $rootScope.imageFormat = ["image/jpeg", "image/png"];
  21. //add form
  22. $scope.role_error = '';
  23. $scope.smpin_error = '';
  24. $scope.empcode_error = '';
  25. $scope.fname_error = '';
  26. $scope.email_error = '';
  27. $scope.mobile_error = '';
  28. $scope.dealer_error = '';
  29. $scope.segment_error = '';
  30. $scope.dob_error = '';
  31. $scope.zone_error = '';
  32. //Check Session//
  33. $scope.formData = {}
  34. $scope.formData.ismenuload = "Yes";
  35. if ($rootScope.items == undefined || $rootScope.items == null) {
  36. $scope.formData.ismenuload = "No";
  37. }
  38. $scope.viewby = '10';
  39. $scope.itemsPerPage = $scope.viewby;
  40. $scope.maxSize = 5; //Number of pager buttons to show
  41. $scope.currentPage = 1;
  42. $scope.formData.funName = "checksession";
  43. $scope.formData.lang = $rootScope.selLanguage;
  44. $scope.formData.start = 0;
  45. $scope.formData.limit = 2;
  46. $rootScope.log = true;
  47. // $scope.$on('$locationChangeStart', function(event, next, current) {
  48. // var nextRoute = next.split('#')[1];
  49. // console.log(nextRoute)
  50. // var currentPath = current.split('#')[1];
  51. // console.log(currentPath)
  52. // if(currentPath=='/user'){
  53. // if(nextRoute=='/login'){
  54. // console.log($rootScope.log)
  55. // //alert('You are Logged In!!!!');
  56. // if($rootScope.log){
  57. // $location.path('/user')
  58. // }
  59. // }
  60. // }
  61. // });
  62. AppData.sendData($scope.url, $scope.formData, function (res) {
  63. if (res.cont) {
  64. if ($rootScope.items == undefined || $rootScope.items == null) {
  65. $rootScope.items = res.item.control;
  66. }
  67. for (var i = 0; i < $rootScope.items.length; i++) {
  68. if ($location.path() == $rootScope.items[i].modulepath) {
  69. $rootScope.modulename = $rootScope.items[i].modulename;
  70. $scope.usercontrol = String($rootScope.items[i].permission).split("|");
  71. }
  72. }
  73. $scope.statusobj = res.item.status;
  74. $rootScope.username = res.item.username;
  75. $scope.issa = res.item.role
  76. if ($scope.issa != 1) {
  77. for (var id = 0; id < $scope.pageData.sidemenu.length - 3; id++) {
  78. $scope.submenu.push($scope.pageData.sidemenu[id]);
  79. }
  80. } else {
  81. $scope.submenu = $scope.pageData.sidemenu;
  82. }
  83. $scope.userList = function () {
  84. $scope.searchvalue = ($scope.formData.mymodel != '') ? $scope.formData.mymodel : "";
  85. var fobj = {};
  86. fobj.funName = "userslist";
  87. fobj.lang = $rootScope.selLanguage;
  88. fobj.pn = $scope.currentPage;
  89. fobj.nr = $scope.itemsPerPage;
  90. fobj.key = $scope.searchvalue
  91. AppData.sendData($scope.pageurl, fobj, function (res) {
  92. $rootScope.pageLoadComp = true;
  93. if (res.cont) {
  94. $scope.tblheading = $scope.pageData.sidemenu[0].headingText;
  95. $scope.itemuserdetail = res.item.users;
  96. $scope.totalItems = res.item.total_records;
  97. $scope.listFound = true;
  98. $scope.search_box = true;
  99. // $scope.formData = {}
  100. } else {
  101. $scope.listFound = false;
  102. $scope.errorMsg = res.mess;
  103. }
  104. })
  105. }
  106. $scope.userList();
  107. $scope.setPage = function (pageNo) {
  108. $scope.currentPage = pageNo;
  109. };
  110. $scope.pageChanged = function () {
  111. console.log('Page changed to: ' + $scope.currentPage);
  112. $scope.userList();
  113. };
  114. $scope.setItemsPerPage = function (num) {
  115. $scope.itemsPerPage = num;
  116. $scope.currentPage = 1; //reset to first page
  117. $scope.userList();
  118. }
  119. $scope.filterData = function () {
  120. console.log($scope.searchtext)
  121. $scope.userList();
  122. }
  123. } else {
  124. $location.path("/login");
  125. }
  126. })
  127. $scope.roleList = function () {
  128. var robj = {};
  129. robj.funName = "role";
  130. robj.lang = $rootScope.selLanguage;
  131. robj.type = "";
  132. AppData.sendData($scope.commonurl, robj, function (res) {
  133. $rootScope.pageLoadComp = true;
  134. if (res.cont) {
  135. $scope.roledetail = res.item;
  136. } else {
  137. }
  138. })
  139. }
  140. $scope.onSearchChange = function () {
  141. console.log($scope.formData.mymodel)
  142. $scope.userList();
  143. }
  144. // $scope.roleList = function (){
  145. // var fobj = {};
  146. // fobj.funName = "userrolelist";
  147. // AppData.sendData($scope.pageurl,fobj,function(res){
  148. // $rootScope.pageLoadComp = true;
  149. // if(res.cont){
  150. // $scope.rolelist = res.item;
  151. // $scope.listFound = true;
  152. // }else{
  153. // $scope.listFound = false;
  154. // $scope.errorMsg = res.mess;
  155. // }
  156. // })
  157. // }
  158. $scope.dealerList = function () {
  159. var dobj = {};
  160. dobj.funName = "dealer";
  161. dobj.lang = $rootScope.selLanguage;
  162. dobj.city = "chennai";
  163. AppData.sendData($scope.commonurl, dobj, function (res) {
  164. $rootScope.pageLoadComp = true;
  165. if (res.cont) {
  166. $scope.dealerlist = res.item;
  167. } else {
  168. }
  169. })
  170. }
  171. $scope.addFun = function () {
  172. $scope.formData = {};
  173. $scope.formLoad = true;
  174. $scope.listFound = false;
  175. $scope.formAction = "Add";
  176. $scope.formTitle = "ADD USER";
  177. $scope.formData.funName = "adduser";
  178. $scope.selectedIndex = null;
  179. $scope.roleList();
  180. $scope.dealerList();
  181. }
  182. $scope.zoneList = function () {
  183. var obj = {};
  184. obj.funName = "zone";
  185. obj.lang = $rootScope.selLanguage;
  186. AppData.sendData($scope.commonurl, obj, function (res) {
  187. if (res.cont) {
  188. $scope.zoneData = res.item;
  189. } else {
  190. }
  191. })
  192. }
  193. $scope.changeRole = function () {
  194. console.log("here1")
  195. if ($scope.formData.role == '5') {
  196. console.log("here")
  197. $scope.zoneList();
  198. }
  199. }
  200. $scope.closeForm = function () {
  201. $scope.formLoad = false;
  202. $scope.listFound = true;
  203. $scope.formData = {};
  204. $scope.selectedIndex = null
  205. $scope.clearErrorMsg();
  206. $scope.userList();
  207. }
  208. $scope.listClick = function (obj) {
  209. $scope.formLoad = false;
  210. $rootScope.sideselect = obj;
  211. $scope.itemdetail = [];
  212. $scope.selectedIndex = null;
  213. var fobj = {};
  214. fobj.lang = $rootScope.selLanguage;
  215. if (obj.id == 1) {
  216. fobj.funName = "userslist";
  217. } else if (obj.id == 2) {
  218. fobj.funName = "userrolelist";
  219. } else if (obj.id == 3) {
  220. fobj.funName = "permission";
  221. } else if (obj.id == 4) {
  222. fobj.funName = "module";
  223. }
  224. $scope.tblheading = obj.headingText;
  225. AppData.sendData($scope.pageurl, fobj, function (res) {
  226. if (res.cont) {
  227. if (obj.id != 3) {
  228. if (res.item != undefined) {
  229. $scope.itemdetail = res.item;
  230. }
  231. } else {
  232. if (res.item != undefined) {
  233. $scope.roleitem = res.item.role;
  234. $scope.moduleitem = res.item.module;
  235. $scope.itemdetail = res.item.item
  236. }
  237. }
  238. $scope.listFound = true;
  239. } else {
  240. if (obj.id == 3) {
  241. if (res.item != undefined) {
  242. $scope.roleitem = res.item.role;
  243. $scope.moduleitem = res.item.module;
  244. }
  245. }
  246. $scope.listFound = false;
  247. $scope.errorMsg = res.mess;
  248. }
  249. })
  250. }
  251. $scope.editFun = function (obj, i) {
  252. $scope.roleList();
  253. $scope.dealerList();
  254. $scope.formData = obj;
  255. $scope.formData.role = obj.roleid;
  256. $scope.formTitle = "EDIT USER";
  257. console.log($scope.formData)
  258. $scope.selectedIndex = i;
  259. $scope.listFound = false;
  260. $scope.formLoad = true;
  261. $scope.formAction = "Edit";
  262. if ($rootScope.sideselect.id == 1) {
  263. $scope.formData.funName = "edituser";
  264. } else if ($rootScope.sideselect.id == 2) {
  265. $scope.formData.funName = "editrole";
  266. } else if ($rootScope.sideselect.id == 3) {
  267. $scope.formData.funName = "addpermission";
  268. loadPermission($scope.formData.child);
  269. } else if ($rootScope.sideselect.id == 4) {
  270. $scope.formData.funName = "editmodule";
  271. if ($scope.formData.issubmodule == 1) {
  272. $scope.enableParent = true;
  273. } else {
  274. $scope.enableParent = false;
  275. }
  276. }
  277. }
  278. $scope.deleteFun = function () {
  279. console.log($scope.selectedIndex)
  280. if ($scope.selectedIndex != null) {
  281. $rootScope.cofirmWindow = true;
  282. $rootScope.modalShown = true;
  283. $rootScope.message = $scope.pageData.errorMsg[1];
  284. } else {
  285. $rootScope.modalShown = true;
  286. $rootScope.message = $scope.pageData.errorMsg[0];
  287. }
  288. }
  289. $scope.$on("confirmDelete", function () {
  290. $scope.formData.funName = "deleteuser";
  291. AppData.sendData($scope.pageurl, $scope.formData, function (res) {
  292. if (res.cont) {
  293. var index = $scope.itemuserdetail.indexOf($scope.formData);
  294. if (index != -1) {
  295. $scope.itemuserdetail.splice(index, 1);
  296. }
  297. $rootScope.modalShown = true;
  298. $rootScope.cofirmWindow = false;
  299. $rootScope.message = (res.mess);
  300. $scope.userList();
  301. } else {
  302. $rootScope.modalShown = true;
  303. $rootScope.message = (res.mess);
  304. }
  305. })
  306. })
  307. $scope.deleteRow = function (obj, i) {
  308. console.log(obj)
  309. $scope.formData = obj;
  310. $scope.selectedIndex = i;
  311. $scope.deleteFun();
  312. }
  313. $scope.fieldValidation = function () {
  314. $scope.role_error = ($scope.formData.role == undefined || $scope.formData.role == '') ? $scope.pageData.errorMsg[0] : '';
  315. $scope.smpin_error = ($scope.formData.smpin == undefined || $scope.formData.smpin == '') ? $scope.pageData.errorMsg[2] : '';
  316. $scope.empcode_error = ($scope.formData.emp_code == undefined || $scope.formData.emp_code == '') ? $scope.pageData.errorMsg[3] : '';
  317. console.log($scope.formData.emp_code, $scope.empcode_error)
  318. $scope.fname_error = ($scope.formData.fname == undefined || $scope.formData.fname == '') ? $scope.pageData.errorMsg[4] : '';
  319. $scope.email_error = ($scope.formData.emailid == undefined || $scope.formData.emailid == '') ? $scope.pageData.errorMsg[5] : '';
  320. $scope.mobile_error = ($scope.formData.mobile == undefined || $scope.formData.mobile == '') ? $scope.pageData.errorMsg[6] : '';
  321. $scope.dealer_error = ($scope.formData.dealer_code == undefined || $scope.formData.dealer_code == '') ? $scope.pageData.errorMsg[7] : '';
  322. $scope.segment_error = ($scope.formData.segment == undefined || $scope.formData.segment == '') ? $scope.pageData.errorMsg[10] : '';
  323. $scope.dob_error = ($scope.formData.date_of_join == undefined || $scope.formData.date_of_join == '') ? $scope.pageData.errorMsg[8] : '';
  324. $scope.zone_error = ($scope.formData.zone == undefined || $scope.formData.zone == '') ? $scope.pageData.errorMsg[9] : '';
  325. if ($scope.formData.role == 2) {
  326. return ($scope.role_error == '' && $scope.empcode_error == '' && $scope.fname_error == '' && $scope.email_error == '' && $scope.mobile_error == '') ? true : false;
  327. } else if ($scope.formData.role == 3 || $scope.formData.role == 4 || $scope.formData.role == 6 || $scope.formData.role == 7) {
  328. return ($scope.role_error == '' && $scope.empcode_error == '' && $scope.fname_error == '' && $scope.email_error == '' && $scope.mobile_error == '' && $scope.dob_error == '') ? true : false;
  329. } else if ($scope.formData.role == 5) {
  330. return ($scope.role_error == '' && $scope.empcode_error == '' && $scope.fname_error == '' && $scope.email_error == '' && $scope.mobile_error == '' && $scope.dob_error == '' && $scope.zone_error == '') ? true : false;
  331. } else {
  332. return ($scope.role_error == '' && $scope.smpin_error == '' && $scope.empcode_error == '' && $scope.fname_error == '' && $scope.email_error == '' && $scope.mobile_error == '' && $scope.dealer_error == '' && $scope.dob_error == '') ? true : false;
  333. }
  334. }
  335. $scope.clearErrorMsg = function () {
  336. $scope.role_error = '';
  337. $scope.smpin_error = '';
  338. $scope.empcode_error = '';
  339. $scope.fname_error = '';
  340. $scope.email_error = '';
  341. $scope.mobile_error = '';
  342. $scope.dealer_error = '';
  343. $scope.dob_error = '';
  344. $scope.zone_error = '';
  345. $scope.segment_error = '';
  346. }
  347. ///////// User Submit //////////////
  348. $scope.userSubmit = function () {
  349. $scope.clearErrorMsg();
  350. console.log($scope.fieldValidation());
  351. if ($scope.fieldValidation()) {
  352. AppData.sendData($scope.pageurl, $scope.formData, function (res) {
  353. if (res.cont) {
  354. $rootScope.modalShown = true;
  355. $rootScope.message = (res.mess);
  356. $scope.userList();
  357. $scope.selectedIndex = null;
  358. $scope.formLoad = false;
  359. $scope.listFound = true;
  360. } else {
  361. $rootScope.modalShown = true;
  362. $rootScope.message = (res.mess);
  363. }
  364. })
  365. }
  366. }
  367. $scope.roleSubmit = function () {
  368. AppData.sendData($scope.pageurl, $scope.formData, function (res) {
  369. if (res.cont) {
  370. $rootScope.modalShown = true;
  371. $rootScope.message = (res.mess);
  372. if ($scope.formAction == "Add") {
  373. $scope.itemdetail.push(res.item);
  374. } else {
  375. $scope.itemdetail[$scope.selectedIndex] = res.item
  376. }
  377. $scope.selectedIndex = null;
  378. $scope.formLoad = false;
  379. $scope.listFound = true;
  380. } else {
  381. $rootScope.modalShown = true;
  382. $rootScope.message = (res.mess);
  383. }
  384. })
  385. }
  386. $scope.moduleSubmit = function () {
  387. AppData.sendData($scope.pageurl, $scope.formData, function (res) {
  388. if (res.cont) {
  389. $rootScope.modalShown = true;
  390. $rootScope.message = (res.mess);
  391. if ($scope.formAction == "Add") {
  392. $scope.itemdetail.push(res.item);
  393. $scope.listFound = true;
  394. } else {
  395. $scope.itemdetail[$scope.selectedIndex] = res.item
  396. }
  397. $scope.selectedIndex = null;
  398. $scope.formLoad = false;
  399. } else {
  400. $rootScope.modalShown = true;
  401. $rootScope.message = (res.mess);
  402. }
  403. })
  404. }
  405. $scope.permissionSubmit = function () {
  406. var sobj = {}
  407. var check = document.getElementsByClassName("clscheckbox");
  408. for (var i = 0; i < check.length; i++) {
  409. var obj = check[i];
  410. if (obj.checked) {
  411. checkAll(sobj, obj)
  412. }
  413. }
  414. $scope.formData.items = JSON.stringify(sobj);
  415. AppData.sendData($scope.pageurl, $scope.formData, function (res) {
  416. if (res.cont) {
  417. $rootScope.modalShown = true;
  418. $rootScope.cofirmWindow = false;
  419. $rootScope.message = (res.mess);
  420. $scope.selectedIndex = null;
  421. $scope.formLoad = false;
  422. $scope.listFound = true;
  423. } else {
  424. $rootScope.modalShown = true;
  425. $rootScope.cofirmWindow = false;
  426. $rootScope.message = (res.mess);
  427. }
  428. });
  429. }
  430. $scope.findParentname = function (g) {
  431. var str = "";
  432. if (g != 0) {
  433. for (var id = 0; id < $scope.itemdetail.length; id++) {
  434. if ($scope.itemdetail[id].moduleid == g) {
  435. str = $scope.itemdetail[id].modulename;
  436. break;
  437. }
  438. }
  439. }
  440. return str;
  441. }
  442. });
  443. });
  444. function loadPermission(arr) {
  445. for (var id = 0; id < arr.length; id++) {
  446. var parr = String(arr[id].permission).split("|");
  447. var mid = arr[id].moduleid;
  448. if (parr[0] == "1") {
  449. var obj = document.getElementById("r_" + mid);
  450. obj.checked = true;
  451. }
  452. if (parr[1] == "1") {
  453. var obj2 = document.getElementById("w_" + mid);
  454. obj2.checked = true;
  455. }
  456. if (parr[2] == "1") {
  457. var obj3 = document.getElementById("d_" + mid);
  458. obj3.checked = true;
  459. }
  460. }
  461. }
  462. function checkAll(sobj, ele) {
  463. var str = String(ele.id).split("_");
  464. if (sobj[str[1]] == undefined) {
  465. sobj[str[1]] = [0, 0, 0]
  466. }
  467. if (str[0] == "r") {
  468. sobj[str[1]][0] = 1;
  469. } else if (str[0] == "w") {
  470. sobj[str[1]][1] = 1;
  471. } if (str[0] == "d") {
  472. sobj[str[1]][2] = 1;
  473. }
  474. }