DU2906526895
2024-06-19 1b6014b1a8d14145211414ae46c3442c5234744b
页面优化
4 files modified
788 ■■■■ changed files
api/api.js 17 ●●●● patch | view | raw | blame | history
pages/WinCustomer/WinCustomer.vue 77 ●●●●● patch | view | raw | blame | history
pages/WinCustomer/detail/WinAdvanced.vue 9 ●●●●● patch | view | raw | blame | history
pages/news_list/index.vue 685 ●●●● patch | view | raw | blame | history
api/api.js
@@ -32,18 +32,17 @@
  return request.get('wechat/getLogo', {}, { noAuth : true});
}
/**首页的数据 */
// export function academyIndex()
// {
//   return request.get('academy/index', data , { noAuth:true});
// }
/**
 * @param int type 
 *
 * 首页行业关键词
 */
/**
 *
 * @param object data
*/
export function getDashboardList(data){
  return request.get('dashboard/list',data,{noAuth:true})
}
/**
 * 保存form_id
pages/WinCustomer/WinCustomer.vue
@@ -5,10 +5,6 @@
        :style="{ height: imgHeight + 'px' }" @load="onImgLoad" />
    </view>
    <!--跑马灯-->
    <!-- <view class="barrage-box">
      <view class="text">{{ nametist }}</view>
    </view> -->
    <view class="barrage-box">
      <view class="animalbackwrite">
        <view class="animalbar">
@@ -51,12 +47,6 @@
          <view class="left">
            <view class="teXtLeft">客源导出</view>
            <view class="container">
              <!-- <progress
                class="progress-circle"
                percent="50"
                stroke-width="10"
              /> -->
              <!--之前写的进度条-->
              <view class="munber">108</view>
            </view>
            <view class="todaynumber"> 今日额度500条 </view>
@@ -64,19 +54,13 @@
            <!-- 左边 -->
          </view>
          <view class="right">
            <!-- <view> -->
              <canvas       canvas-id="borderUchartsId" id="borderUchartsId" class="charts" @touchend="tap" type="2d" />
              <!---今日查询显示的数据----->
              <view class="progress-container">
                <!-- <u-progress type="circle" :percentage="progressPercentage" :width="16" :show-percent="true"
                  font-size="28" active-color="#FF3333"></u-progress> -->
                <progress type="circle" :percentage="progressPercentage" :width="16" :show-percent="true" font-size="28"
                  active-color="#FF3333"></progress>
                <text class="subtitle">{{ subtitle }}</text>
              </view>
            <!-- </view> -->
          </view>
          <view class="right">
            <view class="teXtRight"> 本月查询 </view>
@@ -99,7 +83,6 @@
      <view v-if="status === 1">
        <view>
          <WinCustomerLine></WinCustomerLine>
          <!-- <canvas canvas-id="borderLineId" id="borderLineId" class="chartsLine" @touchend="tapLine" /> -->
        </view>
      </view>
    </view>
@@ -165,7 +148,6 @@
        </view>
        <view v-if="tabsServeState === 0">
          <view class='item acea-row row-between-wrapper relative'>
            <!-- <view class='name'>所在地区</view> -->
            <view class="address  adressInput">
              <view class="left  flexLeft">
                <picker mode="multiSelector" @change="bindRegionChange" @columnchange="bindMultiPickerColumnChange"
@@ -212,7 +194,6 @@
          <input   @click="onAdvancedquery"    class="adressInput" v-model="selectTabstagvalue" placeholder="请输入行业关键词,获取精准数据" maxlength="15"></input>
        </view> -->
        <view class="btnRed" @click="onpageSearch">一键获取客源</view>
      </view>
    </view>
  </view>
@@ -221,9 +202,13 @@
import uCharts from "@qiun/ucharts"
import uniIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
var uChartsInstance = {};
import  amap   from '../../libs/map.js'
import  amap   from '../../libs/map.js';
import {
  getCityList
  getDashboardList
} from "@/api/api.js";
import {
  getCityList,
} from "@/utils";
import app from "../../config/app.js";
import WinCustomerLine from './components/WinCustomerLine';
@@ -336,7 +321,6 @@
        {
          name: "高级查询",
          default: false,
          // default: true,
          id: 1,
        },
      ],
@@ -386,8 +370,6 @@
      },
      cWidth: 320,
      cHeight: 300,
      // cWidthLine: 750,
      // cHeightLine: 500,
      cWidthLine: 550,
      cHeightLine: 400,
      topList: [
@@ -431,11 +413,8 @@
                key: this.key
            }),
      this.getRegeo()
    getCityList().then(res => {
      this.district = res
      console.log(this.district ,'==this.district ==地区=')
      this.initialize();
      uni.hideLoading();
      // this.showLoading = false;
@@ -454,8 +433,6 @@
    this.cWidth = uni.upx2px(320);
    this.cHeight = uni.upx2px(300);
    //折线图
    // this.cWidthLine = uni.upx2px(750);
    // this.cHeightLine = uni.upx2px(500);
    this.cWidthLine = uni.upx2px(550);
    this.cHeightLine = uni.upx2px(400);
    this.pixelRatio = uni.getSystemInfoSync().pixelRatio;
@@ -466,6 +443,11 @@
    //折线图
    this.getLineData(); //016
  },
  onShow: function() {
    this.getDashboard()
  },
  onMounted () {
    setTimeout(() => {
@@ -482,7 +464,8 @@
      });
    }, 1000);
  },
  //
  methods: {
    getRegeo() {
                const _this = this;
@@ -490,13 +473,8 @@
                    title: '获取信息中'
                });
                _this.amapPlugin.getRegeo({
                    success: (data) => {
                        // _this.addressName = data[0].name;
            // console.log(_this.addressName,'==_this.addressName--地理位置=')
            // this.sheng = data[0].regeocodeData.addressComponent.province
            //   this.shi = data[0].regeocodeData.addressComponent.city
            //   this.qu = data[0].regeocodeData.addressComponent.district
            console.log("转换成省市",data);
         let {province,city,district} = data[0].regeocodeData.addressComponent;
         city = (city || city.length>0) ? city:"";
@@ -509,6 +487,21 @@
                    }
                });
            },
  //行业关键词
  // getDashboardList
      getDashboard: function() {
        //  let that = this;
       getDashboardList().then(res => {
           this.list=res.data
     // that.imgUrls = res.data.list;
        setTimeout(() => {
         this.showSkeleton = false
          }, 1000)
         });
    },
    
    //标题显示的数据(今日查询)
    fetchData () {
@@ -567,12 +560,10 @@
        value = e.detail.value;
      this.region = [multiArray[0][value[0]], multiArray[1][value[1]], multiArray[2][value[2]]]
      this.cityId = area.cityId;
      console.log(this.cityId, '==this.cityId==kkkkk=')
      this.valueRegion = [0, 0, 0]
      this.initialize();
    },
    bindMultiPickerColumnChange: function (e) {
      console.log(e, '=====e-----16')
      let that = this,
        column = e.detail.column,
        value = e.detail.value,
@@ -582,7 +573,6 @@
        multiArray = that.multiArray,
        multiIndex = that.multiIndex;
      multiIndex[column] = value;
      console.log(multiArray, '==multiArray==llll=')
      switch (column) {
        case 0:
          let areaList = currentCity.child[0] || {
@@ -709,15 +699,11 @@
    getLineData () { },
     //快速查询
    onAdvancedquery(){
      // pages/WinCustomer/detail/WinAdvanced
      uni.navigateTo({
                        // url: '/pages/users/web_page/index?webUel=' + this.chatUrl + '&title=客服'
            url: '/pages/WinCustomer/detail/WinAdvanced'
                    })
    },
    ///tabs切换
    changeTabs (item) {
      if (item.id == 0) {
@@ -736,7 +722,6 @@
    },
    //服务tabs切换
    changeTabsServe (item) {
    console.log(item,'==item====hhhhhhhhh=')
      // let obj = this.tabsServe.find((vt) => vt.default);
      // if (obj) {
      //   obj.default = false;
@@ -746,9 +731,7 @@
      if(item.id==1){
        uni.navigateTo({
            url: '/pages/WinCustomer/detail/WinAdvanced'
                    })
      }
    },
pages/WinCustomer/detail/WinAdvanced.vue
@@ -40,16 +40,12 @@
            <!-------数据-->
        
     <view>
     <!-- <view v-for="(item, index) in itemslist" :key="index" @click="selectItem(item)">
      {{ item.name }}
    </view> -->
    
    <!-- 输入框,用于展示已选择的项目 -->
    <input type="text" v-model="selectedNames" />
  </view>
 
    <!-- 显示选中项的输入框 -->
     <!--------->
            <view class="MRleft">屏蔽关键词(选填)<text style="color:#F7211F;margin-left: 12rpx;">*</text></view>
@@ -394,13 +390,14 @@
            this.dynamicLists.splice(index, 1)
        },
        submit (ref) {
            // if(!this.)
            this.$refs[ref].validate().then(res => {
                // console.log('success', res);
                // uni.showToast({
                //     title: `校验通过`
                // })
                    uni.switchTab({
                                        url:'/pages/WinCustomer/WinCustomer'
                    url:'/pages/WinCustomer/WinCustomer'
                });
pages/news_list/index.vue
@@ -1,342 +1,343 @@
<template>
    <view :data-theme="theme">
        <skeleton :show="showSkeleton" :isNodes="isNodes" ref="skeleton" loading="chiaroscuro" selector="skeleton"
            bgcolor="#FFF"></skeleton>
        <view class='newsList skeleton' :style="{visibility: showSkeleton ? 'hidden' : 'visible'}">
            <view class='swiper skeleton-rect' v-if="imgUrls.length > 0">
                <swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval" :duration="duration"
                 indicator-color="rgba(102,102,102,0.3)" indicator-active-color="#666">
                    <block v-for="(item,index) in imgUrls" :key="index">
                        <swiper-item>
                            <navigator :url="'/pages/news_details/index?id='+item.id">
                                <image :src="item.imageInput" class="slide-image" mode="aspectFill" />
                            </navigator>
                        </swiper-item>
                    </block>
                </swiper>
            </view>
            <view class='nav'>
                <scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft" style="width:auto;overflow:hidden;">
                    <block v-for="(item,index) in navList" :key="index">
                        <view class='item borRadius14 skeleton-rect' :class='active==item.id?"on":""' @click='tabSelect(item.id, index)'>
                            <view>{{item.name}}</view>
                            <view class='line bg_color' v-if="active==item.id"></view>
                        </view>
                    </block>
                </scroll-view>
            </view>
            <view class='list'>
                <block v-for="(item,index) in articleList" :key="index">
                    <view class='item acea-row row-between-wrapper' @click="toNewDetail(item.id)">
                        <view class='text acea-row row-column-between'>
                            <view class='name line2 skeleton-rect'>{{item.title}}</view>
                            <view class="skeleton-rect">{{item.createTime}}</view>
                        </view>
                        <view class='pictrue skeleton-rect'>
                            <image :src='item.imageInput'></image>
                        </view>
                    </view>
                </block>
            </view>
        </view>
        <view class='noCommodity' v-if="articleList.length == 0 && (page != 1 || active== 0) && isShow">
            <view class='pictrue'>
                <image src='../../static/images/noNews.png'></image>
            </view>
        </view>
    </view>
</template>
<script>
    import {
        getArticleCategoryList,
        getArticleList,
        getArticleHotList,
        getArticleBannerList,
    } from '@/api/api.js';
    import animationType from '@/utils/animationType.js'
    let app = getApp();
    export default {
        data() {
            return {
                showSkeleton: true, //骨架屏显示隐藏
                isNodes: 0, //控制什么时候开始抓取元素节点,只要数值改变就重新抓取
                imgUrls: [{imageInput:''}],
                articleList: [{imageInput:'',title: '占位占位',createTime:'占位'}],
                indicatorDots: false,
                circular: true,
                autoplay: true,
                interval: 3000,
                duration: 500,
                navList: [{id:0,name:'占位'},{id:0,name:'占位'},{id:0,name:'占位'}],
                active: 0,
                page: 1,
                limit: 8,
                status: false,
                scrollLeft: 0,
                isShow: false,
                theme:app.globalData.theme,
            };
        },
        onLoad(){
            setTimeout(() => {
                //this.couponsList =  [{name:''}]
                this.isNodes++;
                // #ifdef H5
                this.setShare();
                // #endif
            }, 500);
            this.getArticleHot();
            this.getArticleBanner();
            this.getArticleCate();
            this.status = false;
            this.page = 1;
            //this.articleList = [];
            this.getCidArticle();
        },
        /**
         * 生命周期函数--监听页面显示
         */
        onShow: function() {
            // this.getArticleHot();
            // this.getArticleBanner();
            // this.getArticleCate();
            // this.status = false;
            // this.page = 1;
            // //this.articleList = [];
            // this.getCidArticle();
        },
        /**
           * 页面上拉触底事件的处理函数
        */
        onReachBottom: function () {
            this.getCidArticle();
        },
        methods: {
            getArticleHot: function() {
                let that = this;
                getArticleHotList().then(res => {
                    that.$set(that, 'articleList', res.data.list);
                });
            },
            getArticleBanner: function() {
                let that = this;
                getArticleBannerList().then(res => {
                    that.imgUrls = res.data.list;
                    setTimeout(() => {
                        this.showSkeleton = false
                    }, 1000)
                });
            },
            getCidArticle: function() {
                let that = this;
                if (that.active == 0) return;
                let limit = that.limit;
                let page = that.page;
                let articleList = that.articleList;
                if (that.status) return;
                getArticleList(that.active, {
                    page: page,
                    limit: limit
                }).then(res => {
                    let articleListNew = [];
                    let len = res.data.list.length;
                    articleListNew = articleList.concat(res.data.list);
                    that.page++;
                    that.$set(that, 'articleList', articleListNew);
                    that.status = limit > len;
                    that.page = that.page;
                    that.isShow = true;
                });
            },
            getArticleCate: function() {
                let that = this;
                getArticleCategoryList().then(res => {
                    let list = res.data.list;
                    list.unshift({id:0,name:'热门'});
                    that.$set(that, 'navList', list);
                    setTimeout(() => {
                        this.showSkeleton = false
                    }, 1000)
                });
            },
            tabSelect(active,e) {
                this.active = active;
                this.scrollLeft =  e * 60;
                // this.scrollLeft = (active - 1) * 50;
                if (this.active == 0) this.getArticleHot();
                else {
                    this.$set(this, 'articleList', []);
                    this.page = 1;
                    this.status = false;
                    this.getCidArticle();
                }
            },
            // '"/pages/news_details/index?id="+item.id'
            toNewDetail(id){
                uni.navigateTo({
                    animationType: animationType.type,                     animationDuration: animationType.duration,
                    url:"/pages/news_details/index?id="+id
                })
            },
            setShare: function() {
                this.$wechat.isWeixin() &&
                    this.$wechat.wechatEvevt([
                        "updateAppMessageShareData",
                        "updateTimelineShareData",
                        "onMenuShareAppMessage",
                        "onMenuShareTimeline"
                    ], {
                        desc: this.articleList[0].title,
                        title: this.articleList[0].title,
                        link: location.href,
                        imgUrl:this.articleList[0].imageInput
                    }).then(res => {
                    }).catch(err => {
                        console.log(err);
                    });
            },
        }
    }
