123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662 |
- <template>
- <view class="container">
- <view>
- <!-- <view style="padding: 20rpx;background-color: #fff;border-bottom: 1px solid #eaeaea;">
- <u-search v-model="model.mainTitle" placeholder="请输入标题" :showAction="true" actionText="搜索"
- :animation="true" @custom="search" @clear="search">
- </u-search>
- </view> -->
- <!-- <view style="height: 400rpx;">
- <u-swiper height="400rpx" :list="lbList" keyName="imgUrl" showTitle indicator indicatorMode="line"
- @click="info"></u-swiper>
- </view> -->
- <view>
- <view style="background-color: #fff;;padding-bottom: 100rpx">
- <view>
- <view v-for="(item,index) in listWork" :key="index"
- style="padding: 20rpx 40rpx;border-bottom: 1px solid #eaeaea;background-color: #fff;"
- @click="getinfo(item)">
- <view>
- <u--text :lines="2" size="32rpx" :text="item.noticeTitle"></u--text>
- </view>
- <view
- style="display: flex; flex-direction:row;justify-content:space-between;margin-top: 20rpx;color:#909399;font-size: 28rpx;">
- <view class="">
- {{showtime($u.timeFormat(item.publishTime, 'yyyy-mm-dd'))}}
- </view>
- <view :style="{color:item.readStatus=='1'?'#2dc225':'red'}" class="">
- {{item.readStatus==1?'已读':'未读'}}
- </view>
- </view>
- </view>
- </view>
- </view>
- <!-- <view style="padding: 20rpx;" v-if="listWork.length> 0">
- <u-loadmore :status="status" fontSize="28rpx" />
- </view> -->
- <div v-if="listWork.length == 0">
- <u-empty mode="list" icon="/static/list.png" text="暂无内容" textSize="30rpx"></u-empty>
- </div>
- </view>
- <!-- <u-action-sheet :actions="morelist" :closeOnClickOverlay="true" :closeOnClickAction="true" cancelText="取消"
- title="更多" :show="show" @select="selectClick" @close="show = false"></u-action-sheet> -->
- </view>
- </view>
- </template>
- <script>
- import {
- showtime
- } from "@/utils/wjw.js"
- import dragSort from '@/components/dragSort/dragSort.vue'
- export default {
- data() {
- return {
- total: 0,
- //加载状态
- status: 'loadmore',
- listWork: [],
- model: {
- pageSize: 10,
- pageNum: 1,
- isAsc: 'Desc',
- orderByColumn: 'createTime'
- },
- //新闻列表
- list: [],
- //栏目列表
- lmlist: [],
- //当前tabs索引
- current: 0,
- //新闻分页列表
- fyList: [],
- //总页数列表
- totalList: [],
- //分页状态列表
- statusList: [],
- //下拉刷新列表
- xlList1: [],
- xlList2: [],
- //轮播图列表
- lbList: [],
- showtime: showtime,
- lmshow: false,
- //所有栏目列表
- allList: [],
- //未关注栏目
- wgzlm: [],
- //是否保存栏目
- save: false
- }
- },
- onLoad() {
- // this.getLmList()
- // this.getLbList()
- // // this.getAllList()
- // this.getwgzlm()
- // this.needUpdateApp()
- this.getWork()
- uni.startPullDownRefresh();
- },
- onShow() {
- // this.getUnreadEmail()
- // this.getdbNum()
- // setTimeout(function() {
- // uni.stopPullDownRefresh();
- // }, 800);
- },
- onPullDownRefresh() {
- this.getWork();
- console.log("refresh");
- setTimeout(function() {
- uni.stopPullDownRefresh();
- }, 800);
- },
- onReachBottom() {
- //触底事件
- if (this.model.pageNum * this.model.pageSize >= this.total) {
- uni.showToast({
- title: "没有更多数据了",
- icon: "none",
- duration: 1000,
- });
- setTimeout(() => {
- uni.hideLoading();
- }, 500);
- } else {
- if (this.model.pageNum <= this.model.pageNum - 1) {
- setTimeout(() => {
- uni.hideLoading();
- }, 500);
- } else {
- uni.showLoading({
- title: "加载中",
- });
- this.model.pageNum++;
- uni.$u.http.get("/system/notice/list", {
- params: this.model
- }).then(({
- rows,
- total
- }) => {
- this.listWork = [...this.listWork, ...rows];
- this.total = total;
- });
- }
- setTimeout(() => {
- uni.hideLoading();
- }, 500);
- }
- },
- methods: {
- //根据标题搜索内容
- search() {
- uni.showLoading({
- title: "搜索中...",
- mask: true
- })
- this.model.pageNum = 1
- this.listWork = []
- this.getWork()
- },
- getWork() {
- let that = this
- uni.$u.http.get("/system/notice/list", {
- params: this.model
- }).then(res => {
- // uni.hideLoading()
- this.listWork = res.rows;
- this.total = res.total;
- })
- },
- wancheng(e) {
- if (e == 'finish') {
- let list = []
- if (this.lmlist.length != 0) {
- this.lmlist[this.current].xlList1 = true
- if (this.lmlist[this.current].list == 0) {
- this.refresherrefresh(this.current)
- }
- this.lmlist.forEach(item => {
- let obj = {
- name: item.name,
- id: item.id,
- columnCode: item.columnCode
- }
- list.push(obj);
- })
- }
- uni.$u.http.post('/oa/column/saveFollowCoulumn', list).then(res => {
- this.save = true
- })
- }
- },
- del(e) {
- // uni.$u.http.delete('/system/subscribed/remove/'+e.data.id).then(res=>{
- this.getwgzlm()
- if (this.current > e.index) {
- this.current = this.current - 1
- // this.lmlist[this.current].totalList = 0
- // this.lmlist[this.current].totalList = 'loadmore'
- // this.lmlist[this.current].pageSize = 10
- // this.lmlist[this.current].pageNum = 1
- // this.lmlist[this.current].xlList1 = true
- // this.lmlist[this.current].xlList2= true
- // this.getNewsList()
- } else if (this.current == 0 && e.index == 0) {
- this.lmlist[0].xlList1 = true
- // this.lmlist[0].xlList2= true
- this.refresherrefresh(0)
- }
- // })
- },
- lmOpen() {
- this.lmlist[this.current].xlList1 = false
- this.$forceUpdate()
- },
- //点击更多
- more() {
- this.lmshow = true
- },
- //获取未读
- getUnreadEmail() {
- uni.$u.http.get('/system/notice/getCurrUserUnReadNotice').then(res => {
- if (res == 0) {
- uni.removeTabBarBadge({ //显示数字
- index: 1, //tabbar下标
- })
- } else {
- uni.setTabBarBadge({ //显示数字
- index: 1, //tabbar下标
- text: '' + res + '' //数字
- })
- }
- })
- },
- //获取所有栏目
- getAllList() {
- uni.$u.http.get('/oa/column/app/homePage').then(res => {
- this.allList = res
- })
- },
- //获取栏目列表
- getLmList() {
- let that = this
- uni.$u.http.get('/oa/column/app/wgzd').then(res => {
- this.lmlist = res
- for (let i in this.lmlist) {
- this.lmlist[i].list = []
- this.lmlist[i].totalList = 0
- this.lmlist[i].totalList = 'loadmore'
- this.lmlist[i].pageSize = 30
- this.lmlist[i].pageNum = 1
- if (i == 0) {
- this.lmlist[i].xlList1 = true
- this.lmlist[i].xlList2 = true
- uni.showLoading({
- title: "加载中...",
- })
- setTimeout(() => {
- this.getNewsList()
- }, 1000)
- } else {
- this.lmlist[i].xlList1 = false
- this.lmlist[i].xlList2 = true
- }
- }
- }).catch(error => {
- uni.hideLoading()
- })
- },
- //获取新闻列表
- getNewsList() {
- // uni.hideLoading()
- uni.$u.http.get("/oa/article/listByColumnId", {
- params: {
- pageSize: this.lmlist[this.current].pageSize,
- pageNum: this.lmlist[this.current].pageNum,
- columnId: this.lmlist[this.current].id,
- status: 1
- },
- header: {
- 'content-Type': 'application/x-www-form-urlencoded'
- }
- }).then(res => {
- uni.hideLoading()
- this.lmlist[this.current].list = [...this.lmlist[this.current].list, ...res.rows]
- this.$forceUpdate()
- if (res.total <= this.lmlist[this.current].pageSize) {
- this.lmlist[this.current].statusList = "nomore"
- } else {
- this.lmlist[this.current].statusList = "loadmore"
- }
- if (this.lmlist[this.current].pageNum == 1) {
- this.lmlist[this.current].totalList = Math.ceil(res.total / this.lmlist[this.current]
- .pageSize)
- }
- this.$forceUpdate()
- }).catch(error => {
- uni.hideLoading()
- })
- },
- //关注栏目
- guanzhu(v, i) {
- // console.log(v)
- uni.showLoading({
- title: "请稍等...",
- mask: true
- })
- uni.$u.http.post('/system/subscribed', {
- userId: uni.getStorageSync('userInfo').userId,
- columnId: v.id
- }).then(res => {
- let obj = v
- obj.list = []
- obj.totalList = 0
- obj.totalList = 'loadmore'
- obj.pageSize = 10
- obj.pageNum = 1
- obj.xlList1 = false
- obj.xlList2 = true
- this.lmlist.push(obj)
- if (this.lmlist.length == 1) {
- this.lower(0)
- }
- // this.getwgzlm()
- this.$forceUpdate()
- // this.allList[i].isFollow = '1'
- uni.$u.http.get("/oa/column/app/notFollow").then(res => {
- // console.log(res)
- uni.hideLoading()
- uni.showToast({
- title: "订阅成功"
- })
- this.wgzlm = res
- })
- }).catch((error) => {
- uni.showToast({
- title: "取消失败",
- icon: 'none'
- })
- })
- },
- //tabs点击
- click(e) {
- let qwe = this.current
- this.lmlist[qwe].xlList1 = false
- this.current = e.index
- this.lmlist[this.current].xlList1 = true
- },
- animationfinish(e) {
- let qwe = this.current
- this.lmlist[qwe].xlList1 = false
- this.current = e.detail.current;
- this.lmlist[this.current].xlList1 = true
- if (this.lmlist[this.current].list.length == 0) {
- uni.showLoading({
- title: "加载中...",
- })
- this.getNewsList()
- }
- },
- //触底加载
- lower(e) {
- if (this.lmlist[e].pageNum != this.lmlist[e].totalList) {
- this.lmlist[e].pageNum++
- this.getNewsList()
- } else {
- this.lmlist[e].statusList = "nomore"
- this.$forceUpdate()
- }
- },
- //下拉刷新
- refresherrefresh(e) {
- this.lmlist[e].xlList2 = true
- this.lmlist[e].pageNum = 1
- this.lmlist[e].list = []
- let a = new Promise((resolve, reject) => {
- uni.$u.http.get("/oa/article/listByColumnId", {
- params: {
- pageSize: this.lmlist[e].pageSize,
- pageNum: this.lmlist[e].pageNum,
- columnId: this.lmlist[e].id,
- status: 1
- },
- header: {
- 'content-Type': 'application/x-www-form-urlencoded'
- }
- }).then(res => {
- uni.hideLoading()
- this.lmlist[e].list = [...this.lmlist[e].list, ...res.rows]
- // this.$forceUpdate()
- if (res.total <= this.lmlist[e].pageSize) {
- this.lmlist[e].statusList = "nomore"
- } else {
- this.lmlist[e].statusList = "loadmore"
- }
- if (this.lmlist[e].pageNum == 1) {
- this.lmlist[e].totalList = Math.ceil(res.total / this.lmlist[e].pageSize)
- }
- this.$forceUpdate()
- resolve('1')
- }).catch(error => {
- uni.hideLoading()
- resolve('2')
- })
- })
- a.then(res => {
- setTimeout(() => {
- this.lmlist[e].xlList2 = false
- this.$forceUpdate()
- }, 500)
- })
- // setTimeout(() => {
- // // this.$forceUpdate()
- // }, 2000)
- },
- refresherrestore(e) {
- },
- //查询轮播图列表
- getLbList() {
- uni.$u.http.get('/oa/article/listHome?isCarousel=1&pageNum=1&pageSize=100').then(res => {
- this.lbList = res.rows
- for (let i in res.rows) {
- this.lbList[i].imgUrl = getApp().globalData.saveUrl + res.rows[i].imgUrl.split('/public/')[
- 1]
- }
- })
- },
- //查看轮播详细信息
- info(e) {
- if (this.lbList[e].urlLink == null) {
- uni.navigateTo({
- url: "/pages/newsContent/newsContent?id=" + this.lbList[e].id
- })
- } else {
- uni.navigateTo({
- url: "/pages/webView/webView?url=" + this.lbList[e].urlLink
- })
- }
- },
- //查看文章详情
- getinfo(item) {
- uni.navigateTo({
- url: "/pages/index/Info?id=" + item.noticeId
- })
- this.getWork()
- // if (item.urlLink != null) {
- // uni.navigateTo({
- // url: "/pages/webView/webView?url=" + item.urlLink
- // })
- // } else {
- // uni.navigateTo({
- // url: "/pages/newsContent/newsContent?id=" + item.id
- // })
- // }
- },
- //获取关注栏目
- getwgzlm() {
- uni.$u.http.get("/oa/column/app/notFollow").then(res => {
- // console.log(res)
- this.wgzlm = res
- })
- },
- //查询待办数量
- getdbNum() {
- uni.$u.http.get('/jflow/restful/DB_Todolist_Num?token=' + uni.getStorageSync('jtoken')).then(res => {
- if (res.code == 200) {
- if (res.list.length > 0) {
- let qwe = 0
- for (let i in res.list) {
- if (res.list[i].FK_Flow != '008' && res.list[i].FK_Flow != '021') {
- qwe = res.list[i].Total + qwe
- }
- if (i == res.list.length - 1) {
- uni.setTabBarBadge({ //显示数字
- index: 0, //tabbar下标
- text: '' + qwe + '' //数字
- })
- }
- }
- } else {
- uni.removeTabBarBadge({ //显示数字
- index: 0, //tabbar下标
- })
- }
- }
- })
- },
- //保存栏目顺序
- saveLmOrder() {
- if (this.save == true) {
- this.save = false
- this.lmshow = false
- } else {
- if (this.$refs.dy.cacheList.length != 0) {
- this.$refs.dy.toggleEdit('cancel')
- this.lmlist[this.current].xlList1 = true
- }
- this.lmshow = false
- }
- },
- //升级
- needUpdateApp(i) {
- var _this = this;
- plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
- uni.showLoading({
- title: "检查中...",
- mask: true
- })
- uni.$u.http.post('/app/version/advance/' + wgtinfo.versionCode).then(res => {
- if (res.code == 200) {
- if (res.data != undefined) {
- uni.hideLoading()
- uni.showModal({
- title: "提示",
- content: "有新版本是否进行更新",
- success(qwe) {
- if (qwe.confirm) {
- _this.upgradeApp(getApp().globalData.updateUrl + res
- .data.url)
- }
- }
- })
- } else {
- uni.hideLoading()
- // uni.showToast({
- // title: "当前为最新版本",
- // icon: "none"
- // })
- }
- }
- }).catch(res => {
- uni.hideLoading()
- })
- })
- },
- upgradeApp(url) {
- uni.showLoading({
- title: '更新中……'
- });
- uni.downloadFile({
- url: url,
- success: downloadResult => {
- if (downloadResult.statusCode === 200) {
- try {
- var filePath = downloadResult.tempFilePath;
- var ext = filePath.substring(
- filePath.lastIndexOf('.') + 1
- );
- plus.runtime.install(
- downloadResult.tempFilePath, {},
- function() {
- uni.hideLoading()
- plus.runtime.restart();
- },
- function(e) {
- // console.log(e);
- }
- );
- } catch (e) {
- // console.log(e);
- }
- } else {
- uni.hideLoading()
- uni.showToast({
- title: "下载失败",
- icon: 'none'
- })
- }
- },
- fail: res => {
- }
- });
- },
- }
- }
- </script>
- <style lang="scss" scoped>
- .choose {
- border: 1px solid #409EFF !important;
- color: #409EFF;
- font-weight: bold;
- }
- .is-ellipsis {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .dragSort-wrap {}
- .dragSortBox {
- padding: 20rpx;
- }
- .dragSortBox-btns {
- padding: 20rpx;
- margin-bottom: 20rpx;
- text-align: right;
- color: red;
- }
- .dragSortBox-btn {
- margin-left: 20rpx;
- }
- .dragSort-area {
- width: 100%;
- /* background-color: skyblue; */
- }
- .dragSort-view {
- /* background-color: pink; */
- background-color: #eee;
- text-align: center;
- }
- .dragSort-view.is-touched {
- opacity: .9;
- }
- .dragSort-view__con {
- position: relative;
- height: 100%;
- }
- .dragSort-view__label {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- max-width: 100%;
- }
- .dragSort-view__btn-del {
- position: absolute;
- right: 0;
- top: 0;
- transform: translate(50%, -50%);
- }
- </style>
|