secode.js 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953
  1. // var api = "http://kede.jishutao.com";
  2. var api = window.location.protocol+'//'+window.location.host;
  3. var avatarUploadHost = "http://kedejs.jishutao.com/upload";
  4. // var avatarUploadHost = "http://s.kedexinxi.com/upload";
  5. var newUrl = window.location.protocol+'//'+window.location.host+"/portal/newsDetails";
  6. var timeClick;
  7. // 底部导航
  8. $(".product-center").click(function() {
  9. $(".product-center>ul").fadeToggle("slow");
  10. });
  11. $("#txrzhtml .chengnuo-con")
  12. .parent()
  13. .css("display", "none");
  14. //手机导航汉堡按钮效果
  15. $(".hamburger").click(function() {
  16. $(this).toggleClass("is-active");
  17. $(this)
  18. .next()
  19. .slideToggle("1000");
  20. });
  21. //回到顶部
  22. $(".toTop").hide();
  23. $(window).scroll(function() {
  24. $(window).scrollTop() > 100
  25. ? $(".toTop").fadeIn(500)
  26. : $(".toTop").fadeOut(500);
  27. });
  28. $(".toTop").click(function(event) {
  29. $("html,body").animate({ scrollTop: "0px" }, 666);
  30. });
  31. //导航栏下拉菜单
  32. var ab = $(".pc_nav>ul>li").eq(1);
  33. ab.mouseenter(function() {
  34. $(".product-serve")
  35. .stop()
  36. .slideDown("3000");
  37. });
  38. ab.siblings("li").mouseenter(function() {
  39. $(".product-serve")
  40. .stop()
  41. .slideUp("3000");
  42. });
  43. $(".product-serve").mouseleave(function() {
  44. $(".product-serve")
  45. .stop()
  46. .slideUp("3000");
  47. });
  48. //首页新闻模块切换
  49. Table(".news-fenlei>span", ".news-list-it");
  50. // 导航栏下标
  51. function dog_index() {
  52. var dog = document.querySelector(".nav-dog");
  53. var nav_li = document.querySelectorAll(".pc_nav>ul>li"); //所有的导航
  54. var dog_i = document.querySelector(".pc_nav>ul>.active"); //当前页面
  55. dog.style.cssText =
  56. "left:" + dog_i.offsetLeft + "px;width:" + dog_i.offsetWidth + "px;";
  57. for (var li_ = 0; li_ < nav_li.length; li_++) {
  58. nav_li[li_].onmouseover = function() {
  59. var lileft = this.offsetLeft;
  60. var liwidht = this.offsetWidth;
  61. dog.style.cssText = "left:" + lileft + "px;width:" + liwidht + "px;";
  62. };
  63. nav_li[li_].onmouseleave = function() {
  64. var liwidht = dog_i.offsetWidth;
  65. dog.style.cssText =
  66. "left:" + dog_i.offsetLeft + "px;width:" + liwidht + "px;";
  67. };
  68. }
  69. }
  70. // 导航排他
  71. function removeClass_active() {
  72. var nav_ls = document.querySelectorAll(".pc_nav>ul>li"); //获取导航栏
  73. for (var x = 0; x < nav_ls.length; x++) {
  74. nav_ls[x].classList.remove("active");
  75. }
  76. }
  77. // 导航识别
  78. function nav_() {
  79. var nav_li = document.querySelectorAll(".pc_nav>ul>li"); //获取导航栏
  80. var _i = document.querySelector(".app>div.index"); //首页
  81. var _a = document.querySelector(".app>div.about"); //关于我们
  82. var _at = document.querySelector(".app>div.about-cx"); //联系我们
  83. var _p = document.querySelector(".app>div.product"); //产品中心
  84. var _s = document.querySelector(".app>div.main-str"); //战略合作
  85. var _c = document.querySelector(".app>div.client"); //服务客户
  86. var _n = document.querySelector(".app>div.news"); //新闻列表
  87. if (_i !== null) {
  88. removeClass_active();
  89. nav_li[0].setAttribute("class", "active");
  90. dog_index();
  91. }
  92. //产品
  93. if (_p !== null) {
  94. removeClass_active();
  95. nav_li[1].classList.add("active");
  96. dog_index();
  97. tedd(); //调用二级切换卡
  98. }
  99. //战略
  100. if (_s !== null) {
  101. removeClass_active();
  102. nav_li[2].setAttribute("class", "active");
  103. dog_index();
  104. }
  105. //客户
  106. if (_c !== null) {
  107. removeClass_active();
  108. nav_li[3].setAttribute("class", "active");
  109. dog_index();
  110. shengfen();
  111. }
  112. if (_n !== null) {
  113. removeClass_active();
  114. nav_li[4].setAttribute("class", "active");
  115. dog_index();
  116. }
  117. if (_a !== null) {
  118. removeClass_active();
  119. nav_li[5].setAttribute("class", "active");
  120. dog_index();
  121. Table(".about-kede-secodn ul li", ".app>div.about>.container>div"); //调用切换卡
  122. Table(".period>div", ".history"); //
  123. dowla();
  124. }
  125. if (_at !== null) {
  126. removeClass_active();
  127. nav_li[6].setAttribute("class", "active");
  128. dog_index();
  129. }
  130. }
  131. nav_();
  132. //产品二级切换效果
  133. function tedd() {
  134. var _x = document.querySelectorAll(".one.active .product-a li");
  135. var _y = document.querySelectorAll(".one.active .p-dec-d");
  136. for (var i = 0; i < _x.length; i++) {
  137. _x[i].setAttribute("data-_index", i); //设置属性
  138. _x[i].addEventListener("click", function() {
  139. for (var j = 0; j < _x.length; j++) {
  140. _x[j].classList.remove("active"); //排他
  141. }
  142. this.classList.add("active");
  143. var _index = this.getAttribute("data-_index"); //获取下标
  144. for (var k = 0; k < _y.length; k++) {
  145. _y[k].style.display = "none";
  146. _y[k].classList.remove("active");
  147. }
  148. _y[_index].style.display = "block";
  149. _y[_index].classList.add("active");
  150. });
  151. }
  152. }
  153. // 通用切换卡效果
  154. function Table(x, y, z) {
  155. var _x = document.querySelectorAll(x);
  156. var _y = document.querySelectorAll(y);
  157. var _z = z;
  158. function test(_x, _y, _f) {
  159. for (var j = 0; j < _x.length; j++) {
  160. _x[j].setAttribute("data-_index", j); //设置属性
  161. _x[j].classList.remove("active"); //排他
  162. }
  163. this.classList.add("active");
  164. var _index = this.getAttribute("data-_index"); //获取下标
  165. for (var k = 0; k < _y.length; k++) {
  166. _y[k].style.display = "none";
  167. _y[k].classList.remove("active");
  168. }
  169. if(_index !== '2'){
  170. $('.page_activitiesPage').css({display:'none'})
  171. }else{
  172. $('.page_activitiesPage').css({display:'block'})
  173. }
  174. if (_index == 4) {
  175. timeClick = setInterval(function() {
  176. $("#right").click();
  177. }, 1000);
  178. } else {
  179. clearInterval(timeClick);
  180. }
  181. _y[_index].style.display = "block";
  182. _y[_index].classList.add("active");
  183. if (_f) {
  184. _f();
  185. }
  186. }
  187. for (var i = 0; i < _x.length; i++) {
  188. _x[i].addEventListener("click", test.bind(_x[i], _x, _y, _z));
  189. }
  190. }
  191. // 招聘职位下拉
  192. function dowla() {
  193. var butoon = document.querySelector(".dsanjiao");
  194. var parent_b = document.querySelector(".filtrate .shengfen");
  195. var flag = 0;
  196. butoon.addEventListener("click", function() {
  197. if (!flag) {
  198. flag = 1;
  199. parent_b.style.height = "127px";
  200. } else {
  201. flag = 0;
  202. parent_b.style.height = "59px";
  203. }
  204. });
  205. }
  206. // 服务客户筛选省份
  207. function shengfen() {
  208. var qu_yu = document.querySelectorAll(".quyu ul>li"); //获取区域
  209. var shengfen_ul = document.querySelector(".shengfen>ul"); //获取省份ul
  210. var provinceStatus = [
  211. {
  212. value: "7",
  213. key: "安徽"
  214. },
  215. {
  216. value: "15",
  217. key: "北京"
  218. },
  219. {
  220. value: "27",
  221. key: "重庆"
  222. },
  223. {
  224. value: "8",
  225. key: "福建"
  226. },
  227. {
  228. value: "30",
  229. key: "甘肃"
  230. },
  231. {
  232. value: "24",
  233. key: "广东"
  234. },
  235. {
  236. value: "20",
  237. key: "广西"
  238. },
  239. {
  240. value: "25",
  241. key: "贵州"
  242. },
  243. {
  244. value: "21",
  245. key: "海南"
  246. },
  247. {
  248. value: "13",
  249. key: "河北"
  250. },
  251. {
  252. value: "1",
  253. key: "黑龙江"
  254. },
  255. {
  256. value: "19",
  257. key: "河南"
  258. },
  259. {
  260. value: "22",
  261. key: "香港"
  262. },
  263. {
  264. value: "17",
  265. key: "湖北"
  266. },
  267. {
  268. value: "18",
  269. key: "湖南"
  270. },
  271. {
  272. value: "5",
  273. key: "江苏"
  274. },
  275. {
  276. value: "9",
  277. key: "江西"
  278. },
  279. {
  280. value: "3",
  281. key: "辽宁"
  282. },
  283. {
  284. value: "2",
  285. key: "吉林"
  286. },
  287. {
  288. value: "23",
  289. key: "澳门"
  290. },
  291. {
  292. value: "14",
  293. key: "内蒙古"
  294. },
  295. {
  296. value: "32",
  297. key: "宁夏"
  298. },
  299. {
  300. value: "31",
  301. key: "青海"
  302. },
  303. {
  304. value: "10",
  305. key: "山东"
  306. },
  307. {
  308. value: "4",
  309. key: "上海"
  310. },
  311. {
  312. value: "9",
  313. key: "山西"
  314. },
  315. {
  316. value: "34",
  317. key: "陕西"
  318. },
  319. {
  320. value: "29",
  321. key: "四川"
  322. },
  323. {
  324. value: "11",
  325. key: "台湾"
  326. },
  327. {
  328. value: "16",
  329. key: "天津"
  330. },
  331. {
  332. value: "33",
  333. key: "新疆"
  334. },
  335. {
  336. value: "28",
  337. key: "西藏"
  338. },
  339. {
  340. value: "26",
  341. key: "云南"
  342. },
  343. {
  344. value: "6",
  345. key: "浙江"
  346. }
  347. ];
  348. var quyuList = [
  349. {
  350. place: "全国",
  351. children: [
  352. "全部",
  353. "河南",
  354. "湖北",
  355. "湖南",
  356. "上海",
  357. "江苏",
  358. "浙江",
  359. "安徽",
  360. "福建",
  361. "江西",
  362. "山东",
  363. "台湾",
  364. "黑龙江",
  365. "吉林",
  366. "辽宁",
  367. "广东",
  368. "广西",
  369. "海南",
  370. "香港",
  371. "澳门",
  372. "北京",
  373. "天津",
  374. "山西",
  375. "河北",
  376. "内蒙古",
  377. "四川",
  378. "贵州",
  379. "云南",
  380. "重庆",
  381. "西藏",
  382. "陕西",
  383. "甘肃",
  384. "青海",
  385. "宁夏",
  386. "新疆"
  387. ]
  388. },
  389. {
  390. place: "华中",
  391. children: ["河南", "湖北", "湖南"]
  392. },
  393. {
  394. place: "华东",
  395. children: ["上海", "江苏", "浙江", "安徽", "福建", "江西", "山东", "台湾"]
  396. },
  397. {
  398. place: "东北",
  399. children: ["黑龙江", "吉林", "辽宁"]
  400. },
  401. {
  402. place: "华南",
  403. children: ["广东", "广西", "海南", "香港", "澳门"]
  404. },
  405. {
  406. place: "华北",
  407. children: ["北京", "天津", "山西", "河北", "内蒙古"]
  408. },
  409. {
  410. place: "西南",
  411. children: ["四川", "贵州", "云南", "重庆", "西藏"]
  412. },
  413. {
  414. place: "西北",
  415. children: ["陕西", "甘肃", "青海", "宁夏", "新疆"]
  416. }
  417. ];
  418. $(".quyu>ul").on("click", "li", function() {
  419. $(".quyu>ul>li").removeClass("active");
  420. $(this).addClass("active");
  421. var quyu = $(this).html();
  422. for (var q = 0; q < quyuList.length; q++) {
  423. if (quyu == quyuList[q].place) {
  424. var shengfenList = quyuList[q].children;
  425. let shengfenHtml = "";
  426. for (var s = 0; s < shengfenList.length; s++) {
  427. shengfenHtml += "<li>" + shengfenList[s] + "</li>";
  428. }
  429. $(".shengfen > ul").html(shengfenHtml);
  430. setTimeout(function() {
  431. $(".shengfen>ul>li")
  432. .eq(0)
  433. .click();
  434. }, 0); // 默认点击全国展示全部
  435. break;
  436. }
  437. }
  438. });
  439. $(".quyu>ul>li")
  440. .eq(0)
  441. .click(); // 默认进来区域是全国
  442. $(".shengfen > ul").on("click", "li", function() {
  443. $(".shengfen > ul > li").removeClass("active");
  444. $(this).addClass("active");
  445. if ($(this).html == "全部") {
  446. var province = undefined;
  447. } else {
  448. for (var p = 0; p < provinceStatus.length; p++) {
  449. if ($(this).html() == provinceStatus[p].key) {
  450. var province = provinceStatus[p].value;
  451. break;
  452. }
  453. }
  454. }
  455. $.ajax({
  456. method: "get",
  457. url: api + "/open/listCustomerCase",
  458. data: {
  459. province
  460. },
  461. success: function(data) {
  462. if (data.error && data.error.length) {
  463. alert("系统繁忙,请刷新页面");
  464. } else {
  465. var dataList = data.data.list;
  466. var html = "";
  467. if (dataList.length) {
  468. for (var d = 0; d < dataList.length; d++) {
  469. html +=
  470. "<div><img src=" +
  471. avatarUploadHost +
  472. dataList[d].pictureUrl +
  473. " /></div>";
  474. }
  475. $(".page_ctrl").css({
  476. display: "block"
  477. });
  478. window.sessionStorage.setItem("total", data.data.totalCount);
  479. window.sessionStorage.setItem("province", province);
  480. page();
  481. } else {
  482. var html =
  483. "<h4 style='text-align:center;margin-top:90px;color:#666' >暂无服务客户</h4>";
  484. $(".page_ctrl").css({
  485. display: "none"
  486. });
  487. }
  488. $(".client-item").html(html);
  489. }
  490. }
  491. });
  492. });
  493. }
  494. // 服务客户筛选省份end
  495. // 手机端二级联动
  496. function getClass(dom, string) {
  497. return dom.getElementsByClassName(string);
  498. }
  499. //构造器
  500. function MobileSelect(config) {
  501. this.mobileSelect;
  502. this.wheelsData = config.wheels;
  503. this.jsonType = false;
  504. this.cascadeJsonData = [];
  505. this.displayJson = [];
  506. this.cascade = false;
  507. this.startY;
  508. this.moveEndY;
  509. this.moveY;
  510. this.oldMoveY;
  511. this.offset = 0;
  512. this.offsetSum = 0;
  513. this.oversizeBorder;
  514. this.curDistance = [];
  515. this.clickStatus = false;
  516. this.isPC = true;
  517. this.init(config);
  518. }
  519. MobileSelect.prototype = {
  520. constructor: MobileSelect,
  521. init: function(config) {
  522. var _this = this;
  523. _this.keyMap = config.keyMap
  524. ? config.keyMap
  525. : { id: "id", value: "value", childs: "childs" };
  526. _this.checkDataType();
  527. _this.renderWheels(
  528. _this.wheelsData,
  529. config.cancelBtnText,
  530. config.ensureBtnText
  531. );
  532. _this.trigger = document.querySelector(config.trigger);
  533. if (!_this.trigger) {
  534. console.error(
  535. "mobileSelect has been successfully installed, but no trigger found on your page."
  536. );
  537. return false;
  538. }
  539. _this.wheel = getClass(_this.mobileSelect, "wheel");
  540. _this.slider = getClass(_this.mobileSelect, "selectContainer");
  541. _this.wheels = _this.mobileSelect.querySelector(".wheels");
  542. _this.liHeight = _this.mobileSelect.querySelector("li").offsetHeight;
  543. _this.ensureBtn = _this.mobileSelect.querySelector(".ensure");
  544. _this.cancelBtn = _this.mobileSelect.querySelector(".cancel");
  545. _this.grayLayer = _this.mobileSelect.querySelector(".grayLayer");
  546. _this.popUp = _this.mobileSelect.querySelector(".content");
  547. _this.callback = config.callback ? config.callback : function() {};
  548. _this.transitionEnd = config.transitionEnd
  549. ? config.transitionEnd
  550. : function() {};
  551. _this.initPosition = config.position ? config.position : [];
  552. _this.titleText = config.title ? config.title : "";
  553. _this.connector = config.connector ? config.connector : " ";
  554. _this.trigger.style.cursor = "pointer";
  555. _this.setStyle(config);
  556. _this.setTitle(_this.titleText);
  557. _this.checkIsPC();
  558. _this.checkCascade();
  559. if (_this.cascade) {
  560. _this.initCascade();
  561. }
  562. //定位 初始位置
  563. if (_this.initPosition.length < _this.slider.length) {
  564. var diff = _this.slider.length - _this.initPosition.length;
  565. for (var i = 0; i < diff; i++) {
  566. _this.initPosition.push(0);
  567. }
  568. }
  569. _this.setCurDistance(_this.initPosition);
  570. _this.addListenerAll();
  571. //按钮监听
  572. _this.cancelBtn.addEventListener("click", function() {
  573. _this.mobileSelect.classList.remove("mobileSelect-show");
  574. });
  575. _this.ensureBtn.addEventListener("click", function() {
  576. _this.mobileSelect.classList.remove("mobileSelect-show");
  577. var tempValue = "";
  578. for (var i = 0; i < _this.wheel.length; i++) {
  579. i == _this.wheel.length - 1
  580. ? (tempValue += _this.getInnerHtml(i))
  581. : (tempValue += _this.getInnerHtml(i) + _this.connector);
  582. }
  583. _this.trigger.innerHTML = tempValue;
  584. _this.callback(_this.getIndexArr(), _this.getValue());
  585. });
  586. _this.trigger.addEventListener("click", function() {
  587. _this.mobileSelect.classList.add("mobileSelect-show");
  588. });
  589. _this.grayLayer.addEventListener("click", function() {
  590. _this.mobileSelect.classList.remove("mobileSelect-show");
  591. });
  592. _this.popUp.addEventListener("click", function() {
  593. event.stopPropagation();
  594. });
  595. _this.fixRowStyle(); //修正列数
  596. },
  597. setTitle: function(string) {
  598. var _this = this;
  599. _this.titleText = string;
  600. _this.mobileSelect.querySelector(".title").innerHTML = _this.titleText;
  601. },
  602. setStyle: function(config) {
  603. var _this = this;
  604. if (config.ensureBtnColor) {
  605. _this.ensureBtn.style.color = config.ensureBtnColor;
  606. }
  607. if (config.cancelBtnColor) {
  608. _this.cancelBtn.style.color = config.cancelBtnColor;
  609. }
  610. if (config.titleColor) {
  611. _this.title = _this.mobileSelect.querySelector(".title");
  612. _this.title.style.color = config.titleColor;
  613. }
  614. if (config.textColor) {
  615. _this.panel = _this.mobileSelect.querySelector(".panel");
  616. _this.panel.style.color = config.textColor;
  617. }
  618. if (config.titleBgColor) {
  619. _this.btnBar = _this.mobileSelect.querySelector(".btnBar");
  620. _this.btnBar.style.backgroundColor = config.titleBgColor;
  621. }
  622. if (config.bgColor) {
  623. _this.panel = _this.mobileSelect.querySelector(".panel");
  624. _this.shadowMask = _this.mobileSelect.querySelector(".shadowMask");
  625. _this.panel.style.backgroundColor = config.bgColor;
  626. _this.shadowMask.style.background =
  627. "linear-gradient(to bottom, " +
  628. config.bgColor +
  629. ", rgba(255, 255, 255, 0), " +
  630. config.bgColor +
  631. ")";
  632. }
  633. },
  634. checkIsPC: function() {
  635. var _this = this;
  636. var sUserAgent = navigator.userAgent.toLowerCase();
  637. var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
  638. var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
  639. var bIsMidp = sUserAgent.match(/midp/i) == "midp";
  640. var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
  641. var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
  642. var bIsAndroid = sUserAgent.match(/android/i) == "android";
  643. var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
  644. var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
  645. if (
  646. bIsIphoneOs ||
  647. bIsMidp ||
  648. bIsUc7 ||
  649. bIsUc ||
  650. bIsAndroid ||
  651. bIsCE ||
  652. bIsWM
  653. ) {
  654. _this.isPC = false;
  655. }
  656. },
  657. show: function() {
  658. this.mobileSelect.classList.add("mobileSelect-show");
  659. },
  660. renderWheels: function(wheelsData, cancelBtnText, ensureBtnText) {
  661. var _this = this;
  662. var cancelText = cancelBtnText ? cancelBtnText : "取消";
  663. var ensureText = ensureBtnText ? ensureBtnText : "确认";
  664. _this.mobileSelect = document.createElement("div");
  665. _this.mobileSelect.className = "mobileSelect";
  666. _this.mobileSelect.innerHTML =
  667. '<div class="grayLayer"></div>' +
  668. '<div class="content">' +
  669. '<div class="btnBar">' +
  670. '<div class="fixWidth">' +
  671. '<div class="cancel">' +
  672. cancelText +
  673. "</div>" +
  674. '<div class="title"></div>' +
  675. '<div class="ensure">' +
  676. ensureText +
  677. "</div>" +
  678. "</div>" +
  679. "</div>" +
  680. '<div class="panel">' +
  681. '<div class="fixWidth">' +
  682. '<div class="wheels">' +
  683. "</div>" +
  684. '<div class="selectLine"></div>' +
  685. '<div class="shadowMask"></div>' +
  686. "</div>" +
  687. "</div>" +
  688. "</div>";
  689. document.body.appendChild(_this.mobileSelect);
  690. //根据数据长度来渲染
  691. var tempHTML = "";
  692. for (var i = 0; i < wheelsData.length; i++) {
  693. //列
  694. tempHTML += '<div class="wheel"><ul class="selectContainer">';
  695. if (_this.jsonType) {
  696. for (var j = 0; j < wheelsData[i].data.length; j++) {
  697. //行
  698. tempHTML +=
  699. '<li data-id="' +
  700. wheelsData[i].data[j][_this.keyMap.id] +
  701. '">' +
  702. wheelsData[i].data[j][_this.keyMap.value] +
  703. "</li>";
  704. }
  705. } else {
  706. for (var j = 0; j < wheelsData[i].data.length; j++) {
  707. //行
  708. tempHTML += "<li>" + wheelsData[i].data[j] + "</li>";
  709. }
  710. }
  711. tempHTML += "</ul></div>";
  712. }
  713. _this.mobileSelect.querySelector(".wheels").innerHTML = tempHTML;
  714. },
  715. addListenerAll: function() {
  716. var _this = this;
  717. for (var i = 0; i < _this.slider.length; i++) {
  718. //手势监听
  719. (function(i) {
  720. _this.addListenerWheel(_this.wheel[i], i);
  721. _this.addListenerLi(i);
  722. })(i);
  723. }
  724. },
  725. addListenerWheel: function(theWheel, index) {
  726. var _this = this;
  727. theWheel.addEventListener(
  728. "touchstart",
  729. function() {
  730. _this.touch(event, this.firstChild, index);
  731. },
  732. false
  733. );
  734. theWheel.addEventListener(
  735. "touchend",
  736. function() {
  737. _this.touch(event, this.firstChild, index);
  738. },
  739. false
  740. );
  741. theWheel.addEventListener(
  742. "touchmove",
  743. function() {
  744. _this.touch(event, this.firstChild, index);
  745. },
  746. false
  747. );
  748. if (_this.isPC) {
  749. //如果是PC端则再增加拖拽监听 方便调试
  750. theWheel.addEventListener(
  751. "mousedown",
  752. function() {
  753. _this.dragClick(event, this.firstChild, index);
  754. },
  755. false
  756. );
  757. theWheel.addEventListener(
  758. "mousemove",
  759. function() {
  760. _this.dragClick(event, this.firstChild, index);
  761. },
  762. false
  763. );
  764. theWheel.addEventListener(
  765. "mouseup",
  766. function() {
  767. _this.dragClick(event, this.firstChild, index);
  768. },
  769. true
  770. );
  771. }
  772. },
  773. addListenerLi: function(sliderIndex) {
  774. var _this = this;
  775. var curWheelLi = _this.slider[sliderIndex].getElementsByTagName("li");
  776. for (var j = 0; j < curWheelLi.length; j++) {
  777. (function(j) {
  778. curWheelLi[j].addEventListener(
  779. "click",
  780. function() {
  781. _this.singleClick(this, j, sliderIndex);
  782. },
  783. false
  784. );
  785. })(j);
  786. }
  787. },
  788. checkDataType: function() {
  789. var _this = this;
  790. if (typeof _this.wheelsData[0].data[0] == "object") {
  791. _this.jsonType = true;
  792. }
  793. },
  794. checkCascade: function() {
  795. var _this = this;
  796. if (_this.jsonType) {
  797. var node = _this.wheelsData[0].data;
  798. for (var i = 0; i < node.length; i++) {
  799. if (
  800. _this.keyMap.childs in node[i] &&
  801. node[i][_this.keyMap.childs].length > 0
  802. ) {
  803. _this.cascade = true;
  804. _this.cascadeJsonData = _this.wheelsData[0].data;
  805. break;
  806. }
  807. }
  808. } else {
  809. _this.cascade = false;
  810. }
  811. },
  812. generateArrData: function(targetArr) {
  813. var tempArr = [];
  814. var keyMap_id = this.keyMap.id;
  815. var keyMap_value = this.keyMap.value;
  816. for (var i = 0; i < targetArr.length; i++) {
  817. var tempObj = {};
  818. tempObj[keyMap_id] = targetArr[i][this.keyMap.id];
  819. tempObj[keyMap_value] = targetArr[i][this.keyMap.value];
  820. tempArr.push(tempObj);
  821. }
  822. return tempArr;
  823. },
  824. initCascade: function() {
  825. var _this = this;
  826. _this.displayJson.push(_this.generateArrData(_this.cascadeJsonData));
  827. if (_this.initPosition.length > 0) {
  828. _this.initDeepCount = 0;
  829. _this.initCheckArrDeep(_this.cascadeJsonData[_this.initPosition[0]]);
  830. } else {
  831. _this.checkArrDeep(_this.cascadeJsonData[0]);
  832. }
  833. _this.reRenderWheels();
  834. },
  835. initCheckArrDeep: function(parent) {
  836. var _this = this;
  837. if (parent) {
  838. if (
  839. _this.keyMap.childs in parent &&
  840. parent[_this.keyMap.childs].length > 0
  841. ) {
  842. _this.displayJson.push(
  843. _this.generateArrData(parent[_this.keyMap.childs])
  844. );
  845. _this.initDeepCount++;
  846. var nextNode =
  847. parent[_this.keyMap.childs][_this.initPosition[_this.initDeepCount]];
  848. if (nextNode) {
  849. _this.initCheckArrDeep(nextNode);
  850. } else {
  851. _this.checkArrDeep(parent[_this.keyMap.childs][0]);
  852. }
  853. }
  854. }
  855. },
  856. checkArrDeep: function(parent) {
  857. //检测子节点深度 修改 displayJson
  858. var _this = this;
  859. if (parent) {
  860. if (
  861. _this.keyMap.childs in parent &&
  862. parent[_this.keyMap.childs].length > 0
  863. ) {
  864. _this.displayJson.push(
  865. _this.generateArrData(parent[_this.keyMap.childs])
  866. ); //生成子节点数组
  867. _this.checkArrDeep(parent[_this.keyMap.childs][0]); //检测下一个子节点
  868. }
  869. }
  870. },
  871. checkRange: function(index, posIndexArr) {
  872. var _this = this;
  873. var deleteNum = _this.displayJson.length - 1 - index;
  874. for (var i = 0; i < deleteNum; i++) {
  875. _this.displayJson.pop(); //修改 displayJson
  876. }
  877. var resultNode;
  878. for (var i = 0; i <= index; i++) {
  879. if (i == 0) resultNode = _this.cascadeJsonData[posIndexArr[0]];
  880. else {
  881. resultNode = resultNode[_this.keyMap.childs][posIndexArr[i]];
  882. }
  883. }
  884. _this.checkArrDeep(resultNode);
  885. _this.reRenderWheels();
  886. _this.fixRowStyle();
  887. _this.setCurDistance(_this.resetPostion(index, posIndexArr));
  888. },
  889. resetPostion: function(index, posIndexArr) {
  890. var _this = this;
  891. var tempPosArr = posIndexArr;
  892. var tempCount;
  893. if (_this.slider.length > posIndexArr.length) {
  894. tempCount = _this.slider.length - posIndexArr.length;
  895. for (var i = 0; i < tempCount; i++) {
  896. tempPosArr.push(0);
  897. }
  898. } else if (_this.slider.length < posIndexArr.length) {
  899. tempCount = posIndexArr.length - _this.slider.length;
  900. for (var i = 0; i < tempCount; i++) {
  901. tempPosArr.pop();
  902. }
  903. }
  904. for (var i = index + 1; i < tempPosArr.length; i++) {
  905. tempPosArr[i] = 0;
  906. }
  907. return tempPosArr;
  908. },
  909. reRenderWheels: function() {
  910. var _this = this;
  911. //删除多余的wheel
  912. if (_this.wheel.length > _this.displayJson.length) {
  913. var count = _this.wheel.length - _this.displayJson.length;
  914. for (var i = 0; i < count; i++) {
  915. _this.wheels.removeChild(_this.wheel[_this.wheel.length - 1]);
  916. }
  917. }
  918. for (var i = 0; i < _this.displayJson.length; i++) {
  919. //列
  920. (function(i) {
  921. var tempHTML = "";
  922. if (_this.wheel[i]) {
  923. for (var j = 0; j < _this.displayJson[i].length; j++) {
  924. //行
  925. tempHTML +=
  926. '<li data-id="' +
  927. _this.displayJson[i][j][_this.keyMap.id] +
  928. '">' +
  929. _this.displayJson[i][j][_this.keyMap.value] +
  930. "</li>";
  931. }
  932. _this.slider[i].innerHTML = tempHTML;
  933. } else {
  934. var tempWheel = document.createElement("div");
  935. tempWheel.className = "wheel";
  936. tempHTML = '<ul class="selectContainer">';
  937. for (var j = 0; j < _this.displayJson[i].length; j++) {
  938. //行
  939. tempHTML +=
  940. '<li data-id="' +
  941. _this.displayJson[i][j][_this.keyMap.id] +
  942. '">' +
  943. _this.displayJson[i][j][_this.keyMap.value] +
  944. "</li>";
  945. }
  946. tempHTML += "</ul>";
  947. tempWheel.innerHTML = tempHTML;
  948. _this.addListenerWheel(tempWheel, i);
  949. _this.wheels.appendChild(tempWheel);
  950. }
  951. _this.addListenerLi(i);
  952. })(i);
  953. }
  954. },
  955. updateWheels: function(data) {
  956. var _this = this;
  957. if (_this.cascade) {
  958. _this.cascadeJsonData = data;
  959. _this.displayJson = [];
  960. _this.initCascade();
  961. if (_this.initPosition.length < _this.slider.length) {
  962. var diff = _this.slider.length - _this.initPosition.length;
  963. for (var i = 0; i < diff; i++) {
  964. _this.initPosition.push(0);
  965. }
  966. }
  967. _this.setCurDistance(_this.initPosition);
  968. _this.fixRowStyle();
  969. }
  970. },
  971. updateWheel: function(sliderIndex, data) {
  972. var _this = this;
  973. var tempHTML = "";
  974. if (_this.cascade) {
  975. console.error(
  976. "级联格式不支持updateWheel(),请使用updateWheels()更新整个数据源"
  977. );
  978. return false;
  979. } else if (_this.jsonType) {
  980. for (var j = 0; j < data.length; j++) {
  981. tempHTML +=
  982. '<li data-id="' +
  983. data[j][_this.keyMap.id] +
  984. '">' +
  985. data[j][_this.keyMap.value] +
  986. "</li>";
  987. }
  988. _this.wheelsData[sliderIndex] = { data: data };
  989. } else {
  990. for (var j = 0; j < data.length; j++) {
  991. tempHTML += "<li>" + data[j] + "</li>";
  992. }
  993. _this.wheelsData[sliderIndex] = data;
  994. }
  995. _this.slider[sliderIndex].innerHTML = tempHTML;
  996. _this.addListenerLi(sliderIndex);
  997. },
  998. fixRowStyle: function() {
  999. var _this = this;
  1000. var width = (100 / _this.wheel.length).toFixed(2);
  1001. for (var i = 0; i < _this.wheel.length; i++) {
  1002. _this.wheel[i].style.width = width + "%";
  1003. }
  1004. },
  1005. getIndex: function(distance) {
  1006. return Math.round((2 * this.liHeight - distance) / this.liHeight);
  1007. },
  1008. getIndexArr: function() {
  1009. var _this = this;
  1010. var temp = [];
  1011. for (var i = 0; i < _this.curDistance.length; i++) {
  1012. temp.push(_this.getIndex(_this.curDistance[i]));
  1013. }
  1014. return temp;
  1015. },
  1016. getValue: function() {
  1017. var _this = this;
  1018. var temp = [];
  1019. var positionArr = _this.getIndexArr();
  1020. if (_this.cascade) {
  1021. for (var i = 0; i < _this.wheel.length; i++) {
  1022. temp.push(_this.displayJson[i][positionArr[i]]);
  1023. }
  1024. } else if (_this.jsonType) {
  1025. for (var i = 0; i < _this.curDistance.length; i++) {
  1026. temp.push(
  1027. _this.wheelsData[i].data[_this.getIndex(_this.curDistance[i])]
  1028. );
  1029. }
  1030. } else {
  1031. for (var i = 0; i < _this.curDistance.length; i++) {
  1032. temp.push(_this.getInnerHtml(i));
  1033. }
  1034. }
  1035. return temp;
  1036. },
  1037. calcDistance: function(index) {
  1038. return 2 * this.liHeight - index * this.liHeight;
  1039. },
  1040. setCurDistance: function(indexArr) {
  1041. var _this = this;
  1042. var temp = [];
  1043. for (var i = 0; i < _this.slider.length; i++) {
  1044. temp.push(_this.calcDistance(indexArr[i]));
  1045. _this.movePosition(_this.slider[i], temp[i]);
  1046. }
  1047. _this.curDistance = temp;
  1048. },
  1049. fixPosition: function(distance) {
  1050. return -(this.getIndex(distance) - 2) * this.liHeight;
  1051. },
  1052. movePosition: function(theSlider, distance) {
  1053. theSlider.style.webkitTransform = "translate3d(0," + distance + "px, 0)";
  1054. theSlider.style.transform = "translate3d(0," + distance + "px, 0)";
  1055. },
  1056. locatePostion: function(index, posIndex) {
  1057. this.curDistance[index] = this.calcDistance(posIndex);
  1058. this.movePosition(this.slider[index], this.curDistance[index]);
  1059. },
  1060. updateCurDistance: function(theSlider, index) {
  1061. this.curDistance[index] = parseInt(theSlider.style.transform.split(",")[1]);
  1062. },
  1063. getDistance: function(theSlider) {
  1064. return parseInt(theSlider.style.transform.split(",")[1]);
  1065. },
  1066. getInnerHtml: function(sliderIndex) {
  1067. var _this = this;
  1068. var index = _this.getIndex(_this.curDistance[sliderIndex]);
  1069. return _this.slider[sliderIndex].getElementsByTagName("li")[index]
  1070. .innerHTML;
  1071. },
  1072. touch: function(event, theSlider, index) {
  1073. var _this = this;
  1074. event = event || window.event;
  1075. switch (event.type) {
  1076. case "touchstart":
  1077. _this.startY = event.touches[0].clientY;
  1078. _this.oldMoveY = _this.startY;
  1079. break;
  1080. case "touchend":
  1081. _this.moveEndY = event.changedTouches[0].clientY;
  1082. _this.offsetSum = _this.moveEndY - _this.startY;
  1083. //修正位置
  1084. _this.updateCurDistance(theSlider, index);
  1085. _this.curDistance[index] = _this.fixPosition(_this.curDistance[index]);
  1086. _this.movePosition(theSlider, _this.curDistance[index]);
  1087. _this.oversizeBorder =
  1088. -(theSlider.getElementsByTagName("li").length - 3) * _this.liHeight;
  1089. //反弹
  1090. if (_this.curDistance[index] + _this.offsetSum > 2 * _this.liHeight) {
  1091. _this.curDistance[index] = 2 * _this.liHeight;
  1092. setTimeout(function() {
  1093. _this.movePosition(theSlider, _this.curDistance[index]);
  1094. }, 100);
  1095. } else if (
  1096. _this.curDistance[index] + _this.offsetSum <
  1097. _this.oversizeBorder
  1098. ) {
  1099. _this.curDistance[index] = _this.oversizeBorder;
  1100. setTimeout(function() {
  1101. _this.movePosition(theSlider, _this.curDistance[index]);
  1102. }, 100);
  1103. }
  1104. _this.transitionEnd(_this.getIndexArr(), _this.getValue());
  1105. if (_this.cascade) {
  1106. var tempPosArr = _this.getIndexArr();
  1107. tempPosArr[index] = _this.getIndex(_this.curDistance[index]);
  1108. _this.checkRange(index, tempPosArr);
  1109. }
  1110. break;
  1111. case "touchmove":
  1112. event.preventDefault();
  1113. _this.moveY = event.touches[0].clientY;
  1114. _this.offset = _this.moveY - _this.oldMoveY;
  1115. _this.updateCurDistance(theSlider, index);
  1116. _this.curDistance[index] = _this.curDistance[index] + _this.offset;
  1117. _this.movePosition(theSlider, _this.curDistance[index]);
  1118. _this.oldMoveY = _this.moveY;
  1119. break;
  1120. }
  1121. },
  1122. dragClick: function(event, theSlider, index) {
  1123. var _this = this;
  1124. event = event || window.event;
  1125. switch (event.type) {
  1126. case "mousedown":
  1127. _this.startY = event.clientY;
  1128. _this.oldMoveY = _this.startY;
  1129. _this.clickStatus = true;
  1130. break;
  1131. case "mouseup":
  1132. _this.moveEndY = event.clientY;
  1133. _this.offsetSum = _this.moveEndY - _this.startY;
  1134. //修正位置
  1135. _this.updateCurDistance(theSlider, index);
  1136. _this.curDistance[index] = _this.fixPosition(_this.curDistance[index]);
  1137. _this.movePosition(theSlider, _this.curDistance[index]);
  1138. _this.oversizeBorder =
  1139. -(theSlider.getElementsByTagName("li").length - 3) * _this.liHeight;
  1140. //反弹
  1141. if (_this.curDistance[index] + _this.offsetSum > 2 * _this.liHeight) {
  1142. _this.curDistance[index] = 2 * _this.liHeight;
  1143. setTimeout(function() {
  1144. _this.movePosition(theSlider, _this.curDistance[index]);
  1145. }, 100);
  1146. } else if (
  1147. _this.curDistance[index] + _this.offsetSum <
  1148. _this.oversizeBorder
  1149. ) {
  1150. _this.curDistance[index] = _this.oversizeBorder;
  1151. setTimeout(function() {
  1152. _this.movePosition(theSlider, _this.curDistance[index]);
  1153. }, 100);
  1154. }
  1155. _this.clickStatus = false;
  1156. _this.transitionEnd(_this.getIndexArr(), _this.getValue());
  1157. if (_this.cascade) {
  1158. var tempPosArr = _this.getIndexArr();
  1159. tempPosArr[index] = _this.getIndex(_this.curDistance[index]);
  1160. _this.checkRange(index, tempPosArr);
  1161. }
  1162. break;
  1163. case "mousemove":
  1164. event.preventDefault();
  1165. if (_this.clickStatus) {
  1166. _this.moveY = event.clientY;
  1167. _this.offset = _this.moveY - _this.oldMoveY;
  1168. _this.updateCurDistance(theSlider, index);
  1169. _this.curDistance[index] = _this.curDistance[index] + _this.offset;
  1170. _this.movePosition(theSlider, _this.curDistance[index]);
  1171. _this.oldMoveY = _this.moveY;
  1172. }
  1173. break;
  1174. }
  1175. },
  1176. singleClick: function(theLi, index, sliderIndex) {
  1177. var _this = this;
  1178. if (_this.cascade) {
  1179. var tempPosArr = _this.getIndexArr();
  1180. tempPosArr[sliderIndex] = index;
  1181. _this.checkRange(sliderIndex, tempPosArr);
  1182. } else {
  1183. _this.curDistance[sliderIndex] = (2 - index) * _this.liHeight;
  1184. _this.movePosition(theLi.parentNode, _this.curDistance[sliderIndex]);
  1185. }
  1186. }
  1187. };
  1188. if (typeof exports == "object") {
  1189. module.exports = MobileSelect;
  1190. } else if (typeof define == "function" && define.amd) {
  1191. define([], function() {
  1192. return MobileSelect;
  1193. });
  1194. } else {
  1195. window.MobileSelect = MobileSelect;
  1196. }
  1197. function jobs() {
  1198. var provinceStatus = [
  1199. {
  1200. value: "7",
  1201. key: "安徽"
  1202. },
  1203. {
  1204. value: "15",
  1205. key: "北京"
  1206. },
  1207. {
  1208. value: "27",
  1209. key: "重庆"
  1210. },
  1211. {
  1212. value: "8",
  1213. key: "福建"
  1214. },
  1215. {
  1216. value: "30",
  1217. key: "甘肃"
  1218. },
  1219. {
  1220. value: "24",
  1221. key: "广东"
  1222. },
  1223. {
  1224. value: "20",
  1225. key: "广西"
  1226. },
  1227. {
  1228. value: "25",
  1229. key: "贵州"
  1230. },
  1231. {
  1232. value: "21",
  1233. key: "海南"
  1234. },
  1235. {
  1236. value: "13",
  1237. key: "河北"
  1238. },
  1239. {
  1240. value: "1",
  1241. key: "黑龙江"
  1242. },
  1243. {
  1244. value: "19",
  1245. key: "河南"
  1246. },
  1247. {
  1248. value: "22",
  1249. key: "香港"
  1250. },
  1251. {
  1252. value: "17",
  1253. key: "湖北"
  1254. },
  1255. {
  1256. value: "18",
  1257. key: "湖南"
  1258. },
  1259. {
  1260. value: "5",
  1261. key: "江苏"
  1262. },
  1263. {
  1264. value: "9",
  1265. key: "江西"
  1266. },
  1267. {
  1268. value: "3",
  1269. key: "辽宁"
  1270. },
  1271. {
  1272. value: "2",
  1273. key: "吉林"
  1274. },
  1275. {
  1276. value: "23",
  1277. key: "澳门"
  1278. },
  1279. {
  1280. value: "14",
  1281. key: "内蒙古"
  1282. },
  1283. {
  1284. value: "32",
  1285. key: "宁夏"
  1286. },
  1287. {
  1288. value: "31",
  1289. key: "青海"
  1290. },
  1291. {
  1292. value: "10",
  1293. key: "山东"
  1294. },
  1295. {
  1296. value: "4",
  1297. key: "上海"
  1298. },
  1299. {
  1300. value: "9",
  1301. key: "山西"
  1302. },
  1303. {
  1304. value: "34",
  1305. key: "陕西"
  1306. },
  1307. {
  1308. value: "29",
  1309. key: "四川"
  1310. },
  1311. {
  1312. value: "11",
  1313. key: "台湾"
  1314. },
  1315. {
  1316. value: "16",
  1317. key: "天津"
  1318. },
  1319. {
  1320. value: "33",
  1321. key: "新疆"
  1322. },
  1323. {
  1324. value: "28",
  1325. key: "西藏"
  1326. },
  1327. {
  1328. value: "26",
  1329. key: "云南"
  1330. },
  1331. {
  1332. value: "6",
  1333. key: "浙江"
  1334. }
  1335. ];
  1336. $("#display-more").css({
  1337. display: "block"
  1338. });
  1339. var displayNum = 0;
  1340. var hr = '<hr style="border: 1px solid #ccc;">';
  1341. var provinceNum = 18;
  1342. var url = window.location.protocol+'//'+window.location.host+"/open/listRecruitment";
  1343. // var url = window.globalConfig;
  1344. $.ajax({
  1345. method: "get",
  1346. dataType: "json",
  1347. crossDomain: false,
  1348. url,
  1349. data: {
  1350. province: 18
  1351. },
  1352. success: function(data) {
  1353. if (data.error && data.error.length) {
  1354. console.log("数据异常");
  1355. } else {
  1356. var arr = data.data.list;
  1357. var html = "";
  1358. var zhiwu = "";
  1359. displayNum = 0;
  1360. arr.forEach(function(item) {
  1361. html = html + "<div>" + item.content + "</div>" + hr;
  1362. zhiwu += `<li>${item.name}</li>`;
  1363. displayNum++;
  1364. });
  1365. if (displayNum >= 12) {
  1366. $("#display-more").css({
  1367. display: "block"
  1368. });
  1369. }
  1370. if (!html) {
  1371. $("#job").html(
  1372. '<p style="font-size: 24px;text-align: center;">暂无数据</p>'
  1373. );
  1374. $("#position").html(
  1375. '<p style="text-align: center;font-size: 20px;color: #666;">暂无职务</p>'
  1376. );
  1377. } else {
  1378. $("#job").html(html);
  1379. $("#position").html(zhiwu);
  1380. }
  1381. }
  1382. }
  1383. });
  1384. $("#province").on("click", "li", function(e) {
  1385. $("#province li").removeClass("active");
  1386. $(this).addClass("active");
  1387. var province = $(this).html();
  1388. provinceStatus.forEach(function(item) {
  1389. if (item.key == province) {
  1390. provinceNum = item.value;
  1391. }
  1392. });
  1393. var html = "";
  1394. var zhiwu = "";
  1395. displayNum = 0;
  1396. $.ajax({
  1397. method: "get",
  1398. dataType: "json",
  1399. crossDomain: false,
  1400. url,
  1401. data: {
  1402. province: provinceNum
  1403. },
  1404. success: function(data) {
  1405. if (data.error && data.error.length) {
  1406. console.log("数据异常");
  1407. } else {
  1408. var arr = data.data.list;
  1409. arr.forEach(function(item) {
  1410. html = html + "<div>" + item.content + "</div>" + hr;
  1411. zhiwu += `<li>${item.name}</li>`;
  1412. displayNum++;
  1413. });
  1414. if (displayNum) {
  1415. $("#display-more").css({
  1416. display: "block"
  1417. });
  1418. }
  1419. if (!html) {
  1420. $("#job").html(
  1421. '<p style="font-size: 24px;text-align: center;">暂无数据</p>'
  1422. );
  1423. $("#position").html(
  1424. '<p style="text-align: center;font-size: 20px;color: #666;">暂无职务</p>'
  1425. );
  1426. } else {
  1427. $("#job").html(html);
  1428. $("#position").html(zhiwu);
  1429. }
  1430. }
  1431. }
  1432. });
  1433. });
  1434. $("#position")
  1435. .off("click")
  1436. .on("click", "li", function(e) {
  1437. $("#position li").removeClass("active");
  1438. $(this).addClass("active");
  1439. var posHtml = "";
  1440. var jobStr = $(this).html();
  1441. $.ajax({
  1442. method: "get",
  1443. dataType: "json",
  1444. crossDomain: false,
  1445. url,
  1446. data: {
  1447. province: provinceNum,
  1448. name: jobStr
  1449. },
  1450. success: function(data) {
  1451. if (data.error && data.error.length) {
  1452. console.log("数据异常");
  1453. } else {
  1454. var arr = data.data.list;
  1455. arr.forEach(function(item) {
  1456. posHtml = posHtml + "<div>" + item.content + "</div>" + hr;
  1457. });
  1458. if (!posHtml) {
  1459. $("#job").html(
  1460. '<p style="font-size: 24px;text-align: center;">暂无数据</p>'
  1461. );
  1462. } else {
  1463. $("#job").html(posHtml);
  1464. }
  1465. }
  1466. }
  1467. });
  1468. });
  1469. }
  1470. // 合作机构请求
  1471. function cooperation() {
  1472. $.ajax({
  1473. url: api + "/open/listOrganization",
  1474. method: "get",
  1475. data: {
  1476. releaseStatus: 1,
  1477. pageSize: 16
  1478. },
  1479. success: function(res) {
  1480. if (res.error && res.error.length) {
  1481. alert("数据异常,请刷新页面!");
  1482. } else {
  1483. if (res.data.list.length) {
  1484. var html = "";
  1485. for (var i = 0; i < res.data.list.length; i++) {
  1486. html +=
  1487. "<li><img src=" +
  1488. avatarUploadHost +
  1489. res.data.list[i].pictureUrl +
  1490. " /></li>";
  1491. }
  1492. $(".strategic > div > ul").html(html);
  1493. window.sessionStorage.setItem("total", res.data.totalCount);
  1494. } else {
  1495. $(".strategic > div > ul").html(
  1496. '<p style="font-size: 24px;text-align: center;color:#666;line-height:550px">暂无数据</p>'
  1497. );
  1498. $(".page_3").css({
  1499. display: "none"
  1500. });
  1501. }
  1502. cooperationPage();
  1503. }
  1504. }
  1505. });
  1506. }
  1507. // 合作机构分页展示
  1508. function cooperationPage() {
  1509. var obj_3 = {
  1510. obj_box: ".page_3",
  1511. total_item: window.sessionStorage.getItem("total"), //总共数据
  1512. per_num: 16, //每页显示数据
  1513. current_page: 1, //当前页
  1514. change_content: function(per_num, current_page) {
  1515. per_num = per_num ? per_num : 16;
  1516. current_page = current_page ? current_page : 1;
  1517. total_item = window.sessionStorage.getItem("total");
  1518. $.ajax({
  1519. url: api + "/open/listOrganization",
  1520. data: {
  1521. pageSize: 16,
  1522. releaseStatus: 1,
  1523. pageNo: current_page
  1524. },
  1525. method: "GET",
  1526. dataType: "json",
  1527. success: function(res) {
  1528. if (res.error && res.error.length) {
  1529. alert("数据异常,请刷新页面!");
  1530. } else {
  1531. if (res.data.list.length) {
  1532. var html = "";
  1533. for (var i = 0; i < res.data.list.length; i++) {
  1534. html +=
  1535. "<li><img src=" +
  1536. avatarUploadHost +
  1537. res.data.list[i].pictureUrl +
  1538. " /></li>";
  1539. }
  1540. $(".strategic > div > ul").html(html);
  1541. window.sessionStorage.setItem("total", res.data.totalCount);
  1542. } else {
  1543. $(".strategic > div > ul").html(
  1544. '<p style="font-size: 24px;text-align: center;color:#666;line-height:550px">暂无数据</p>'
  1545. );
  1546. $(".page_3").css({
  1547. display: "none"
  1548. });
  1549. }
  1550. }
  1551. }
  1552. });
  1553. }
  1554. };
  1555. //调用分页
  1556. page_ctrl(obj_3);
  1557. }
  1558. $(function() {
  1559. if (
  1560. window.location.search.length <= 3 &&
  1561. window.location.search.length >= 2
  1562. ) {
  1563. $("html,body").animate({ scrollTop: "1200px" }, 500);
  1564. }
  1565. switch (window.location.search) {
  1566. case "?0":
  1567. $(".product-a li")
  1568. .eq(0)
  1569. .click();
  1570. break;
  1571. case "?1":
  1572. $(".product-a li")
  1573. .eq(1)
  1574. .click();
  1575. break;
  1576. case "?2":
  1577. $(".product-a li")
  1578. .eq(2)
  1579. .click();
  1580. break;
  1581. case "?3":
  1582. $(".product-a li")
  1583. .eq(3)
  1584. .click();
  1585. break;
  1586. case "?4":
  1587. $(".product-a li")
  1588. .eq(4)
  1589. .click();
  1590. break;
  1591. case "?5":
  1592. $(".product-a li")
  1593. .eq(5)
  1594. .click();
  1595. break;
  1596. case "?6":
  1597. $(".product-a li")
  1598. .eq(6)
  1599. .click();
  1600. break;
  1601. case "?7":
  1602. $(".product-a li")
  1603. .eq(7)
  1604. .click();
  1605. break;
  1606. case "?8":
  1607. $(".product-a li")
  1608. .eq(8)
  1609. .click();
  1610. break;
  1611. case "?9":
  1612. $(".product-a li")
  1613. .eq(9)
  1614. .click();
  1615. break;
  1616. case "?10":
  1617. $(".product-a li")
  1618. .eq(10)
  1619. .click();
  1620. break;
  1621. case "?11":
  1622. $(".product-a li")
  1623. .eq(11)
  1624. .click();
  1625. break;
  1626. case "?12":
  1627. $(".product-a li")
  1628. .eq(12)
  1629. .click();
  1630. break;
  1631. case "?13":
  1632. $(".product-a li")
  1633. .eq(13)
  1634. .click();
  1635. break;
  1636. case "?14":
  1637. $(".product-a li")
  1638. .eq(14)
  1639. .click();
  1640. break;
  1641. case "?15":
  1642. $(".product-a li")
  1643. .eq(15)
  1644. .click();
  1645. break;
  1646. case "?16":
  1647. $(".product-a li")
  1648. .eq(16)
  1649. .click();
  1650. break;
  1651. case "?17":
  1652. $(".product-a li")
  1653. .eq(17)
  1654. .click();
  1655. break;
  1656. case "?18":
  1657. $(".product-a li")
  1658. .eq(18)
  1659. .click();
  1660. break;
  1661. case "?19":
  1662. $(".product-a li")
  1663. .eq(19)
  1664. .click();
  1665. break;
  1666. case "?20":
  1667. $(".product-a li")
  1668. .eq(20)
  1669. .click();
  1670. break;
  1671. case "?21":
  1672. $(".product-a li")
  1673. .eq(21)
  1674. .click();
  1675. break;
  1676. case "?22":
  1677. $(".product-a li")
  1678. .eq(22)
  1679. .click();
  1680. break;
  1681. case "?23":
  1682. $(".product-a li")
  1683. .eq(23)
  1684. .click();
  1685. break;
  1686. case "?24":
  1687. $(".product-a li")
  1688. .eq(24)
  1689. .click();
  1690. break;
  1691. case "?25":
  1692. $(".product-a li")
  1693. .eq(25)
  1694. .click();
  1695. break;
  1696. case "?26":
  1697. $(".product-a li")
  1698. .eq(26)
  1699. .click();
  1700. break;
  1701. case "?27":
  1702. $(".product-a li")
  1703. .eq(27)
  1704. .click();
  1705. break;
  1706. case "?28":
  1707. $(".product-a li")
  1708. .eq(28)
  1709. .click();
  1710. break;
  1711. case "?29":
  1712. $(".product-a li")
  1713. .eq(29)
  1714. .click();
  1715. break;
  1716. case "?30":
  1717. $(".product-a li")
  1718. .eq(30)
  1719. .click();
  1720. break;
  1721. case "?31":
  1722. $(".product-a li")
  1723. .eq(31)
  1724. .click();
  1725. break;
  1726. case "?32":
  1727. $(".product-a li")
  1728. .eq(32)
  1729. .click();
  1730. break;
  1731. case "?33":
  1732. $(".product-a li")
  1733. .eq(33)
  1734. .click();
  1735. break;
  1736. case "?34":
  1737. $(".product-a li")
  1738. .eq(34)
  1739. .click();
  1740. break;
  1741. default:
  1742. break;
  1743. }
  1744. submit();
  1745. function submit() {
  1746. let name = "";
  1747. let phone = "";
  1748. $("#submitName").on("input", function() {
  1749. name = $(this).val();
  1750. });
  1751. $("#submitPhone").on("input", function() {
  1752. phone = $(this).val();
  1753. });
  1754. $("#submitGo").on("click", function() {
  1755. if (
  1756. $("#submitName")
  1757. .val()
  1758. .trim() == ""
  1759. ) {
  1760. alert("请输入姓名!");
  1761. $("#submitPhone").val("");
  1762. $("#submitName").val("");
  1763. return;
  1764. }
  1765. if (
  1766. $("#submitPhone")
  1767. .val()
  1768. .trim() == ""
  1769. ) {
  1770. alert("请输入联系方式!");
  1771. $("#submitPhone").val("");
  1772. $("#submitName").val("");
  1773. return;
  1774. }
  1775. $.ajax({
  1776. method: "post",
  1777. dataType: "json",
  1778. crossDomain: false,
  1779. url: api + "/open/addVisitingCustomers",
  1780. data: {
  1781. name,
  1782. mobile: phone
  1783. },
  1784. success: function(data) {
  1785. if (data.error && data.error.length) {
  1786. console.log("数据异常");
  1787. } else {
  1788. alert(`提交成功!`);
  1789. $("#submitPhone").val("");
  1790. $("#submitName").val("");
  1791. $(".footer-submit").fadeOut();
  1792. $(".infoDown").eq(1).fadeOut();
  1793. }
  1794. }
  1795. });
  1796. });
  1797. $("#submit-close").on("click", function() {
  1798. $(".footer-submit").fadeOut();
  1799. $(".infoDown").eq(1).fadeOut();
  1800. });
  1801. }
  1802. urlTo()
  1803. function urlTo() {
  1804. let index = window.location.search.split("=")[1]
  1805. if(index == 3) {
  1806. $(".secondary-menu>div>ul>li").eq(index).click()
  1807. }
  1808. }
  1809. function activitiesPage1() {
  1810. $.ajax({
  1811. url: api + "/open/activity/list",
  1812. data:{
  1813. pageNo: 1,
  1814. pageSize: 10,
  1815. },
  1816. type: "GET",
  1817. dataType: "json",
  1818. success: function(data) {
  1819. if (data.error && data.error.length) {
  1820. } else {
  1821. if (data.data.list.length) {
  1822. window.sessionStorage.setItem("total", data.data.totalCount);
  1823. activitiesPage();
  1824. }
  1825. }
  1826. }
  1827. });
  1828. }
  1829. function activitiesPage() {
  1830. var obj_2 = {
  1831. obj_box: ".page_activitiesPage",
  1832. total_item: +window.sessionStorage.getItem("total"), //总共数据
  1833. per_num: 5, //每页显示数据
  1834. current_page: 1, //当前页
  1835. change_content: function(per_num, current_page) {
  1836. per_num = per_num ? per_num : 10;
  1837. current_page = current_page ? current_page : 1;
  1838. $.ajax({
  1839. url: api + "/open/activity/list",
  1840. data:{
  1841. pageNo: current_page,
  1842. pageSize: per_num,
  1843. },
  1844. type: "GET",
  1845. dataType: "json",
  1846. success: function(data) {
  1847. if (data.error && data.error.length) {
  1848. alert("数据加载失败,请刷新页面");
  1849. } else {
  1850. var html = "";
  1851. if (data.data.list.length) {
  1852. let activeArrowSrc = $(".activeArrow").attr('src');
  1853. let clientStyle = document.body.clientWidth < 989 ? '' : 'display:flex;align-items: center;';
  1854. for (var i = 0; i < data.data.list.length; i++) {
  1855. var activitiesList = data.data.list[i];
  1856. var content = activitiesList.content.replace(/<.*?>/gi, "");
  1857. html +=
  1858. "<div style='padding-bottom: 30px'><div style="+clientStyle+"><span style='display:flex;align-items:center;white-space:nowrap;min-width: 297px;'><div style='font-size: 30px;color: #070707;font-weight: bolder;'>"+activitiesList.title+"</div>"+
  1859. "<img style='padding-left:20px;width: 60px;height: auto;' src="+activeArrowSrc+"></span>"+
  1860. "<div style='font-size:16px; color: #666;'>"+
  1861. content+
  1862. "</div>"+
  1863. "</div>"+
  1864. "<img style='padding-top:5px;padding-bottom:21px;width:100%;height:auto;' src="
  1865. + avatarUploadHost + activitiesList.pictureUrl +
  1866. "></div>"
  1867. }
  1868. window.sessionStorage.setItem("total", data.data.totalCount);
  1869. } else {
  1870. html =
  1871. "<h4 style='text-align:center;margin-top:90px;color:#666' >暂无团队活动</h4>";
  1872. $(".page_ctrl").css({
  1873. display: "none"
  1874. });
  1875. }
  1876. $(".group-activities").html(html);
  1877. }
  1878. }
  1879. });
  1880. }
  1881. };
  1882. //调用分页
  1883. page_ctrl(obj_2);
  1884. }
  1885. activitiesPage1();
  1886. });