reportForm.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688
  1. <template>
  2. <view class="reportForm-container">
  3. <!-- tabs -->
  4. <view class="index-fixed">
  5. <view class="index-header">
  6. <input type="text" placeholder="搜索您想要的产业资源包" placeholder-class="sea_ipt_placeholder" class="sea_ipt"
  7. v-model="searchTxt" disabled @click="goSearch" />
  8. <icon type="search" size="15" class="search_ico" />
  9. </view>
  10. <view class="tab-cont">
  11. <scroll-view scroll-x="true" @scroll="scrollMove" :scroll-left="scrollLeft" scroll-with-animation
  12. class="scroll-tab" :scroll-into-view="'_'+tabIndex">
  13. <block v-for="(item, index) in tabBars" :key="item.ChartPermissionId">
  14. <view :id="'_'+index" class="scroll-tab-item"
  15. :class="{ active: tabAct_id == item.ChartPermissionId }"
  16. @click.stop="toggleTab(item,index)">
  17. {{item.PermissionName}}
  18. <image src="@/static/img/border_act.png" mode="" class="border_act"
  19. v-if="tabAct_id == item.ChartPermissionId"></image>
  20. </view>
  21. </block>
  22. <view class="limit-box" v-if="limitIsShow">
  23. <image class="limit-img" src="../../static/img/limit_icon.png" mode=""></image>
  24. </view>
  25. </scroll-view>
  26. </view>
  27. <view class="lucency" v-if="tabBars.length>6"></view>
  28. </view>
  29. <!-- 内容 -->
  30. <view class="strategy" v-if="strategyIndex==4">
  31. <view class="tab-cont-two">
  32. <scroll-view scroll-x="true" scroll-with-animation class="scroll-tab-tow">
  33. <block v-for="(item, index) in tabBarsTow" :key="item.CategoryId">
  34. <view :id="'__'+index" class="scroll-tab-item"
  35. :class="{ active: tabAct_idTwo == item.CategoryId }" @click.stop="toggleTabTwo(item,index)">
  36. {{item.MatchTypeName}}
  37. <text class="reg-text" v-if="item.IsRed"></text>
  38. </view>
  39. </block>
  40. </scroll-view>
  41. </view>
  42. <view class="row">
  43. </view>
  44. <!-- 子组件 -->
  45. <strategy :strategyIndexTwo="strategyIndexTwo" :pageNumFather='pageNumFather' :matchTypeName="matchTypeName"
  46. :tabAct_idTwo="tabAct_idTwo" :isNum="isNum" :isSwitchover="isSwitchover" @hideIsred="hideIsred" />
  47. </view>
  48. <view class="" v-else-if="strategyIndex==5">
  49. <researchChoose :strategyIndex="strategyIndex" :tabAct="tabAct_id" :pageNumFather="pageNumFather"
  50. :isNum="isNum" />
  51. </view>
  52. <!-- </view> -->
  53. <view class="industrial_eport_one" v-else>
  54. <!-- 行业报告 -->
  55. <view class="industry" v-if="tradeList">
  56. <view style="height: 20rpx;"></view>
  57. <view class="industry-top">
  58. <view class="img-top-box">
  59. <image src="@/static/img/industry-ico.png"></image>
  60. <text>行业综述</text>
  61. </view>
  62. <view>
  63. </view>
  64. </view>
  65. <view class="industry-box" @click="isClickHandle(item.CategoryId)" v-for="item in tradeList"
  66. :key="item.CategoryId">
  67. <view class="box-left">
  68. {{item.MatchTypeName}}
  69. <text v-if="item.IsRed"></text>
  70. </view>
  71. <view class="box-right">
  72. <text>{{item.UpdateTime}}更新</text>
  73. <u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
  74. </view>
  75. </view>
  76. </view>
  77. <!-- 产业报告 -->
  78. <view class="industry">
  79. <view style="height: 12rpx;" v-if="!tradeList"></view>
  80. <view class="industry-top industry-sticky">
  81. <view class="img-top-box">
  82. <image src="@/static/img/property_ico.png" style="height: 50rpx;"></image>
  83. <text class="text-sub">细分产业</text>
  84. </view>
  85. <van-dropdown-menu active-color="#333333">
  86. <van-dropdown-item id="menuItem" @open="isscroll" :title="overallArrangementName">
  87. <view class="menu-items-tow">
  88. <view class="items-tow" @click="pitchClick(item,index)" v-for="(item,index) in pitchOn"
  89. :key="item.id">
  90. <view>
  91. <u-icon v-show="pitchOnId==item.id" name="checkbox-mark" color="#2C83FF"
  92. size="24"></u-icon>
  93. </view>
  94. <text :class="pitchOnId==item.id?'items-act':''">{{item.name}}</text>
  95. </view>
  96. </view>
  97. <view style="background-color: #f8f8fa;width: 100%;">
  98. <view style="margin: 0 auto;width: 682rpx;border-bottom: 2rpx dashed #999;">
  99. </view>
  100. </view>
  101. <view class="menu-items">
  102. <view class="menu-items-box" @click="overallBtn(index,item)"
  103. v-for="(item,index) in overallArrangement" :key="item.id">
  104. <view class="items-box">
  105. <u-icon v-show="item.isShow" name="checkbox-mark" color="#2C83FF" size="24">
  106. </u-icon>
  107. </view>
  108. <text>{{item.name}}</text>
  109. </view>
  110. </view>
  111. <view class="replacement-box">
  112. <view class="replacement">
  113. <text @click="replacementBtn" class="replacement-box">重置</text>
  114. <text @click="replacementConfirm">确定</text>
  115. </view>
  116. </view>
  117. </van-dropdown-item>
  118. </van-dropdown-menu>
  119. </view>
  120. <!-- 需要循环的地方 -->
  121. <view class="forindustry" v-for="item in industryList" :key="item.IndustrialManagementId">
  122. <!-- 火锅底料这个位置 -->
  123. <view class="industry-content">
  124. <view class="industry-box-left" @click="reportFllow(item.IndustrialManagementId)">
  125. <image src="@/static/img/top_ico.png" v-if="item.IsFollow"></image>
  126. <image src="@/static/img/top_no_ico.png" v-else></image>
  127. </view>
  128. <view class="industry-box-right" @click="goIndustryReport(item.IndustrialManagementId)">
  129. <view class="ndustry-box-read">
  130. <text>{{item.IndustryName}}</text>
  131. <image v-if="item.IsHot" src="../../static/img/ammunition_ico.png" mode=""></image>
  132. </view>
  133. <view class="ndustry-box-arrow">
  134. <text v-if="item.IsRed" class="read"></text>
  135. <text class="ndustry-box-text">{{item.UpdateTime}}更新</text>
  136. <u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
  137. </view>
  138. </view>
  139. </view>
  140. <view class="content-box" v-if="item.IndustrialSubjectList.length>6">
  141. <u-read-more :toggle="true" :show-height="item.IndustrialSubjectList.length>6 ? 140 :150"
  142. :shadow-style="shadowStyle" close-text="展开" color="#D1D1D1">
  143. <view class="read-more">
  144. <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId"
  145. @click="goIndustryReport(item.IndustrialManagementId)" class="text-box">
  146. {{val.SubjectName}}
  147. </view>
  148. </view>
  149. </u-read-more>
  150. </view>
  151. <view class="content-box" v-else @click="goIndustryReport(item.IndustrialManagementId)">
  152. <view class="read-more">
  153. <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId"
  154. class="text-box">{{val.SubjectName}}</view>
  155. </view>
  156. </view>
  157. </view>
  158. <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20"
  159. v-if="totalPage>1" />
  160. </view>
  161. </view>
  162. <coverGuide :isGuideShow="isGuideShow" />
  163. <u-modal v-model="goFollowShow" :content-style="{fontSize: '32rpx'}" @confirm="goFollowShowBtn"
  164. :show-cancel-button="isCancelBtn" :confirm-text="confirmText" @cancel="isCancelBtn=false"
  165. :show-title="false" :cancel-style="{borderRight:'1rpx solid #EBEBEB'}" :confirm-style="{fontWeight: '700'}">
  166. <view class="slot-content">
  167. <rich-text :nodes="accounts"></rich-text>
  168. </view>
  169. </u-modal>
  170. <view class="content-intimate" v-if="reportShow">
  171. <van-transition :show="showTransition" name="fade-right">
  172. <view class="content">
  173. <view @click="goSecretDetail('1')">
  174. <text>报告</text>
  175. <text>精选</text>
  176. </view>
  177. <view class="cont-border" @click="goSecretDetail('2')">
  178. <text>本周研</text>
  179. <text>究汇总</text>
  180. </view>
  181. <view @click="goSecretDetail('3')">
  182. <text>上周纪</text>
  183. <text>要汇总</text>
  184. </view>
  185. </view>
  186. </van-transition>
  187. <image @click="showTransition=!showTransition" src="https://hzstatic.hzinsights.com/cygx/czbk/intimate-icon.png" mode=""></image>
  188. </view>
  189. </view>
  190. </template>
  191. <script>
  192. import strategy from "./components/strategy.vue"
  193. import researchChoose from "./components/researchChoose.vue"
  194. import coverGuide from "./components/coverGuide.vue"
  195. import {
  196. Throttle,
  197. Debounce
  198. } from '@/config/util.js'
  199. import {
  200. Reports
  201. } from '@/config/api.js'
  202. let app = getApp()
  203. export default {
  204. components: {
  205. strategy,
  206. researchChoose,
  207. coverGuide
  208. },
  209. data() {
  210. return {
  211. tabAct_id: '',
  212. tabAct_idTwo: '',
  213. tabBars: [],
  214. pageNumFather: '',
  215. shadowStyle: {
  216. backgroundImage: "none"
  217. },
  218. tabBarsTow: [],
  219. pitchOn: [{
  220. name: '按最近更新排序',
  221. id: 'NewTime'
  222. }, {
  223. name: '按推荐关注排序',
  224. id: 'Recommend',
  225. }],
  226. pitchOnId: 'NewTime',
  227. //pitchOnName: '按最近更新排序',
  228. isNum: 1,
  229. strategyIndex: '',
  230. strategyIndexTwo: 0,
  231. isSwitchover: 1,
  232. tradeList: [],
  233. OrderColumn: '',
  234. industryList: [],
  235. loadText: {
  236. loadmore: '上拉加载更多',
  237. loading: '加载中',
  238. nomore: '已经到底了'
  239. },
  240. refresh: false, //正在下拉
  241. page_no: 1,
  242. pageSize: 10,
  243. status: 'loadmore',
  244. haveData: true,
  245. totalPage: '',
  246. matchTypeName: '',
  247. overallArrangement: [{
  248. name: '新布局产业',
  249. id: '1',
  250. isShow: false
  251. }, {
  252. name: '深度研究产业',
  253. id: '2',
  254. isShow: false
  255. }, ],
  256. overallArrangementId: '',
  257. overallArrangementName: '按最近更新排序',
  258. isScrollShow: false,
  259. isGuideShow: false,
  260. limitIsShow: false, //限免显示隐藏
  261. goFollowShow: false,
  262. accounts: '',
  263. confirmText: '知道了',
  264. isCancelBtn: false,
  265. scrollLeft: 0,
  266. showTransition: false,//点击绝密后的隐现
  267. reportShow:false,//绝密标签的隐现
  268. }
  269. },
  270. onLoad(option) {
  271. this.loadList(option)
  272. },
  273. watch: {
  274. //监听tabs的变化
  275. tabAct_id: {
  276. handler() {
  277. this.initList()
  278. },
  279. immediate: true
  280. }
  281. },
  282. methods: {
  283. //获取一级事件
  284. getClassify() {
  285. Reports.getClassify().then(res => {
  286. if (res.Ret !== 200) return
  287. this.tabBars = res.Data.List || []
  288. if (!this.tabAct_id) {
  289. this.tabAct_id = res.Data.List[0].ChartPermissionId
  290. this.$store.dispatch("statistics", {
  291. PageType: 'Report',
  292. ChartPermissionId: Number(this.tabAct_id)
  293. })
  294. }
  295. this.limitIsShow = this.tabBars.some(item => item.IsShowSustainable)
  296. })
  297. },
  298. //获取二级事件
  299. getstrategyAll() {
  300. Reports.getstrategyAll().then(res => {
  301. this.tabBarsTow = res.Data.List
  302. if (!this.tabAct_idTwo) {
  303. this.tabAct_idTwo = res.Data.List[0].CategoryId
  304. }
  305. this.matchTypeName = res.Data.List[0].MatchTypeName
  306. })
  307. },
  308. //tabs切换事件
  309. toggleTab(item, index) {
  310. this.strategyIndex = index
  311. if (this.tabAct_id !== item.ChartPermissionId) {
  312. this.tabAct_id = item.ChartPermissionId;
  313. this.$store.dispatch("statistics", {
  314. PageType: 'Report',
  315. ChartPermissionId: Number(this.tabAct_id)
  316. })
  317. this.pageNum = 1;
  318. uni.pageScrollTo({
  319. scrollTop: 0,
  320. duration: 0,
  321. });
  322. }
  323. this.getRectTab(index)
  324. },
  325. async reportIsShow(){
  326. const res = await Reports.reportIsShow()
  327. if(res.Ret===200){
  328. this.reportShow=res.Data.IsShow
  329. }
  330. },
  331. getRectTab(index) {
  332. // const query = uni.createSelectorQuery().in(this);
  333. // query.select(`#_${index}`).boundingClientRect(rect => {
  334. // var screen = wx.getSystemInfoSync().windowWidth/2;
  335. // //获取点击item的左边坐标
  336. // var left = rect.left;
  337. // //获取item的宽度de 一半
  338. // var subhalfwidth= rect.width/2
  339. // //需要scrollview 移动的距离是
  340. // var juli = left-screen
  341. // var zuizhongjuli = juli+subhalfwidth
  342. // this.scrollLeft = this.scrollLeft+=zuizhongjuli
  343. // }).exec();
  344. },
  345. scrollMove(e) {
  346. this.scrollLeft = e.detail.scrollLeft;
  347. },
  348. //tabs切换二级事件
  349. toggleTabTwo(item, index) {
  350. this.matchTypeName = item.MatchTypeName
  351. this.strategyIndexTwo = index
  352. if (this.tabAct_idTwo !== item.CategoryId) {
  353. this.tabAct_idTwo = item.CategoryId;
  354. this.pageNum = 1;
  355. uni.pageScrollTo({
  356. scrollTop: 0,
  357. duration: 0,
  358. });
  359. }
  360. },
  361. //点击产业报告的筛选条件
  362. pitchClick(item) {
  363. this.pitchOnName = item.name
  364. this.OrderColumn = item.id
  365. if (this.pitchOnId !== item.id) {
  366. this.pitchOnId = item.id;
  367. }
  368. },
  369. //获取报告所有品种接口
  370. getTradeList() {
  371. Reports.getTradeList({
  372. ChartPermissionId: this.tabAct_id
  373. }).then(res => {
  374. if (res.Ret == 200) {
  375. this.tradeList = res.Data.List || []
  376. }
  377. })
  378. },
  379. //获取产业报告所有品种接口
  380. getIndustryList() {
  381. Reports.getIndustryList({
  382. ChartPermissionId: this.tabAct_id,
  383. OrderColumn: this.OrderColumn,
  384. PageSize: this.pageSize,
  385. CurrentIndex: this.page_no,
  386. IsNewLabel: this.overallArrangementId.includes(1) ? '1' : '0',
  387. IsDeepLabel: this.overallArrangementId.includes(2) ? '1' : '0'
  388. }).then(res => {
  389. // this.industryList=res.Data.List
  390. this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
  391. this.totalPage = res.Data.Paging.Pages; //总页数
  392. if (this.page_no === 1) {
  393. this.industryList = res.Data.List || [];
  394. this.haveData = this.industryList.length ? true : false
  395. if (this.refresh) {
  396. uni.stopPullDownRefresh();
  397. this.refresh = false;
  398. }
  399. } else {
  400. this.industryList = this.industryList.concat(res.Data.List)
  401. }
  402. })
  403. },
  404. //跳转季度策略
  405. isClickHandle(id) {
  406. this.public({
  407. type: 'show'
  408. }, true, '/reportPages/industrialReport/industrialReport?id=', id)
  409. },
  410. //跳转产业报告
  411. goIndustryReport(id) {
  412. this.public({
  413. type: 'show'
  414. }, true, '/reportPages/IndustryReport/IndustryReport?id=', id)
  415. },
  416. //点击关注的图标
  417. reportFllow(id) {
  418. Reports.reportFllow({
  419. IndustrialManagementId: id
  420. }).then(res => {
  421. if (res.Ret === 200) {
  422. if (res.Data.Status == 1) {
  423. this.goFollowShow = true
  424. this.confirmText = res.Data.GoFollow ? '去关注' : '知道了'
  425. if (res.Data.GoFollow) {
  426. this.accounts = `产业关注成功 <br> 想要及时获取该产业内容的更新推送,请关注【弘则研究】公众号`
  427. this.isCancelBtn = true
  428. } else {
  429. this.accounts = '产业关注成功,产业报告更新时,【弘则研究】公众号会为您推送微信消息提醒'
  430. }
  431. }
  432. this.industryList.forEach(key => {
  433. if (key.IndustrialManagementId == id) {
  434. if (key.IsFollow == 1) {
  435. key.IsFollow = 0
  436. uni.showToast({
  437. title: '已取消关注',
  438. icon: 'none',
  439. duration: 2000
  440. });
  441. } else {
  442. key.IsFollow = 1
  443. }
  444. }
  445. })
  446. }
  447. })
  448. },
  449. goFollowShowBtn() {
  450. if (this.confirmText == '去关注') {
  451. uni.navigateTo({
  452. url: '/activityPages/accountsOfficial/accountsOfficial'
  453. })
  454. }
  455. this.goFollowShow = false
  456. },
  457. hideIsred(is) {
  458. this.tabBarsTow[this.strategyIndexTwo].IsRed = is
  459. },
  460. /* 新布局产业选项*/
  461. overallBtn(index, item) {
  462. this.overallArrangement.forEach(key => {
  463. if (key.id == item.id) {
  464. key.isShow = !key.isShow
  465. }
  466. })
  467. },
  468. /* 新布局产业选项确定按钮 */
  469. replacementConfirm() {
  470. const arr = []
  471. this.overallArrangement.forEach(key => {
  472. if (key.isShow) {
  473. arr.push(key.id)
  474. }
  475. })
  476. this.overallArrangementId = arr.join(',')
  477. this.overallArrangementName = this.pitchOnName
  478. this.page_no = 1;
  479. this.status = 'loadmore'
  480. this.getIndustryList()
  481. this.selectComponent('#menuItem').toggle();
  482. },
  483. /* 新布局产业选项重置按钮 */
  484. replacementBtn() {
  485. this.OrderColumn = 'NewTime'
  486. this.pitchOnId = 'NewTime'
  487. this.overallArrangement.forEach(key => key.isShow = false)
  488. this.overallArrangementName = '按最近排序更新'
  489. },
  490. /* 判断页面滚动 */
  491. isscroll: Debounce(function() {
  492. this.isScrollShow = true
  493. }),
  494. /* 搜索 */
  495. goSearch() {
  496. this.public({
  497. type: 'show'
  498. }, true, '/reportPages/reportSearch/reportSearch')
  499. },
  500. /* 跳转 */
  501. public(type, flag, purl, price = '') {
  502. return new Promise((resolve, reject) => {
  503. this.$store.dispatch('checkHandle', type).then(res => {
  504. app.globalData.isAuth = res.IsAuth;
  505. app.globalData.isBind = res.IsBind;
  506. if ((!res.IsAuth) && (!res.IsBind)) { //已授权已绑定
  507. if (flag) {
  508. uni.navigateTo({
  509. url: purl + price,
  510. });
  511. }
  512. } else if (res.IsAuth) { //未授权
  513. uni.navigateTo({
  514. url: '/pages/authGuide/authGuide'
  515. })
  516. return
  517. } else if (res.IsBind && !res.IsAuth) { //已授权未绑定
  518. uni.navigateTo({
  519. url: '/pages/login/login'
  520. })
  521. return
  522. }
  523. })
  524. })
  525. },
  526. /* 初始 */
  527. initList() {
  528. if (this.tabAct_id && (this.strategyIndex !== 4 && this.strategyIndex !== 5)) {
  529. this.OrderColumn = 'NewTime'
  530. this.pitchOnId = 'NewTime'
  531. this.overallArrangementName = '按最近更新排序'
  532. this.overallArrangementId = ''
  533. this.page_no = 1;
  534. this.refresh = true;
  535. this.getIndustryList()
  536. this.getTradeList()
  537. this.overallArrangement.forEach(key => key.isShow = false)
  538. }
  539. this.strategyIndex == 4 ? this.getstrategyAll() : this.tabAct_idTwo = ''
  540. if (this.isScrollShow) {
  541. this.selectComponent('#menuItem').toggle(false);
  542. this.isScrollShow = false
  543. }
  544. this.isNum = 1
  545. },
  546. /* 页面加载 */
  547. loadList(option) {
  548. if (!this.$db.get('guideSole')) { //新手指引
  549. this.isGuideShow = true
  550. }
  551. this.$store.dispatch("checkHandle", {
  552. type: 'load',
  553. val: option
  554. }).then(res => {
  555. app.globalData.isAuth = res.IsAuth;
  556. app.globalData.isBind = res.IsBind;
  557. app.globalData.isSx = true
  558. this.tabAct_id = option.tab || ''
  559. if (option.tabs !== '' && option.tabs) {
  560. this.strategyIndex = 4
  561. this.tabAct_idTwo = option.tabs
  562. }
  563. if (this.tabAct_id == 31) {
  564. this.strategyIndex = 5
  565. }
  566. this.getClassify()
  567. this.reportIsShow()
  568. })
  569. this.$db.set('guideSole', 1) //新手指引
  570. },
  571. goSecretDetail(type){
  572. uni.navigateTo({
  573. url:'/reportPages/secretDetails/secretDetails?type='+type
  574. })
  575. }
  576. },
  577. /* 触底 */
  578. onReachBottom: Throttle(function() {
  579. if (this.strategyIndex == 4 || this.strategyIndex == 5) {
  580. this.isNum++
  581. return
  582. }
  583. if (this.status === 'nomore') return;
  584. this.status = 'loading';
  585. this.page_no++;
  586. this.getIndustryList()
  587. }),
  588. /* 下拉刷新 */
  589. onPullDownRefresh: Throttle(function() {
  590. if (this.strategyIndex == 4 || this.strategyIndex == 5) {
  591. this.pageNumFather = 1
  592. } else {
  593. this.industryList = []
  594. this.pageNumFather = null
  595. this.page_no = 1;
  596. this.refresh = true;
  597. this.getIndustryList()
  598. this.getTradeList()
  599. }
  600. wx.stopPullDownRefresh();
  601. }),
  602. onShow() {
  603. if (this.tabAct_id) {
  604. this.$store.dispatch("statistics", {
  605. PageType: 'Report',
  606. ChartPermissionId: Number(this.tabAct_id)
  607. })
  608. }
  609. if (this.tabAct_id && app.globalData.isSx) {
  610. this.getTradeList()
  611. }
  612. },
  613. /**
  614. * 用户点击分享
  615. */
  616. onShareAppMessage: function(res) {
  617. return {
  618. title: "报告",
  619. path: '/pages/reportForm/reportForm?tab=' + this.tabAct_id + '&tabs=' + this.tabAct_idTwo,
  620. success: (res) => {},
  621. fail: (err) => {}
  622. }
  623. },
  624. /**
  625. *监听页面滚动
  626. */
  627. onPageScroll() {
  628. if (this.isScrollShow) {
  629. this.selectComponent('#menuItem').toggle(false);
  630. this.isScrollShow = false
  631. }
  632. },
  633. onHide() {
  634. if( this.showTransition) {
  635. this.showTransition= false
  636. }
  637. if (this.strategyIndex == 4 || this.strategyIndex == 5) return
  638. this.selectComponent('#menuItem').toggle(false);
  639. },
  640. }
  641. </script>
  642. <style scoped lang="scss">
  643. @import './index.scss';
  644. .content-intimate {
  645. position: fixed;
  646. display: flex;
  647. align-items: center;
  648. bottom: 96rpx;
  649. right: 41rpx;
  650. height: 156rpx;
  651. .content {
  652. width: 432rpx;
  653. height: 112rpx;
  654. background-color: #FFF;
  655. display: flex;
  656. border-radius: 56rpx;
  657. overflow: hidden;
  658. .cont-border {
  659. margin: 0 2rpx;
  660. }
  661. view {
  662. flex: 1;
  663. background-color: #3385FF;
  664. font-size: 30rpx;
  665. color: #fff;
  666. padding-top: 15rpx;
  667. text-align: center;
  668. }
  669. }
  670. image {
  671. width: 156rpx;
  672. height: 100%;
  673. z-index: 99;
  674. }
  675. }
  676. </style>