</script>
<style lang="scss">
    page {
        background-color: #fff !important;
    }
    .newsList .swiper {
        width: 100%;
        position: relative;
        box-sizing: border-box;
        padding: 0 30rpx;
    }
    .newsList .swiper swiper {
        width: 100%;
        height: 365rpx;
        position: relative;
    }
    .newsList .swiper .slide-image {
        width: 100%;
        height: 335rpx;
        border-radius: 14rpx;
    }
    // #ifdef MP-WEIXIN
    .newsList .swiper .wx-swiper-dot {
        width: 12rpx !important;
        height: 12rpx !important;
        border-radius: 0;
        transform: rotate(-45deg);
        transform-origin: 0 100%;
    }
    .newsList .swiper .wx-swiper-dot~.wx-swiper-dot {
        margin-left: 5rpx;
    }
    .newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
        margin-bottom: -15rpx;
    }
    // #endif
    // #ifdef APP-PLUS || H5
    .newsList .swiper .uni-swiper-dot {
            width: 12rpx !important;
            height: 12rpx !important;
            border-radius: 0;
            transform: rotate(-45deg);
            transform-origin: 0 100%;
    }
    .newsList .swiper .uni-swiper-dot~.uni-swiper-dot {
        margin-left: 5rpx;
    }
    .newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal {
        margin-bottom: -15rpx;
    }
    // #endif
    .newsList .nav {
        padding: 0 24rpx;
        width: 100%;
        white-space: nowrap;
        box-sizing: border-box;
        margin-top: 43rpx;
    }
    .newsList .nav .item {
        display: inline-block;
        font-size: 32rpx;
        color: #999;
    }
    .newsList .nav .item.on {
        color: #282828;
    }
    .newsList .nav .item~.item {
        margin-left: 46rpx;
    }
    .newsList .nav .item .line {
        width: 24rpx;
        height: 4rpx;
        border-radius: 2rpx;
        margin: 10rpx auto 0 auto;
        @include main_bg_color(theme);
    }
    .newsList .list .item {
        margin: 0 24rpx;
        border-bottom: 1rpx solid #f0f0f0;
        padding: 35rpx 0;
    }
    .newsList .list .item .pictrue {
        width: 250rpx;
        height: 156rpx;
    }
    .newsList .list .item .pictrue image {
        width: 100%;
        height: 100%;
        border-radius: 14rpx;
    }
    .newsList .list .item .text {
        width: 420rpx;
        height: 156rpx;
        font-size: 24rpx;
        color: #999;
    }
    .newsList .list .item .text .name {
        font-size: 30rpx;
        color: #282828;
    }
    .newsList .list .item .picList .pictrue {
        width: 335rpx;
        height: 210rpx;
        margin-top: 30rpx;
    }
    .newsList .list .item .picList.on .pictrue {
        width: 217rpx;
        height: 136rpx;
    }
    .newsList .list .item .picList .pictrue image {
        width: 100%;
        height: 100%;
        border-radius: 6rpx;
    }
    .newsList .list .item .time {
        text-align: right;
        font-size: 24rpx;
        color: #999;
        margin-top: 22rpx;
    }
