This commit is contained in:
2026-03-10 17:13:44 +08:00
3 changed files with 431 additions and 383 deletions

View File

@@ -5,7 +5,7 @@
--> -->
<template> <template>
<!-- @scroll="handleScroll" @scrolltolower="scrollBottom" --> <!-- @scroll="handleScroll" @scrolltolower="scrollBottom" -->
<scroll-view :scroll-y="true" class="container" style="background-image: url('../../../packageRc/static/pageBgIndex.png');"> <scroll-view :scroll-y="true" class="container" style="background-image: url(../../../packageRc/static/pageBgIndex.png);">
<view style="padding: 40rpx 28rpx;"> <view style="padding: 40rpx 28rpx;">
<!-- #ifdef MP-WEIXIN --> <!-- #ifdef MP-WEIXIN -->
<view class="kinggang"> <view class="kinggang">
@@ -91,6 +91,7 @@
</view> </view>
<view class="bottom-line"> <view class="bottom-line">
<view><uni-icons color="#A2A2A2" type="info" size="12"></uni-icons>发布日期:{{item.createTime}}</view> <view><uni-icons color="#A2A2A2" type="info" size="12"></uni-icons>发布日期:{{item.createTime}}</view>
<view><uni-icons color="#A2A2A2" type="eye" size="12"></uni-icons>浏览量:{{item.viewNum || 0}}</view>
</view> </view>
</view> </view>
</template> </template>

View File

@@ -1,5 +1,5 @@
<template> <template>
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');"> <view class="page" style="background-image: url(../../../packageRc/static/pageBg.png);">
<scroll-view :scroll-y="true" style="height: 100vh;position: relative;z-index: 1;"> <scroll-view :scroll-y="true" style="height: 100vh;position: relative;z-index: 1;">
<view class="input-outer-part" <view class="input-outer-part"
style="padding: 24rpx 32rpx 0;max-height: unset;"> style="padding: 24rpx 32rpx 0;max-height: unset;">
@@ -21,6 +21,7 @@
<view class="infos"> <view class="infos">
<view class="info">发文单位{{ policyDetail.sourceUnit }}</view> <view class="info">发文单位{{ policyDetail.sourceUnit }}</view>
<view class="info">发布时间{{ policyDetail.publishTime || '--' }}</view> <view class="info">发布时间{{ policyDetail.publishTime || '--' }}</view>
<view class="info">浏览量{{ policyDetail.viewNum || 0 }}</view>
</view> </view>
</view> </view>
<view class="main-ceontent-list"> <view class="main-ceontent-list">

View File

