user.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /**
  2. * 消息管理相关js
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/9/21
  6. * @version
  7. */
  8. $(document).ready(function() {
  9. // 选择框
  10. $(".selector > li > a").click(function() {
  11. let value = $(this).data("value");
  12. let string = $(this).text();
  13. let selector = $(this).parent().parent();
  14. selector.next("input:hidden").val(value);
  15. selector.prev("button").children("lable").text(string);
  16. $('#searchUser').submit();
  17. //selector.prev("button").html(string + ' <span class="caret"></span>');
  18. });
  19. $("#deleteConfirm").click(async function () {
  20. let userID = $("#userID").val();
  21. let delCount = parseInt($("#delCount").val());
  22. delCount = delCount+1;
  23. $("#delCount").val(delCount);
  24. if(delCount == 3){//连续点3次才做真删除
  25. if(userID!=""){
  26. try {
  27. $.bootstrapLoading.start();
  28. let result = await ajaxPost("/user/deleteUser",{userID:userID});
  29. $.bootstrapLoading.end();
  30. if(result == "success"){
  31. window.location.reload();
  32. }else {
  33. alert("删除失败!");
  34. $("#delCount").val(0);
  35. }
  36. }catch (err){
  37. $.bootstrapLoading.end();
  38. $("#delCount").val(0);
  39. }
  40. }
  41. }
  42. });
  43. });
  44. let cacheUser = null;
  45. async function getOnlineInfo(filter) {
  46. try {
  47. let htmlString = `<tbody><tr><th>日期/时间</th><th>在线时长</th></tr>`;
  48. let info = await ajaxPost("/user/getOnlineInfo",JSON.parse(filter));
  49. for(let i of info){
  50. htmlString += `<tr><td>${i.dateString}</td><td>${i.online_times}</td></tr>`
  51. }
  52. htmlString +="<tbody>";
  53. $("#time-detail-table").html(htmlString);
  54. }catch (e){
  55. console.log(e)
  56. }
  57. }
  58. async function getUserInfo(ID) {
  59. let user = await ajaxPost("/user/findByID",{ID:ID});
  60. let infoString = `<tr><th>注册时间</th><td>${user.create_time}</td><th>最近登录</th><td>${user.last_login}</td></tr>
  61. <tr><th>手机</th><td >${user.mobile}</td><th>邮箱</th><td>${user.email}</td></tr>
  62. <tr><th>姓名</th><td colspan="3" id>${user.real_name}</td></tr>
  63. <tr><th>企业名称</th><td colspan="3">${user.company}</td></tr>
  64. <tr><th>企业地区</th><td>${user.province}</td><th>企业类型</th><td>${user.company_type}</td></tr>
  65. <tr><th>企业规模</th><td colspan="3">${user.company_scale}</td></tr>`;
  66. $('#userInfoTable').html(infoString);
  67. }
  68. function deleteUser(userID) {
  69. $("#delCount").val(0);
  70. $("#userID").val(userID);
  71. }
  72. async function getUserUpgradeInfo(ID){
  73. try {
  74. cacheUser = await ajaxPost("/user/findByID",{ID:ID});
  75. refreshUpgradeTable(cacheUser);
  76. }catch (err){
  77. console.log(err);
  78. }
  79. }
  80. function refreshUpgradeTable(user) {
  81. let compilationTable = ' <tr><th colspan="2">专业版升级</th></tr>';
  82. let test = true;
  83. for(let c of compilationList){
  84. compilationTable += `<tr><th>${c.name}</th>
  85. <td>${getButtonHtml(c._id)}
  86. </td>
  87. </tr>`;
  88. }
  89. $('#upgrade_table').html(compilationTable);
  90. function getButtonHtml(ID) {
  91. let updateString = `<div class="btn-group"><button class="btn btn-success disabled" disabled="disabled">已启用</button><button class="btn btn-default" title="关闭" onclick="updateUser('${ID}','close')">关闭</button></div>`;
  92. let closeString = `<div class="btn-group"> <button class="btn btn-default" title="启用" onclick="updateUser('${ID}','upgrade')">启用</button> <button class="btn btn-danger disabled" disabled="disabled">已关闭</button> </div>`;
  93. let upgradeInfo = _.find(user.upgrade_list,{'compilationID':ID});
  94. if(upgradeInfo){
  95. if(upgradeInfo.isUpgrade == true){
  96. return updateString + upgradeInfo.remark;
  97. }else {
  98. return closeString + upgradeInfo.remark;
  99. }
  100. }else {
  101. return closeString;
  102. }
  103. }
  104. }
  105. async function updateUser(compilationID,type) {
  106. if(cacheUser){
  107. let upgrade_list = cacheUser.upgrade_list?cacheUser.upgrade_list:[];
  108. let upgradeInfo = _.find(upgrade_list,{'compilationID':compilationID});
  109. if(!upgradeInfo){
  110. upgradeInfo = {
  111. compilationID:compilationID,//编办ID
  112. upgrade_time:new Date().getTime(),
  113. isUpgrade:true,
  114. };
  115. upgrade_list.push(upgradeInfo);
  116. }
  117. if(type == 'upgrade'){
  118. upgradeInfo.isUpgrade = true;
  119. upgradeInfo.remark = adminName + " "+ moment().format("YYYY-MM-DD") +" 启用";
  120. }else {
  121. upgradeInfo.isUpgrade = false;
  122. upgradeInfo.remark = adminName + " "+ moment().format("YYYY-MM-DD") +" 关闭";
  123. }
  124. try {
  125. await ajaxPost("/user/updateUser",{ID:cacheUser._id,updateData:{upgrade_list:upgrade_list}});
  126. cacheUser.upgrade_list = upgrade_list;
  127. refreshUpgradeTable(cacheUser);
  128. }catch (err){
  129. console.log(err);
  130. }
  131. }
  132. }