</style>
<template>
    <view :data-theme="theme">
        <skeleton :show="showSkeleton" :isNodes="isNodes" ref="skeleton" loading="chiaroscuro" selector="skeleton"
            bgcolor="#FFF"></skeleton>
        <view class='newsList skeleton' :style="{visibility: showSkeleton ? 'hidden' : 'visible'}">
            <view class='swiper skeleton-rect' v-if="imgUrls.length > 0">
                <swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval" :duration="duration"
                 indicator-color="rgba(102,102,102,0.3)" indicator-active-color="#666">
                    <block v-for="(item,index) in imgUrls" :key="index">
                        <swiper-item>
                            <navigator :url="'/pages/news_details/index?id='+item.id">
                                <image :src="item.imageInput" class="slide-image" mode="aspectFill" />
                            </navigator>
                        </swiper-item>
                    </block>
                </swiper>
            </view>
            <view class='nav'>
                <scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft" style="width:auto;overflow:hidden;">
                    <block v-for="(item,index) in navList" :key="index">
                        <view class='item borRadius14 skeleton-rect' :class='active==item.id?"on":""' @click='tabSelect(item.id, index)'>
                            <view>{{item.name}}</view>
                            <view class='line bg_color' v-if="active==item.id"></view>
                        </view>
                    </block>
                </scroll-view>
            </view>
            <view class='list'>
                <block v-for="(item,index) in articleList" :key="index">
                    <view class='item acea-row row-between-wrapper' @click="toNewDetail(item.id)">
                        <view class='text acea-row row-column-between'>
                            <view class='name line2 skeleton-rect'>{{item.title}}</view>
                            <view class="skeleton-rect">{{item.createTime}}</view>
                        </view>
                        <view class='pictrue skeleton-rect'>
                            <image :src='item.imageInput'></image>
                        </view>
                    </view>
                </block>
            </view>
        </view>
        <view class='noCommodity' v-if="articleList.length == 0 && (page != 1 || active== 0) && isShow">
            <view class='pictrue'>
                <image src='../../static/images/noNews.png'></image>
            </view>
        </view>
    </view>
