buildHtml.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. /**
  2. * Created by cp on 2019/12/17.
  3. */
  4. /**
  5. * 用户列表--首页分页列表刷新
  6. * @param data
  7. * @returns
  8. */
  9. function fnStructureCuringUser(data){
  10. var html='';
  11. $.each(data, function(k, v) {
  12. html+='<tr class="pointer-hover" curingInfoEdi dataCid="'+setUndefined(v.client_id)+'" data='+setUndefined(v.ssoId)+' dataId="'+setUndefined(v._id)+'" data-toggle="modal" data-target="">';
  13. html+='<td>'+setUndefined(v.mobile)+'</td>';
  14. html+='<td>'+setUndefined(v.username)+'</td>';
  15. html+='<td>'+setUndefined(v.real_name)+'</td>';
  16. html+='<td>'+setUndefined(v.qq)+'</td>';
  17. html+='<td>'+setUndefined(v.company)+'</td>';
  18. html+='<td>'+setUndefined(v.clientInfo.clientname)+'</td>';
  19. html+='<td>'+setUndefined(v.clientInfo.companyname)+'</td>';
  20. html+='<td>'+setUndefined(v.latest_login)+'</td>';
  21. html+='<td>'+setUndefined(v.latest_usedName)+'</td>';
  22. html+='<td>'+setUndefined(v.online_newest)+'</td>';
  23. html+='<td>'+setUndefined(v.addtime)+'</td>';
  24. html+='<td>'+setUndefined(v.upgradeListName)+'</td>';
  25. html+='</tr>';
  26. });
  27. $('tbody[curingUser]').html(html);
  28. $('div[curingListBox]').show();
  29. $('p[upClientBox]').hide();
  30. }
  31. /**
  32. * 用户详情页 养护信息更新
  33. * @param data
  34. * @returns
  35. */
  36. function buildCuringInfo(data){
  37. var html=' ' +
  38. ' <div class="form-header">' +
  39. ' <div class="d-flex justify-content-between"><span class="text-muted">大司空用户</span></div> ' ;
  40. if(data.mobile==''){
  41. html+='<legend>'+setUndefined(data.email)+'</legend> ';
  42. }else{
  43. html+='<legend>'+setUndefined(data.mobile)+'</legend> ';
  44. }
  45. html+='</div><div class="cldform clearfix"> <div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  46. '<div class="cldform-label">手机</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  47. '<span>'+setUndefined(data.mobile)+'</span></div> </div> </div> <div class="cldform-item cldform-item-half pl-3"> ' +
  48. '<div class="cldform-label">邮箱</div> ' +
  49. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  50. '<span>'+setUndefined(data.email)+'</span></div></div>';
  51. html+='</div> <div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  52. '<div class="cldform-label">称呼</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank"> ' +
  53. '<span>'+setUndefined(data.username)+'</span></div> </div> </div>';
  54. html+='<div class="cldform-item cldform-item-half pl-3">'+
  55. '<div class="cldform-label">QQ</div>'+
  56. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">'+
  57. '<span>'+setUndefined(data.qq)+
  58. '</span></div></div></div>';
  59. html+='<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3">'+
  60. '<div class="cldform-label">真实姓名</div>'+
  61. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank"> '+
  62. '<span>'+setUndefined(data.real_name)+
  63. '</span></div></div></div>';
  64. html+='<div class="cldform-item cldform-item-half pl-3"> ' +
  65. '<div class="cldform-label">注册云版</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  66. '<span>'+setUndefined(data.create_time)+'</span></div> </div> </div>';
  67. html+='<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  68. '<div class="cldform-label">企业名称</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  69. '<span>'+setUndefined(data.company)+'</span></div> </div> </div>';
  70. html+='<div class="cldform-item cldform-item-half pl-3"> ' +
  71. '<div class="cldform-label">企业地区</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  72. '<span>'+setUndefined(data.province)+'</span></div> </div> </div> ';
  73. html+='<div class="cldform-line"></div><div class="cldform-item cldform-item-half pr-3">'+
  74. '<div class="cldform-label">最近使用</div><div class="cldform-control"><div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">'+
  75. '<span>'+setUndefined(data.latest_usedName)+'</span>'+
  76. '</div></div></div>';
  77. html+='<div class="cldform-item cldform-item-half pl-3">'+
  78. '<div class="cldform-label">累计时长</div><div class="cldform-control"><div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">'+
  79. '<span>'+setUndefined(data.online_times)+'</span>'+
  80. '</div></div></div>'+
  81. '</div>';
  82. return html;
  83. }
  84. /**
  85. * 关联CLD客户--检索CLD客户后的结果列表
  86. * @param data
  87. * @returns
  88. */
  89. function buildClientBySearch(data){
  90. var html='';
  91. $.each(data, function(k, v) {
  92. html+='<span data="'+ v.cidKey+'" ><div class="card pointer-hover p-3 mb-3" data-toggle="tooltip" data-placement="bottom" title="点击关联该客户" data-original-title="点击关联该客户"> <div class="row">' +
  93. '<div class="col-1 pr-0">'+ v.clientname+'</div>' +
  94. '<div class="col-2 pr-0">'+ v.position+'</div>' +
  95. '<div class="col-2 pr-0">'+ v.telephone+'</div>' +
  96. '<div class="col-4 pr-0">'+ v.companyname+'</div></div> </div></span>';
  97. });
  98. return html;
  99. }
  100. //构建养护升级产品信息
  101. function buildCuringCompilation(data){
  102. var upMajorBoxHtml='';
  103. $.each(data.detail.compilationList, function(k, v) {
  104. upMajorBoxHtml+='<tr>';
  105. upMajorBoxHtml+='<td></td>';
  106. upMajorBoxHtml+='<td>'+ v.name+'</td>';
  107. if(v.lock==1){
  108. upMajorBoxHtml+='<td>借出</td>';
  109. }else if(v.lock==2){
  110. upMajorBoxHtml+='<td>销售</td>';
  111. }else{
  112. upMajorBoxHtml+='<td></td>';
  113. }
  114. upMajorBoxHtml+='<td>';
  115. var deadline='';
  116. data.detail.userInfo.upgrade_list.forEach(element => {
  117. if(v._id===element.compilationID){
  118. deadline=element.deadline;
  119. }
  120. });
  121. if(v.isUpgrade !== undefined && v.isUpgrade === true){
  122. upMajorBoxHtml+='已升级';
  123. }else{}
  124. upMajorBoxHtml+='</td>';
  125. if(v.isUpgrade !== undefined && v.isUpgrade === true){
  126. upMajorBoxHtml+='<td>'+deadline+'</td>';
  127. }else{
  128. upMajorBoxHtml+='<td></td>';
  129. }
  130. //操作相关
  131. upMajorBoxHtml+='<td>';
  132. if(v.isUpgrade !== undefined && v.isUpgrade === true){
  133. upMajorBoxHtml+='<a href="#degrade-confirm" onclick=downCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","0") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>';
  134. if(v.lock==1){
  135. upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","2") ' +
  136. 'href="#update-confirm" class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">销售</a>';
  137. }
  138. }else{
  139. //借出,销售
  140. if(v.lock==1){
  141. upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","2") ' +
  142. 'href="#update-confirm" class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">销售</a>';
  143. }else if(v.lock==2){
  144. }else{
  145. upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","1") ' +
  146. 'href="#update-confirm" class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">借出</a>';
  147. upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","2") ' +
  148. 'href="#update-confirm" class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">销售</a>';
  149. }
  150. }
  151. if(v.isUpgrade !== undefined && v.isUpgrade === true){
  152. //期限
  153. upMajorBoxHtml+='<a href="#deadline-confirm" onclick=deadlineCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","'+deadline+'","'+ v.lock+'") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a>';
  154. }
  155. upMajorBoxHtml+='</td>';
  156. upMajorBoxHtml+='</tr>';
  157. });
  158. return upMajorBoxHtml;
  159. }
  160. function buildCuringOnlineTimes(data){
  161. var onlineTimesHtml='';
  162. var i=1;
  163. $.each(data, function(k, v) {
  164. onlineTimesHtml+='<tr><td width="20">'+i+'</td><td width="140">'+v.dateString+'</td><td>'+v.online_times+'</td></tr>';
  165. i++;
  166. });
  167. return onlineTimesHtml;
  168. }
  169. function buildServiceLog(data){
  170. var html='';
  171. $.each(data, function(k, v) {
  172. html+='<tr><td width="20"></td>';
  173. html+='<td width="140"><a href="#">@'+ v.staffname+'</a> ' ;
  174. if(v.status==1){
  175. html+= '上门服务' ;
  176. }else if(v.status==2){
  177. html+= '电话拜访' ;
  178. }else if(v.status==3){
  179. html+= '其他' ;
  180. }
  181. html+='<br><span class="text-muted">'+ v.date+'</span></td>'
  182. html+='<td>'+ v.mark+'</td>'
  183. html+='</tr>';
  184. });
  185. return html;
  186. }
  187. //关联CLD客户
  188. function relevanceClient(data){
  189. var html='';
  190. if(isExistence(data)){
  191. html=buildClient(data);
  192. }else{
  193. html='<div class="form-header mt-3"> <div class="d-flex justify-content-between"><span class="text-muted">CLD客户</span><span class="text-muted"></span></div> <div class="text-center">' +
  194. '<a href="#linkcld" class="btn btn-sm btn-outline-primary" data-toggle="modal" data-target="#linkcld"><i class="far fa-link"></i> 关联CLD客户</a></div> </div>';
  195. }
  196. return html;
  197. }
  198. /**
  199. * 构建操作日志
  200. * @param data
  201. * @returns
  202. */
  203. function buildCuringOperateLog(data){
  204. var html='';
  205. if(isExistence(data)){
  206. $.each(data, function(k, v) {
  207. html+='<p>' +
  208. '<a href="#">@'+ v.username+'</a>' +
  209. ' '+ v.operation+'<br>' +
  210. '<span class="text-muted">'+ v.createDate+'</span></p></p> ';
  211. });
  212. }else{
  213. html='';
  214. }
  215. html+='';
  216. return html;
  217. }
  218. function autoHeight(){
  219. var html='<script type="text/javascript">autoFlashHeight();</script> <script type="text/javascript">$(".slimScroll1").slimScroll({position: \'right\', height:\'auto\' , railVisible: true}); </script> <script type="text/javascript"> $(".slimScrol2").slimScroll({ position: \'right\', height:\'auto\' , railVisible: true });</script> <script type="text/javascript"> $(".slimScrol3").slimScroll({ position: \'right\', height:\'auto\' , railVisible: true});</script> <script type="text/javascript"> $(".slimScrol4").slimScroll({position: \'right\', height:\'auto\' , railVisible: true});</script>';
  220. $('div[autoHeight]').html(html);
  221. }