brokershare.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. // customer/pages/brokershare/brokershare.js
  2. var App = getApp();
  3. var utils = require("../../../utils/http");
  4. var page = 1;
  5. var showflag=true;
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. shareType: '1',
  12. datashow: false,
  13. ruleShow: false,
  14. shareControl: false,
  15. shareArticlelist: [],
  16. leftShareArr: [],
  17. rightShareArr: [],
  18. ruleInfo: ""
  19. },
  20. /**
  21. * 生命周期函数--监听页面加载
  22. */
  23. onLoad(options) {
  24. page = 1;
  25. wx.hideHomeButton();
  26. wx.showLoading({ title: "加载中..." });
  27. this.getControlShare();
  28. },
  29. jumpMinePage: function () {
  30. if (!App.globalData.brokeruserId) {
  31. wx.showToast({
  32. title: `请先成为${App.globalData.agentName||'装修推荐官'}`,
  33. icon: "none"
  34. })
  35. return false;
  36. }
  37. wx.reLaunch({
  38. url: '/customer/pages/broker/broker',
  39. })
  40. },
  41. jumpIndexPage: function () {
  42. wx.reLaunch({
  43. url: '/customer/pages/brokerindex/brokerindex',
  44. })
  45. },
  46. jumpscreenshot: function() {
  47. if (!App.globalData.brokeruserId) {
  48. wx.showToast({
  49. title: `请先成为${App.globalData.agentName||'装修推荐官'}`,
  50. icon: "none"
  51. })
  52. return false;
  53. }
  54. wx.reLaunch({
  55. url: '/customer/pages/screenshot/screenshot',
  56. })
  57. },
  58. jumpShareInfo: function (e) {
  59. let type = e.currentTarget.dataset.type;
  60. let content_id = e.currentTarget.dataset.contentid;
  61. let itemId = e.currentTarget.dataset.id;
  62. if (this.data.shareType == 1) {
  63. switch (type) {
  64. case "AgentArticle":
  65. wx.navigateTo({
  66. url: '/customer/pages/brokershareinfo/brokershareinfo?id=' + content_id,
  67. })
  68. break;
  69. case "MaterialEvidence":
  70. wx.navigateTo({
  71. url: '/index/pages/publicpraisemsg/publicpraisemsg?eid=' + content_id + '&ty=b',
  72. })
  73. break;
  74. case "CompanyStrength":
  75. wx.navigateTo({
  76. url: '/index/pages/companystrengthmsg/companystrengthmsg?eid=' + content_id + '&ty=b',
  77. })
  78. break;
  79. case "Video":
  80. wx.navigateTo({
  81. url: '/index/pages/videoshare/videoshare?vid=' + content_id + '&ty=b',
  82. })
  83. break;
  84. case "Building":
  85. wx.navigateTo({
  86. url: '/index/pages/progressdetail/progressdetail?cid=' + content_id + '&ty=b',
  87. })
  88. break;
  89. case "MaterialCase":
  90. wx.navigateTo({
  91. url: '/index/pages/casemsg/casemsg?cid=' + content_id + '&ty=b',
  92. })
  93. break;
  94. case "Article":
  95. wx.navigateTo({
  96. url: '/index/pages/articleshare/articleshare?aid=' + content_id + '&ty=b',
  97. })
  98. break;
  99. }
  100. } else {
  101. wx.navigateTo({
  102. url: '/customer/pages/brokershareinfo/brokershareinfo?from=2&id=' + itemId,
  103. })
  104. }
  105. },
  106. getControlShare() {
  107. let that = this;
  108. let api = App.globalData.brokeruserId ? 'api/agentsWork/show_recommend_share' : 'api/agents/show_recommend_share';
  109. utils.$post({
  110. url: App.globalData.webUrl + api,
  111. header: {
  112. 'Authorization': 'bearer ' + App.globalData.token
  113. },
  114. data: {},
  115. success: function (res) {
  116. if (res.data.code == '0') {
  117. that.setData({
  118. shareControl: res.data.data=='true'?true:false,
  119. })
  120. if (!that.data.shareControl) {
  121. that.setData({
  122. shareType: 2,
  123. })
  124. }
  125. that.getShareArticlelist();
  126. }
  127. }
  128. })
  129. },
  130. viewRuleInfo() {
  131. this.setData({
  132. ruleShow: true
  133. })
  134. },
  135. hideRuleFunc() {
  136. this.setData({
  137. ruleShow: false
  138. })
  139. },
  140. switchFunc(e) {
  141. page = 1;
  142. this.setData({
  143. datashow: false,
  144. shareArticlelist: [],
  145. leftShareArr: [],
  146. rightShareArr: [],
  147. shareType: e.currentTarget.dataset.type
  148. })
  149. wx.showLoading({ title: "加载中..." });
  150. this.getShareArticlelist();
  151. },
  152. getShareArticlelist() {
  153. let that = this;
  154. let urllink = "";
  155. let params = {
  156. page: page,
  157. limit: 10,
  158. };
  159. if (App.globalData.brokeruserId) {
  160. urllink = (that.data.shareType == 1)?'api/agentsWork/share_article':'api/agents_work/company_artlist';
  161. } else {
  162. if (this.data.shareType == 1) {
  163. params.employee_id = App.globalData.brokerEmployeeId;
  164. }
  165. params.type = App.globalData.brokerType;
  166. urllink = (that.data.shareType == 1)?'api/agents/share_article':'api/agents/company_artlist';
  167. }
  168. utils.$post({
  169. url: App.globalData.webUrl + urllink,
  170. header: {
  171. 'Authorization': 'bearer ' + App.globalData.token
  172. },
  173. data: params,
  174. success: function (res) {
  175. wx.hideLoading();
  176. if (res.data.code == '0') {
  177. if (that.data.shareType == 1) {
  178. res.data.data.list = res.data.data.list.map(v => {
  179. if (v.type == 'CompanyStrength' || v.type == 'MaterialEvidence') {
  180. if (v.difference == 1 && v.type == 'MaterialEvidence') {
  181. v.cover = Array.isArray(v.cover)&&v.cover.length?v.cover[0]+'?x-oss-process=video/snapshot,t_100,f_jpg,w_375,m_fast':v.cover
  182. } else {
  183. v.cover = Array.isArray(v.cover)&&v.cover.length?v.cover[0]:v.cover
  184. }
  185. return v;
  186. } else {
  187. return v;
  188. }
  189. })
  190. } else {
  191. res.data.data.list = res.data.data.list.map(v => {
  192. if (v.type == 1) {
  193. v.cover = v.cover?v.cover:`${v.file[0]}?x-oss-process=video/snapshot,t_100,f_jpg,w_375,m_fast`
  194. return v;
  195. } else {
  196. return v;
  197. }
  198. })
  199. }
  200. that.setData({
  201. datashow: true,
  202. shareArticlelist: res.data.data.list,
  203. ruleInfo: res.data.data.reward_rules
  204. })
  205. that.caseimgload();
  206. }
  207. }
  208. })
  209. },
  210. caseimgload: function () {
  211. var that = this;
  212. var leftlist = that.data.leftShareArr;
  213. var rightlist = that.data.rightShareArr;
  214. var indexlist = that.data.shareArticlelist;
  215. if (indexlist.length == 0) {
  216. return false;
  217. }
  218. if (!indexlist[0]) {
  219. return false;
  220. }
  221. if (leftlist.length == 0) {
  222. leftlist.push(indexlist[0]);
  223. indexlist.shift();
  224. that.setData({
  225. shareArticlelist: indexlist,
  226. leftShareArr: leftlist,
  227. rightShareArr: rightlist
  228. })
  229. } else {
  230. var leftheight, rightheight;
  231. const query = wx.createSelectorQuery()
  232. query.select('#leftcasebox').boundingClientRect();
  233. query.exec(function (res) {
  234. if(res[0]){
  235. leftheight = res[0].height;
  236. const query1 = wx.createSelectorQuery()
  237. query1.select('#rightcasebox').boundingClientRect();
  238. query1.exec(function (rs) {
  239. leftlist = that.data.leftShareArr;
  240. rightlist = that.data.rightShareArr;
  241. indexlist = that.data.shareArticlelist;
  242. rightheight = rs[0].height;
  243. if (!indexlist[0]) {
  244. return false;
  245. }
  246. if (leftheight <= rightheight) {
  247. leftlist.push(indexlist[0]);
  248. indexlist.shift();
  249. } else {
  250. rightlist.push(indexlist[0]);
  251. indexlist.shift();
  252. }
  253. that.setData({
  254. shareArticlelist: indexlist,
  255. leftShareArr: leftlist,
  256. rightShareArr: rightlist
  257. })
  258. })
  259. }
  260. });
  261. }
  262. },
  263. dothis:function(){},
  264. /**
  265. * 生命周期函数--监听页面初次渲染完成
  266. */
  267. onReady() {
  268. },
  269. /**
  270. * 生命周期函数--监听页面显示
  271. */
  272. onShow() {
  273. if (!showflag) {
  274. this.caseimgload();
  275. }
  276. showflag = true;
  277. },
  278. /**
  279. * 生命周期函数--监听页面隐藏
  280. */
  281. onHide() {
  282. showflag=false;
  283. },
  284. /**
  285. * 生命周期函数--监听页面卸载
  286. */
  287. onUnload() {
  288. },
  289. /**
  290. * 页面相关事件处理函数--监听用户下拉动作
  291. */
  292. onPullDownRefresh() {
  293. page = 1;
  294. let that = this;
  295. setTimeout(() => {
  296. wx.stopPullDownRefresh();
  297. },800)
  298. wx.showLoading({ title: "加载中..." });
  299. this.setData({
  300. datashow: false,
  301. shareArticlelist: [],
  302. leftShareArr: [],
  303. rightShareArr: [],
  304. })
  305. let urllink = "";
  306. let params = {
  307. page: page,
  308. limit: 10,
  309. };
  310. if (App.globalData.brokeruserId) {
  311. urllink = (that.data.shareType == 1)?'api/agentsWork/share_article':'api/agents_work/company_artlist';
  312. } else {
  313. if (this.data.shareType == 1) {
  314. params.employee_id = App.globalData.brokerEmployeeId;
  315. }
  316. params.type = App.globalData.brokerType;
  317. urllink = (that.data.shareType == 1)?'api/agents/share_article':'api/agents/company_artlist';
  318. }
  319. utils.$post({
  320. url: App.globalData.webUrl + urllink,
  321. header: {
  322. 'Authorization': 'bearer ' + App.globalData.token
  323. },
  324. data: params,
  325. success: function (res) {
  326. wx.hideLoading();
  327. if (res.data.code == '0') {
  328. if (that.data.shareType == 1) {
  329. res.data.data.list = res.data.data.list.map(v => {
  330. if (v.type == 'CompanyStrength' || v.type == 'MaterialEvidence') {
  331. if (v.difference == 1 && v.type == 'MaterialEvidence') {
  332. v.cover = Array.isArray(v.cover)&&v.cover.length?v.cover[0]+'?x-oss-process=video/snapshot,t_100,f_jpg,w_375,m_fast':v.cover
  333. } else {
  334. v.cover = Array.isArray(v.cover)&&v.cover.length?v.cover[0]:v.cover
  335. }
  336. return v;
  337. } else {
  338. return v;
  339. }
  340. })
  341. } else {
  342. res.data.data.list = res.data.data.list.map(v => {
  343. if (v.type == 1) {
  344. v.cover = v.cover?v.cover:`${v.file[0]}?x-oss-process=video/snapshot,t_100,f_jpg,w_375,m_fast`
  345. return v;
  346. } else {
  347. return v;
  348. }
  349. })
  350. }
  351. that.setData({
  352. shareArticlelist: res.data.data.list,
  353. })
  354. that.caseimgload();
  355. }
  356. }
  357. })
  358. },
  359. /**
  360. * 页面上拉触底事件的处理函数
  361. */
  362. onReachBottom() {
  363. wx.showLoading({ title: "加载中..." });
  364. page = page + 1;
  365. let that = this;
  366. let urllink = "";
  367. let params = {
  368. page: page,
  369. limit: 10,
  370. };
  371. if (App.globalData.brokeruserId) {
  372. urllink = (that.data.shareType == 1)?'api/agentsWork/share_article':'api/agents_work/company_artlist';
  373. } else {
  374. if (this.data.shareType == 1) {
  375. params.employee_id = App.globalData.brokerEmployeeId;
  376. }
  377. params.type = App.globalData.brokerType;
  378. urllink = (that.data.shareType == 1)?'api/agents/share_article':'api/agents/company_artlist';
  379. }
  380. utils.$post({
  381. url: App.globalData.webUrl + urllink,
  382. header: {
  383. 'Authorization': 'bearer ' + App.globalData.token
  384. },
  385. data: params,
  386. success: function (res) {
  387. wx.hideLoading();
  388. if (res.data.code == '0') {
  389. if (that.data.shareType == 1) {
  390. res.data.data.list = res.data.data.list.map(v => {
  391. if (v.type == 'CompanyStrength' || v.type == 'MaterialEvidence') {
  392. if (v.difference == 1 && v.type == 'MaterialEvidence') {
  393. v.cover = Array.isArray(v.cover)&&v.cover.length?v.cover[0]+'?x-oss-process=video/snapshot,t_100,f_jpg,w_375,m_fast':v.cover
  394. } else {
  395. v.cover = Array.isArray(v.cover)&&v.cover.length?v.cover[0]:v.cover
  396. }
  397. return v;
  398. } else {
  399. return v;
  400. }
  401. })
  402. } else {
  403. res.data.data.list = res.data.data.list.map(v => {
  404. if (v.type == 1) {
  405. v.cover = v.cover?v.cover:`${v.file[0]}?x-oss-process=video/snapshot,t_100,f_jpg,w_375,m_fast`
  406. return v;
  407. } else {
  408. return v;
  409. }
  410. })
  411. }
  412. let arr = that.data.shareArticlelist.concat(res.data.data.list);
  413. that.setData({
  414. shareArticlelist: arr
  415. })
  416. that.caseimgload();
  417. }
  418. }
  419. })
  420. },
  421. })