From 532faa49707dd6ee6c9843f39ec3d921cb17bf42 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Fri, 27 Aug 2021 08:40:31 +0800
Subject: [PATCH] 版本更新
---
pages/article/article.vue | 323 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 206 insertions(+), 117 deletions(-)
diff --git a/pages/article/article.vue b/pages/article/article.vue
index fb485a9..4991452 100644
--- a/pages/article/article.vue
+++ b/pages/article/article.vue
@@ -1,27 +1,38 @@
<template>
- <view class="advisory-big ">
+ <view class="advisory-big">
<!-- 自定义顶部导航栏 -->
<!-- <view class="uni-nav-bar-info" :style="{marginTop:navbarTopHeight}">
<view class="title" @click="goTabDetail(index)" v-for="(item,index) in titleList"
:style="titleNum==index? 'color:#000000':'color:#808080'">{{item}}</view>
</view> -->
-
- <view class="article-tab">
- <view :class="{'article-tab-title':true,'cccc':index == articleTabNum}" @click="goArticleTab(index,item.dictKey)" v-for="(item,index) in articleTabArr"
- :style="articleTabNum==index?'color:#000000':'color:#808080'">{{item.dictValue}}</view>
- <image src="../../static/images/article/menu.png"></image>
+ <view>
+ <u-dropdown style="height:0rpx">
+ <u-dropdown-item v-model="value1" title="看新闻" @change="change" :options="options1"></u-dropdown-item>
+ <u-dropdown-item v-model="value1" title="看视频" @change="change" :options="options2"></u-dropdown-item>
+ <u-dropdown-item v-model="value1" title="行业圈" @change="change" :options="options3"></u-dropdown-item>
+ <u-dropdown-item v-model="value1" title="看现场" @change="change" :options="options4"></u-dropdown-item>
+ </u-dropdown>
</view>
- <view class="search-block">
- <view class="search-ico-wapper">
- <image src="../../static/images/search/search.png" class="search-ico" mode=""></image>
- </view>
- <input type="text" v-on:input ="getKeyword" v-model="keyword" placeholder="搜索" class="search-text" maxlength="10" focus/>
- <view class="search-ico-wapper1">
- <image src="../../static/images/article/microphone.png" class="search-ico-1" mode=""></image>
+ <view>
+ <view class="search-block" style="height: 35px">
+ <view class="search-ico-wapper">
+ <image src="../../static/images/search/search.png" class="search-ico" mode=""></image>
+ </view>
+ <input type="text" v-on:input="getKeyword" v-model="keyword" placeholder="搜索" class="search-text"
+ maxlength="10" focus />
+ <!-- <view class="search-ico-wapper1">
+ <image src="../../static/images/article/microphone.png" class="search-ico-1" mode=""></image>
+ </view> -->
</view>
- </view>
- <view class="article-content">
+ </view>
+
+
+
+
+ <scroll-view id="articleBox" :style="{ height: swiperHeight + 'px' }" class="article-content" scroll-y
+ style="width: 100%; margin-top: 100rpx;" :refresher-enabled="refresherFlag" :refresher-threshold="threshold"
+ :refresher-triggered="triggered" @refresherrefresh="refreshing" @refresherrestore="refresherrestore">
<view v-for="i in data" class="advisory-model" @click="goDetail(i)">
<view class="advisory-left">
<view class="advisory-title-top">
@@ -29,7 +40,7 @@
</view>
<view class="advisory-title-down">
<view class="advisory-title-name">{{i.sourceName}}</view>
- <view class="advisory-title-time">{{i.createTime}}</view>
+ <view class="advisory-title-time">{{i.createTime.substring(0,11)}}</view>
</view>
</view>
<view class="advisory-right">
@@ -37,8 +48,12 @@
</view>
</view>
<u-loadmore :status="status" />
- </view>
-
+ </scroll-view>
+
+ <!-- <view class="article-content">
+
+ </view> -->
+
<!-- 底部导航条 -->
<u-tabbar :list="tabbar" :mid-button="false"></u-tabbar>
</view>
@@ -65,73 +80,117 @@
articleTabArr: [],
articleTabNum: 0,
navbarTopHeight: "10px",
- tabbar:this.$store.state.tabbar,
- tabInfo:"0",
- keyword:''
+ tabbar: this.$store.state.tabbar,
+ tabInfo: "0",
+ keyword: '',
+ value1: "",
+ rolename: "",
+ threshold: 50,
+ triggered: false,
+ isRefreshing: false, // 是否在刷新中
+ refresherFlag: true,
+ options1: [{
+ label: '全部',
+ value: 'kxw',
+ }, {
+ label: '热议',
+ value: 'kxw001',
+ },
+ {
+ label: '通知',
+ value: 'kxw002',
+ },
+ {
+ label: '警闻',
+ value: 'kxw003',
+ },
+ {
+ label: '民生',
+ value: 'kxw004',
+ }
+ ],
+ options2: [{
+ label: '全部',
+ value: 'ksp',
+ }, {
+ label: '通告',
+ value: 'ksp001',
+ },
+ {
+ label: '微视',
+ value: 'ksp002',
+ },
+ {
+ label: '动态',
+ value: 'ksp003',
+ }
+ ],
+ options3: [{
+ label: '全部',
+ value: 'hyq',
+ }, {
+ label: '消息发布',
+ value: 'hyq001',
+ },
+ {
+ label: '知识竞答',
+ value: 'hyq002',
+ },
+ {
+ label: '知识讨论',
+ value: 'hyq003',
+ }
+ ],
+ options4: [{
+ label: '全部',
+ value: 'kxc',
+ }],
+ swiperHeight: 0
}
},
mounted() {
// this.getArtcilePageList();
},
onLoad() {
- //获取资讯类型
- this.getArticleTypeListInfo();
//获取新闻数据
+ this.rolename = this.$store.state.UserData.role_name;
this.getArtcilePageList("0");
-
+ uni.startPullDownRefresh();
+
},
+
+ onReady() {
+ let that = this;
+ uni.getSystemInfo({
+ success(e) {
+ console.log(e);
+ let {
+ windowWidth,
+ windowHeight,
+ safeArea
+ } = e;
+ const query = uni.createSelectorQuery().in(that);
+ query
+ .select('#articleBox')
+ .boundingClientRect(data => {
+
+ that.swiperHeight = (safeArea.bottom - data.top - 44);
+
+ })
+ .exec();
+ }
+ });
+ },
+
//上拉加载更多
onReachBottom() {
- if (this.status=='nomore') return;
+ if (this.status == 'nomore') return;
this.page = ++this.page;
setTimeout(() => {
this.getArtcilePageList(this.tabInfo);
}, 1000);
},
methods: {
- //获取资讯类型信息
- getArticleTypeListInfo(){
- var that = this;
- uni.request({
- url: this.$store.state.piAPI + '/blade-system/dict-biz/dictionary?code=articleType',
- method: 'GET',
- data: {
- current: this.page,
- size: this.pagesize
- },
- success:(res) =>{
- if(res.data.code==200){
- const item = {
- dictKey:"0",
- dictValue:"全部"
- }
- that.articleTabArr.push(item);
- //判断长度
- if(res.data.data.length<=4){
- res.data.data.forEach((item)=>{
- that.articleTabArr.push(item);
- })
- }else{
- //只取前4个
- that.articleTabArr.push(res.data.data[0]);
- that.articleTabArr.push(res.data.data[1]);
- that.articleTabArr.push(res.data.data[2]);
- that.articleTabArr.push(res.data.data[3]);
- }
- }
- },
- })
- },
-
- //根据资讯类型查询数据
- goArticleTab(index,dictKey) {
- this.tabInfo = dictKey;
- this.articleTabNum = index;
- //先清空数据
- this.data=[];
- //查询数据
- this.getArtcilePageList(dictKey);
- },
goTabDetail(index) {
this.titleNum = index;
},
@@ -146,29 +205,31 @@
});
},
//on input 通过 keyword 关键字查询
- getKeyword(){
+ getKeyword() {
this.getArtcilePageList(this.tabInfo);
},
//获取资讯信息
getArtcilePageList(tab) {
var that = this;
var paramData = null;
- if(Number(tab)==""){
+ if (Number(tab) == "") {
paramData = {
+ rolename: this.rolename, //帐号角色
current: this.page,
size: this.pagesize,
- keyword:this.keyword
+ keyword: this.keyword
}
- }else{
+ } else {
paramData = {
+ rolename: this.rolename, //帐号角色
current: this.page,
size: this.pagesize,
- keyword:this.keyword,
- articleType:that.tabInfo
+ keyword: this.keyword,
+ articleType: tab
}
}
uni.request({
- url: this.$store.state.piAPI + '/article/article/page',
+ url: this.$store.state.piAPI + '/article/article/pageDate',
method: 'GET',
data: paramData,
success: (res) => {
@@ -177,7 +238,7 @@
//如果总数小于pageSize,不做其他操作
if (res.data.data.total < this.pagesize) {
that.data = res.data.data.records;
- that.status='nomore';
+ that.status = 'nomore';
} else {
if (res.data.data.records.length < this.pagesize) {
//如果数量小于分页数量,则为最后一页
@@ -191,17 +252,45 @@
})
}
}
- uni.stopPullDownRefresh();
+ setTimeout(() => {
+ that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+ that.isRefreshing = false;
+ }, 1000)
}
}
});
- }
+ },
+ change(e) {
+ this.page = 1;
+ this.getArtcilePageList(e);
+ },
+ refreshing() {
+
+ if (this.isRefreshing) {
+ return;
+ }
+ this.isRefreshing = true;
+ //界面下拉触发,triggered可能不是true,要设为true
+ if (!this.triggered) {
+ this.triggered = true;
+ }
+
+ this.dataListP = [];
+ this.dataListQZ = [];
+ this.dataListTXL = [];
+
+ this.getArtcilePageList();
+ },
+
+ refresherrestore() {
+
+ },
}
}
</script>
<style>
- page{
+ page {
width: 100%;
height: 100%;
background-color: #f7f7f7;
@@ -250,12 +339,12 @@
height: 1.5rem;
}
}
-
- .article-content{
- margin-top: 3.5rem;
+
+ .article-content {
+ // margin-top: 3.5rem;
width: 100%;
// background-color: #00FF00;
-
+
.advisory-model {
width: 94%;
margin: 0 auto;
@@ -263,8 +352,8 @@
background-color: #FFF;
border-radius: 8px;
margin-top: 0.5rem;
-
-
+
+
.advisory-left {
width: 64%;
height: 80%;
@@ -274,13 +363,13 @@
position: relative;
left: 3%;
top: 10%;
-
-
+
+
.advisory-title-top {
// background-color: #2692FD;
width: 100%;
height: 75%;
-
+
.advisory-title {
width: 92%;
font-size: 15px;
@@ -291,10 +380,10 @@
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
-
-
+
+
}
-
+
.advisory-title-down {
// background-color: #0078A8;
width: 100%;
@@ -302,9 +391,9 @@
font-size: 12px;
font-weight: 550;
color: #808080;
-
+
.advisory-title-name {
- width: 130rpx;
+ width: 250rpx;
float: left;
letter-spacing: 1px;
overflow: hidden;
@@ -314,15 +403,15 @@
-webkit-box-orient: vertical;
// background-color:#0078A8;
}
-
+
.advisory-title-time {
position: relative;
left: 15rpx;
}
}
-
+
}
-
+
.advisory-right {
// background-color: #222222;
width: 33%;
@@ -330,7 +419,7 @@
left: 65%;
position: relative;
top: 10%;
-
+
image {
position: relative;
left: 0px;
@@ -343,11 +432,12 @@
}
}
}
-
- .cccc{
+
+ .cccc {
position: relative;
top: -5px;
}
+
.cccc::before {
position: relative;
top: 25px;
@@ -357,16 +447,17 @@
height: 3.5px;
background-color: #0BB9C8;
}
-
-
+
+
/* 搜索框 */
- .search-ico, .search-ico-1{
+ .search-ico,
+ .search-ico-1 {
width: 40upx;
height: 40upx;
}
-
- .search-block{
+
+ .search-block {
width: 94%;
margin: 0 auto;
// background-color: #007AFF;
@@ -374,36 +465,34 @@
flex-direction: row;
position: relative;
top: 2.85rem;
-
- .search-ico-wapper{
+
+ .search-ico-wapper {
background-color: #F1F1F1;
display: flex;
- flex-direction:column;
+ flex-direction: column;
justify-content: center;
padding: 0upx 0upx 0upx 15upx;
- border-bottom-left-radius:7px;
+ border-bottom-left-radius: 7px;
border-top-left-radius: 7px;
}
-
- .search-text{
+
+ .search-text {
font-size: 14px;
background-color: #F1F1F1;
height: 70upx;
width: 100%;
padding-left: 0.5rem;
}
-
-
- .search-ico-wapper1{
+
+
+ .search-ico-wapper1 {
background-color: #F1F1F1;
display: flex;
- flex-direction:column;
+ flex-direction: column;
justify-content: center;
padding: 0upx 15upx 0upx 0upx;
- border-bottom-right-radius:7px;
+ border-bottom-right-radius: 7px;
border-top-right-radius: 7px;
}
}
-
-
</style>
--
Gitblit v1.9.3