landing_common_utils.js 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. $(function () {
  2. $('#quicklyOpenSubModal').css({display: 'block'});
  3. //落地页手机端 右侧栏不展示
  4. // if (!isPhone()) {
  5. // $('#quicklyOpenSubModal').css({display: 'block'})
  6. // } else {
  7. // $('#quicklyOpenSubModal').css({display: 'none'})
  8. // }
  9. //53客服弹窗关闭后 弹出自定义弹窗
  10. // $(document.body).on('click', '#inv_box_53kf div:first-child', function () {
  11. // setTimeout(showLandingKfAlertModal, 15000);
  12. // });
  13. //自定义弹窗,页面加载完后2s弹出
  14. // if (!isPhone()) {
  15. // setTimeout(showLandingKfAlertModal, 5000);
  16. // }
  17. //打开53客服咨询窗口
  18. $('.open-53kf-btn').on('click', function () {
  19. if (isPhone()) {
  20. let tb_53_api = $53.createApi();
  21. tb_53_api.push('cmd', 'mtalk');
  22. tb_53_api.query();
  23. } else {
  24. if (PageData && PageData.tb_53_client_ur) {
  25. window.open(PageData.tb_53_client_ur);
  26. }
  27. }
  28. });
  29. //
  30. $('#submit-phone-to-53kf').on('click', function () {
  31. let phone = $('#53kf-submit-phone').val().trim();
  32. if (phone) {
  33. if ($53) {
  34. let tb_53_auto_api = $53.createApi();
  35. tb_53_auto_api.push('cmd', 'lword');
  36. tb_53_auto_api.push('msg', '获取报价');
  37. tb_53_auto_api.push('phone', phone);
  38. tb_53_auto_api.query();
  39. let msg = '你好,我需要获取关于项目报价的详细信息,我的手机号为: ' + phone;
  40. tb_53_auto_api.push('cmd', 'custmsg');
  41. tb_53_auto_api.push('msg', msg);
  42. tb_53_auto_api.push('type', '1'); //type:0 无操作 type:1 打开悬浮窗 type:2打开新窗口
  43. tb_53_auto_api.query();
  44. //清空input的value
  45. $('#53kf-submit-phone').val('');
  46. }
  47. } else {
  48. $('#53kf-submit-phone').addClass('input-warning');
  49. }
  50. });
  51. //解决微信浏览器输入框顶部布局不会弹的问题
  52. $("input,textarea,select").blur(function () {
  53. setTimeout(function () {
  54. let scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0;
  55. window.scrollTo(0, Math.max(scrollHeight - 1, 0));
  56. }, 100)
  57. /*setTimeout(() => {
  58. var scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0;
  59. window.scrollTo(0, Math.max(scrollHeight - 1, 0));
  60. }, 100);*/
  61. });
  62. // 按钮显示弹框
  63. $(".open-submit-modal-btn").click(function () {
  64. closedLandingKfAlertModal();
  65. SubmitModal.showModal();
  66. });
  67. //案例点击显示弹框
  68. $(".case-slide").find(".swiper-slide").on('click', function () {
  69. closedLandingKfAlertModal();
  70. SubmitModal.showModal();
  71. });
  72. //返回顶部
  73. $(document).on('scroll', function () {
  74. let scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
  75. if (scrollTop > 500) {
  76. $('.quickly-open-btn.callback-top-btn').show();
  77. } else {
  78. $('.quickly-open-btn.callback-top-btn').hide();
  79. }
  80. });
  81. callBackTop();
  82. isSelectPickerShow();
  83. });
  84. //定时弹窗
  85. function showLandingKfAlertModal() {
  86. //判断提交需求表单是否显示
  87. if ($('.landing-submit-modal').css("display") == 'none') {
  88. $('.modal-alter').show();
  89. }
  90. }
  91. // 关闭弹窗后5秒后自动展示 10s 20s 40s 80s ...
  92. var showLoadingModalTime = 5000;
  93. function closedLandingKfAlertModal() {
  94. $('.modal-alter').hide();
  95. showLoadingModalTime *= 2;
  96. console.log("弹出时间:",showLoadingModalTime);
  97. // setTimeout(showLandingKfAlertModal, showLoadingModalTime);
  98. }
  99. //提交需求的弹框
  100. //判断弹框中是否有 selectpicker
  101. function isSelectPickerShow() {
  102. let display = $('.composite-project-category').css('display');
  103. if (display === 'none') {
  104. $('.composite-project-category').html(' ')
  105. }
  106. }
  107. //提交表单数据处理
  108. function submitForm(wrapId) {
  109. let subData = {};
  110. //姓名 手机号 描述 预算 公司名
  111. let filedList = ['name', 'phone', 'description', 'budget', 'company', 'project_category', '_token'];
  112. for (let i = 0; i < filedList.length; i++) {
  113. let filedName = filedList[i];
  114. let selector = "#{wrapId} [name='{filedName}']".replace('{wrapId}', wrapId).replace('{filedName}', filedName);
  115. if ($(selector).length > 0) {
  116. let fieldValue = $(selector).val() && ($(selector).val() instanceof Array)
  117. ?
  118. $(selector).val().join(',').trim()
  119. :
  120. $(selector).val().trim();
  121. // let fieldValue = value;
  122. if (filedName == 'description') {
  123. console.log(filedName)
  124. if (!fieldValue || fieldValue.length < 5) {
  125. $(selector).siblings('.form-description-message').show();
  126. $(selector).addClass('form-warning');
  127. return
  128. }
  129. }
  130. subData[filedName] = fieldValue
  131. }
  132. }
  133. for (let filedName in subData) {
  134. let fieldValue = subData[filedName];
  135. if (!fieldValue) {
  136. return
  137. }
  138. }
  139. $('#' + wrapId + ' .submit-ing-footer').show();
  140. for (let i = 0; i < filedList.length; i++) {
  141. let filedName = filedList[i];
  142. let selector = "#{wrapId} [name='{filedName}']".replace('{wrapId}', wrapId).replace('{filedName}', filedName);
  143. $(selector).val('')
  144. }
  145. if ($(".selectpicker").length > 0) {
  146. $(".selectpicker").selectpicker('refresh');//刷新
  147. }
  148. submitProposalFoot(subData, wrapId);
  149. }
  150. //提交表单后 结果展示
  151. function submitProposalFoot(proposalData, wrapId) {
  152. commonSubmitProposal(proposalData, function (data) {
  153. if (data.result) {
  154. $('#' + wrapId + ' .submit-success-center.success').show();
  155. $('#' + wrapId + ' .submit-success-center.err').hide();
  156. $('#' + wrapId + ' #footer-success').show();
  157. $('#' + wrapId + ' #footer-error').hide();
  158. } else {
  159. $('#' + wrapId + ' .submit-success-center.success').hide();
  160. $('#' + wrapId + ' .submit-success-center.err').show();
  161. $('#' + wrapId + ' #footer-success').hide();
  162. $('#' + wrapId + ' #footer-error').show();
  163. }
  164. $('#' + wrapId + ' .submit-ing-footer').hide();
  165. $('#' + wrapId + ' .submit-success-footer').show();
  166. $('#closed-footer-form').hide();
  167. setTimeout(function () {
  168. $('#' + wrapId + ' .submit-ing-footer').hide();
  169. $('#' + wrapId + ' .submit-success-footer').hide();
  170. $('#' + wrapId + ' #footer-success').hide();
  171. $('#' + wrapId + ' #footer-error').hide();
  172. $('#closed-footer-form').show();
  173. }, 3600)
  174. });
  175. }
  176. //提交需求 需求内容监测
  177. function textAreaInput(e) {
  178. if (e.target.value.length >= 5) {
  179. $(e.target).siblings('.form-description-message').hide();
  180. $(e.target).removeClass('form-warning');
  181. }
  182. }
  183. //获取报价 手机号监听
  184. function phoneInput(e) {
  185. if (e.target.value && e.target.value.trim()) {
  186. $(e.target).removeClass('input-warning')
  187. }
  188. }
  189. // 返回顶部
  190. function callBackTop() {
  191. $('.quickly-open-btn.callback-top-btn').on('click', function () {
  192. // document.body.scrollTop = 0;
  193. // document.documentElement.scrollTop = 0;
  194. $("html,body").animate({"scrollTop": 0}, 'slow')
  195. });
  196. }
  197. //侧边栏效果 id:dom的id 默认的bottom 滚动的top值
  198. function sliderScrollFunc(id, defaultBottom, scrTop, resultBottom) {
  199. var scrollTop = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset;
  200. var dom = document.getElementById(id);
  201. if (dom) {
  202. if (scrollTop >= scrTop) {
  203. dom.style.bottom = resultBottom + 'px';
  204. } else {
  205. dom.style.bottom = scrollTop - defaultBottom + "px";
  206. }
  207. }
  208. }
  209. function scrollFn() {
  210. var scrollTop = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset;
  211. if (scrollTop > 0) {
  212. $('#header').css({
  213. backgroundImage: "linear-gradient(137deg, #0045ED 0%, #132CA7 100%)"
  214. })
  215. } else {
  216. $('#header').css({
  217. backgroundImage: 'none',
  218. });
  219. }
  220. }