From 75e99c7f399881690fc6f693f939fc4d3583b083 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Sat, 11 Nov 2023 16:37:59 +0800
Subject: [PATCH] 首页修改,通知公告列表增加分类筛选,网格员审核列表增加分页功能
---
pages/login/login-account.vue | 2
subPackage/article/list.vue | 103 +++++++++++++++++---
pages/home/index.vue | 39 ++++---
api/article/article.js | 19 +++
subPackage/label/hotel.vue | 7 +
subPackage/workbench/views/audit.vue | 25 ++++
subPackage/article/detail.vue | 74 ++++++++++----
7 files changed, 204 insertions(+), 65 deletions(-)
diff --git a/api/article/article.js b/api/article/article.js
index 6b612c7..ca55b45 100644
--- a/api/article/article.js
+++ b/api/article/article.js
@@ -9,3 +9,22 @@
}
})
}
+
+export const getDetail = (params) => {
+ return http.request({
+ url: '/blade-article/article/detail',
+ method: 'GET',
+ params: {
+ ...params
+ }
+ })
+}
+export const getCategory = (params) => {
+ return http.request({
+ url: '/blade-system/dict-biz/child-list',
+ method: 'GET',
+ params: {
+ ...params
+ }
+ })
+}
\ No newline at end of file
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 940fdd4..c57d1e3 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -2,7 +2,6 @@
<view class="">
<u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder
@leftClick="selectBoxShow = !selectBoxShow">
-
<view slot="left" class="top flex">
<view class="top-text f-30 fw">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
</view>
@@ -19,7 +18,7 @@
<u-icon :name="i.icon" :size="45"></u-icon>
<text class="f-26 mt-20">{{i.text}}</text>
</u-grid-item>
- <u-grid-item @click.native="navTo()" v-if="roleType == 2">
+ <u-grid-item @click.native="navTo()" v-if="curSelectSite.addressType != 2">
<u-icon name="/static/icon/nav-04.png" width="90rpx" height="90rpx"></u-icon>
<text class="f-26 mt-20">租客上报</text>
</u-grid-item>
@@ -86,15 +85,17 @@
<text class="f-32 fw">工作台</text>
</view>
</view>
- <u-grid :border="false" col="4" v-if="roleType == 2 && curSelectSite.addressType == 2">
- <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')" :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c" style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
+ <u-grid :border="false" col="4" v-if="roleType == 2 && curSelectSite.addressType == 2">
+ <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
+ :customStyle="{paddingTop:20+'rpx'}">
+ <view class="grid-item flex f-d-c a-i-c"
+ style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
<u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
<text class="grid-text f-24 fw mt-10">场所维护</text>
</view>
</u-grid-item>
</u-grid>
- <u-grid :border="false" col="4" v-if="roleType == 1">
+ <u-grid :border="false" col="4" v-if="roleType == 1">
<u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
:key="index" :customStyle="{paddingTop:20+'rpx'}">
<view class="grid-item flex f-d-c a-i-c" :style="{background:item.style.background}">
@@ -136,7 +137,7 @@
</u-cell-group>
</view>
- <view class="notic" v-if="roleType == 2">
+ <view class="notic" v-if="roleType == 2 && curSelectSite.addressType != 2">
<view class="caption flex a-i-c j-c-s-b" @click="navigatorPage('/subPackage/article/list')">
<view class="flex a-i-c">
<view class="line"></view>
@@ -144,20 +145,20 @@
</view>
<u-icon name="arrow-right"></u-icon>
</view>
-
+
<view v-for="(item,index) in notice" :key="index">
- <view class="notic-list" @click="navigatorPage('/subPackage/article/detail')">
+ <view class="notic-list" @click="navigatorPage(`/subPackage/article/detail?id=${item.id}`)">
<view class="f-28 mb-30">
{{item.title}}
</view>
<view class="flex a-i-c j-c-s-b">
<view class="f-28 flex a-i-c">
- <view class="flex a-i-c mr-30">
+ <!-- <view class="flex a-i-c mr-30">
<u-icon name="thumb-up-fill" size="24" color="#CECECE"></u-icon>
<text class="f-24 c-99 ml-10">{{item.countNumber}}</text>
- </view>
+ </view> -->
<view class="flex a-i-c">
- <u-icon name="eye-fill" size="24" color="#CECECE"></u-icon>
+ <u-icon name="eye-fill" size="22" color="#CECECE"></u-icon>
<text class="f-24 c-99 ml-10">{{item.viewNumber}}</text>
</view>
</view>
@@ -165,7 +166,7 @@
</view>
</view>
</view>
-
+
</view>
<u-picker :title="roleTypeName" :closeOnClickOverlay="true" @close="selectBoxShow = false"
:show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns" @confirm="confirmSite"
@@ -188,9 +189,9 @@
data() {
return {
swiperList: [
- 'https://cdn.uviewui.com/uview/swiper/swiper1.png',
- 'https://cdn.uviewui.com/uview/swiper/swiper2.png',
- 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
+ 'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png',
+ 'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png',
+ 'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png'
],
cellList: [{
icon: "/static/icon/nav-01.png",
@@ -265,7 +266,7 @@
style: {
background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
},
- path:"/subPackage/workbench/views/cshw"
+ path: "/subPackage/workbench/views/cshw"
},
{
icon: "/static/icon/menu-06.png",
@@ -385,7 +386,7 @@
}
const res = await getPage(param)
this.notice = res.data.records
- console.table(JSON.stringify(res.data.records))
+ // console.table(JSON.stringify(res.data.records))
},
@@ -761,4 +762,4 @@
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
}
-</style>
+</style>
\ No newline at end of file
diff --git a/pages/login/login-account.vue b/pages/login/login-account.vue
index 264e40a..2533065 100644
--- a/pages/login/login-account.vue
+++ b/pages/login/login-account.vue
@@ -153,7 +153,7 @@
passwordType: "password"
},
screenHeight: "",
- loginType:"" ,//登录类型 1账号密码 2 一键登录
+ loginType:1 ,//登录类型 1账号密码 2 一键登录
isAgreement:true
}
},
diff --git a/subPackage/article/detail.vue b/subPackage/article/detail.vue
index f68d01a..7c3a9dc 100644
--- a/subPackage/article/detail.vue
+++ b/subPackage/article/detail.vue
@@ -1,53 +1,79 @@
<template>
<view class="container">
- <view class="f-32">开展“争做合格父母、培养合格人才”家长学校活动开展“争做合格父母、培养合格人才”家</view>
+ <view class="f-32">{{detailInfo.title}}</view>
<view class="row flex j-c-s-b a-i-c c-99">
<view class="flex">
- <view class="flex a-i-c mr-40">
- <u-icon name="thumb-up-fill" color="#CECECE"></u-icon>
+ <!-- <view class="flex a-i-c mr-40">
+ <u-icon name="thumb-up-fill" color="#CECECE"></u-icon>
<text class="f-22 ml-10">120</text>
- </view>
+ </view> -->
<view class="flex a-i-c">
- <u-icon name="eye-fill" color="#CECECE"></u-icon>
- <text class="f-22 ml-10">120</text>
+ <u-icon name="eye-fill" color="#CECECE"></u-icon>
+ <text class="f-22 ml-10">{{detailInfo.viewNumber}}</text>
</view>
</view>
- <text class="f-24">2023-08-21</text>
+ <text class="f-24">{{detailInfo.createTime}}</text>
</view>
<view class="content f-28">
- 为了弘扬良好家庭文化,提升家教水平、推进家风建设,有效提高广大家庭儿童家长的家庭教育水平,6月19日上午万达社区文明实践站开展了“争做合格父母、培养合格人才”家长学校活动。参加本次的家长们共计15人。
+ <u-parse :content="detailInfo.content"></u-parse>
</view>
- <view class="action flex flex_base">
- <!-- <view class="action-item flex_base bgc-main">
+ <!-- <view class="action flex flex_base">
+ <view class="action-item flex_base bgc-main">
<u-icon name="thumb-up-fill" size="22" color="#fff"></u-icon>
- </view> -->
+ </view>
<view class="action-item flex_base bgc-gray">
<u-icon name="thumb-up-fill" size="22" color="#fff"></u-icon>
</view>
- </view>
+ </view> -->
</view>
</template>
<script>
+ import {
+ getDetail
+ } from '@/api/article/article.js'
+ export default {
+ data() {
+ return {
+ detailInfo: {},
+ }
+ },
+ onLoad(option) {
+ this.getDetailInfo(option.id)
+ },
+ methods: {
+ getDetailInfo(id) {
+ getDetail({
+ id
+ }).then(res => {
+ this.detailInfo = res.data;
+ })
+ }
+ }
+ }
</script>
<style>
- .container{
- padding:0 30rpx;
+ .container {
+ padding: 0 30rpx;
}
- .row{
- padding:30rpx 0;
+
+ .row {
+ padding: 30rpx 0;
}
- .content{
- margin-bottom:90rpx;
+
+ .content {
+ margin-bottom: 90rpx;
}
- .action-item{
- width:72rpx;
- height:72rpx;
+
+ .action-item {
+ width: 72rpx;
+ height: 72rpx;
border-radius: 50%;
-
+
}
- .bgc-gray{
- background-color:#C4C4C4;
+
+ .bgc-gray {
+ background-color: #C4C4C4;
}
</style>
\ No newline at end of file
diff --git a/subPackage/article/list.vue b/subPackage/article/list.vue
index ca2473a..80f79e1 100644
--- a/subPackage/article/list.vue
+++ b/subPackage/article/list.vue
@@ -1,19 +1,21 @@
<template>
<view class="">
-
- <view v-for="(item,index) in notice" :key="index">
- <view class="notic-list" @click="navigatorPage('/detail')">
+ <view class="tab">
+ <u-tabs :list="tabList" :current="tabIndex" keyName="dictValue" @change="changeTab" :inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs>
+ </view>
+ <view v-for="(item,index) in noticeList" :key="index" class="list">
+ <view class="notic-list bgc-ff" @click="navTo(item.id)">
<view class="f-28 mb-30">
{{item.title}}
</view>
<view class="flex a-i-c j-c-s-b">
<view class="f-28 flex a-i-c">
- <view class="flex a-i-c mr-30">
+ <!-- <view class="flex a-i-c mr-30">
<u-icon name="thumb-up-fill" size="24" color="#CECECE"></u-icon>
<text class="f-24 c-99 ml-10">{{item.countNumber}}</text>
- </view>
+ </view> -->
<view class="flex a-i-c">
- <u-icon name="eye-fill" size="24" color="#CECECE"></u-icon>
+ <u-icon name="eye-fill" size="22" color="#CECECE"></u-icon>
<text class="f-24 c-99 ml-10">{{item.viewNumber}}</text>
</view>
</view>
@@ -21,43 +23,114 @@
</view>
</view>
</view>
-
+ <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
</view>
</template>
<script>
import {
- getPage
+ getPage,
+ getCategory
} from "@/api/article/article.js";
export default {
data(){
return {
- notice: [],
+ tabList:[],
+ tabId:"",
+ tabIndex:0,
+ noticeList: [],
+ currentPage:1,
+ loadingStatus: 'nomore'
}
},
onLoad() {
- this.getNoticeList()
+ this.getCateList()
+
},
+ onReachBottom() {
+ this.currentPage++
+ this.getPageList()
+ },
+
methods:{
+
+ changeTab(e){
+ this.tabIndex = e.index;
+ this.tabId = e.dictKey;
+ this.noticeList = [];
+ this.currentPage = 1;
+ this.getNoticeList()
+ },
+
+ getCateList(){
+ getCategory({
+ parentId:'1722966265111248897'
+ }).then(res=>{
+ console.log(res)
+ this.tabList = res.data;
+ this.tabId = res.data[0].dictKey;
+ this.getNoticeList()
+ })
+ },
+
async getNoticeList() {
+ this.loadingStatus = 'loadingmore'
const param = {
size: 10,
- current: 1
+ current: this.currentPage,
+ articleType:this.tabId
}
const res = await getPage(param)
- this.notice = res.data.records
+ const {
+ code,
+ data: {
+ records
+ }
+ } = res
+ if (code != 200) {
+ uni.showToast({
+ title: '数据请求失败',
+ icon: 'error'
+ })
+ return
+ }
+ this.noticeList = [...this.noticeList, ...records]
+ this.loadingStatus = 'nomore'
},
- navTo(){
- this.$u.func.globalNavigator('detail', "navTo")
+ navTo(id){
+ this.$u.func.globalNavigator(`detail?id=${id}`, "navTo")
}
}
}
</script>
<style>
+ page{
+ background-color:#f5f5f5;
+ }
+ .tab{
+ width:100%;
+ height:88rpx;
+ position:fixed;
+ /*#ifdef H5*/
+ top:88rpx;
+ /*#endif*/
+ /*#ifdef MP-WEIXIN*/
+ top:0;
+ /*#endif*/
+ left:0;
+ background-color:#fff;
+ padding:0 30rpx;
+ box-sizing: border-box;
+ z-index: 999;
+
+ }
+ .list{
+ margin-top:108rpx;
+ }
.notic-list {
- padding: 30rpx 0;
+ padding: 30rpx;
border-bottom: 1px solid #f5f5f5;
}
</style>
\ No newline at end of file
diff --git a/subPackage/label/hotel.vue b/subPackage/label/hotel.vue
index 785b889..51e46d0 100644
--- a/subPackage/label/hotel.vue
+++ b/subPackage/label/hotel.vue
@@ -5,8 +5,11 @@
:labelStyle="{fontSize:'28rpx'}">
<view class="content">
<u-form-item label="社区名称" prop="districtName" borderBottom required>
- <u-input v-model="info.districtName" disabled disabledColor="#fff" border="none" placeholder="请输入"
- placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+ <view>
+ {{info.districtName}}
+ </view>
+ <!-- <u-input v-model="info.districtName" disabled disabledColor="#fff" border="none" placeholder="请输入"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input> -->
</u-form-item>
<u-form-item label="酒店名称" prop="hotelName" borderBottom required>
<u-input v-model="info.hotelName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
diff --git a/subPackage/workbench/views/audit.vue b/subPackage/workbench/views/audit.vue
index 346251c..14032d4 100644
--- a/subPackage/workbench/views/audit.vue
+++ b/subPackage/workbench/views/audit.vue
@@ -22,7 +22,7 @@
</view>
</view>
</view>
-
+ <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
</view>
</template>
@@ -47,27 +47,44 @@
],
tabIndex:0,
currentStatus:1,
- list:[]
+ list:[],
+ loadingStatus: 'nomore',
+ currentPage:1
}
},
onLoad(){
this.getList()
},
+ onReachBottom() {
+ this.currentPage++
+ this.getPageList()
+ },
methods:{
changeTab(e){
this.tabIndex = e.index;
this.currentStatus = e.status;
+ this.list = [];
+ this.currentPage = 1;
this.getList();
},
getList(){
getAuditReportingList({
- page:1,
+ page:this.currentPage,
size:20,
status:this.currentStatus
}).then(res=>{
- this.list = res.data.records;
+ if(res.code != 200){
+ uni.showToast({
+ title: '数据请求失败',
+ icon: 'error'
+ })
+ return
+ }
+ let records = res.data.records;
+ this.list = [...this.list, ...records]
+ this.loadingStatus = 'nomore'
})
},
navTo(name,id){
--
Gitblit v1.9.3