</template>
<script>
    import {
        getArticleCategoryList,
        getArticleList,
        getArticleHotList,
        getArticleBannerList,
    } from '@/api/api.js';
    import animationType from '@/utils/animationType.js'
    let app = getApp();
    export default {
        data() {
            return {
                showSkeleton: true, //骨架屏显示隐藏
                isNodes: 0, //控制什么时候开始抓取元素节点,只要数值改变就重新抓取
                imgUrls: [{imageInput:''}],
                articleList: [{imageInput:'',title: '占位占位',createTime:'占位'}],
                indicatorDots: false,
                circular: true,
                autoplay: true,
                interval: 3000,
                duration: 500,
                navList: [{id:0,name:'占位'},{id:0,name:'占位'},{id:0,name:'占位'}],
                active: 0,
                page: 1,
                limit: 8,
                status: false,
                scrollLeft: 0,
                isShow: false,
                theme:app.globalData.theme,
            };
        },
        onLoad(){
            setTimeout(() => {
                //this.couponsList =  [{name:''}]
                this.isNodes++;
                // #ifdef H5
                this.setShare();
                // #endif
            }, 500);
            this.getArticleHot();
            this.getArticleBanner();
            this.getArticleCate();
            this.status = false;
            this.page = 1;
            //this.articleList = [];
            this.getCidArticle();
        },
        /**
         * 生命周期函数--监听页面显示
         */
        onShow: function() {
            // this.getArticleHot();
            // this.getArticleBanner();
            // this.getArticleCate();
            // this.status = false;
            // this.page = 1;
            // //this.articleList = [];
            // this.getCidArticle();
        },
        /**
           * 页面上拉触底事件的处理函数
        */
        onReachBottom: function () {
            this.getCidArticle();
        },
        methods: {
            getArticleHot: function() {
                let that = this;
                getArticleHotList().then(res => {
                    that.$set(that, 'articleList', res.data.list);
                });
            },
            getArticleBanner: function() {
                let that = this;
                getArticleBannerList().then(res => {
                    that.imgUrls = res.data.list;
                    setTimeout(() => {
                        this.showSkeleton = false
                    }, 1000)
                });
            },
            getCidArticle: function() {
                let that = this;
                if (that.active == 0) return;
                let limit = that.limit;
                let page = that.page;
                let articleList = that.articleList;
                if (that.status) return;
                getArticleList(that.active, {
                    page: page,
                    limit: limit
                }).then(res => {
                    let articleListNew = [];
                    let len = res.data.list.length;
                    articleListNew = articleList.concat(res.data.list);
                    that.page++;
                    that.$set(that, 'articleList', articleListNew);
                    that.status = limit > len;
                    that.page = that.page;
                    that.isShow = true;
                });
            },
            getArticleCate: function() {
                let that = this;
                getArticleCategoryList().then(res => {
                    let list = res.data.list;
                    list.unshift({id:0,name:'热门'});
                    that.$set(that, 'navList', list);
                    setTimeout(() => {
                        this.showSkeleton = false
                    }, 1000)
                });
            },
            tabSelect(active,e) {
                this.active = active;
                this.scrollLeft =  e * 60;
                //this.scrollLeft = (active - 1) * 50;
                if (this.active == 0) this.getArticleHot();
                else {
                    this.$set(this, 'articleList', []);
                    this.page = 1;
                    this.status = false;
                    this.getCidArticle();
                }
            },
            //'"/pages/news_details/index?id="+item.id'
            toNewDetail(id){
                uni.navigateTo({
                    animationType: animationType.type,
                    animationDuration: animationType.duration,
                    url:"/pages/news_details/index?id="+id
                })
            },
            setShare: function() {
                this.$wechat.isWeixin() &&
                    this.$wechat.wechatEvevt([
                        "updateAppMessageShareData",
                        "updateTimelineShareData",
                        "onMenuShareAppMessage",
                        "onMenuShareTimeline"
                    ], {
                        desc: this.articleList[0].title,
                        title: this.articleList[0].title,
                        link: location.href,
                        imgUrl:this.articleList[0].imageInput
                    }).then(res => {
                    }).catch(err => {
                        console.log(err);
                    });
            },
        }
    }
