curing.concat.js 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154
  1. /**
  2. * Created by MyPC on 2019/11/11.
  3. */
  4. var mobile2InfoTimeout = null;
  5. var searchCuringTimeout = null;
  6. var mobile = '';
  7. var getClentListTimeout = null;
  8. var clientname = '';
  9. var columnLength = 10;
  10. /*function fnSearchCuring(){
  11. searchCuringTimeout = null;
  12. if((/^1[34578]\d{9}$/.test(mobile))){
  13. $.ajax({
  14. cache :false,
  15. type: 'GET',
  16. url: '/cloud/curing/ajax/checkMobile/'+mobile,
  17. //data: { mobile: mobile },
  18. dataType: 'json',
  19. context: $('body'),
  20. success: function(data){
  21. if(data.status==1||data.status==2){
  22. fnGetCuringDetail(data.data.id,data.data.client_id);
  23. }else if(data.status==3){
  24. $('div[upCuringBox]').hide();
  25. $('p[upCuringBox]').show();
  26. }
  27. },
  28. error: function(xhr, type){
  29. console.log('Ajax error!')
  30. }
  31. })
  32. }
  33. }*/
  34. //获得CLD客户list数据
  35. function getClentList() {
  36. if (!isExistence(clientname)) {
  37. console.log('参数错误');
  38. return;
  39. }
  40. $.ajax({
  41. cache: false,
  42. type: 'GET',
  43. url: '/contacts/client/ajax/getClentList',
  44. data: { clientname: encodeURI(clientname) },
  45. dataType: 'json',
  46. async: false,
  47. success: function (data) {
  48. if (data.status == 1) {
  49. var html = buildClientBySearch(data.list);
  50. $('div[searchClient] curingClient').html(html);
  51. } else {
  52. console.log(data.msg);
  53. }
  54. },
  55. error: function (xhr, type) {
  56. console.log('Ajax error!')
  57. }
  58. })
  59. }
  60. $(document).ready(function () {
  61. init();
  62. })
  63. $(function () {
  64. //------用户列表界面相关----------
  65. /**
  66. * 绑定分页-点击事件-刷新用户列表和分页列表
  67. * parameter 传递参数
  68. * currentPage
  69. */
  70. $('div[pageDetail]').delegate('a', 'click', function () {
  71. // 只获取第一个选中的值
  72. var parameter = $(this).attr('parameter');
  73. var currentPage = $(this).attr('currentPage');
  74. $('button[closeRefresh]').attr('currentPage', currentPage);
  75. $('button[closeRefresh]').attr('parameter', parameter);
  76. refreshCuringPagination(parameter, currentPage);
  77. });
  78. /**
  79. * 编办下拉选择
  80. */
  81. $('select[curingByCompilation]').on('change', function (e) {
  82. var compilation = $(this).val();
  83. var latestCompilation = $('select[curingByLatestCompilation]').val();
  84. refreshCuringPage(compilation, latestCompilation);
  85. });
  86. $('select[curingByLatestCompilation]').on('change', function (e) {
  87. var latestCompilation = $(this).val();
  88. var compilation = $('select[curingByCompilation]').val();
  89. refreshCuringPage(compilation, latestCompilation);
  90. });
  91. /**
  92. * 用户列表排序相关
  93. */
  94. $('input[type=radio][name=sortField]').on('change', function (e) {
  95. var sortField = $(this).attr('data');
  96. var latestCompilation = $('select[curingByLatestCompilation]').val();
  97. var compilation = $('select[curingByCompilation]').val();
  98. refreshCuringPage(compilation, latestCompilation, sortField);
  99. });
  100. $('input[type=radio][name=sort]').on('change', function (e) {
  101. var sort = $(this).attr('data');
  102. var latestCompilation = $('select[curingByLatestCompilation]').val();
  103. var compilation = $('select[curingByCompilation]').val();
  104. refreshCuringPage(compilation, latestCompilation, '', sort);
  105. });
  106. /**
  107. * 通行证账号检索养护用户--缓冲300
  108. */
  109. $('input[mobile2Info]').on('keyup', function (e) {
  110. if (mobile2InfoTimeout != null) {
  111. clearTimeout(mobile2InfoTimeout);
  112. }
  113. mobile = $(this).val();
  114. //if((/^1[34578]\d{9}$/.test(mobile))) {
  115. mobile2InfoTimeout = setTimeout(fnMobile2Info, 300);
  116. //}
  117. });
  118. //--------------用户详情界面相关---------
  119. /**
  120. * 动态绑定养护用户列表 打开用户详情页面事件
  121. * ssoid
  122. * id
  123. * client_id
  124. */
  125. var coordinate = {};
  126. var ssoid = '', client_id = '';
  127. $('tbody[curingUser]').delegate('tr', 'mousedown', function (e) {
  128. coordinate.x = e.pageX;
  129. coordinate.y = e.pageY;
  130. ssoid = $(this).attr('data');
  131. client_id = $(this).attr('dataCid');
  132. }).click(function (e) {
  133. if (coordinate.x == e.pageX && coordinate.y == e.pageY) {
  134. $(this).attr('data-toggle', ' ');
  135. refreshCuringPageDetail(ssoid, client_id);
  136. }
  137. });
  138. // $('tbody[curingUser]').delegate( 'tr','mouseup', function(){
  139. // // 只获取第一个选中的值
  140. // var ssoid = $(this).attr('data');
  141. // var client_id=$(this).attr('dataCid')
  142. // $(this).attr('data-toggle',' ');
  143. //
  144. // refreshCuringPageDetail(ssoid,client_id);
  145. //
  146. // });
  147. /**
  148. * 确定升级专业版--用户详情界面
  149. */
  150. $('button[upCuringDo]').on('click', function (e) {
  151. // 只获取第一个选中的值
  152. var compilationId = $('#_id').val();
  153. var name = $('#name').val();
  154. var curingSsoid = $('#curingSsoid').val();
  155. var mobile = $('#curingMobile').val();
  156. var client_id = $('#client_id').val();
  157. var deadline1=$('#deadline').val();
  158. var smssend=$('input[smssend]').get(0).checked
  159. curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline1,smssend);
  160. });
  161. /**
  162. * 确定降级免费版--用户详情界面
  163. */
  164. $('button[downCuringDo]').on('click', function (e) {
  165. // 只获取第一个选中的值
  166. var compilationId = $('#_id').val();
  167. var name = $('#name').val();
  168. var curingSsoid = $('#curingSsoid').val();
  169. var mobile = $('#curingMobile').val();
  170. var client_id = $('#client_id').val();
  171. var deadline1=$('#deadline').val();
  172. var smssend=$('input[downsmssend]').get(0).checked;
  173. curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline1,smssend);
  174. });
  175. $('button[deadlineCuringDo]').on('click', function (e) {
  176. // 只获取第一个选中的值
  177. var compilationId = $('#_id').val();
  178. var name = $('#name').val();
  179. var curingSsoid = $('#curingSsoid').val();
  180. var mobile = $('#curingMobile').val();
  181. var client_id = $('#client_id').val();
  182. var deadline=$('#deadlineInput').val();
  183. var smssend=$('input[deadlineSmssend]').get(0).checked;
  184. curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
  185. });
  186. /**
  187. * 用户绑定CLD客户--用户详情页
  188. */
  189. $('div[relevanceClientDo]').delegate('span', 'click', function () {
  190. // 只获取第一个选中的值
  191. var cidKey = $(this).attr('data');
  192. var ssoId = $('#curingSsoid').val();
  193. //var id=$('#id').val();
  194. $.ajax({
  195. cache: false,
  196. type: 'POST',
  197. url: '/cloud/curing/ajax/relevanceClientDo',
  198. data: { cidKey: encodeURI(cidKey), ssoId: encodeURI(ssoId) },
  199. dataType: 'json',
  200. success: function (data) {
  201. if (data.status == 1) {
  202. refreshCuringPageDetail(ssoId, cidKey);
  203. $('#linkcld').modal('hide');
  204. } else {
  205. alert(data.msg);
  206. }
  207. },
  208. error: function (xhr, type) {
  209. console.log('Ajax error!')
  210. }
  211. })
  212. });
  213. /**
  214. * 用户取消关联CLD客户--用户详情页
  215. */
  216. $('button[relieveClientDo]').on('click', function (e) {
  217. // 只获取第一个选中的值
  218. var cid = $(this).attr('data');
  219. var ssoId = $('#curingSsoid').val();
  220. $('#unlinkcld').modal('hide');
  221. $.ajax({
  222. cache: false,
  223. type: 'POST',
  224. url: '/cloud/curing/ajax/relieveClientDo',
  225. data: { cid: encodeURI(cid), ssoId: encodeURI(ssoId) },
  226. dataType: 'json',
  227. success: function (data) {
  228. if (data.status == 1) {
  229. refreshCuringPageDetail(ssoId, cid);
  230. } else {
  231. alert(data.msg);
  232. }
  233. },
  234. error: function (xhr, type) {
  235. console.log('Ajax error!')
  236. }
  237. })
  238. });
  239. /**
  240. * 关闭详情页--刷新用户列表
  241. */
  242. $('button[closeRefresh]').on('click', function (e) {
  243. // 只获取第一个选中的值
  244. var parameter = $('button[closeRefresh]').attr('parameter');
  245. if (parameter != '') {
  246. var currentPage = $('button[closeRefresh]').attr('currentPage');
  247. refreshCuringPagination(parameter, currentPage);
  248. } else {
  249. var latestCompilation = $('select[curingByLatestCompilation]').val();
  250. var compilation = $('select[curingByCompilation]').val();
  251. refreshCuringPage(compilation, latestCompilation, '', '', mobile);
  252. }
  253. });
  254. //
  255. /**
  256. * 检索cld用户
  257. */
  258. $('input[getClentList]').on('keyup', function (e) {
  259. if (getClentListTimeout != null) {
  260. clearTimeout(getClentListTimeout);
  261. }
  262. clientname = $(this).val();
  263. if (isExistence(clientname)) {
  264. getClentListTimeout = setTimeout(getClentList, 500);
  265. }
  266. });
  267. //列表 号码检索事件绑定
  268. $('div[mobile2Info]').on('click', function (e) {
  269. mobile = $('input[mobile2Info]').val();
  270. if (mobile == '') {
  271. location.reload()
  272. }
  273. fnMobile2Info();
  274. });
  275. /*
  276. $('a[upNewClient]').on('click', function(e){
  277. $('input[fnsearchcuring]').val('');
  278. $('div[upCuringBox]').hide();
  279. $('p[upCuringBox]').hide();
  280. });
  281. $('input[fnSearchCuring]').on('keyup', function(e){
  282. if(searchCuringTimeout != null){
  283. clearTimeout(searchCuringTimeout);
  284. }
  285. mobile=$(this).val();
  286. if((/^1[34578]\d{9}$/.test(mobile))) {
  287. searchCuringTimeout = setTimeout(fnSearchCuring, 500);
  288. }
  289. });
  290. $('a[upClient]').on('click', function(e){
  291. var mobile=$('b[curingMobile]').html();
  292. if(mobile==''){
  293. alert('参数错误');
  294. }
  295. $.ajax({
  296. cache :false,
  297. type: 'GET',
  298. url: '/cloud/curing/ajax/checkMobile/'+mobile,
  299. //data: { mobile: mobile },
  300. dataType: 'json',
  301. success: function(data){
  302. if(data.status==1||data.status==2){
  303. $('input[fnsearchcuring]').val(mobile);
  304. fnGetCuringDetail(data.data.id,data.data.client_id);
  305. }else if(data.status==3){
  306. $('div[upCuringBox]').hide();
  307. $('p[upCuringBox]').show();
  308. }
  309. },
  310. error: function(xhr, type){
  311. console.log('Ajax error!')
  312. }
  313. })
  314. });*/
  315. })
  316. //构建升级用户信息--预计废弃
  317. /*function fnGetCuringDetail(ssoid,client_id){
  318. $('tbody[upMajorBox]').html('');
  319. $('#curingSsoid').val('');
  320. $('#curingMobile').val('');
  321. $('#client_id').val('');
  322. $('#name').val('');
  323. $('#_id').val('');
  324. $.ajax({
  325. cache :false,
  326. type: 'GET',
  327. url: '/cloud/curing/ajax/getCuringBySsoid',
  328. data: {ssoid: ssoid, client_id: client_id},
  329. dataType: 'json',
  330. context: $('body'),
  331. success: function(data){
  332. if(data.status==1||data.status==2){
  333. $('div[upCuringBox]').show();
  334. $('p[upCuringBox]').hide();
  335. var objHtml=buildCuringInfo(data.detail.userInfo);
  336. $('div[curingInfo] curing').html(objHtml);
  337. var upMajorBoxHtml=buildCuringCompilation(data);
  338. $('tbody[upMajorBox]').html(upMajorBoxHtml);
  339. var operateLogHtml=buildCuringOperateLog(data.detail.operateLog);
  340. $('div[operateLog] curingOperate').html(operateLogHtml);
  341. }else if(data.status==3){
  342. $('div[upCuringBox]').hide();
  343. $('p[upCuringBox]').show();
  344. }
  345. },
  346. error: function(xhr, type){
  347. console.log('Ajax error!')
  348. }
  349. })
  350. }*/
  351. /**
  352. * 分页列表--刷新用户列表
  353. * @param parameter
  354. * @param currentPage
  355. * @returns
  356. */
  357. function refreshCuringPagination(parameter, currentPage) {
  358. $.ajax({
  359. cache: false,
  360. type: 'get',
  361. url: '/cloud/curing/ajax/getCuringPage/' + currentPage + parameter,
  362. dataType: 'json',
  363. success: function (data) {
  364. if (data.status == 1) {
  365. fnStructureCuringUser(data.curingList);
  366. fnPage(data.pageData);
  367. refreshColumn(columnLength);
  368. } else {
  369. alert(data.msg);
  370. }
  371. }
  372. })
  373. }
  374. /**
  375. * 筛选-统一请求--刷新用户列表
  376. * @returns
  377. */
  378. function refreshCuringPage(compilation, latestCompilation, sortField, sort, wd) {
  379. $.ajax({
  380. cache: false,
  381. type: 'get',
  382. url: '/cloud/curing/ajax/refreshCuringPage?sortField=' + sortField + '&sort=' + sort + '&compilation=' + compilation + '&latestCompilation=' + latestCompilation +
  383. '&wd=' + wd,
  384. dataType: 'json',
  385. success: function (data) {
  386. if (data.status == 1) {
  387. fnStructureCuringUser(data.curingList);
  388. fnPage(data.pageData);
  389. refreshColumn(columnLength);
  390. } else {
  391. alert(data.msg);
  392. }
  393. }
  394. })
  395. }
  396. /**
  397. * 通行证账号检索用户--刷新列表和分页
  398. * @returns
  399. */
  400. function fnMobile2Info() {
  401. mobile2InfoTimeout = null;
  402. //if((/^1[34578]\d{9}$/.test(mobile))) {
  403. refreshCuringPage('', '', '', '', mobile);
  404. //}
  405. }
  406. /**
  407. * 刷新用户详情页
  408. * @param ssoid
  409. * @param client_id
  410. * @returns
  411. */
  412. function refreshCuringPageDetail(ssoid, client_id) {
  413. $.ajax({
  414. cache: false,
  415. type: 'GET',
  416. url: '/cloud/curing/ajax/getCuringBySsoid',
  417. data: { ssoid: encodeURI(ssoid), client_id: encodeURI(client_id) },
  418. dataType: 'json',
  419. success: function (data) {
  420. if (data.status == 1 || data.status == 2) {
  421. //设置 养护用户信息
  422. var objHtml = buildCuringInfo(data.detail.userInfo);
  423. $('div[curingInfo] curing').html(objHtml);
  424. $('div[curingInfo] curingClient').html('');
  425. //设置CLD客户信息
  426. //if(data.detail.curingInfo.updateTotal!=0){
  427. //$("#id").val(id);
  428. var clientHtml = relevanceClient(data.detail.clientInfo);
  429. $('div[curingInfo] curingClient').html(clientHtml);
  430. //}
  431. //设置养护详情页里产品升级信息
  432. var upMajorBoxHtml = buildCuringCompilation(data);
  433. $('tbody[upMajorBox]').html(upMajorBoxHtml);
  434. //更新在线时长
  435. var onlineTimesHtml = buildCuringOnlineTimes(data.detail.userInfo.online_list);
  436. $('tbody[onlineTimes]').html(onlineTimesHtml);
  437. //设置参数
  438. $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
  439. $('#curingMobile').val(data.detail.userInfo.mobile);
  440. $('#client_id').val(data.detail.clientInfo.cidKey);
  441. //设置养护日志
  442. var operateLogHtml = buildCuringOperateLog(data.detail.operateLog);
  443. $('div[operateLog] curingOperate').html(operateLogHtml);
  444. setTimeout(autoHeight, 400);
  445. //autoHeight();
  446. $('#detail').modal('show');
  447. } else if (data.status == 3) {
  448. alert(data.msg);
  449. }
  450. },
  451. error: function (xhr, type) {
  452. console.log('Ajax error!')
  453. }
  454. })
  455. }
  456. /**
  457. * DOM加载完毕后初始化
  458. * @returns
  459. */
  460. function init() {
  461. refreshColumn(columnLength);
  462. }
  463. /**
  464. * 用户升级专业版 弹框提示--用户详情界面
  465. * @param name
  466. * @param _id
  467. * @param username
  468. * @returns
  469. */
  470. function upCuring(name, _id, username) {
  471. $('#name').val(name);
  472. $('#_id').val(_id);
  473. var curingMobile = $('#curingMobile').val();
  474. var html = '<p>为用户 <b>' + curingMobile + ',' + username + '</b> 升级 <b>' + name + '</b></p>';
  475. html += '<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadline id="customSwitch2" ><label class="custom-control-label" deadlineLabel for="customSwitch2">限期</label></div></div>';
  476. html += '<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control" id="deadline" type="date" name="deadline" disabled value=""></div>';
  477. html += '<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" smssend id="customSwitch22" ><label class="custom-control-label" for="customSwitch22">给客户发送短信通知</label></div></div>';
  478. $('div[upCuring] span').html(html);
  479. }
  480. /**
  481. * 养护产品降级
  482. * @param {} name
  483. * @param {*} _id
  484. * @param {*} username
  485. */
  486. function downCuring(name, _id, username) {
  487. $('#name').val(name);
  488. $('#_id').val(_id);
  489. var curingMobile = $('#curingMobile').val();
  490. // let html = `<p>为用户 <b>${curingMobile},${username}</b> <span class="text-danger">降级</span> <b>${name}免费版</b></p>
  491. // <div class="form-group">
  492. // <div class="custom-control custom-switch">
  493. // <input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" >
  494. // <label class="custom-control-label" for="customSwitch23">给客户发送短信通知</label>
  495. // </div>
  496. // </div>`;
  497. var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <span class="text-danger">降级</span> <b>'+name+'免费版</b></p><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" ><label class="custom-control-label" for="customSwitch23">给客户发送短信通知</label></div></div>';
  498. $('div[downCuring] span').html(html);
  499. }
  500. function deadlineCuring(name, _id, username,deadline){
  501. $('#name').val(name);
  502. $('#_id').val(_id);
  503. var curingMobile = $('#curingMobile').val();
  504. var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <b>'+name+'</b> 设置延期</p><p>当前限期为:'+deadline+'</p>';
  505. html +='<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control" id="deadlineInput" type="date" name="date" value=""></div><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" ><label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label></div></div>';
  506. // let html = `<p>为用户 <b>${curingMobile},${username}</b> <b>${name}</b> 设置延期</p>
  507. // <p>当前限期为:${deadline}</p>
  508. // <div class="form-group">
  509. // <label class="form-label" for="example-date">到期时间</label>
  510. // <input class="form-control" id="deadlineInput" type="date" name="date" value="">
  511. // </div>
  512. // <div class="form-group">
  513. // <div class="custom-control custom-switch">
  514. // <input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" >
  515. // <label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label>
  516. // </div>
  517. // </div>`;
  518. $('div[deadlineCuring] span').html(html);
  519. }
  520. function curingDo(compilationId, name, curingSsoid, status, mobile, client_id, deadline, smssend) {
  521. if (curingSsoid != '' && compilationId != '') {
  522. $.ajax({
  523. cache: false,
  524. type: 'post',
  525. url: '/cloud/curing/ajax/upCuringDo',
  526. data: { ssoid: curingSsoid, compilationId: compilationId, mobile: mobile, client_id: client_id, name: name, deadline: deadline, smssend: smssend, status: status },
  527. dataType: 'json',
  528. success: function (data) {
  529. if (data.status == 1) {
  530. refreshCuringPageDetail(curingSsoid, client_id);
  531. } else {
  532. alert(data.msg);
  533. }
  534. }
  535. })
  536. } else {
  537. alert('请选择需要升级的版本');
  538. }
  539. }
  540. $(function () {
  541. $('div[upcuring]').delegate('label[deadlineLabel]', 'click', function () {
  542. $('#deadline').attr('disabled', 'disabled');
  543. if($('input[deadline]').prop('checked')){
  544. $('input[deadline]').prop("checked",false);
  545. }else{
  546. $('input[deadline]').prop("checked",true);
  547. }
  548. if ($('input[deadline]').get(0).checked) {
  549. $('#deadline').removeAttr('disabled');
  550. }
  551. });
  552. })
  553. /**
  554. * Created by cp on 2019/12/17.
  555. */
  556. /**
  557. * 用户列表--首页分页列表刷新
  558. * @param data
  559. * @returns
  560. */
  561. function fnStructureCuringUser(data){
  562. var html='';
  563. $.each(data, function(k, v) {
  564. html+='<tr class="pointer-hover" curingInfoEdi dataCid="'+setUndefined(v.client_id)+'" data='+setUndefined(v.ssoId)+' dataId="'+setUndefined(v._id)+'" data-toggle="modal" data-target="">';
  565. html+='<td>'+setUndefined(v.mobile)+'</td>';
  566. html+='<td>'+setUndefined(v.username)+'</td>';
  567. html+='<td>'+setUndefined(v.real_name)+'</td>';
  568. html+='<td>'+setUndefined(v.qq)+'</td>';
  569. html+='<td>'+setUndefined(v.company)+'</td>';
  570. html+='<td>'+setUndefined(v.clientInfo.clientname)+'</td>';
  571. html+='<td>'+setUndefined(v.clientInfo.companyname)+'</td>';
  572. html+='<td>'+setUndefined(v.latest_login)+'</td>';
  573. html+='<td>'+setUndefined(v.latest_usedName)+'</td>';
  574. html+='<td>'+setUndefined(v.online_newest)+'</td>';
  575. html+='<td>'+setUndefined(v.addtime)+'</td>';
  576. html+='<td>'+setUndefined(v.upgradeListName)+'</td>';
  577. html+='</tr>';
  578. });
  579. $('tbody[curingUser]').html(html);
  580. $('div[curingListBox]').show();
  581. $('p[upClientBox]').hide();
  582. }
  583. /**
  584. * 用户详情页 养护信息更新
  585. * @param data
  586. * @returns
  587. */
  588. function buildCuringInfo(data){
  589. var html=' ' +
  590. ' <div class="form-header">' +
  591. ' <div class="d-flex justify-content-between"><span class="text-muted">养护用户</span></div> ' ;
  592. if(data.mobile==''){
  593. html+='<legend>'+setUndefined(data.email)+'</legend> ';
  594. }else{
  595. html+='<legend>'+setUndefined(data.mobile)+'</legend> ';
  596. }
  597. html+='</div><div class="cldform clearfix"> <div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  598. '<div class="cldform-label">手机</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  599. '<span>'+setUndefined(data.mobile)+'</span></div> </div> </div> <div class="cldform-item cldform-item-half pl-3"> ' +
  600. '<div class="cldform-label">邮箱</div> ' +
  601. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  602. '<span>'+setUndefined(data.email)+'</span></div></div>';
  603. html+='</div> <div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  604. '<div class="cldform-label">称呼</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank"> ' +
  605. '<span>'+setUndefined(data.username)+'</span></div> </div> </div>';
  606. html+='<div class="cldform-item cldform-item-half pl-3">'+
  607. '<div class="cldform-label">QQ</div>'+
  608. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">'+
  609. '<span>'+setUndefined(data.qq)+
  610. '</span></div></div></div>';
  611. html+='<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3">'+
  612. '<div class="cldform-label">真实姓名</div>'+
  613. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank"> '+
  614. '<span>'+setUndefined(data.real_name)+
  615. '</span></div></div></div>';
  616. html+='<div class="cldform-item cldform-item-half pl-3"> ' +
  617. '<div class="cldform-label">注册云版</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  618. '<span>'+setUndefined(data.create_time)+'</span></div> </div> </div>';
  619. html+='<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  620. '<div class="cldform-label">企业名称</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  621. '<span>'+setUndefined(data.company)+'</span></div> </div> </div>';
  622. html+='<div class="cldform-item cldform-item-half pl-3"> ' +
  623. '<div class="cldform-label">企业地区</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">' +
  624. '<span>'+setUndefined(data.province)+'</span></div> </div> </div> ';
  625. html+='<div class="cldform-line"></div><div class="cldform-item cldform-item-half pr-3">'+
  626. '<div class="cldform-label">最近使用</div><div class="cldform-control"><div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">'+
  627. '<span>'+setUndefined(data.latest_usedName)+'</span>'+
  628. '</div></div></div>';
  629. html+='<div class="cldform-item cldform-item-half pl-3">'+
  630. '<div class="cldform-label">累计时长</div><div class="cldform-control"><div class="cldform-contarl-box cldform-contarl-textareabox cldform-contarl-blank">'+
  631. '<span>'+setUndefined(data.online_times)+'</span>'+
  632. '</div></div></div>'+
  633. '</div>';
  634. return html;
  635. }
  636. /**
  637. * 关联CLD客户--检索CLD客户后的结果列表
  638. * @param data
  639. * @returns
  640. */
  641. function buildClientBySearch(data){
  642. var html='';
  643. $.each(data, function(k, v) {
  644. 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">' +
  645. '<div class="col-1 pr-0">'+ v.clientname+'</div>' +
  646. '<div class="col-2 pr-0">'+ v.position+'</div>' +
  647. '<div class="col-2 pr-0">'+ v.telephone+'</div>' +
  648. '<div class="col-4 pr-0">'+ v.companyname+'</div></div> </div></span>';
  649. });
  650. return html;
  651. }
  652. //构建养护升级产品信息
  653. function buildCuringCompilation(data){
  654. var upMajorBoxHtml='';
  655. $.each(data.detail.compilationList, function(k, v) {
  656. upMajorBoxHtml+='<tr>';
  657. upMajorBoxHtml+='<td></td>';
  658. upMajorBoxHtml+='<td>'+ v.name+'</td>';
  659. upMajorBoxHtml+='<td>';
  660. var deadline='';
  661. data.detail.userInfo.upgrade_list.forEach(element => {
  662. if(v._id===element.compilationID){
  663. deadline=element.deadline;
  664. }
  665. });
  666. if(v.isUpgrade !== undefined && v.isUpgrade === true){
  667. upMajorBoxHtml+='已升级<a href="#degrade-confirm" onclick=downCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>';
  668. }else{
  669. upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'") ' +
  670. 'href="#update-confirm" class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
  671. }
  672. upMajorBoxHtml+='</td>';
  673. if(v.isUpgrade !== undefined && v.isUpgrade === true){
  674. upMajorBoxHtml+='<td>'+deadline+'<a href="#deadline-confirm" onclick=deadlineCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","'+deadline+'") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a></td>';
  675. upMajorBoxHtml+='</tr>';
  676. }else{
  677. upMajorBoxHtml+=`<td></td>`;
  678. }
  679. });
  680. return upMajorBoxHtml;
  681. }
  682. function buildCuringOnlineTimes(data){
  683. var onlineTimesHtml='';
  684. var i=1;
  685. $.each(data, function(k, v) {
  686. onlineTimesHtml+='<tr><td width="20">'+i+'</td><td width="140">'+v.dateString+'</td><td>'+v.online_times+'</td></tr>';
  687. i++;
  688. });
  689. return onlineTimesHtml;
  690. }
  691. //关联CLD客户
  692. function relevanceClient(data){
  693. var html='';
  694. if(isExistence(data)){
  695. html=buildClient(data);
  696. }else{
  697. 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">' +
  698. '<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>';
  699. }
  700. return html;
  701. }
  702. /**
  703. * 构建操作日志
  704. * @param data
  705. * @returns
  706. */
  707. function buildCuringOperateLog(data){
  708. var html='';
  709. if(isExistence(data)){
  710. $.each(data, function(k, v) {
  711. html+='<p>' +
  712. '<a href="#">@'+ v.username+'</a>' +
  713. ' '+ v.operation+'<br>' +
  714. '<span class="text-muted">'+ v.createDate+'</span></p></p> ';
  715. });
  716. }else{
  717. html='';
  718. }
  719. html+='';
  720. return html;
  721. }
  722. function autoHeight(){
  723. 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>';
  724. $('div[autoHeight]').html(html);
  725. }
  726. //构建养护用户分页
  727. function fnPage(data){
  728. var html='<ul class="pagination pagination-sm">';
  729. if( Number(data.previousPage) === Number(0)) {
  730. html+='<li class="page-item disabled"><span class="page-link" aria-label="Previous"> <span aria-hidden="true"><i class="fal fa-chevron-left"></i></span> </span> </li>';
  731. }else{
  732. html+='<li class="page-item "> <a' +
  733. ' parameter="'+ data.parameter+'" currentPage="'+ data.previousPage +'" class="page-link" href="javascript:void(0)" aria-label="Previous"> <span aria-hidden="true"><i class="fal fa-chevron-left"></i></span> </a> </li>';
  734. }
  735. if( Number(data.currentPage)>=Number(data.pageWidth) ) {
  736. html+='<li class="page-item">'+
  737. '<a parameter="'+data.parameter+'" currentPage="1" class="page-link" href="javascript:void(0)">1</a></li><li class="page-item "><span ><span aria-hidden="true">...</span></span></li>';
  738. }
  739. for (var i = data.startPage; i <= data.endPage; i++) {
  740. if(Number(data.currentPage) === Number(i)){
  741. html+='<li class="page-item active" aria-current="page"> <span class="page-link"> ' +
  742. ''+ i +'<span class="sr-only">(current)</span> </span> </li>';
  743. }else{
  744. html+='<li class="page-item">' +
  745. ' <a parameter="'+data.parameter+'" currentPage="'+i+'" class="page-link" href="javascript:void(0)">' +
  746. ''+i+'</a> ' +
  747. '</li>';
  748. }
  749. }
  750. if( Number(data.totalPage) >Number(data.pageWidth) && Number(data.totalPage)!== Number(data.currentPage) ) {
  751. html+='<li class="page-item "><span><span aria-hidden="true">...</span></span></li>';
  752. }
  753. if( Number(data.nextPage) === Number(data.currentPage)||Number(data.totalPage)===Number(0)) {
  754. html+='<li class="page-item disabled"> <span class="page-link" aria-label="Next"> <span aria-hidden="true"><i class="fal fa-chevron-right"></i></span> </span> </li>';
  755. }else{
  756. html+='<li class="page-item"> <a ' +
  757. 'parameter="'+ data.parameter +'" currentPage="'+ data.nextPage +'" class="page-link" href="#" aria-label="Next" > <span aria-hidden="true"><i class="fal fa-chevron-right"></i></span> </a> </li>';
  758. }
  759. html+='</ul>';
  760. $('div[pageDetail]').html(html);
  761. $('div[page]').show();
  762. }
  763. /**
  764. * Created by MyPC on 2019/12/16.
  765. */
  766. function setUndefined(data){
  767. if(data===null||typeof(data) == "undefined"||data.length==0){
  768. return '';
  769. }else{
  770. return data;
  771. }
  772. }
  773. //
  774. function isExistence(data){
  775. if(Array.isArray(data)){
  776. if(data.length==0){
  777. return false;
  778. }else{
  779. return true;
  780. }
  781. }else if(data==''||data===null||typeof(data) == 'undefined'||data=='undefined'){
  782. return false;
  783. }else{
  784. return true;
  785. }
  786. }
  787. $(function() {
  788. /**
  789. * change事件-隐藏-显示数据列
  790. */
  791. $('input[type=checkbox][name=columnShow]').on('change', function(e) {
  792. var column = $(this).attr('column');
  793. var isAccept = $(this).prop("checked");
  794. isColumnShow(isAccept,column);
  795. localStorage.setItem('curingColumn_'+column, isAccept);
  796. });
  797. })
  798. /**
  799. * 初始化数据列--是否展示
  800. * @param columnLength
  801. * @returns
  802. */
  803. function refreshColumn(columnLength){
  804. var checkBoxList=$('input[type=checkbox][name=columnShow]');
  805. var cbi=0;
  806. for(var i=1;i<=columnLength;i++){
  807. var isAccept=localStorage.getItem("curingColumn_"+i);
  808. if(isAccept=='false'){
  809. isAccept=false;
  810. }
  811. if (isAccept==null||isAccept) {
  812. //console.log(isAccept);
  813. checkBoxList.eq(cbi).attr("checked",'true');
  814. }else{
  815. //console.log(isAccept+'dddd');
  816. checkBoxList.eq(cbi).removeAttr("checked");
  817. }
  818. isColumnShow(isAccept,i);
  819. cbi++;
  820. }
  821. }
  822. function isColumnShow(isAccept,column){
  823. if (isAccept==null||isAccept) {
  824. //console.log(isAccept==null||isAccept);
  825. $('table[columnShow] tr').find('th:eq('+column+')').show();
  826. $('table[columnShow] tr').find('td:eq('+column+')').show();
  827. } else {
  828. //console.log(column);
  829. $('table[columnShow] tr').find('th:eq('+column+')').hide();
  830. $('table[columnShow] tr').find('td:eq('+column+')').hide();
  831. }
  832. }
  833. /**
  834. * Created by MyPC on 2019/12/17.
  835. */
  836. //构建地区HTML
  837. function buildArea(data){
  838. //data-toggle="dropdown"
  839. var html='<div class="cldform-contarl-box cldform-contarl-textareabox" >' +
  840. '<span class="cldform-contarl-dropdown">'+setUndefined(data.local)+'<i class="far fa-map-marker-alt mt-1"></i></span></div>' +
  841. '<div class="dropdown-menu" style="width:300px"> ' +
  842. '<ul class="nav nav-tabs nav-tabs-clean justify-content-center" role="tablist"> ' +
  843. '<li class="nav-item"><a class="nav-link text-center active" data-toggle="tab" href="#tab-province" role="tab" aria-selected="true">省份</a></li> ' +
  844. '<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-city" role="tab" aria-selected="false">市区</a></li> ' +
  845. '<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-area" role="tab" aria-selected="false">县区</a></li> ' +
  846. '</ul>';
  847. html+='<div class="tab-content p-3"> <div class="tab-pane city-item fade active show" id="tab-province" role="tabpanel" aria-labelledby="tab-province">';
  848. html+='<button type="button" class="btn btn-xs btn-outline-default">黑龙江省</button>';
  849. html+='</div>';
  850. html+='<div class="tab-pane city-item fade" id="tab-city" role="tabpanel" aria-labelledby="tab-city">';
  851. html+='<button type="button" class="btn btn-xs btn-outline-default">广州市</button>';
  852. html+='</div>';
  853. html+='<div class="tab-pane city-item fade" id="tab-area" role="tabpanel" aria-labelledby="tab-area">';
  854. html+='<button type="button" class="btn btn-xs btn-primary">香洲区</button>';
  855. html+='</div> </div> </div>';
  856. return html;
  857. }
  858. //构建客户HTML
  859. function buildClient(data){
  860. var html='';
  861. html+='<div class="form-header mt-3">';
  862. html+='<div class="d-flex justify-content-between"><span class="text-muted">CLD客户</span>' +
  863. '<span class="text-muted">'+setUndefined(data.staff.username)+' 创建于 '+setUndefined(data.createTime)+'</span></div>';
  864. html+='<legend>'+setUndefined(data.clientname)+'</legend> ' +
  865. '</div>';
  866. html+='<div class="cldform clearfix">' +
  867. '<div class="cldform-line"></div> <div class="cldform-item"> ' +
  868. '<div class="cldform-label">姓名</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  869. ' <span>'+setUndefined(data.clientname)+'</span></div> </div> </div>';
  870. //地区
  871. var areaHtml=buildArea(data);
  872. html+='<div class="cldform-line"></div> <div class="cldform-item cldform-item-wauto"> <div class="cldform-label">客户地区</div>';
  873. html+='<div class="cldform-control">';
  874. html+=areaHtml;
  875. html+='</div> </div>';
  876. if(isExistence(data.companyname)){
  877. /*
  878. '<a href="javascript:void(0);" data-original-title="移除单位" class="btn btn-outline-danger btn-xs btn-icon mr-1" data-toggle="modal" data-target="#remover-com"><i class="far fa-unlink" data-toggle="tooltip" data-placement="left" ></i></a>' +
  879. '<a href="javascript:void(0);" data-original-title="更换单位" class="btn btn-outline-primary btn-xs btn-icon" data-toggle="modal" data-target="#link-com"><i class="far fa-retweet" data-toggle="tooltip" data-placement="left" ></i></a>' +
  880. * */
  881. //单位
  882. html+='<div class="cldform-line"></div> <div class="cldform-item">';
  883. html+='<div class="cldform-label">单位名称</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox"><div class="card p-2 text-primary" href="#"><div class="d-flex justify-content-between">' +
  884. '<span>'+setUndefined(data.companyname)+'</span><span>' +
  885. '</span></div></div></div> </div> </div>';
  886. }else{
  887. html+='<div class="cldform-line"></div> <div class="cldform-item"> <div class="cldform-label">单位名称</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox"><span>' +
  888. '<a href="#link-com" data-toggle="modal" data-target="#link-com"><i class="far fa-link"></i> 关联单位</a></span></div> </div> </div>';
  889. }
  890. html+='<div class="cldform-line"></div> ' +
  891. '<div class="cldform-item cldform-item-half pr-3"> ' +
  892. '<div class="cldform-label">性别</div> ' +
  893. '<div class="cldform-control"> ' +
  894. '<div class="cldform-contarl-box cldform-contarl-textareabox" data-toggle="dropdown">' +
  895. '<span class="cldform-contarl-dropdown">'+setUndefined(data.gender)+'</span></div> </div> </div>';
  896. html+='<div class="cldform-item cldform-item-half pl-3">' +
  897. '<div class="cldform-label">昵称</div> ' +
  898. '<div class="cldform-control"> ' +
  899. '<div class="cldform-contarl-box cldform-contarl-textareabox">' +
  900. '<span>'+setUndefined(data.nicename)+'</span></div> </div> </div>' +
  901. '' +
  902. '<div class="cldform-line"></div>' +
  903. '<div class="cldform-item cldform-item-half pr-3"> ' +
  904. '<div class="cldform-label">手机</div> ' +
  905. '<div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  906. '<span>'+setUndefined(data.telephone)+'</span></div> </div> </div> ' +
  907. '<div class="cldform-item cldform-item-half pl-3"> ' +
  908. '<div class="cldform-label">QQ</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  909. '<span>'+setUndefined(data.qq)+'</span></div> </div> </div> ' +
  910. '' +
  911. '<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  912. '<div class="cldform-label">电话</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  913. '<span>'+setUndefined(data.phone)+'</span></div> </div> </div> <div class="cldform-item cldform-item-half pl-3"> ' +
  914. '<div class="cldform-label">邮箱</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  915. '<span>'+setUndefined(data.email)+'</span></div> </div> </div> ' +
  916. '' +
  917. '<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  918. '<div class="cldform-label">传真</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  919. '<span>'+setUndefined(data.fax)+'</span></div> </div> </div> ' +
  920. '' +
  921. '<div class="cldform-line"></div> <div class="cldform-item cldform-item-half pr-3"> ' +
  922. '<div class="cldform-label">部门/职称</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox text-muted">' +
  923. '<span>'+setUndefined(data.position)+'</span></div> </div> </div> <div class="cldform-item cldform-item-half pl-3"> ' +
  924. '<div class="cldform-label">办公室</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  925. '<span>'+setUndefined(data.office)+'</span></div> </div> </div> ' +
  926. '' +
  927. '<div class="cldform-line"></div> <div class="cldform-item">' +
  928. '<div class="cldform-label">客户地址</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox">' +
  929. '<span>'+setUndefined(data.address)+'</span></div> </div> </div> ' +
  930. '' +
  931. '<div class="cldform-line"></div> <div class="cldform-item"> ' +
  932. '<div class="cldform-label">客户乘车</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox text-muted">' +
  933. '<span>'+setUndefined(data.ride)+'</span></div> </div> </div> ' +
  934. '' +
  935. '<div class="cldform-line"></div> <div class="cldform-item"> ' +
  936. '<div class="cldform-label">客户地标</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox text-muted">' +
  937. '<span>'+setUndefined(data.landmarks)+'</span></div></div> </div> ' +
  938. '' +
  939. '<div class="cldform-line"></div> <div class="cldform-item">' +
  940. '<div class="cldform-label">客户住宿</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox text-muted">' +
  941. '<span>'+setUndefined(data.stay)+'</span></div> </div> </div> ' +
  942. '' +
  943. '<div class="cldform-line"></div> <div class="cldform-item"> ' +
  944. '<div class="cldform-label">备注</div> <div class="cldform-control"> <div class="cldform-contarl-box cldform-contarl-textareabox text-muted">' +
  945. '<span>'+setUndefined(data.mark)+'&nbsp;</span></div> </div> </div>';
  946. html+='<div class="cldform-line"></div> <div class="cldform-item text-center">' +
  947. '<a data="'+setUndefined(data.cid)+'" href="javascript:void(0)" class="btn btn-sm btn-outline-danger" data-toggle="modal" data-target="#unlinkcld"><i class="far fa-unlink"></i> 移除CLD客户</a> ' +
  948. '</div>';
  949. html+='';
  950. html+='</div>' +
  951. '<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>' +
  952. '';
  953. return html;
  954. }