You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

392 lines
11 KiB

3 years ago
  1. $('.wrap').css('height', $(window).height());
  2. $(function() {
  3. list();
  4. })
  5. getJssdk();
  6. wx.ready(function() {
  7. getReadyWorld(); //执行接口
  8. })
  9. var cseArr = [];
  10. var chooseArr = [];
  11. function list() {
  12. var datalist = [];
  13. var areaList = '';
  14. var selectArr = [];
  15. let idList = [];
  16. $.getJSON("json/jibenxinxi.json", function(data) {
  17. var ulList = '';
  18. //左侧
  19. datalist = data;
  20. $.each(data, function(i, item) {
  21. if(i == 0) {
  22. areaList += '<li class="active" leftid=' + item.id + ' data-name=' + item.pinyin + ' data-cityname=' + item.name + '><span class="name">' + item.name + '</span><span class="num">(0)</span></li>'
  23. } else {
  24. areaList += '<li class="" leftId=' + item.id + ' data-name=' + item.pinyin + '><span class="name">' + item.name + '</span><span class="num">(0)</span></li>'
  25. }
  26. ulList += '<ul class="museumImg">'
  27. $.each(item.bowuguan, function(index, val) {
  28. ulList += '<li class="" rightid=' + val.id + '></li>'
  29. })
  30. ulList += '</ul>'
  31. $('.imgList').html(ulList);
  32. })
  33. var bList = data[0].bowuguan;
  34. var rightCont = '';
  35. $.each(bList, function(i, item) {
  36. if(idList.indexOf(item.id) == -1) {
  37. rightCont += '<li class="" rightid=' + item.id + '><div class="item "><p class="contImg"><img src="' + item.photo + '" /></p><p class="icon"><img src="img/select.png" /></p></div><p class="name">' + item.name + '</p></li>'
  38. } else {
  39. rightCont += '<li class="active" rightid=' + item.id + '><div class="item "><p class="contImg"><img src="' + item.photo + '" /></p><p class="icon"><img src="img/select.png" /></p></div><p class="name">' + item.name + '</p></li>'
  40. }
  41. })
  42. $('.museumImg').eq(0).html(rightCont);
  43. $('.museumImg').eq(0).css('display', 'flex');
  44. $('.leftList ul').html(areaList);
  45. //左侧点击事件
  46. $('.leftList ul').on('click', 'li', function(e) {
  47. var rightCont = '';
  48. console.log(e)
  49. console.log(data[$(this).index()].bowuguan)
  50. var bList = data[$(this).index()].bowuguan;
  51. $.each(bList, function(i, item) {
  52. if(idList.indexOf(item.id) == -1) {
  53. rightCont += '<li class="" rightid=' + item.id + '><div class="item "><p class="contImg"><img src="' + item.photo + '" /></p><p class="icon"><img src="img/select.png" /></p></div><p class="name">' + item.name + '</p></li>'
  54. } else {
  55. rightCont += '<li class="active" rightid=' + item.id + '><div class="item "><p class="contImg"><img src="' + item.photo + '" /></p><p class="icon"><img src="img/select.png" /></p></div><p class="name">' + item.name + '</p></li>'
  56. }
  57. })
  58. $('.museumImg').eq($(this).index()).html(rightCont);
  59. $(this).addClass('active').siblings().removeClass('active')
  60. $('.imgList ul').eq($(this).index()).css('display', 'flex').siblings().css('display', 'none')
  61. })
  62. //右侧点击事件
  63. $('.imgList').on('click', 'li', function(e) {
  64. if($(this).hasClass('active')) {
  65. $(this).removeClass('active');
  66. let index = idList.indexOf($(this).attr('rightid'))
  67. delet(idList[index], index)
  68. // idList.splice(index, 1);
  69. } else {
  70. let q = $(this).parent().index();
  71. $(this).addClass('active');
  72. idList.push($(this).attr('rightid'))
  73. hot(idList)
  74. }
  75. let ons = $(this).parent().find('.active').length;
  76. if(ons > 0) {
  77. $('.leftList li').eq($(this).parent().index()).find('.num').show();
  78. $('.leftList li').eq($(this).parent().index()).find('.num').html('(' + ons + ')');
  79. } else {
  80. $('.leftList li').eq($(this).parent().index()).find('.num').hide();
  81. $('.leftList li').eq($(this).parent().index()).removeClass('select');
  82. }
  83. })
  84. function hot(id) {
  85. chooseArr = [];
  86. var m = null;
  87. var num = null;
  88. var choseCont = '';
  89. $.each(id, function(a, s) {
  90. $.each($('.imgList li'), function(i, v) {
  91. if(s == $(v).attr('rightid')) {
  92. $(v).addClass('active');
  93. m = $('.imgList>ul').index($(v).parent());
  94. $('.leftList li').eq(m).addClass('select');
  95. num = $(v).parent().find('.active').length;
  96. $('.leftList li').eq(m).find('.num').show();
  97. $('.leftList li').eq(m).find('.num').html('(' + $(v).parent().find('.active').length + ')');
  98. }
  99. });
  100. });
  101. $.each(id, function(index, val) {
  102. var split = val.split("_");
  103. $.each(datalist, function(index_1, val_1) {
  104. // console.log(index_1)
  105. if(split[0] == val_1.id) {
  106. console.log(val_1)
  107. if(chooseArr.length > 0) {
  108. var ifOf = true;
  109. for(var i = 0; i < chooseArr.length; i++) {
  110. for(var s = 0; s <= chooseArr[i].list; s++) {
  111. choseCont += '<li><span class="text">' + chooseArr[i].list[s] + '</span><span rightid=' + val.id + ' class="closeIcon"><img src="img/close.png"/></span></li>'
  112. }
  113. if(chooseArr[i].id == split[0]) {
  114. ifOf = false;
  115. chooseArr[i].list.push(val);
  116. $.each(val_1.bowuguan, function(b, name) {
  117. if(val == name.id) {
  118. chooseArr[i].bName.push(name.name);
  119. }
  120. })
  121. $.each(val_1.bowuguan, function(b, name) {
  122. if(val == name.id) {
  123. chooseArr[i].bUrl.push(name.url);
  124. }
  125. })
  126. chooseArr[i].num++;
  127. break;
  128. }
  129. }
  130. if(ifOf) {
  131. var info = {
  132. 'id': '',
  133. 'name': '',
  134. 'cityName': '',
  135. 'num': '',
  136. 'bName': [],
  137. 'bUrl': [],
  138. 'list': [],
  139. 'bNum': idList.length,
  140. }
  141. info.id = val_1.id;
  142. info.name = val_1.pinyin;
  143. info.cityName = val_1.name
  144. info.num = 1;
  145. info.list = [];
  146. info.list.push(val);
  147. $.each(val_1.bowuguan, function(b, name) {
  148. if(val == name.id) {
  149. info.bName.push(name.name);
  150. }
  151. })
  152. $.each(val_1.bowuguan, function(b, name) {
  153. if(val == name.id) {
  154. info.bUrl.push(name.url);
  155. }
  156. })
  157. chooseArr.push(info);
  158. xuanzhong()
  159. }
  160. } else {
  161. var info = {
  162. 'id': '',
  163. 'name': '',
  164. 'cityName': '',
  165. 'num': '',
  166. 'bName': [],
  167. 'bUrl': [],
  168. 'list': [],
  169. 'bNum': idList.length,
  170. }
  171. info.id = val_1.id;
  172. info.name = val_1.pinyin;
  173. info.cityName = val_1.name
  174. info.num = 1;
  175. info.list = [];
  176. info.list.push(val);
  177. $.each(val_1.bowuguan, function(b, name) {
  178. if(val == name.id) {
  179. info.bName.push(name.name);
  180. }
  181. })
  182. $.each(val_1.bowuguan, function(b, name) {
  183. if(val == name.id) {
  184. info.bUrl.push(name.url);
  185. }
  186. })
  187. chooseArr.push(info);
  188. xuanzhong();
  189. }
  190. }
  191. })
  192. });
  193. console.log(chooseArr)
  194. xuanzhong()
  195. }
  196. function delet(deletId, index) {
  197. idList.splice(index, 1);
  198. var idList2 = idList.length;
  199. Array.prototype.remove = function(val) {
  200. var index = this.indexOf(val);
  201. if(index > -1) {
  202. this.splice(index, 1);
  203. }
  204. };
  205. $.each($('.imgList li'), function(i, v) {
  206. if($(v).attr('rightid') == deletId) {
  207. $(v).removeClass('active');
  208. let a = $('.imgList>ul').index($(v).parent());
  209. if($(v).parent().find('.active').length <= 0) {
  210. $('.leftList li').eq(a).find('.num').hide();
  211. $('.leftList li').eq(a).removeClass('select')
  212. } else {
  213. $('.leftList li').eq(a).find('.num').html('(' + $(v).parent().find('.active').length + ')');
  214. }
  215. }
  216. })
  217. var split = deletId.split("_");
  218. $.each(datalist, function(index_1, val_1) {
  219. if(split[0] == val_1.id) {
  220. if(chooseArr.length > 0) {
  221. var ifOf = true;
  222. for(var i = 0; i < chooseArr.length; i++) {
  223. if(chooseArr[i].id == split[0]) {
  224. ifOf = false;
  225. chooseArr[i].list.remove(deletId);
  226. $.each(val_1.bowuguan, function(b, name) {
  227. if(deletId == name.id) {
  228. chooseArr[i].bName.remove(name.name);
  229. }
  230. })
  231. if(chooseArr[i].list.length == 0) {
  232. chooseArr.remove(chooseArr[i])
  233. } else {
  234. chooseArr[i].num--;
  235. }
  236. break;
  237. }
  238. }
  239. for(var i = 0; i < chooseArr.length; i++) {
  240. chooseArr[i].bNum = idList2;
  241. for(var j = 0; j <= chooseArr[i].bName; j++) {
  242. cseArr += '<li><span class="text">' + chooseArr[i].bName[j] + '</span><span class="closeIcon"><img src="img/close.png"/></span></li>'
  243. }
  244. }
  245. $('.chooseName').html(cseArr)
  246. // chooseName
  247. if(ifOf) {
  248. var info = {
  249. 'id': '',
  250. 'name': '',
  251. 'cityName': '',
  252. 'num': '',
  253. 'bName': [],
  254. 'bUrl': [],
  255. 'list': [],
  256. 'bNum': '',
  257. }
  258. info.id = val_1.id;
  259. info.name = val_1.pinyin;
  260. info.cityName = val_1.name
  261. info.num = 1;
  262. info.bNum = 1;
  263. info.list = [];
  264. info.list.remove(deletId);
  265. $.each(val_1.bowuguan, function(b, name) {
  266. if(deletId == name.id) {
  267. info.bName.remove(name.name);
  268. }
  269. })
  270. $.each(val_1.bowuguan, function(b, name) {
  271. if(deletId == name.id) {
  272. info.bUrl.remove(name.url);
  273. }
  274. })
  275. chooseArr.push(info);
  276. }
  277. } else {
  278. var info = {
  279. 'id': '',
  280. 'name': '',
  281. 'cityName': '',
  282. 'num': '',
  283. 'bName': [],
  284. 'bUrl': [],
  285. 'list': [],
  286. 'bNum': '',
  287. }
  288. info.id = val_1.id;
  289. info.name = val_1.pinyin;
  290. info.cityName = val_1.name
  291. info.num = 1;
  292. info.list = [];
  293. info.list.remove(deletId);
  294. $.each(val_1.bowuguan, function(b, name) {
  295. if(deletId == name.id) {
  296. info.bName.remove(name.name);
  297. }
  298. })
  299. $.each(val_1.bowuguan, function(b, name) {
  300. if(deletId == name.id) {
  301. info.bUrl.remove(name.url);
  302. }
  303. })
  304. info.bNum = 1;
  305. chooseArr.push(info);
  306. console.log(info)
  307. console.log(chooseArr)
  308. }
  309. }
  310. })
  311. console.log(chooseArr)
  312. xuanzhong()
  313. }
  314. function xuanzhong() {
  315. $('.tips').fadeOut(0);
  316. cseArr = '';
  317. $.each(chooseArr, function(ind, vals) {
  318. var dist = vals.bName.length;
  319. for(var j = 0; j < dist; j++) {
  320. console.log(j)
  321. cseArr += '<li><span class="text">' + vals.bName[j] + '</span><span rightid=' + vals.list[j] + ' class="closeIcon"><img src="img/close.png"/></span></li>'
  322. }
  323. });
  324. $('.chooseName').html(cseArr)
  325. }
  326. $('.chooseName').on('click', '.closeIcon', function() {
  327. console.log('111')
  328. $(this).removeClass('active');
  329. let index = idList.indexOf($(this).attr('rightid'))
  330. delet(idList[index], index)
  331. })
  332. })
  333. }
  334. var clickState = true;
  335. $('.deepBtn').click(function() {
  336. // console.log(chooseArr)
  337. if(chooseArr.length == 0) {
  338. $('.tips').fadeIn(500);
  339. setTimeout(function() {
  340. $('.tips').fadeOut(1000);
  341. }, 1000)
  342. } else {
  343. localStorage.setItem("chooseArr", JSON.stringify(chooseArr));
  344. console.log(chooseArr)
  345. location.replace("http://h5.qishichuangke.cn/html5/zxxt/index/index-world");
  346. // window.location.href = "worldShare.html"
  347. }
  348. })