需求开发

This commit is contained in:
FengHui
2026-05-20 20:50:51 +08:00
parent c74cdf13c2
commit 2175210ea0
8 changed files with 461 additions and 35 deletions

View File

@@ -4,6 +4,7 @@
<!-- 消息列表 -->
<view
class="list-card press-button"
:class="{ unread: item.isRead === '0' }"
v-for="(item, index) in msgList"
:key="index"
@click="seeDetail(item, index)"
@@ -16,21 +17,29 @@
></image>
<image
class="card-img-flame"
v-if="item.title === '职位上新'"
v-else-if="item.title === '职位上新'"
src="/static/icon/msgtype2.png"
></image>
<image
class="card-img-flame"
v-if="item.title === '系统通知'"
v-else-if="item.title === '系统通知'"
src="/static/icon/msgtype3.png"
></image>
<image
class="card-img-flame card-img-default"
v-else
src="/static/icon/bell.png"
></image>
<view class="subscript" v-if="item.notReadCount || !item.isRead">
{{ item.notReadCount || '' }}
</view>
</view>
<view class="card-info">
<view class="info-title">
<text>{{ item.title }}</text>
<view class="title-left">
<view class="unread-dot" v-if="item.isRead === '0'"></view>
<text :class="{ 'unread-text': item.isRead === '0' }">{{ item.title }}</text>
</view>
<view class="card-time">{{ item.date }}</view>
</view>
<view class="info-text line_2">{{ item.subTitle || '消息' }}</view>
@@ -66,26 +75,8 @@ async function loadData() {
}
function seeDetail(item, index) {
if (item.noticeType === '4') {
useReadMsg().markAsRead(item, index);
if (item.bussinessId) {
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(item.bussinessId)}&encryptJobId=${encodeURIComponent(item.bussinessId)}`);
}
return;
}
switch (item.title) {
case '职位上新':
useReadMsg().markAsRead(item, index);
navTo('/packageA/pages/newJobPosition/newJobPosition');
break;
case '招聘会预约提醒':
useReadMsg().markAsRead(item, index);
navTo('/packageA/pages/reservation/reservation');
break;
case '系统通知':
navTo('/packageA/pages/systemNotification/systemNotification');
break;
}
uni.setStorageSync('currentMessageDetail', item);
navTo('/pages/msglog/messageDetail');
}
defineExpose({ loadData });
@@ -110,6 +101,8 @@ defineExpose({ loadData });
align-items: center;
padding: 26rpx 36rpx;
margin: 0 0 28rpx 0
&.unread
background: linear-gradient(135deg, #FFFAFA 0%, #FFFFFF 100%)
.card-img
width: 96rpx;
height: 96rpx;
@@ -121,6 +114,9 @@ defineExpose({ loadData });
.card-img-flame
width: 100%;
height: 100%
.card-img-default
width: 60%
height: 60%
.subscript
position: absolute;
right: 0;
@@ -147,15 +143,31 @@ defineExpose({ loadData });
color: #333333;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%
text
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
.title-left
display: flex
align-items: center
min-width: 0
flex: 1
.unread-dot
width: 14rpx
height: 14rpx
background: #F73636
border-radius: 50%
margin-right: 12rpx
flex-shrink: 0
.unread-text
font-weight: 600
text
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
.card-time
font-weight: 400;
font-size: 28rpx;
color: #AAAAAA;
height: 100%
margin: 4rpx;
flex-shrink: 0
.info-text
font-weight: 400;
font-size: 28rpx;