reportForm.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940
  1. <template>
  2. <view class="reportForm-container">
  3. <!-- tabs -->
  4. <!-- tabs -->
  5. <view class="index-fixed">
  6. <view class="index-header">
  7. <input type="text" placeholder="搜索您想要的报告" placeholder-class="sea_ipt_placeholder" class="sea_ipt"
  8. v-model="searchTxt" disabled @click="goSearch" />
  9. <icon type="search" size="15" class="search_ico" />
  10. </view>
  11. <view class="tab-cont">
  12. <scroll-view scroll-x="true" scroll-with-animation 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. </scroll-view>
  23. </view>
  24. <view class="lucency" v-if="tabBars.length>6"></view>
  25. </view>
  26. <!-- 内容 -->
  27. <view class="strategy" v-if="strategyIndex==4">
  28. <view class="tab-cont-two">
  29. <scroll-view scroll-x="true" scroll-with-animation class="scroll-tab-tow">
  30. <block v-for="(item, index) in tabBarsTow" :key="item.CategoryId">
  31. <view :id="'_'+index" class="scroll-tab-item"
  32. :class="{ active: tabAct_idTwo == item.CategoryId }" @click.stop="toggleTabTwo(item,index)">
  33. {{item.MatchTypeName}}
  34. <text class="reg-text" v-if="item.IsRed"></text>
  35. </view>
  36. </block>
  37. </scroll-view>
  38. </view>
  39. <view class="row">
  40. </view>
  41. <!-- 子组件 -->
  42. <strategy :strategyIndexTwo="strategyIndexTwo" :pageNumFather='pageNumFather' :matchTypeName="matchTypeName"
  43. :tabAct_idTwo="tabAct_idTwo" :isNum="isNum" :isSwitchover="isSwitchover" @hideIsred="hideIsred" />
  44. </view>
  45. <!-- </view> -->
  46. <view class="industrial_eport_one" v-else>
  47. <!-- 行业报告 -->
  48. <view class="industry" v-if="tradeList">
  49. <view style="height: 20rpx;"></view>
  50. <view class="industry-top">
  51. <view class="img-top-box">
  52. <image src="@/static/img/industry-ico.png"></image>
  53. <text>行业综述</text>
  54. </view>
  55. <view>
  56. </view>
  57. </view>
  58. <view class="industry-box" @click="isClickHandle(item.CategoryId)" v-for="item in tradeList"
  59. :key="item.CategoryId">
  60. <view class="box-left">
  61. {{item.MatchTypeName}}
  62. <text v-if="item.IsRed"></text>
  63. </view>
  64. <view class="box-right">
  65. <text>{{item.UpdateTime}}更新</text>
  66. <u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
  67. </view>
  68. </view>
  69. </view>
  70. <!-- 产业报告 -->
  71. <view class="industry">
  72. <view style="height: 12rpx;" v-if="!tradeList"></view>
  73. <view class="industry-top industry-sticky">
  74. <view class="img-top-box">
  75. <image src="@/static/img/property_ico.png" style="height: 50rpx;"></image>
  76. <text class="text-sub">细分产业</text>
  77. </view>
  78. <van-dropdown-menu active-color="#333333">
  79. <van-dropdown-item id="menuItem" @open="isscroll" :title="overallArrangementName">
  80. <view class="menu-items-tow">
  81. <view class="items-tow" @click="pitchClick(item,index)" v-for="(item,index) in pitchOn"
  82. :key="item.id">
  83. <view>
  84. <u-icon v-show="pitchOnId==item.id" name="checkbox-mark" color="#2C83FF"
  85. size="24"></u-icon>
  86. </view>
  87. <text :class="pitchOnId==item.id?'items-act':''">{{item.name}}</text>
  88. </view>
  89. </view>
  90. <view class="menu-dashed">
  91. </view>
  92. <view class="menu-items">
  93. <view class="menu-items-box" @click="overallBtn(index,item)"
  94. v-for="(item,index) in overallArrangement" :key="item.id">
  95. <view class="items-box">
  96. <u-icon v-show="item.isShow" name="checkbox-mark" color="#2C83FF" size="24">
  97. </u-icon>
  98. </view>
  99. <text>{{item.name}}</text>
  100. </view>
  101. </view>
  102. <view class="replacement-box">
  103. <view class="replacement">
  104. <text @click="replacementBtn" class="replacement-box">重置</text>
  105. <text @click="replacementConfirm">确定</text>
  106. </view>
  107. </view>
  108. </van-dropdown-item>
  109. </van-dropdown-menu>
  110. </view>
  111. <!-- 需要循环的地方 -->
  112. <view class="forindustry" v-for="item in industryList" :key="item.IndustrialManagementId">
  113. <!-- 火锅底料这个位置 -->
  114. <view class="industry-box industry-content">
  115. <view class="industry-box-left">
  116. <image src="@/static/img/top_ico.png" v-if="item.IsTop"
  117. @click="isOverhead(item.IndustrialManagementId)"></image>
  118. <image src="@/static/img/top_no_ico.png" v-else
  119. @click="isOverhead(item.IndustrialManagementId)"></image>
  120. </view>
  121. <view class="industry-box-right" @click="goIndustryReport(item.IndustrialManagementId)">
  122. <view class="ndustry-box-read">
  123. <text>{{item.IndustryName}}</text>
  124. <text v-if="item.IsRed" class="read"></text>
  125. </view>
  126. <view class="ndustry-box-arrow">
  127. <text class="ndustry-box-text">{{item.UpdateTime}}更新</text>
  128. <u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
  129. </view>
  130. </view>
  131. </view>
  132. <view class="content-box" v-if="item.IndustrialSubjectList.length>6">
  133. <u-read-more :toggle="true" :show-height="item.IndustrialSubjectList.length>6 ? 140 :150"
  134. :shadow-style="shadowStyle" close-text="展开" color="#D1D1D1">
  135. <view class="read-more">
  136. <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId"
  137. @click="goIndustryReport(item.IndustrialManagementId)" class="text-box">
  138. {{val.SubjectName}}
  139. </view>
  140. </view>
  141. </u-read-more>
  142. </view>
  143. <view class="content-box" v-else @click="goIndustryReport(item.IndustrialManagementId)">
  144. <view class="read-more">
  145. <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId"
  146. class="text-box">{{val.SubjectName}}</view>
  147. </view>
  148. </view>
  149. </view>
  150. <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20"
  151. v-if="totalPage>1" />
  152. </view>
  153. </view>
  154. </view>
  155. </template>
  156. <script>
  157. import strategy from "./components/strategy.vue"
  158. import {
  159. Throttle
  160. } from '@/config/util.js'
  161. import {
  162. Reports
  163. } from '@/config/api.js'
  164. let app = getApp()
  165. export default {
  166. components: {
  167. strategy
  168. },
  169. data() {
  170. return {
  171. tabAct_id: null,
  172. tabAct_idTwo: null,
  173. tabBars: [],
  174. pageNumFather: null,
  175. shadowStyle: {
  176. backgroundImage: "none"
  177. },
  178. tabBarsTow: [],
  179. pitchOn: [{
  180. name: '按最近更新排序',
  181. id: 'NewTime'
  182. }, {
  183. name: '按推荐关注排序',
  184. id: 'Recommend',
  185. }],
  186. pitchOnId: 'NewTime',
  187. //pitchOnName: '按最近更新排序',
  188. isNum: 1,
  189. strategyIndex: null,
  190. strategyIndexTwo: 0,
  191. isSwitchover: 1,
  192. tradeList: [],
  193. OrderColumn: '',
  194. industryList: [],
  195. loadText: {
  196. loadmore: '上拉加载更多',
  197. loading: '加载中',
  198. nomore: '已经到底了'
  199. },
  200. refresh: false, //正在下拉
  201. page_no: 1,
  202. pageSize: 10,
  203. status: 'loadmore',
  204. haveData: true,
  205. totalPage: '',
  206. matchTypeName: '',
  207. overallArrangement: [{
  208. name: '新布局产业',
  209. id: '1',
  210. isShow: false
  211. }, {
  212. name: '深度研究产业',
  213. id: '2',
  214. isShow: false
  215. }, ],
  216. overallArrangementId: '',
  217. overallArrangementName: '按最近更新排序',
  218. isScrollShow: false
  219. }
  220. },
  221. onLoad(option) {
  222. this.tabAct_id = option.tab || null
  223. if (option.tabs !== 'null' && option.tabs) {
  224. this.strategyIndex = 4
  225. this.tabAct_idTwo = option.tabs
  226. }
  227. this.getClassify()
  228. },
  229. computed: {},
  230. watch: {
  231. //监听tabs的变化
  232. tabAct_id: {
  233. handler() {
  234. if (this.strategyIndex == 4) {
  235. this.getstrategyAll()
  236. } else {
  237. this.tabAct_idTwo = null
  238. }
  239. if (this.tabAct_id) {
  240. this.OrderColumn = 'NewTime'
  241. this.pitchOnId = 'NewTime'
  242. this.overallArrangementName = '按最近更新排序'
  243. this.overallArrangementId = '' //待完善
  244. //this.pitchOnName = '按最近更新排序'
  245. this.page_no = 1;
  246. this.refresh = true;
  247. this.getIndustryList()
  248. this.getTradeList()
  249. }
  250. if (this.isScrollShow) {
  251. this.selectComponent('#menuItem').toggle(false);
  252. //this.selectComponent('#menuPitch').toggle(false);
  253. this.isScrollShow = false
  254. }
  255. this.overallArrangement.forEach(key => key.isShow = false)
  256. },
  257. immediate: true
  258. }
  259. },
  260. methods: {
  261. //获取一级事件
  262. getClassify() {
  263. Reports.getClassify().then(res => {
  264. this.tabBars = res.Data.List
  265. if (!this.tabAct_id) {
  266. this.tabAct_id = res.Data.List[0].ChartPermissionId
  267. }
  268. })
  269. },
  270. //获取二级事件
  271. getstrategyAll() {
  272. Reports.getstrategyAll().then(res => {
  273. this.tabBarsTow = res.Data.List
  274. if (!this.tabAct_idTwo) {
  275. this.tabAct_idTwo = res.Data.List[0].CategoryId
  276. }
  277. this.matchTypeName = res.Data.List[0].MatchTypeName
  278. })
  279. },
  280. //tabs切换事件
  281. toggleTab(item, index) {
  282. this.strategyIndex = index
  283. if (this.tabAct_id !== item.ChartPermissionId) {
  284. this.tabAct_id = item.ChartPermissionId;
  285. this.pageNum = 1;
  286. uni.pageScrollTo({
  287. scrollTop: 0,
  288. duration: 0,
  289. });
  290. }
  291. },
  292. //tabs切换二级事件
  293. toggleTabTwo(item, index) {
  294. this.matchTypeName = item.MatchTypeName
  295. this.strategyIndexTwo = index
  296. if (this.tabAct_idTwo !== item.CategoryId) {
  297. this.tabAct_idTwo = item.CategoryId;
  298. this.pageNum = 1;
  299. uni.pageScrollTo({
  300. scrollTop: 0,
  301. duration: 0,
  302. });
  303. }
  304. },
  305. //点击产业报告的筛选条件
  306. pitchClick(item) {
  307. this.pitchOnName = item.name
  308. this.OrderColumn = item.id
  309. if (this.pitchOnId !== item.id) {
  310. this.pitchOnId = item.id;
  311. }
  312. },
  313. //获取报告所有品种接口
  314. getTradeList() {
  315. Reports.getTradeList({
  316. ChartPermissionId: this.tabAct_id
  317. }).then(res => {
  318. if (res.Ret == 200) {
  319. if (res.Data.List) {
  320. this.tradeList = res.Data.List
  321. } else {
  322. this.tradeList = null
  323. }
  324. }
  325. })
  326. },
  327. //获取产业报告所有品种接口
  328. getIndustryList() {
  329. Reports.getIndustryList({
  330. ChartPermissionId: this.tabAct_id,
  331. OrderColumn: this.OrderColumn,
  332. PageSize: this.pageSize,
  333. CurrentIndex: this.page_no,
  334. IsNewLabel: this.overallArrangementId.includes(1) ? '1' : '0',
  335. IsDeepLabel: this.overallArrangementId.includes(2) ? '1' : '0'
  336. }).then(res => {
  337. // this.industryList=res.Data.List
  338. this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
  339. this.totalPage = res.Data.Paging.Pages; //总页数
  340. if (this.page_no === 1) {
  341. this.industryList = res.Data.List || [];
  342. this.haveData = this.industryList.length ? true : false
  343. if (this.refresh) {
  344. uni.stopPullDownRefresh();
  345. this.refresh = false;
  346. }
  347. } else {
  348. this.industryList = this.industryList.concat(res.Data.List)
  349. }
  350. })
  351. },
  352. //跳转季度策略
  353. isClickHandle(id) {
  354. uni.navigateTo({
  355. url: '/pages/industrialReport/industrialReport?id=' + id
  356. });
  357. },
  358. //跳转产业报告
  359. goIndustryReport(id) {
  360. uni.navigateTo({
  361. url: '/pages/IndustryReport/IndustryReport?id=' + id
  362. });
  363. },
  364. //点击顶置的图标
  365. isOverhead(id) {
  366. Reports.postToptt({
  367. IndustrialManagementId: id
  368. }).then(res => {
  369. if (res.Ret === 200) {
  370. this.page_no = 1;
  371. this.refresh = true;
  372. this.industryList = []
  373. this.getIndustryList()
  374. uni.showToast({
  375. title: res.Msg,
  376. duration: 2000
  377. });
  378. }
  379. })
  380. },
  381. hideIsred(is) {
  382. this.tabBarsTow[this.strategyIndexTwo].IsRed = is
  383. },
  384. /* 新布局产业选项*/
  385. overallBtn(index, item) {
  386. this.overallArrangement.forEach(key => {
  387. if (key.id == item.id) {
  388. key.isShow = !key.isShow
  389. }
  390. })
  391. },
  392. /* 新布局产业选项确定按钮 */
  393. replacementConfirm() {
  394. const arr = []
  395. this.overallArrangement.forEach(key => {
  396. if (key.isShow) {
  397. arr.push(key.id)
  398. }
  399. })
  400. this.overallArrangementId = arr.join(',')
  401. this.overallArrangementName = this.pitchOnName
  402. this.page_no = 1;
  403. this.status = 'loadmore'
  404. this.getIndustryList()
  405. this.selectComponent('#menuItem').toggle();
  406. },
  407. /* 新布局产业选项重置按钮 */
  408. replacementBtn() {
  409. this.overallArrangement.forEach(key => key.isShow = false)
  410. this.overallArrangementName = '按最近排序更新'
  411. },
  412. /* 判断页面滚动 */
  413. isscroll() {
  414. this.isScrollShow = true
  415. },
  416. /* 搜索 */
  417. goSearch() {
  418. this.$store.dispatch('checkHandle').then(res => {
  419. app.globalData.isAuth = res.IsAuth;
  420. app.globalData.isBind = res.IsBind;
  421. if ((!res.IsAuth) && (!res.IsBind)) { //已授权已绑定
  422. uni.navigateTo({
  423. url: '/pages/reportSearch/reportSearch',
  424. });
  425. } else if (res.IsAuth) { //未授权
  426. uni.navigateTo({
  427. url: '/pages/authGuide/authGuide'
  428. })
  429. } else if (res.IsBind && !res.IsAuth) { //已授权未绑定
  430. uni.navigateTo({
  431. url: '/pages/login/login'
  432. })
  433. }
  434. })
  435. },
  436. },
  437. /* 触底 */
  438. onReachBottom: Throttle(function() {
  439. this.isNum++
  440. if (this.status === 'nomore') return;
  441. this.status = 'loading';
  442. this.page_no++;
  443. this.getIndustryList()
  444. }),
  445. /* 下拉刷新 */
  446. onPullDownRefresh: Throttle(function() {
  447. if (this.strategyIndex == 4) {
  448. this.pageNumFather = 1
  449. } else {
  450. this.industryList = []
  451. this.pageNumFather = null
  452. this.page_no = 1;
  453. this.refresh = true;
  454. this.getIndustryList()
  455. this.getTradeList()
  456. }
  457. wx.stopPullDownRefresh();
  458. }),
  459. onShow() {
  460. if (this.tabAct_id) {
  461. this.getTradeList()
  462. }
  463. },
  464. /**
  465. * 用户点击分享
  466. */
  467. onShareAppMessage: function(res) {
  468. console.log(this.tabAct_id);
  469. return {
  470. title: "报告",
  471. path: '/pages/reportForm/reportForm?tab=' + this.tabAct_id + '&tabs=' + this.tabAct_idTwo,
  472. success: (res) => {},
  473. fail: (err) => {}
  474. }
  475. },
  476. /**
  477. *监听页面滚动
  478. */
  479. onPageScroll() {
  480. if (this.isScrollShow) {
  481. this.selectComponent('#menuItem').toggle(false);
  482. //this.selectComponent('#menuPitch').toggle(false);
  483. this.isScrollShow = false
  484. }
  485. }
  486. }
  487. </script>
  488. <style scoped lang="scss">
  489. .reportForm-container {
  490. background-color: #f6f6f6;
  491. height: 100vh;
  492. .index-fixed {
  493. width: 750rpx;
  494. position: fixed;
  495. left: 0;
  496. top: 0;
  497. z-index: 999;
  498. .index-header {
  499. background-color: #fff;
  500. padding: 32rpx 34rpx;
  501. position: relative;
  502. .sea_ipt_placeholder {
  503. color: #8D8D8D;
  504. opacity: 0.7;
  505. }
  506. .sea_ipt {
  507. width: 100%;
  508. height: 70rpx;
  509. font-size: 30rpx;
  510. color: #707070;
  511. background-color: #F6F6F6;
  512. padding: 0 34rpx 0 70rpx;
  513. border-radius: 70rpx;
  514. border: 1rpx solid #E5E5E5;
  515. }
  516. .search_ico {
  517. display: block;
  518. position: absolute;
  519. color: #8D8D8D;
  520. left: 60rpx;
  521. top: 50%;
  522. z-index: 100;
  523. transform: translateY(-50%);
  524. }
  525. }
  526. .tab-cont {
  527. padding: 0 26rpx;
  528. background-color: #fff;
  529. font-size: 32rpx;
  530. .scroll-tab {
  531. width: 100%;
  532. white-space: nowrap;
  533. }
  534. .scroll-tab-item {
  535. // flex-grow: 1;
  536. text-align: center;
  537. display: inline-block;
  538. padding: 0 8rpx 30rpx 8rpx;
  539. margin-right: 70rpx;
  540. border-bottom: 8rpx solid transparent;
  541. position: relative;
  542. &:last-child {
  543. margin-right: 0;
  544. }
  545. &.active {
  546. border-bottom: none;
  547. color: #2C83FF;
  548. font-weight: 700;
  549. }
  550. .border_act {
  551. width: 100%;
  552. height: 8rpx;
  553. position: absolute;
  554. bottom: 0;
  555. left: 0;
  556. }
  557. }
  558. }
  559. }
  560. .forindustry {
  561. margin-bottom: 10rpx;
  562. }
  563. .industrial_eport_one {
  564. padding-top: 180rpx;
  565. background-color: #f6f6f6;
  566. padding-bottom: 10rpx;
  567. }
  568. .strategy {
  569. margin-top: 20rpx;
  570. height: 65rpx;
  571. line-height: 65rpx;
  572. background-color: #fff;
  573. .row {
  574. width: 100%;
  575. height: 170rpx;
  576. background-color: #f6f6f6;
  577. }
  578. .tab-cont-two {
  579. position: fixed;
  580. top: 210rpx;
  581. left: 0;
  582. width: 100%;
  583. z-index: 99;
  584. height: 100rpx;
  585. background-color: #fff;
  586. padding: 0 30rpx;
  587. .scroll-tab-tow {
  588. padding-top: 20rpx;
  589. width: 100%;
  590. white-space: nowrap;
  591. .scroll-tab-item {
  592. position: relative;
  593. display: inline-block;
  594. height: 54rpx;
  595. line-height: 54rpx;
  596. padding: 0 23rpx;
  597. background: #F7F7F7;
  598. border-radius: 27px;
  599. color: #999999;
  600. margin-right: 46rpx;
  601. .reg-text {
  602. position: absolute;
  603. top: -6rpx;
  604. right: -8rpx;
  605. width: 14rpx;
  606. height: 14rpx;
  607. background-color: #FF0000;
  608. border-radius: 50%;
  609. }
  610. }
  611. .active {
  612. color: #FFFFFF !important;
  613. background-color: #2C83FF !important;
  614. }
  615. }
  616. }
  617. }
  618. .industry {
  619. margin-top: 20rpx;
  620. .industry-sticky {
  621. position: sticky;
  622. top: 210rpx;
  623. z-index: 99;
  624. }
  625. .industry-top {
  626. display: flex;
  627. justify-content: space-between;
  628. background-color: #fff;
  629. height: 90rpx;
  630. padding: 0 30rpx;
  631. color: #333333;
  632. font-weight: 700;
  633. font-size: 32rpx;
  634. line-height: 90rpx;
  635. overflow: hidden;
  636. .img-top-box {
  637. display: flex;
  638. align-items: center;
  639. image {
  640. width: 44rpx;
  641. height: 44rpx;
  642. margin-right: 16rpx;
  643. }
  644. }
  645. .menu-items {
  646. background-color: #F8F8FA;
  647. display: flex;
  648. padding: 0rpx 30rpx 20rpx;
  649. .menu-items-box {
  650. flex: 1;
  651. display: flex;
  652. font-size: 28rpx;
  653. font-weight: 400;
  654. .items-box {
  655. width: 40rpx;
  656. }
  657. }
  658. }
  659. .menu-dashed {
  660. margin: 0 auto;
  661. width: 682rpx;
  662. border-bottom: 3rpx dashed #999999;
  663. }
  664. .menu-items-tow {
  665. display: flex;
  666. padding: 30rpx 30rpx 20rpx;
  667. font-size: 28rpx;
  668. color: #333333;
  669. font-weight: 400;
  670. background-color: #F8F8FA;
  671. .items-tow {
  672. display: flex;
  673. flex: 100%;
  674. view {
  675. width: 40rpx;
  676. }
  677. }
  678. .items-act {
  679. font-weight: bold;
  680. }
  681. }
  682. .replacement-box {
  683. background-color: #F8F8FA;
  684. }
  685. .replacement {
  686. margin: 0rpx 30rpx 20rpx;
  687. display: flex;
  688. background-color: #2C83FF;
  689. opacity: 1;
  690. height: 60rpx;
  691. line-height: 58rpx;
  692. font-size: 28rpx;
  693. font-weight: 400;
  694. color: #FFFFFF;
  695. border-radius: 30rpx;
  696. text {
  697. flex: 1;
  698. text-align: center;
  699. }
  700. .replacement-box {
  701. border: 1rpx solid #2C83FF;
  702. opacity: 1;
  703. color: #2C83FF;
  704. background: #FFFFFF;
  705. border-radius: 28rpx 0rpx 28rpx 28rpx;
  706. }
  707. }
  708. }
  709. .industry-box {
  710. margin-top: 5rpx;
  711. background-color: #fff;
  712. height: 90rpx;
  713. line-height: 90rpx;
  714. padding: 0 30rpx;
  715. display: flex;
  716. justify-content: space-between;
  717. color: #000000;
  718. font-size: 30rpx;
  719. .box-left {
  720. position: relative;
  721. // width: 150rpx;
  722. padding-right: 30rpx;
  723. height: 90rpx;
  724. text {
  725. position: absolute;
  726. top: 20rpx;
  727. right: 5rpx;
  728. width: 14rpx;
  729. height: 14rpx;
  730. background-color: #f00;
  731. border-radius: 50%;
  732. }
  733. }
  734. .box-right {
  735. color: #999999;
  736. font-size: 26rpx;
  737. // width: 45%;
  738. display: flex;
  739. justify-content: flex-end;
  740. // justify-content: space-between;
  741. text-align: right;
  742. align-items: right;
  743. u-icon {
  744. padding-left: 15rpx;
  745. }
  746. }
  747. }
  748. .industry-content {
  749. padding-left: 40rpx;
  750. vertical-align: middle;
  751. display: flex;
  752. margin-bottom: 3rpx;
  753. image {
  754. padding-right: 20rpx;
  755. width: 24rpx;
  756. height: 30rpx;
  757. }
  758. .industry-box-left {
  759. width: 48rpx;
  760. image {
  761. vertical-align: middle;
  762. margin-top: -8rpx;
  763. padding: 5rpx 20rpx 5rpx 0;
  764. }
  765. }
  766. .industry-box-right {
  767. width: 100%;
  768. display: flex;
  769. justify-content: space-between;
  770. .ndustry-box-read {
  771. position: relative;
  772. .read {
  773. position: absolute;
  774. top: 20rpx;
  775. right: -20rpx;
  776. width: 14rpx;
  777. height: 14rpx;
  778. background-color: #FF0000;
  779. border-radius: 50%;
  780. }
  781. }
  782. .ndustry-box-arrow {
  783. display: flex;
  784. .ndustry-box-text {
  785. font-size: 26rpx;
  786. color: #999999;
  787. padding-right: 20rpx;
  788. }
  789. }
  790. }
  791. }
  792. .content-box {
  793. background-color: #fff;
  794. padding: 20rpx 25rpx 0;
  795. .img-box {
  796. display: flex;
  797. height: 90rpx;
  798. line-height: 90rpx;
  799. box-sizing: border-box;
  800. width: 100%;
  801. vertical-align: middle !important;
  802. image {
  803. padding-top: 18rpx;
  804. width: 44rpx;
  805. height: 44rpx;
  806. vertical-align: middle;
  807. }
  808. text {
  809. display: inline-block;
  810. padding-left: 16rpx;
  811. vertical-align: middle !important;
  812. }
  813. }
  814. }
  815. }
  816. .read-more {
  817. margin-left: 60rpx;
  818. display: flex;
  819. flex-wrap: wrap;
  820. .text-box {
  821. // display: inline-block;
  822. margin-bottom: 27rpx;
  823. margin-right: 40rpx;
  824. padding: 0;
  825. font-size: 24rpx;
  826. color: #408FFF;
  827. width: 170rpx;
  828. height: 46rpx;
  829. line-height: 46rpx;
  830. text-align: center !important;
  831. background: url(../../static/img/report_bg.png) no-repeat;
  832. background-size: 100% 100%;
  833. text-indent: 0em;
  834. }
  835. }
  836. /deep/ .van-dropdown-menu {
  837. background-color: #fff;
  838. box-shadow: none !important;
  839. // align-items: center;
  840. padding-top: 20rpx;
  841. }
  842. /deep/ .van-ellipsis {
  843. color: #333333 !important;
  844. font-size: 24rpx;
  845. font-weight: 400;
  846. }
  847. /deep/ .van-dropdown-menu__item {
  848. // width: 190rpx;
  849. padding-right: 20rpx;
  850. margin-left: 20rpx;
  851. height: 51rpx;
  852. border-radius: 26rpx;
  853. background: #F8F8FA;
  854. }
  855. /deep/.van-dropdown-item {
  856. margin-top: -10rpx;
  857. }
  858. }
  859. .text-bottom-none {
  860. width: 100%;
  861. text-align: center;
  862. }
  863. </style>