index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908
  1. <template>
  2. <view class="main">
  3. <image class="topbg" :src="imgHost+'/static/index/top1.png'"></image>
  4. <view class="main-box">
  5. <swiper class="swipe" @change="swiperChange" :current="itemcurrent" :autoplay="true" :interval="5000"
  6. :duration="1500">
  7. <!-- <swiper-item v-for="(item,index) in bannerImg" :key="index">
  8. <navigator :url="item.url">
  9. <image :src="item.image" style="width: 100%;" mode="aspectFill" :title="item.title"></image>
  10. </navigator>
  11. </swiper-item> -->
  12. <swiper-item v-for="(item,index) in bannerImg" :key="index">
  13. <view class="cu-card case" style="width: 100%;height: 100%;" @click="gotoitem(item.jump_url)">
  14. <view class="cu-item shadow" style="width: 100%;height: 100%;margin: 0;">
  15. <view class="image">
  16. <image :src="item.image" style="height: 306rpx;" mode="aspectFill"></image>
  17. <!-- <view class="cu-tag bg-blue">史诗</view> -->
  18. <!-- <view class="cu-bar bg-shadeBottom">
  19. <text class="text-cut">我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。</text>
  20. </view> -->
  21. </view>
  22. <view class="cu-list menu" style="height: 100rpx;display: flex;align-items: flex-end;">
  23. <view class="cu-item" style="width: 100%;">
  24. <!-- <view class="cu-avatar round lg" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big10006.jpg);"></view> -->
  25. <view class="content flex-sub">
  26. <view class="text-grey">{{item.title}}</view>
  27. <view class="text-gray text-sm flex justify-end">
  28. <view class="text-gray text-sm">
  29. <text class="cuIcon-timefill margin-lr-xs"></text> {{item.created_at}}
  30. <!-- <text class="cuIcon-appreciatefill margin-lr-xs"></text> 20
  31. <text class="cuIcon-messagefill margin-lr-xs"></text> 30 -->
  32. </view>
  33. </view>
  34. </view>
  35. </view>
  36. </view>
  37. </view>
  38. </view>
  39. </swiper-item>
  40. </swiper>
  41. <view class="dots">
  42. <view :class="index==itemcurrent?'dot active':'dot'" v-for="(item,index) in bannerImg" :key="index">
  43. </view>
  44. </view>
  45. <!-- <swiper class="swipe" indicator-dots="true" autoplay="true" interval="5000" duration="1500">
  46. <navigator :url="item.url" v-for="(item, index) in bannerImg" :key="index">
  47. <swiper-item>
  48. <image :src="item.image" mode="aspectFill" :title="item.title"></image>
  49. </swiper-item>
  50. </navigator>
  51. </swiper> -->
  52. <!-- <view class="gonggao" @click="announcement" data-target="Modal">
  53. <image class="gimg" :src="imgHost+'/static/index/gonggao.png'"></image>
  54. <view class="gtxt">
  55. <text class="gtxt-title">公告:</text>
  56. {{ configDatas.notice_title }}
  57. </view>
  58. </view> -->
  59. <view v-if="unpaidCount" @click="toOrder()" class="round "
  60. style="margin-top: 40px;width:100%;height: 60rpx ;line-height: 60rpx;text-align: center;background-color: rgba(191,46,22,.5);color: #fff;">
  61. 您有待支付订单,点击跳转到该订单详情
  62. </view>
  63. <!-- 加盟 -->
  64. <view class="imgs-box" v-if="configDatas.is_show == 1">
  65. <view class="left" @click="geren()">
  66. <!-- <image :src="imgHost+'/static/index/l.png'" @click="jiameng()"></image> -->
  67. <image src="/static/index/d559cef451313438cb1f78f7c2f5dbe.png" mode=""></image>
  68. <view class="text-black text-bold" style="margin-top: 27rpx;">
  69. 个人征信异议申诉
  70. </view>
  71. </view>
  72. <view class="left" @click="qiye()">
  73. <image src="/static/index/8cb650aa313f95fb70ab8874b9f0be9.png" mode=""></image>
  74. <view class="text-black text-bold" style="margin-top: 27rpx;">
  75. 企业信用问题咨询
  76. </view>
  77. <!-- <image :src="imgHost+'/static/index/l.png'" @click="jiameng()"></image> -->
  78. </view>
  79. <!-- <view class="right">
  80. <image :src="imgHost+'/static/index/r1.png'" @click="geren()"></image>
  81. <image :src="imgHost+'/static/index/r2.png'" @click="qiye()" style="margin-top:2vw;bottom:0;"></image>
  82. </view> -->
  83. </view>
  84. <!-- 常见问题 -->
  85. <view class="flex justify-center">
  86. <button class="cu-btn round lg" @click="qus(1)"
  87. style="width: 600rpx;background-color:rgb(191, 46, 22);box-shadow: 0 0 50rpx 0 rgba(0, 0, 0, 0.1);color: #fff;">
  88. <text class="cuIcon-questionfill text-white margin-right-xs"></text>
  89. <text>常见问题</text>
  90. </button>
  91. </view>
  92. <sin-barrage :list="list" background="#fab6b6" color="#fa3534"></sin-barrage>
  93. <!-- <view class="list-box">
  94. <view class="title">
  95. <view class="name">常见问题</view>
  96. <view class="more" @click="qus(1)">更多</view>
  97. </view>
  98. <view class="list">
  99. <view class="infobox" v-for="(item, index) in newList" :key="index" @click="articleDetails(item.id)">
  100. <view class="left">
  101. <view class="infoname">{{ item.title }}</view>
  102. <view class="infotxt">{{ item.gist == null ? '' : item.gist }}</view>
  103. <view class="infolook">
  104. <image :src="imgHost+'/static/index/look.png'" class="infolook-img" />
  105. <view>{{ item.virtual_view + item.view }}</view>
  106. </view>
  107. </view>
  108. <view class="right">
  109. <image :src="item.image" class="right-img-item" />
  110. </view>
  111. </view>
  112. </view>
  113. </view> -->
  114. <!-- 行业动态 -->
  115. <!-- <view class="list-box" style="padding-top: 30px;">
  116. <view class="title">
  117. <view class="name">行业动态</view>
  118. <view class="more" @click="dongtai(2)">更多</view>
  119. </view>
  120. <view class="list">
  121. <view class="infobox" v-for="(item, index) in DynamicList" :key="index" @click="articleDetails(item.id)">
  122. <view class="left">
  123. <view class="infoname">{{ item.title }}</view>
  124. <view class="infotxt">{{ item.gist == null ? '' : item.gist }}</view>
  125. <view class="infolook">
  126. <image :src="imgHost+'/static/index/look.png'" class="infolook-img"></image>
  127. <view>{{ item.virtual_view + item.view }}</view>
  128. </view>
  129. </view>
  130. <view class="right">
  131. <image :src="item.image" class="right-img-item" />
  132. </view>
  133. </view>
  134. </view>
  135. </view> -->
  136. </view>
  137. <!-- 公告框 -->
  138. <!-- <view class="cu-modal" :class="modalName == 'Modal' ? 'show' : ''">
  139. <view class="cu-dialog top">
  140. <view class="cu-bar bg-white justify-end">
  141. <view class="content">公告</view>
  142. <view class="action" @tap="hideModal"><text class="cuIcon-close yellow" /></view>
  143. </view>
  144. <view class="padding-xl">{{ configDatas.notice_content}}</view>
  145. </view>
  146. </view> -->
  147. <!-- 获取微信信息弹窗框 -->
  148. <view class="cu-modal" :class="modalName == 'WxModal' ? 'show' : ''">
  149. <view class="cu-dialog">
  150. <view class="cu-bar bg-white justify-end">
  151. <view class="content">您还未登录</view>
  152. <view class="action" @tap="modalName = ''">
  153. <text class="cuIcon-close yellow" />
  154. </view>
  155. </view>
  156. <view class="padding-xl">
  157. <view class="top-title">
  158. <text class="top-title1">请先登录再进行操作</text>
  159. </view>
  160. <view class="flex justify-around">
  161. <button type="primary" @tap="modalName = ''" class="cu-btn round greyBg lg">暂不登录</button>
  162. <button type="primary" @click="gotologin" class="cu-btn round yellowBg lg"
  163. hover-class="btn-hover">立刻登录</button>
  164. </view>
  165. </view>
  166. </view>
  167. </view>
  168. <!-- <follow-qrcode :show="showQrcode" @hide="hideQrcode"></follow-qrcode> -->
  169. </view>
  170. </template>
  171. <script>
  172. import {
  173. envHost
  174. } from '@/common/env';
  175. var user = require('../../common/user.js');
  176. import {
  177. mapState,
  178. mapMutations,
  179. mapGetters,
  180. mapActions
  181. } from 'vuex';
  182. import sinBarrage from '@/components/sin-barrage/sin-barrage.vue'
  183. import followQrcode from '@/components/follow-qrcode/follow-qrcode.vue'
  184. export default {
  185. components: {
  186. sinBarrage,
  187. followQrcode
  188. },
  189. computed: {
  190. ...mapGetters({
  191. hasLogin: 'verifyJwt'
  192. }),
  193. ...mapState(['user'])
  194. },
  195. data() {
  196. return {
  197. mine_show:false,
  198. showQrcode: true, // 默认显示
  199. unpaidCount: 0,
  200. modalName: null, //公告框状态
  201. gonggao: false,
  202. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  203. newList: [],
  204. DynamicList: [],
  205. bannerImg: [],
  206. indicatorDots: true,
  207. vertical: false,
  208. autoplay: false,
  209. interval: 2000,
  210. duration: 500,
  211. configDatas: {
  212. notice_content: '',
  213. notice_title: '',
  214. is_show: ''
  215. },
  216. toUrl: '',
  217. imgHost: '',
  218. itemcurrent: 0,
  219. callurl: "",
  220. list: [{
  221. id: 1,
  222. text: "刘**",
  223. phone: "189******28",
  224. time: "30分钟前"
  225. }, {
  226. id: 2,
  227. text: "李**",
  228. phone: "176******25",
  229. time: "10分钟前"
  230. }, {
  231. id: 3,
  232. text: "徐**",
  233. phone: "155******31",
  234. time: "15分钟前"
  235. }, {
  236. id: 4,
  237. text: "王**",
  238. phone: "135******69",
  239. time: "3分钟前"
  240. }, {
  241. id: 5,
  242. text: "郑**",
  243. phone: "188******36",
  244. time: "8分钟前"
  245. }]
  246. }
  247. },
  248. // 小程序分享
  249. onShareAppMessage(res) {
  250. return {
  251. title: '聚联诚集团小程序',
  252. path: '/pages/index/index'
  253. };
  254. },
  255. async onLoad(options) {
  256. if (options.up_id) {
  257. uni.setStorageSync('up_id', options.up_id);
  258. }
  259. if (options.articleId) {
  260. uni.navigateTo({
  261. url: './index/articleDetails?id=' + options.articleId
  262. });
  263. }
  264. //#ifdef H5
  265. if (window.location.href.split("?")[1] != undefined) {
  266. let id = window.location.href.split("?")[1].split("=")[1]
  267. uni.setStorageSync('up_id', id)
  268. }
  269. //#endif
  270. //#ifdef MP
  271. // 页面初始化 options为页面跳转所带来的参数
  272. if (options.scene) {
  273. //这个scene的值存在则证明首页的开启来源于朋友圈分享的图,同时可以通过获取到的goodId的值跳转导航到对应的详情页
  274. var scene = decodeURIComponent(options.scene);
  275. if (scene) {
  276. uni.setStorageSync('up_id', scene);
  277. }
  278. }
  279. //#endif
  280. this.callurl = this.$callurl
  281. this.imgHost = this.$imgHost
  282. if (this.hasLogin) {
  283. await this.getUser(true);
  284. }
  285. console.log(this.user.id)
  286. },
  287. onShow() {
  288. this.getUnpaidOrder()
  289. if (this.user.web_openid == "" && this.$util.is_weixin()) {
  290. window.location.href = envHost +
  291. "/api/common/wxAuthorize?callback=" + this.callurl + this.user.id
  292. }
  293. this.sharefun(this.user.id)
  294. this.checkWxSubscribe(this.user.id)
  295. },
  296. mounted() {
  297. this.getBannerImg();
  298. this.newsList(1);
  299. this.dynamicList(2);
  300. this.configData();
  301. },
  302. methods: {
  303. ...mapActions({
  304. getUser: 'getUser' // 将 `this.getUser()` 映射为 `this.$store.dispatch('getUser')`
  305. }),
  306. ...mapMutations({
  307. setJwt: 'setJwt',
  308. login: 'login'
  309. }),
  310. hideQrcode() {
  311. this.showQrcode = false
  312. },
  313. async checkWxSubscribe(user_id) {
  314. if (!user_id) {
  315. return false;
  316. }
  317. let data = await this.$request.post('/api/common/checkWxSubscribe', {
  318. user_id: user_id
  319. }, false);
  320. console.log(data)
  321. if (data.code == 200) {
  322. console.log('ok Subscribe')
  323. this.showQrcode = data.data == 1 ? false : true;
  324. } else {
  325. uni.showToast({
  326. icon: 'none',
  327. title: data.message
  328. });
  329. }
  330. },
  331. async getUnpaidOrder() {
  332. let data = await this.$request.post('/api/order/orderCount', {
  333. order_status_new: 1
  334. }, false);
  335. console.log(data)
  336. if (data.code == 200) {
  337. this.unpaidCount = data.data;
  338. } else {
  339. uni.showToast({
  340. icon: 'none',
  341. title: data.message
  342. });
  343. }
  344. },
  345. toOrder(e) {
  346. if (this.mine_show) {
  347. return false
  348. }
  349. uni.navigateTo({
  350. url: '/pages/mine/order?index=0'
  351. });
  352. },
  353. getSystemInfo() {
  354. let num = 0
  355. uni.getSystemInfo({
  356. success(res) {
  357. num = res.screenWidth - 275
  358. }
  359. })
  360. return num
  361. },
  362. swiperChange(e) {
  363. this.itemcurrent = e.detail.current
  364. },
  365. gotoitem(url) {
  366. if (this.mine_show) {
  367. return false
  368. }
  369. window.location.href = url
  370. },
  371. configData: async function() {
  372. let res = await this.$request.post('/api/SystemConfig/getSysteConfig');
  373. console.log(res.data);
  374. if (res.code == 200) {
  375. this.configDatas = res.data;
  376. uni.setStorageSync("configDatas", this.configDatas)
  377. }
  378. },
  379. close() {
  380. this.gonggao = false;
  381. },
  382. sharefun(id) {
  383. if (!this.hasLogin) {
  384. return false;
  385. }
  386. if (this.$wechat.is_weixin()) {
  387. this.$wechat.share({
  388. title: '聚联诚集团信用评估系统V3.0评估入口',
  389. desc: '点击链接,开始您的个人信用评估',
  390. imgUrl: "https://zhengda.oss-cn-chengdu.aliyuncs.com/juyin/static/index/202012221445499.jpeg",
  391. }, window.location.href, id, true)
  392. }
  393. },
  394. announcement(e) {
  395. this.modalName = e.currentTarget.dataset.target;
  396. },
  397. hideModal(e) {
  398. this.modalName = null;
  399. },
  400. jiameng() {
  401. // 请求接口返回数据判断是否为推广人
  402. // 是推荐人直接跳转到pages/tuijian/tuijian 页面
  403. if (this.hasLogin) {
  404. uni.navigateTo({
  405. url: '/pages/index/joinInfo'
  406. });
  407. } else {
  408. this.toUrl = '/pages/index/joinInfo';
  409. uni.navigateTo({
  410. url: "../login/login",
  411. fail: (err) => {
  412. console.log(err)
  413. }
  414. })
  415. }
  416. },
  417. // 轮播图接口
  418. getBannerImg: async function() {
  419. let res = await this.$request.get('/api/Slide/slideList', {
  420. page: 1,
  421. size: 10
  422. });
  423. if (res.code == 200) {
  424. this.bannerImg = res.data;
  425. } else {
  426. uni.showToast({
  427. icon: 'none',
  428. title: res.message
  429. });
  430. }
  431. },
  432. newsList: async function(cate_id) {
  433. let res = await this.$request.get('/api/Article/articleList?page=1&size=2&cate_id=' + cate_id);
  434. console.log(res, '666');
  435. if (res.code == 200) {
  436. this.newList = res.data.data;
  437. console.log(this.newList);
  438. } else {
  439. uni.showToast({
  440. icon: 'none',
  441. title: res.message
  442. });
  443. }
  444. },
  445. dynamicList: async function(cate_id) {
  446. let res = await this.$request.get('/api/Article/articleList?page=1&size=2&cate_id=' + cate_id);
  447. console.log(res, '666');
  448. if (res.code == 200) {
  449. this.DynamicList = res.data.data;
  450. console.log(this.newList);
  451. } else {
  452. uni.showToast({
  453. icon: 'none',
  454. title: res.message
  455. });
  456. }
  457. },
  458. // wxLogin: async function(e) {
  459. // console.log(e);
  460. // if (e.detail.userInfo == undefined) {
  461. // uni.showToast({
  462. // title: '微信登录失败'
  463. // });
  464. // return;
  465. // }
  466. // this.modalName = '';
  467. // user.loginByWeixin(e.detail.userInfo)
  468. // .then(res => {
  469. // console.info(this.user);
  470. // if (this.toUrl) {
  471. // if (this.toUrl == '/pages/index/gerenxiufu' || this.toUrl == '/pages/index/qiyexiufu') {
  472. // if (this.$util.isEmpty(this.user.realname)) {
  473. // uni.navigateTo({
  474. // url: '../mine/info'
  475. // });
  476. // } else {
  477. // uni.navigateTo({
  478. // url: this.toUrl
  479. // });
  480. // }
  481. // } else {
  482. // uni.navigateTo({
  483. // url: this.toUrl
  484. // });
  485. // }
  486. // }
  487. // })
  488. // .catch(res => {
  489. // uni.showToast({
  490. // title: '微信登录失败'
  491. // });
  492. // });
  493. // },
  494. gotologin() {
  495. this.modalName = '';
  496. uni.navigateTo({
  497. url: "../login/login",
  498. fail: (err) => {
  499. console.log(err)
  500. }
  501. })
  502. },
  503. async geren() {
  504. if (this.mine_show) {
  505. return false
  506. }
  507. if (this.hasLogin) {
  508. let user = await this.getUser(true);
  509. if (this.$util.isEmpty(this.user.realname)) {
  510. uni.navigateTo({
  511. url: '../mine/info'
  512. });
  513. } else {
  514. uni.navigateTo({
  515. url: '/pages/index/gerenxiufu'
  516. });
  517. }
  518. } else {
  519. this.toUrl = '/pages/index/gerenxiufu';
  520. uni.navigateTo({
  521. url: "../login/login",
  522. fail: (err) => {
  523. console.log(err)
  524. }
  525. })
  526. }
  527. },
  528. async qiye() {
  529. if (this.mine_show) {
  530. return false
  531. }
  532. if (this.hasLogin) {
  533. let user = await this.getUser(true);
  534. if (this.$util.isEmpty(this.user.realname)) {
  535. uni.navigateTo({
  536. url: '../mine/info'
  537. });
  538. } else {
  539. uni.navigateTo({
  540. url: '/pages/index/qiyexiufu'
  541. });
  542. }
  543. } else {
  544. this.toUrl = '/pages/index/qiyexiufu';
  545. uni.navigateTo({
  546. url: "../login/login",
  547. fail: (err) => {
  548. console.log(err)
  549. }
  550. })
  551. }
  552. },
  553. qus(cate_id) {
  554. if (this.mine_show) {
  555. return false
  556. }
  557. uni.navigateTo({
  558. url: '/pages/index/qus?cate_id=' + cate_id
  559. });
  560. },
  561. dongtai(cate_id) {
  562. uni.navigateTo({
  563. url: '/pages/index/dongtai?cate_id=' + cate_id
  564. });
  565. },
  566. articleDetails(id) {
  567. console.log(id);
  568. uni.navigateTo({
  569. url: '/pages/index/articleDetails?id=' + id
  570. });
  571. }
  572. }
  573. };
  574. </script>
  575. <style>
  576. /* page{
  577. margin: 0;
  578. padding: 0;
  579. background: #f5f5f5;
  580. } */
  581. .main {
  582. width: 100%;
  583. height: auto;
  584. /* min-height: 100vh; */
  585. position: relative;
  586. /* margin-bottom: 55px; */
  587. }
  588. .main .topbg {
  589. width: 100%;
  590. position: absolute;
  591. top: 0;
  592. left: 0;
  593. height: 36vw;
  594. z-index: 0;
  595. }
  596. .main .main-box {
  597. width: 90vw;
  598. /* height: auto; */
  599. margin: 0 5vw;
  600. padding: 5vw 0;
  601. z-index: 1;
  602. position: relative;
  603. }
  604. .main-box .swipe {
  605. width: 100%;
  606. height: 400rpx;
  607. /* background: #eee; */
  608. border-radius: 10px;
  609. overflow: hidden;
  610. z-index: 1;
  611. box-shadow: 0 0 50rpx 0 rgba(0, 0, 0, 0.1);
  612. }
  613. .dots {
  614. position: absolute;
  615. left: 0;
  616. right: 0;
  617. /* bottom: 30rpx; */
  618. top: 464rpx;
  619. display: flex;
  620. justify-content: center;
  621. }
  622. .dots .dot {
  623. margin: 0 8rpx;
  624. width: 10rpx;
  625. height: 10rpx;
  626. background: rgb(221, 221, 221);
  627. border-radius: 8rpx;
  628. transition: all .6s;
  629. }
  630. .dots .dot.active {
  631. width: 24rpx;
  632. height: 10rpx;
  633. background: rgb(251, 198, 0);
  634. }
  635. /* .swipe swiper-item navigator {
  636. width: 100%;
  637. height: 100%;
  638. }
  639. .swipe swiper-item image {
  640. width: 100%;
  641. height: 100%;
  642. } */
  643. .gonggao {
  644. width: 100%;
  645. height: 50px;
  646. display: flex;
  647. padding: 5px 0;
  648. line-height: 50px;
  649. font-size: 14px;
  650. color: #999;
  651. border-bottom: 1px solid #eee;
  652. }
  653. .gonggao .gimg {
  654. width: 30px;
  655. height: 30px;
  656. margin: 10px 5px;
  657. }
  658. .gonggao .gtxt {
  659. overflow: hidden;
  660. text-overflow: ellipsis;
  661. white-space: nowrap;
  662. }
  663. .gtxt .gtxt-title {
  664. color: #000;
  665. font-size: 16px;
  666. font-family: PingFangSC-Regular, sans-serif;
  667. }
  668. .imgs-box {
  669. width: 100%;
  670. height: 45vw;
  671. display: flex;
  672. justify-content: space-between;
  673. margin: 25px 0;
  674. }
  675. .imgs-box .left,
  676. .imgs-box .right {
  677. width: 43.5vw;
  678. height: 45vw;
  679. position: relative;
  680. background-color: #fff;
  681. border-radius: 16rpx;
  682. box-shadow: 0 0 50rpx 0 rgba(0, 0, 0, 0.1);
  683. display: flex;
  684. align-items: center;
  685. justify-content: center;
  686. flex-direction: column;
  687. }
  688. .imgs-box .left image {
  689. width: 94px;
  690. height: 94px;
  691. }
  692. .imgs-box .right image {
  693. width: 100%;
  694. height: 21.5vw;
  695. position: absolute;
  696. }
  697. .list-box {
  698. width: 100%;
  699. height: auto;
  700. }
  701. .list-box .title {
  702. width: 100%;
  703. height: 10px;
  704. line-height: 10px;
  705. border-left: 2px solid #f5cc57;
  706. display: flex;
  707. justify-content: space-between;
  708. align-items: center;
  709. color: rgba(85, 88, 100, 1);
  710. font-size: 14px;
  711. }
  712. .list-box .title .name {
  713. font-size: 38rpx;
  714. font-weight: 400;
  715. text-indent: 7px;
  716. color: rgba(85, 88, 100, 1);
  717. font-family: PingFangSC-Regular, sans-serif;
  718. }
  719. .list-box .title .more {
  720. font-size: 26rpx;
  721. font-weight: 400;
  722. color: rgba(140, 142, 150, 1);
  723. font-family: PingFangSC-Regular, sans-serif;
  724. }
  725. .list {
  726. width: 100%;
  727. height: auto;
  728. margin-top: 20px;
  729. }
  730. .list .infobox {
  731. width: 100%;
  732. height: 180rpx;
  733. margin: 15px 0;
  734. display: flex;
  735. justify-content: space-between;
  736. }
  737. .infobox .left {
  738. width: 54vw;
  739. }
  740. .infobox .right {
  741. width: 34vw;
  742. }
  743. .infobox .right .right-img-item {
  744. border-radius: 12rpx;
  745. }
  746. .right image {
  747. width: 100%;
  748. height: 100%;
  749. }
  750. .left .infoname {
  751. /* width: 100%; */
  752. height: 85rpx;
  753. /* line-height: 80rpx; */
  754. font-size: 32rpx;
  755. font-weight: 400;
  756. color: rgba(85, 88, 100, 1);
  757. overflow: hidden;
  758. text-overflow: ellipsis;
  759. display: -webkit-box;
  760. -webkit-line-clamp: 2;
  761. -webkit-box-orient: vertical;
  762. font-family: PingFangSC-Regular, sans-serif;
  763. }
  764. .left .infotxt {
  765. width: 100%;
  766. height: 50rpx;
  767. line-height: 50rpx;
  768. color: #999;
  769. font-size: 24rpx;
  770. font-family: PingFangSC-Regular, sans-serif;
  771. overflow: hidden;
  772. text-overflow: ellipsis;
  773. white-space: nowrap;
  774. }
  775. .left .infolook {
  776. width: 100%;
  777. height: 50rpx;
  778. display: flex;
  779. align-items: center;
  780. }
  781. .infolook .infolook-img {
  782. width: 34rpx;
  783. height: 34rpx;
  784. margin: 2px;
  785. border-radius: 12rpx;
  786. }
  787. .infolook view {
  788. width: auto;
  789. height: 30px;
  790. line-height: 30px;
  791. padding: 0 5px;
  792. color: #999;
  793. }
  794. .bg {
  795. width: 100vw;
  796. height: 100vh;
  797. background: rgba(0, 0, 0, 0.3);
  798. position: fixed;
  799. top: 0;
  800. left: 0;
  801. }
  802. .bg .gonggaobox {
  803. width: calc(90vw - 30px);
  804. height: auto;
  805. padding: 15px;
  806. background: #fff;
  807. border-radius: 8px;
  808. margin: 20% 5vw;
  809. }
  810. .gonggaobox .title {
  811. width: 100%;
  812. height: 50px;
  813. line-height: 50px;
  814. display: flex;
  815. border-bottom: 1px solid #eee;
  816. }
  817. .title .name1 {
  818. width: 60%;
  819. height: 50px;
  820. text-align: center;
  821. color: #555864;
  822. }
  823. .title .close {
  824. width: 20%;
  825. height: 50px;
  826. text-align: center;
  827. color: #f5cc57;
  828. }
  829. .gonggaobox .txt {
  830. padding: 15px;
  831. text-indent: 20px;
  832. color: #555864;
  833. }
  834. .yellow {
  835. color: #f5cc57;
  836. }
  837. .yellowBg {
  838. background: #f5cc57 !important;
  839. }
  840. .greyBg {
  841. background: grey !important;
  842. }
  843. /* 弹出框样式 */
  844. .top {
  845. bottom: 200px;
  846. }
  847. .top-title {
  848. margin-bottom: 15px;
  849. }
  850. .top-title .top-title1 {
  851. font-size: 19px;
  852. color: #000000;
  853. margin-top: 10px;
  854. }
  855. .top-title .top-title2 {
  856. font-size: 13px;
  857. color: #999;
  858. }
  859. </style>