user.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  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. $('#remove-cldUser').click(async function () {
  44. const id = $(this).attr('data-uid');
  45. if(id !== '') {
  46. try {
  47. await ajaxPost("/user/updateUser",{ID:id,updateData:{is_cld:0}});
  48. window.location.reload();
  49. }catch (err){
  50. console.log(err);
  51. }
  52. }
  53. });
  54. $('#add-allCldUser').click(async function () {
  55. try {
  56. await ajaxPost("/user/updateCldUser", {});
  57. window.location.reload();
  58. }catch (err){
  59. console.log(err);
  60. }
  61. })
  62. });
  63. let cacheUser = null;
  64. async function getOnlineInfo(filter) {
  65. try {
  66. let htmlString = `<tbody><tr><th>日期/时间</th><th>在线时长</th></tr>`;
  67. let info = await ajaxPost("/user/getOnlineInfo",JSON.parse(filter));
  68. for(let i of info){
  69. htmlString += `<tr><td>${i.dateString}</td><td>${i.online_times}</td></tr>`
  70. }
  71. htmlString +="<tbody>";
  72. $("#time-detail-table").html(htmlString);
  73. }catch (e){
  74. console.log(e)
  75. }
  76. }
  77. async function getUserInfo(ID) {
  78. let user = await ajaxPost("/user/findByID",{ID:ID});
  79. let infoString = `<tr><th>注册时间</th><td>${user.create_time}</td><th>最近登录</th><td>${moment(user.latest_login).format('YYYY-MM-DD HH:mm:ss')}</td></tr>
  80. <tr><th>手机</th><td >${user.mobile}</td><th>邮箱</th><td>${user.email}</td></tr>
  81. <tr><th>姓名</th><td colspan="3" id>${user.real_name}</td></tr>
  82. <tr><th>企业名称</th><td colspan="3">${user.company}</td></tr>`;
  83. $('#userInfoTable').html(infoString);
  84. $('#remove-cldUser').attr('data-uid', ID);
  85. }
  86. function deleteUser(userID) {
  87. $("#delCount").val(0);
  88. $("#userID").val(userID);
  89. }
  90. function searchUser() {
  91. const keyword = $.trim($('#search_keyword').val());
  92. if (keyword === '') {
  93. alert("请输出查询用户信息!");
  94. }
  95. CommonAjax.get(`/user/search?keyword=` + keyword, function (result) {
  96. if (result.error === 0) {
  97. let html = '';
  98. for (const user of result.data) {
  99. html += `<tr><td>${user.real_name}</td><td>${user.email}</td><td>${user.mobile}</td><td>` + (user.is_cld === 0 ? `<a href="javascript:void(0);" onclick="addCldUser(this, '${user._id}')">添加</a>` : '已添加') + `</td></tr>`;
  100. }
  101. $('#search_user_list').html(html);
  102. } else {
  103. alert(result.msg);
  104. }
  105. });
  106. return false;
  107. }
  108. async function addCldUser($this, id) {
  109. try {
  110. await ajaxPost("/user/updateUser",{ID:id,updateData:{is_cld:Date.parse(new Date())/1000}});
  111. const _self = $($this).parents('td');
  112. $this.remove();
  113. _self.text('已添加');
  114. }catch (err){
  115. console.log(err);
  116. }
  117. }
  118. async function getUserUpgradeInfo(ID){
  119. try {
  120. cacheUser = await ajaxPost("/user/findByID",{ID:ID});
  121. refreshUpgradeTable(cacheUser);
  122. }catch (err){
  123. console.log(err);
  124. }
  125. }
  126. function refreshUpgradeTable(user) {
  127. let compilationTable = ' <tr><th colspan="2">专业版升级</th></tr>';
  128. let test = true;
  129. for(let c of compilationList){
  130. compilationTable += `<tr><th>${c.name}</th>
  131. <td>${getButtonHtml(c._id)}
  132. </td>
  133. </tr>`;
  134. }
  135. $('#upgrade_table').html(compilationTable);
  136. function getButtonHtml(ID) {
  137. 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>`;
  138. 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>`;
  139. let upgradeInfo = _.find(user.upgrade_list,{'compilationID':ID});
  140. if(upgradeInfo){
  141. if(upgradeInfo.isUpgrade == true){
  142. return updateString + upgradeInfo.remark;
  143. }else {
  144. return closeString + upgradeInfo.remark;
  145. }
  146. }else {
  147. return closeString;
  148. }
  149. }
  150. }
  151. async function updateUser(compilationID,type) {
  152. if(cacheUser){
  153. let upgrade_list = cacheUser.upgrade_list?cacheUser.upgrade_list:[];
  154. let upgradeInfo = _.find(upgrade_list,{'compilationID':compilationID});
  155. if(!upgradeInfo){
  156. upgradeInfo = {
  157. compilationID:compilationID,//编办ID
  158. upgrade_time:new Date().getTime(),
  159. isUpgrade:true,
  160. };
  161. upgrade_list.push(upgradeInfo);
  162. }
  163. if(type == 'upgrade'){
  164. upgradeInfo.isUpgrade = true;
  165. upgradeInfo.remark = adminName + " "+ moment().format("YYYY-MM-DD") +" 启用";
  166. }else {
  167. upgradeInfo.isUpgrade = false;
  168. upgradeInfo.remark = adminName + " "+ moment().format("YYYY-MM-DD") +" 关闭";
  169. }
  170. try {
  171. await ajaxPost("/user/updateUser",{ID:cacheUser._id,updateData:{upgrade_list:upgrade_list}});
  172. cacheUser.upgrade_list = upgrade_list;
  173. refreshUpgradeTable(cacheUser);
  174. }catch (err){
  175. console.log(err);
  176. }
  177. }
  178. }