@@ -1,40 +1,89 @@
<template> <template>
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');"> <view
<view class="input-outer-part" class="page"
style="padding: 24rpx 32rpx 0;max-height: unset;"> style="
background-image: url(../../../packageRc/static/pageBg.png);
"
>
<view
class="input-outer-part"
style="padding: 24rpx 32rpx 0; max-height: unset"
>
<view class="search-line"> <view class="search-line">
<input style="width: 100%;" placeholder="请输入政策名称进行搜索" v-model="queryParams.searchValue" border="none" /> <input
<img src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/search.png" class="search-icon" @click="search()" /> style="width: 100%"
placeholder="请输入政策名称进行搜索"
v-model="queryParams.searchValue"
border="none"
/>
<img
src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/search.png"
class="search-icon"
@click="search()"
/>
</view> </view>
<view v-if="total" style="position: relative;padding: 32rpx 0;color: #000;"> <view
v-if="total"
style="position: relative; padding: 32rpx 0; color: #000"
>
<!-- <view v-if="total" style="position: relative;padding-bottom: 16px;color: #000;"> --> <!-- <view v-if="total" style="position: relative;padding-bottom: 16px;color: #000;"> -->
<text> {{ total }} </text> <text> {{ total }} </text>
</view> </view>
<!-- <scroll-view :scroll-y="true" style="height: calc(100vh - 342rpx);position: relative;z-index: 1;" --> <!-- <scroll-view :scroll-y="true" style="height: calc(100vh - 342rpx);position: relative;z-index: 1;" -->
<scroll-view :scroll-y="true" style="height: calc(100vh - 232rpx);position: relative;z-index: 1;" <scroll-view
@scrolltolower="getBottomList"> :scroll-y="true"
<view style="margin-bottom: 24rpx;border-radius: 16rpx;" class="policy-list" v-for="(item, index) in tableData" :key="index" @click="goPolicyDetail(item)"> style="height: calc(100vh - 232rpx); position: relative; z-index: 1"
@scrolltolower="getBottomList"
>
<view
style="margin-bottom: 24rpx; border-radius: 16rpx"
class="policy-list"
v-for="(item, index) in tableData"
:key="index"
@click="goPolicyDetail(item)"
>
<view class="title"> <view class="title">
<image src="../../../packageRc/static/zcLeft.png" /> <image src="../../../packageRc/static/zcLeft.png" />
{{item.zcmc}}</view> {{ item.zcmc }}</view
>
<view class="infos"> <view class="infos">
<view v-if="item.zcLevel">{{ item.zcLevel }}</view> <view v-if="item.zcLevel">{{ item.zcLevel }}</view>
<view v-if="item.sourceUnit">{{ item.sourceUnit }}</view> <view v-if="item.sourceUnit">{{ item.sourceUnit }}</view>
</view> </view>
<view class="bottom-line"> <view class="bottom-line">
<view><uni-icons color="#A2A2A2" type="info" size="12"></uni-icons>发文日期{{item.publishTime}}</view> <view
><uni-icons color="#A2A2A2" type="info" size="12"></uni-icons
>发文日期{{ item.publishTime }}</view
>
<view
><uni-icons color="#A2A2A2" type="eye" size="12"></uni-icons
>浏览量{{ item.viewNum || 0 }}</view
>
</view> </view>
</view> </view>
<view style="padding-bottom: 24rpx;"> <view style="padding-bottom: 24rpx">
<img v-if="!total&&!loading" src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/empty.png" <img
style="width: 100%;display: block;margin: 0 auto;" /> v-if="!total && !loading"
<view v-if="loading"><u-loading-icon></u-loading-icon> src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/empty.png"
<view style="text-align: center;color: #8E8E8E;font-size: 24rpx;">加载中~</view> style="width: 100%; display: block; margin: 0 auto"
/>
<view v-if="loading"
><u-loading-icon></u-loading-icon>
<view style="text-align: center; color: #8e8e8e; font-size: 24rpx"
>加载中~</view
>
</view> </view>
<view v-else-if="showMorePage" style="text-align: center;color: #1A62CE;font-size: 24rpx;">加载更多 <view
v-else-if="showMorePage"
style="text-align: center; color: #1a62ce; font-size: 24rpx"
>加载更多
</view> </view>
<view style="text-align: center;color: #8E8E8E;font-size: 24rpx;" v-else>没有更多数据了~</view> <view
</view>   style="text-align: center; color: #8e8e8e; font-size: 24rpx"
v-else
>没有更多数据了~</view
> </view
>  
</scroll-view> </scroll-view>
</view> </view>
</view> </view>
@@ -56,10 +105,10 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
showMorePage: true, showMorePage: true,
tableData: [], tableData: [],
loading: false, loading: false,
} };
}, },
onLoad(options) { onLoad(options) {
this.queryParams.zclx = options.zclx this.queryParams.zclx = options.zclx;
}, },
onShow() { onShow() {
this.search(); this.search();
@@ -67,8 +116,8 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
methods: { methods: {
goPolicyDetail(item) { goPolicyDetail(item) {
uni.navigateTo({ uni.navigateTo({
url: `/packageRc/pages/policy/policyDetail?id=${item.id}` url: `/packageRc/pages/policy/policyDetail?id=${item.id}`,
}) });
}, },
search() { search() {
this.showMorePage = true; this.showMorePage = true;
@@ -80,10 +129,7 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
}, },
// 触底加载 // 触底加载
getBottomList() { getBottomList() {
if ( if (this.queryParams.pageNum * this.queryParams.pageSize >= this.total) {
this.queryParams.pageNum * this.queryParams.pageSize >=
this.total
) {
this.showMorePage = false; this.showMorePage = false;
} else if ( } else if (
this.queryParams.pageNum * this.queryParams.pageSize < this.queryParams.pageNum * this.queryParams.pageSize <
@@ -103,7 +149,7 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
async getList() { async getList() {
this.loading = true; this.loading = true;
getPolicyList(this.queryParams).then((res) => { getPolicyList(this.queryParams).then((res) => {
this.gettedData(res) this.gettedData(res);
}); });
}, },
gettedData(res) { gettedData(res) {
@@ -122,8 +168,8 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
}); });
} }
}, },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@@ -136,9 +182,9 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
.search-line { .search-line {
border-radius: 32px; border-radius: 32px;
background: #FFFFFF; background: #ffffff;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #107AFD; border: 1px solid #107afd;
height: 64rpx; height: 64rpx;
border-radius: 32rpx; border-radius: 32rpx;
padding: 0 32rpx; padding: 0 32rpx;
@@ -180,23 +226,23 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
line-height: 40rpx; line-height: 40rpx;
text-align: center; text-align: center;
color: #fff; color: #fff;
background: #B2C0D1; background: #b2c0d1;
border: 1px solid #9BA9B9; border: 1px solid #9ba9b9;
font-size: 24rpx; font-size: 24rpx;
&.in { &.in {
background: #29D297; background: #29d297;
border: 1px solid #1BBA83; border: 1px solid #1bba83;
} }
&.out { &.out {
background: #ECB83D; background: #ecb83d;
border: 1px solid #D7892B; border: 1px solid #d7892b;
} }
&.far { &.far {
background: #EC7737; background: #ec7737;
border: 1px solid #C24F1A; border: 1px solid #c24f1a;
} }
} }
@@ -220,28 +266,28 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
text-align: center; text-align: center;
&.qz { &.qz {
background: #28CB5E; background: #28cb5e;
} }
&.yz { &.yz {
background: #DD6728; background: #dd6728;
} }
&.cy { &.cy {
background: #23B5C5; background: #23b5c5;
} }
&.px { &.px {
background: #DDA728; background: #dda728;
} }
&.qt { &.qt {
background: #2870DD; background: #2870dd;
} }
} }
.title { .title {
color: #3D3D3D; color: #3d3d3d;
width: calc(100% - 137rpx); width: calc(100% - 137rpx);
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -251,16 +297,16 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
.salary { .salary {
width: 33%; width: 33%;
color: #FA6553; color: #fa6553;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
text-align: right text-align: right;
} }
} }
.info { .info {
color: #3D3D3D; color: #3d3d3d;
margin-bottom: 7rpx; margin-bottom: 7rpx;
font-size: 28rpx; font-size: 28rpx;
white-space: nowrap; white-space: nowrap;
@@ -268,29 +314,29 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
text-overflow: ellipsis; text-overflow: ellipsis;
text { text {
color: #8E8E8E; color: #8e8e8e;
} }
.not { .not {
color: #EC7737; color: #ec7737;
font-weight: bold; font-weight: bold;
} }
.ing { .ing {
color: #ECB83D; color: #ecb83d;
font-weight: bold; font-weight: bold;
} }
.finish { .finish {
color: #21C88D; color: #21c88d;
font-weight: bold; font-weight: bold;
} }
} }
} }
.function-btn { .function-btn {
color: #BF5818; color: #bf5818;
border-top: 1px solid #E2E8EF; border-top: 1px solid #e2e8ef;
padding-bottom: 6rpx; padding-bottom: 6rpx;
line-height: 90rpx; line-height: 90rpx;
text-align: center; text-align: center;
@@ -320,18 +366,18 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
width: 176rpx; width: 176rpx;
margin-right: 16rpx; margin-right: 16rpx;
font-size: 28rpx; font-size: 28rpx;
border: 1px solid #B8C5D4; border: 1px solid #b8c5d4;
color: #282828; color: #282828;
text-align: center; text-align: center;
border-radius: 8rpx; border-radius: 8rpx;
} }
.reset { .reset {
background: #DCE2E9; background: #dce2e9;
} }
.save { .save {
background: linear-gradient(103deg, #1D64CF 0%, #1590D4 99%); background: linear-gradient(103deg, #1d64cf 0%, #1590d4 99%);
color: #fff; color: #fff;
border: 0; border: 0;
flex-grow: 1; flex-grow: 1;
@@ -405,7 +451,7 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
.date-value { .date-value {
color: #333; color: #333;
width: 100% width: 100%;
} }
.policy-list { .policy-list {
@@ -413,7 +459,7 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
margin: 0 auto; margin: 0 auto;
color: #333333; color: #333333;
border-radius: 24rpx; border-radius: 24rpx;
background: #FFFFFF; background: #ffffff;
padding: 32rpx; padding: 32rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
box-sizing: border-box; box-sizing: border-box;
@@ -424,21 +470,21 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
right: 0; right: 0;
top: 0; top: 0;
padding: 4rpx 14rpx; padding: 4rpx 14rpx;
border: 1rpx solid #EC4827; border: 1rpx solid #ec4827;
background: rgba(227, 79, 49, 0.09); background: rgba(227, 79, 49, 0.09);
border-top-right-radius: 24rpx; border-top-right-radius: 24rpx;
border-bottom-left-radius: 24rpx; border-bottom-left-radius: 24rpx;
color: #EC4827; color: #ec4827;
} }
.top-line { .top-line {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
font-size: 24rpx; font-size: 24rpx;
color: #A2A2A2; color: #a2a2a2;
margin-bottom: 16rpx; margin-bottom: 16rpx;
.salary { .salary {
font-size: 32rpx; font-size: 32rpx;
color: #4C6EFB; color: #4c6efb;
font-weight: bold; font-weight: bold;
} }
} }
@@ -463,14 +509,14 @@ import { getPolicyList } from "@/packageRc/apiRc/policy";
view { view {
padding: 0 16rpx; padding: 0 16rpx;
margin-right: 10rpx; margin-right: 10rpx;
background: #F2F2F2; background: #f2f2f2;
} }
} }
.bottom-line { .bottom-line {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
font-size: 24rpx; font-size: 24rpx;
color: #A2A2A2; color: #a2a2a2;
margin-top: 12rpx; margin-top: 12rpx;
} }
} }