communitycase.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. const app=getApp();
  2. var utils=require("../../../utils/http");
  3. const util=require("../../../utils/util");
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. ordertype:'time',
  10. leftcaselist:[],
  11. rightcaselist:[],
  12. imgUrl:app.globalData.imgUrl,
  13. datashow:false,
  14. filtrateflag:false,
  15. casekeytext:'',
  16. casefiltratetype:1,
  17. square_end:'',
  18. square_start:'',
  19. casestyletype:'',
  20. housestylelist:[],
  21. nowstyleid:'',
  22. casestylelist:[],
  23. commu_id:''
  24. },
  25. /**
  26. * 生命周期函数--监听页面加载
  27. */
  28. onLoad: function (options) {
  29. this.setData({
  30. commu_id:options.cid
  31. })
  32. wx.setNavigationBarTitle({
  33. title: options.text,
  34. })
  35. this.casestylefun();
  36. this.housestylefun();
  37. this.caselistfun();
  38. },
  39. casestylefun:function(){
  40. var that=this;
  41. utils.$get({
  42. url: app.globalData.webUrl + 'api/stylelist',
  43. header: {
  44. 'Authorization':'bearer '+app.globalData.token
  45. },
  46. data:{},
  47. success: function (res) {
  48. if(res.data.code=='0'){
  49. that.setData({
  50. casestylelist:res.data.data
  51. })
  52. }
  53. }
  54. })
  55. },
  56. housestylefun:function(){
  57. var that=this;
  58. utils.$get({
  59. url: app.globalData.webUrl + 'api/material/housetypelist',
  60. header: {
  61. 'Authorization':'bearer '+app.globalData.token
  62. },
  63. data:{},
  64. success: function (res) {
  65. if(res.data.code=='0'){
  66. that.setData({
  67. housestylelist:res.data.data
  68. })
  69. }
  70. }
  71. })
  72. },
  73. caseimgload:function(){
  74. var that=this;
  75. var leftlist=that.data.leftcaselist;
  76. var rightlist=that.data.rightcaselist;
  77. var indexlist=that.data.caselist;
  78. if(indexlist.length==0){
  79. return false;
  80. }
  81. if(leftlist.length==0){
  82. leftlist.push(indexlist[0]);
  83. indexlist.shift();
  84. that.setData({
  85. caselist:indexlist,
  86. leftcaselist:leftlist,
  87. rightcaselist:rightlist
  88. })
  89. }else{
  90. var leftheight,rightheight;
  91. wx.createSelectorQuery().select('.leftcasebox').boundingClientRect(function(res){
  92. leftheight=res.height;
  93. wx.createSelectorQuery().select('.rightcasebox').boundingClientRect(function(rs){
  94. leftlist=that.data.leftcaselist;
  95. rightlist=that.data.rightcaselist;
  96. indexlist=that.data.caselist;
  97. rightheight=rs.height;
  98. if(leftheight<=rightheight){
  99. leftlist.push(indexlist[0]);
  100. indexlist.shift();
  101. }else{
  102. rightlist.push(indexlist[0]);
  103. indexlist.shift();
  104. }
  105. that.setData({
  106. caselist:indexlist,
  107. leftcaselist:leftlist,
  108. rightcaselist:rightlist
  109. })
  110. }).exec();
  111. }).exec();
  112. }
  113. },
  114. setordertypetap(e){
  115. this.setData({
  116. ordertype:e.currentTarget.dataset.type
  117. })
  118. this.caselistfun();
  119. },
  120. allfiltratetap:function(){
  121. this.setData({
  122. filtrateflag:true
  123. })
  124. },
  125. closefiltratetap:function(){
  126. this.setData({
  127. filtrateflag:false
  128. })
  129. },
  130. casemsgtap:function(e){
  131. wx.navigateTo({
  132. url: '/index/pages/casemsg/casemsg?cid='+e.currentTarget.dataset.cid,
  133. })
  134. },
  135. casesharetap:function(e){
  136. var that=this;
  137. that.setData({
  138. nowtype:'materialCase',
  139. nowid:e.currentTarget.dataset.cid,
  140. nowtitle:e.currentTarget.dataset.title,
  141. nowimg:e.currentTarget.dataset.img,
  142. wshareshow:true,
  143. islist:false,
  144. })
  145. },
  146. casecollectap:function(e){
  147. var that=this;
  148. let caselist='';
  149. if(e.currentTarget.dataset.type=='rightcaselist'){
  150. caselist=that.data.rightcaselist;
  151. }else{
  152. caselist=that.data.leftcaselist;
  153. }
  154. utils.$post({
  155. url: app.globalData.webUrl + 'api/collect',
  156. header: {
  157. 'Authorization':'bearer '+app.globalData.token
  158. },
  159. data:{
  160. user_id:app.globalData.personMsg.id,
  161. content_type:"materialCase",
  162. content_id:e.currentTarget.dataset.cid
  163. },
  164. success: function (res) {
  165. if(res.data.code=='0'){
  166. wx.showToast({
  167. title: res.data.msg,
  168. icon: 'none',
  169. duration: 2000
  170. })
  171. caselist[e.currentTarget.dataset.idx].collected=!caselist[e.currentTarget.dataset.idx].collected;
  172. if(e.currentTarget.dataset.type=='rightcaselist'){
  173. that.setData({
  174. rightcaselist:caselist
  175. })
  176. }else{
  177. that.setData({
  178. leftcaselist:caselist
  179. })
  180. }
  181. }
  182. }
  183. })
  184. },
  185. dothis(){},
  186. casefiltratetap:function(e){
  187. this.setData({
  188. casefiltratetype:e.currentTarget.dataset.type
  189. })
  190. },
  191. deltap(e) {
  192. var that=this;
  193. that.setData({
  194. commu_id:'',
  195. communame:''
  196. })
  197. that.caselistfun();
  198. },
  199. elareatap:function(e){
  200. var that=this;
  201. that.setData({
  202. square_start:'',
  203. square_end:'',
  204. })
  205. that.caselistfun();
  206. },
  207. casestyletap:function(e){
  208. this.setData({
  209. casestyletype:e.currentTarget.dataset.type
  210. })
  211. this.caselistfun();
  212. },
  213. selectareatap:function(e){
  214. var that=this;
  215. that.setData({
  216. square_start:e.currentTarget.dataset.start,
  217. square_end:e.currentTarget.dataset.end,
  218. })
  219. that.caselistfun();
  220. },
  221. onChoose(e) {
  222. var that=this;
  223. that.setData({
  224. commu_id:e.detail.item.currentTarget.dataset.cid,
  225. communame:e.detail.item.currentTarget.dataset.item.name
  226. })
  227. that.caselistfun();
  228. },
  229. housestyletap:function(e){
  230. this.setData({
  231. nowstyleid:e.currentTarget.dataset.type
  232. })
  233. this.caselistfun();
  234. },
  235. caselistfun:function(e){
  236. var that=this;
  237. if(!!e){
  238. that.setData({
  239. filtrateflag:false
  240. })
  241. }
  242. that.setData({
  243. casepage:1,
  244. })
  245. utils.$get({
  246. url: app.globalData.webUrl + 'api/caselist',
  247. header: {
  248. 'Authorization':'bearer '+app.globalData.token
  249. },
  250. data:{
  251. uid:app.globalData.personMsg.id,
  252. page:1,
  253. commu_id:that.data.commu_id,// 小区id
  254. style_id:that.data.casestyletype,//风格id
  255. square_start:that.data.square_start,//面积开始值
  256. square_end:that.data.square_end,//面积结束值
  257. keyword:that.data.casekeytext,
  258. housetype_id:that.data.nowstyleid,
  259. order:that.data.ordertype=='time'?'addtime':'view_times'
  260. },
  261. success: function (res) {
  262. that.setData({
  263. datashow:true
  264. })
  265. if(res.data.code=='0'){
  266. that.setData({
  267. caselist:res.data.data,
  268. leftcaselist:[],
  269. rightcaselist:[],
  270. datashow:true
  271. })
  272. that.caseimgload();
  273. }
  274. setTimeout(function(){
  275. wx.hideLoading()
  276. },1000)
  277. },fail(){
  278. wx.hideLoading()
  279. }
  280. })
  281. },
  282. /**
  283. * 生命周期函数--监听页面初次渲染完成
  284. */
  285. onReady: function () {
  286. },
  287. setpostertap: function () {
  288. let that=this;
  289. let type=that.data.nowtype,usrl="";
  290. type="materialCase";
  291. usrl='&u='+app.globalData.personMsg.id +'&c=' + that.data.commu_id + '&s=' + that.data.casestyletype + '&st=' + that.data.square_start + '&e=' + that.data.square_end + '&h=' + that.data.nowstyleid
  292. wx.navigateTo({
  293. url: '/index/pages/setposter/setposter?type='+type+'&aid='+this.data.nowid+"&listshare="+(that.data.listshare?'123':'')+usrl,
  294. })
  295. },
  296. sharelogtap:function(e){
  297. var that=this;
  298. utils.$post({
  299. url: app.globalData.webUrl + 'api/share/addlog',
  300. header: {
  301. 'Authorization':'bearer '+app.globalData.token
  302. },
  303. data: {
  304. id:that.data.nowid,
  305. type:'materialCase'
  306. },
  307. success: function (r) {
  308. }
  309. })
  310. },
  311. shareurltap:function(){
  312. let that=this;
  313. wx.showLoading({
  314. title: '加载中...',
  315. })
  316. util.schemefun('/share/pages/materialcase/materialcase','cid='+that.data.nowid+'&uid='+app.globalData.personMsg.id,that.data.nowid+'&ctp='+app.globalData.clientype,'materialCase','');
  317. this.sharelogtap();
  318. },
  319. sendfriendtap:function(){
  320. this.sharelogtap();
  321. },
  322. /**
  323. * 生命周期函数--监听页面显示
  324. */
  325. onShow: function () {
  326. },
  327. /**
  328. * 生命周期函数--监听页面隐藏
  329. */
  330. onHide: function () {
  331. },
  332. /**
  333. * 生命周期函数--监听页面卸载
  334. */
  335. onUnload: function () {
  336. },
  337. /**
  338. * 页面相关事件处理函数--监听用户下拉动作
  339. */
  340. onPullDownRefresh: function () {
  341. const that=this;
  342. that.setData({
  343. casepage:1
  344. })
  345. let casepage=that.data.casepage;
  346. utils.$get({
  347. url: app.globalData.webUrl + 'api/caselist',
  348. header: {
  349. 'Authorization':'bearer '+app.globalData.token
  350. },
  351. data:{
  352. uid:app.globalData.personMsg.id,
  353. page:casepage,
  354. commu_id:that.data.commu_id,// 小区id
  355. style_id:that.data.casestyletype,//风格id
  356. square_start:that.data.square_start,//面积开始值
  357. square_end:that.data.square_end,//面积结束值
  358. keyword:that.data.casekeytext,
  359. housetype_id:that.data.nowstyleid,
  360. order:that.data.ordertype=='time'?'addtime':'view_times'
  361. },
  362. success: function (res) {
  363. wx.stopPullDownRefresh();
  364. if(res.data.code=='0'){
  365. that.setData({
  366. caselist:res.data.data,
  367. leftcaselist:[],
  368. rightcaselist:[],
  369. })
  370. that.caseimgload();
  371. }
  372. }
  373. })
  374. },
  375. /**
  376. * 页面上拉触底事件的处理函数
  377. */
  378. onReachBottom: function () {
  379. const that=this;
  380. let casepage=that.data.casepage;
  381. casepage=casepage*1+1;
  382. that.setData({
  383. casepage:casepage
  384. })
  385. utils.$get({
  386. url: app.globalData.webUrl + 'api/caselist',
  387. header: {
  388. 'Authorization':'bearer '+app.globalData.token
  389. },
  390. data:{
  391. uid:app.globalData.personMsg.id,
  392. page:casepage,
  393. commu_id:that.data.commu_id,// 小区id
  394. style_id:that.data.casestyletype,//风格id
  395. square_start:that.data.square_start,//面积开始值
  396. square_end:that.data.square_end,//面积结束值
  397. keyword:that.data.casekeytext,
  398. housetype_id:that.data.nowstyleid,
  399. order:that.data.ordertype=='time'?'addtime':'view_times'
  400. },
  401. success: function (res) {
  402. if(res.data.code=='0'){
  403. let arrflag=false;
  404. let caselist=that.data.caselist;
  405. if(caselist.length!=0){
  406. arrflag=true;
  407. }
  408. caselist=caselist.concat(res.data.data)
  409. that.setData({
  410. caselist:caselist
  411. })
  412. if(!arrflag){
  413. that.caseimgload();
  414. }
  415. }
  416. }
  417. })
  418. },
  419. /**
  420. * 用户点击右上角分享
  421. */
  422. onShareAppMessage: function () {
  423. }
  424. })