newUser.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. $(function () {
  2. // initialPage();
  3. // getGrid();
  4. });
  5. var TreeGrid = {
  6. id: "deptTable",
  7. table: null,
  8. layerIndex: -1
  9. };
  10. var setting = {
  11. data: {
  12. simpleData: {
  13. enable: true,
  14. idKey: "deptId",
  15. pIdKey: "parentId",
  16. rootPId: -1
  17. },
  18. key: {
  19. url: "nourl"
  20. }
  21. }
  22. };
  23. var ztree;
  24. const validatezishu =function (rule, value, callback) {
  25. let size = rule.size?parseInt(rule.size):50
  26. if (value === '' || !value) {
  27. callback(new Error(rule.name+'不能为空'));
  28. }
  29. else if(value.length>size){
  30. callback(new Error(rule.name+'不能超过'+rule.size+'个字符'));
  31. }else {
  32. callback();
  33. }
  34. };
  35. let rule1 = {
  36. deptName: [
  37. {required: true, name: '所在公司', size:15,validator: validatezishu, trigger: 'blur'}
  38. ],
  39. adminUserName: [
  40. {required: true, message: '所属管理员名称不能为空', trigger: 'blur'}
  41. ],
  42. adminPhoneNum: [
  43. {required: true, message: '绑定管理员电话不能为空', trigger: 'blur'}
  44. ],
  45. smsCode: [
  46. {required: true, message: '验证码不能为空', trigger: 'blur'}
  47. ]
  48. }
  49. let rule2 = {
  50. parentName: [
  51. {required: true, message: '总公司名称不能为空', trigger: 'change'}
  52. ],
  53. parentAdminPhoneNum: [
  54. {required: true, message: '所属管理员电话不能为空', trigger: 'blur'}
  55. ],
  56. parentSmsCode: [
  57. {required: true, message: '验证码不能为空', trigger: 'blur'}
  58. ],
  59. deptName: [
  60. {required: true, name: '所在公司', size:15,validator: validatezishu, trigger: 'blur'}
  61. ],
  62. adminUserName: [
  63. {required: true, message: '所属管理员名称不能为空', trigger: 'blur'}
  64. ],
  65. adminPhoneNum: [
  66. {required: true, message: '绑定管理员电话不能为空', trigger: 'blur'}
  67. ],
  68. smsCode: [
  69. {required: true, message: '验证码不能为空', trigger: 'blur'}
  70. ]
  71. }
  72. var vm = new Vue({
  73. el: '#rrapp',
  74. data: {
  75. isNext:false,
  76. active:0,
  77. comfirmActive:'',
  78. showList: true,
  79. interTime: 60,
  80. jishi: false,
  81. interl: null,
  82. interTime2: 60,
  83. jishi2: false,
  84. interl2: null,
  85. title: null,
  86. userinfo:'',
  87. dept: {
  88. adminPhoneNum: "",
  89. adminUserName: "",
  90. deptName: "",
  91. parentAdminPhoneNum: "",
  92. parentId: '',
  93. parentName: "",
  94. parentSmsCode: "",
  95. smsCode: "",
  96. type: ""
  97. },
  98. rule1,
  99. rule2
  100. },
  101. computed:{
  102. ruleValidate(){
  103. return this.comfirmActive === 1 ? rule1 : rule2
  104. }
  105. },
  106. watch:{
  107. comfirmActive(val){
  108. vm.dept= {
  109. adminPhoneNum: "",
  110. adminUserName: "",
  111. deptName: "",
  112. parentAdminPhoneNum: "",
  113. parentId: '',
  114. parentName: "",
  115. parentSmsCode: "",
  116. smsCode: "",
  117. type: ""
  118. }
  119. this.dept.adminUserName = this.userinfo.username
  120. this.dept.adminPhoneNum = this.userinfo.mobile
  121. this.clearTime(2)
  122. this.clearTime()
  123. if (val==2) {
  124. this.getDept();
  125. }
  126. }
  127. },
  128. methods: {
  129. clearTime:function (secend='') {
  130. vm['jishi'+secend] = false
  131. vm['interTime'+secend] = 60
  132. clearInterval(vm['interl'+secend])
  133. vm['interl'+secend] = null
  134. },
  135. getDept: function () {
  136. //加载部门树
  137. Ajax.request({
  138. url: "../sys/dept/anonList",
  139. type:'post',
  140. async: true,
  141. successCallback: function (r) {
  142. ztree = $.fn.zTree.init($("#deptTree"), setting, r.list);
  143. }
  144. });
  145. },
  146. validCode:function () {
  147. let params = {
  148. parentAdminPhoneNum: vm.comfirmActive ==2 ? vm.dept.parentAdminPhoneNum:'',
  149. parentId: vm.comfirmActive ==2 ? vm.dept.parentId:'',
  150. parentSmsCode: vm.comfirmActive ==2 ? vm.dept.parentSmsCode:'',
  151. }
  152. Ajax.request({
  153. url: "../sys/dept/validParentAdmin",
  154. async: true,
  155. contentType: "application/json",
  156. params: JSON.stringify(params),
  157. type: "POST",
  158. successCallback: function (result) {
  159. vm.isNext = true
  160. }
  161. });
  162. },
  163. getSmsCode:function (num, secend='', deptId='') {
  164. if (vm['jishi'+secend]) {
  165. return
  166. }
  167. if (deptId) {
  168. if (!vm.dept.parentId) {
  169. return alert('请选择总公司名称');
  170. }
  171. }
  172. Ajax.request({
  173. url: "../sys/sms/authCode/",
  174. params: {"phoneNum": num,"deptId":deptId?vm.dept.parentId:null},
  175. type:'post',
  176. async: true,
  177. successCallback: function (r) {
  178. if (r.code == 0) {
  179. vm['interl'+secend] && clearInterval(vm['interl'+secend])
  180. vm['interl'+secend] = null
  181. vm['jishi'+secend] = true
  182. vm['interl'+secend] = setInterval(() => {
  183. vm['interTime'+secend]--
  184. if (vm['interTime'+secend] <= 0) {
  185. vm['jishi'+secend] = false
  186. vm['interTime'+secend] = 60
  187. clearInterval(vm['interl'+secend])
  188. vm['interl'+secend] = null
  189. }
  190. }, 1000)
  191. }
  192. alert(r.msg, function () {
  193. });
  194. }
  195. });
  196. },
  197. saveOrUpdate: function () {
  198. let params = {
  199. adminPhoneNum: vm.dept.adminPhoneNum,
  200. adminUserName: vm.dept.adminUserName,
  201. deptName: vm.dept.deptName,
  202. smsCode: vm.dept.smsCode,
  203. parentAdminPhoneNum: vm.comfirmActive ==2 ? vm.dept.parentAdminPhoneNum:'',
  204. parentId: vm.comfirmActive ==2 ? vm.dept.parentId:'',
  205. parentName: vm.comfirmActive ==2 ? vm.dept.parentName:'',
  206. parentSmsCode: vm.comfirmActive ==2 ? vm.dept.parentSmsCode:'',
  207. type: vm.comfirmActive ==2 ? 'join':'new'
  208. }
  209. Ajax.request({
  210. url: "../sys/dept/createDept",
  211. async: true,
  212. contentType: "application/json",
  213. params: JSON.stringify(params),
  214. type: "POST",
  215. successCallback: function (result) {
  216. if (result.code == 0) {
  217. alert('操作成功', function (index) {
  218. setTimeout(() => {
  219. parent.location.href = '/platform-framework/index.html';
  220. }, 500);
  221. });
  222. }
  223. }
  224. });
  225. },
  226. update: function () {
  227. var deptId = getDeptId();
  228. if (!deptId) {
  229. return;
  230. }
  231. Ajax.request({
  232. url: "../sys/dept/info/" + deptId,
  233. async: true,
  234. successCallback: function (r) {
  235. vm.showList = false;
  236. vm.title = "修改";
  237. vm.dept = r.dept;
  238. vm.getDept();
  239. }
  240. });
  241. },
  242. del: function () {
  243. var deptId = getDeptId();
  244. if (!deptId) {
  245. return;
  246. }
  247. confirm('确定要删除选中的记录?', function () {
  248. Ajax.request({
  249. type: "POST",
  250. url: "../sys/dept/delete",
  251. params: {"deptId": deptId},
  252. successCallback: function () {
  253. alert('操作成功', function (index) {
  254. vm.reload();
  255. });
  256. }
  257. });
  258. });
  259. },
  260. deptTree: function () {
  261. openWindow({
  262. title: "选择公司",
  263. area: ['300px', '450px'],
  264. content: jQuery("#deptLayer"),
  265. btn: ['确定', '取消'],
  266. btn1: function (index) {
  267. var node = ztree.getSelectedNodes();
  268. //选择上级部门
  269. vm.dept.parentId = node[0].deptId;
  270. vm.dept.parentName = node[0].name;
  271. layer.close(index);
  272. }
  273. });
  274. },
  275. reload: function () {
  276. vm.showList = true;
  277. TreeGrid.table.refresh();
  278. },
  279. handleSubmit: function (name) {
  280. handleSubmitValidate(this, name, function () {
  281. vm.saveOrUpdate()
  282. });
  283. },
  284. handleReset: function (name) {
  285. handleResetForm(this, name);
  286. }
  287. },
  288. mounted(){
  289. this.userinfo = JSON.parse(localStorage.getItem('userInfo'))
  290. }
  291. });
  292. function getDeptId() {
  293. var selected = $('#deptTable').bootstrapTreeTable('getSelections');
  294. if (selected.length == 0) {
  295. alert("请选择一条记录");
  296. return false;
  297. } else {
  298. return selected[0].id;
  299. }
  300. }