</script>
<style lang="scss">
    page {
        background-color: #fff !important;
    }
    .newsList .swiper {
        width: 100%;
        position: relative;
        box-sizing: border-box;
        padding: 0 30rpx;
    }
    .newsList .swiper swiper {
        width: 100%;
        height: 365rpx;
        position: relative;
    }
    .newsList .swiper .slide-image {
        width: 100%;
        height: 335rpx;
        border-radius: 14rpx;
    }
    // #ifdef MP-WEIXIN
    .newsList .swiper .wx-swiper-dot {
        width: 12rpx !important;
        height: 12rpx !important;
        border-radius: 0;
        transform: rotate(-45deg);
        transform-origin: 0 100%;
    }
    .newsList .swiper .wx-swiper-dot~.wx-swiper-dot {
        margin-left: 5rpx;
    }
    .newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
        margin-bottom: -15rpx;
    }
    // #endif
    // #ifdef APP-PLUS || H5
    .newsList .swiper .uni-swiper-dot {
            width: 12rpx !important;
            height: 12rpx !important;
            border-radius: 0;
            transform: rotate(-45deg);
            transform-origin: 0 100%;
    }
    .newsList .swiper .uni-swiper-dot~.uni-swiper-dot {
        margin-left: 5rpx;
    }
    .newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal {
        margin-bottom: -15rpx;
    }
    // #endif
    .newsList .nav {
        padding: 0 24rpx;
        width: 100%;
        white-space: nowrap;
        box-sizing: border-box;
        margin-top: 43rpx;
    }
    .newsList .nav .item {
        display: inline-block;
        font-size: 32rpx;
        color: #999;
    }
    .newsList .nav .item.on {
        color: #282828;
    }
    .newsList .nav .item~.item {
        margin-left: 46rpx;
    }
    .newsList .nav .item .line {
        width: 24rpx;
        height: 4rpx;
        border-radius: 2rpx;
        margin: 10rpx auto 0 auto;
        @include main_bg_color(theme);
    }
    .newsList .list .item {
        margin: 0 24rpx;
        border-bottom: 1rpx solid #f0f0f0;
        padding: 35rpx 0;
    }
    .newsList .list .item .pictrue {
        width: 250rpx;
        height: 156rpx;
    }
    .newsList .list .item .pictrue image {
        width: 100%;
        height: 100%;
        border-radius: 14rpx;
    }
    .newsList .list .item .text {
        width: 420rpx;
        height: 156rpx;
        font-size: 24rpx;
        color: #999;
    }
    .newsList .list .item .text .name {
        font-size: 30rpx;
        color: #282828;
    }
    .newsList .list .item .picList .pictrue {
        width: 335rpx;
        height: 210rpx;
        margin-top: 30rpx;
    }
    .newsList .list .item .picList.on .pictrue {
        width: 217rpx;
        height: 136rpx;
    }
    .newsList .list .item .picList .pictrue image {
        width: 100%;
        height: 100%;
        border-radius: 6rpx;
    }
    .newsList .list .item .time {
        text-align: right;
        font-size: 24rpx;
        color: #999;
        margin-top: 22rpx;
    }
</style>