修改一些bug
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@ ENV = 'development'
|
||||
|
||||
# VITE_APP_BASE_API_Url = 'https://aits.jlbank.com.cn:7001'
|
||||
|
||||
# VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
|
||||
# VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
|
||||
|
||||
# VITE_APP_BASE_API_Url = 'http://192.168.247.200'
|
||||
# VITE_APP_BASE_API_Url = 'http://aitscdn.jlbank.com.cn:7001'
|
||||
|
||||
@@ -39,4 +39,14 @@ export const noticeMessageCount = (data) => {
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
export const queryMessageNoticeClass = (data) => {
|
||||
return request({
|
||||
url: base_url + '/traPersonalMessageNotice/queryMessageNoticeClass',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -164,6 +164,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/messageNotification/list",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息列表",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/testingHall/index",
|
||||
"style": {
|
||||
|
||||
@@ -290,13 +290,12 @@
|
||||
requestCount.value = 0;
|
||||
// 触发获取结果完成事件
|
||||
console.log('触发获取结果完成事件', result.mode);
|
||||
|
||||
if(result.mode === 'examination') {
|
||||
console.log('调用它');
|
||||
if (result.crsId !== '') {
|
||||
pointAndBadgesRun('03', result.crsId)
|
||||
} else {
|
||||
if (result.crsId === '') { // 没有crsId是考试中心,考试中心是完成就调用
|
||||
pointAndBadgesRun('05', result.papersId)
|
||||
} else if(pass_status.value === 1) { // 这里是有crsId,那就是课程,课程的话必须通过才调用
|
||||
pointAndBadgesRun('03', result.crsId)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -467,7 +466,7 @@
|
||||
left: 0;
|
||||
top: -2rpx;
|
||||
width: 100%;
|
||||
z-index: 600;
|
||||
z-index: 93;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</view>
|
||||
</template>
|
||||
<view class="scroll-Y">
|
||||
<view class="item" v-for="(item, index) in data_list" @click="readMessageOpen(item)">
|
||||
<view class="item" v-for="(item, index) in data_list" @click="gotoMessageList">
|
||||
<view class="icon">
|
||||
<image class="img_100" :src="imageMap[item.noticeTyp]" mode="widthFix"></image>
|
||||
</view>
|
||||
@@ -40,83 +40,50 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<uni-popup ref="popup" type="bottom">
|
||||
<view
|
||||
class="popup"
|
||||
@touchmove.stop.prevent="
|
||||
() => {
|
||||
return false;
|
||||
}
|
||||
"
|
||||
>
|
||||
<view class="message_popup_div">
|
||||
<view class="title">
|
||||
{{ popup_info.title }}
|
||||
</view>
|
||||
<view class="text">{{ popup_info.text }}</view>
|
||||
<view class="button_div" @click.stop="readMessage">
|
||||
<uv-button :loading="readLoading" class="button">我知道了</uv-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { queryTraPersonalMessageNoticePaging, readNotice, oneTimeRead } from '@/api/messageNotification.js';
|
||||
import { queryTraPersonalMessageNoticePaging, readNotice, oneTimeRead, queryMessageNoticeClass } from '@/api/messageNotification.js';
|
||||
import common from '../../common/common';
|
||||
|
||||
import type_01 from '@/static/images/messageNotification/type_01.png';
|
||||
import type_02 from '@/static/images/messageNotification/type_02.png';
|
||||
import type_03 from '@/static/images/messageNotification/type_03.png';
|
||||
import type_04 from '@/static/images/messageNotification/type_04.png';
|
||||
import type_05 from '@/static/images/messageNotification/type_05.png';
|
||||
import type_06 from '@/static/images/messageNotification/type_06.png';
|
||||
import type_07 from '@/static/images/messageNotification/type_07.png';
|
||||
import useZpaging from '@/composables/useZpaging.js';
|
||||
const { pagingRef, queryList, data_list, reload } = useZpaging({
|
||||
fetchFunction: queryTraPersonalMessageNoticePaging
|
||||
});
|
||||
|
||||
const pagingRef = ref(null)
|
||||
// const { pagingRef, queryList, data_list, reload } = useZpaging({
|
||||
// fetchFunction: noticeMessageCount
|
||||
// });
|
||||
const queryList = () => {
|
||||
queryMessageNoticeClass().then((body) => {
|
||||
|
||||
pagingRef.value.completeByTotal(body, 8);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const imageMap = {
|
||||
'01': type_01,
|
||||
'02': type_02,
|
||||
'03': type_03,
|
||||
'04': type_04,
|
||||
'05': type_05
|
||||
};
|
||||
const readLoading = ref(false);
|
||||
const offset = ref(0);
|
||||
const popup_info = reactive({
|
||||
id: '',
|
||||
title: '',
|
||||
text: '',
|
||||
isRead: ''
|
||||
});
|
||||
const popup = ref(null);
|
||||
|
||||
const readMessage = () => {
|
||||
if (popup_info.isRead === '02') {
|
||||
popup.value.close();
|
||||
return;
|
||||
}
|
||||
readLoading.value = true;
|
||||
readNotice({ noticeId: popup_info.id })
|
||||
.then((res) => {
|
||||
popup.value.close();
|
||||
readLoading.value = false;
|
||||
data_list.value.forEach((item) => {
|
||||
if (item.noticeId === popup_info.id) {
|
||||
item.isRead = res.body.isRead;
|
||||
return;
|
||||
}
|
||||
});
|
||||
})
|
||||
.finally(() => {
|
||||
readLoading.value = false;
|
||||
});
|
||||
'05': type_05,
|
||||
'06': type_06,
|
||||
'07': type_07,
|
||||
};
|
||||
|
||||
const gotoMessageList = () => {
|
||||
common.navigateTo('/pages/messageNotification/list?type=1')
|
||||
}
|
||||
|
||||
const oneClickReadMessage = () => {
|
||||
const state = data_list.value.every((res) => res.isRead === '02');
|
||||
if (state) {
|
||||
@@ -138,16 +105,6 @@
|
||||
common.hideLoading();
|
||||
});
|
||||
};
|
||||
|
||||
// 读取消息
|
||||
const readMessageOpen = (item) => {
|
||||
console.log('item', item);
|
||||
popup_info.id = item.noticeId;
|
||||
popup_info.title = item.noticeTitle;
|
||||
popup_info.text = item.noticeContent;
|
||||
popup_info.isRead = item.isRead;
|
||||
popup.value.open();
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
<template>
|
||||
<z-paging ref="pagingRef" v-model="data_list" @query="queryList" class="scroll_div" empty-view-text="暂无数据">
|
||||
<template #top>
|
||||
<view class="main_div">
|
||||
<view class="body-title">
|
||||
<view class="back_div" @click="common.navigateBack()">
|
||||
<view class="back-icon"></view>
|
||||
</view>
|
||||
<view>{{ title }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<view class="scroll-Y">
|
||||
<view class="item" v-for="(item, index) in data_list" @click="itemClick(item)">
|
||||
<view class="top-icon-div">
|
||||
<view class="icon">
|
||||
<image class="img_100" :src="img" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="top">
|
||||
<view class="title">
|
||||
{{ item.noticeTitle }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="time">
|
||||
{{ item.ctTime?.substr(0, 16) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="note-div" v-if="typeValue !== '07'">{{ item.noticeContent }}</view>
|
||||
<view class="badge-div" v-else>
|
||||
<image src="/src/static/images/test/xz.png" mode="widthFix" class="badge-img"></image>
|
||||
<view class="badge-name">恭喜你获得X徽章</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, computed } from 'vue';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { queryTraPersonalMessageNoticePaging } from '@/api/messageNotification.js';
|
||||
import common from '@/common/common';
|
||||
import type_01 from '@/static/images/messageNotification/type_01.png';
|
||||
import type_02 from '@/static/images/messageNotification/type_02.png';
|
||||
import type_03 from '@/static/images/messageNotification/type_03.png';
|
||||
import type_04 from '@/static/images/messageNotification/type_04.png';
|
||||
import type_05 from '@/static/images/messageNotification/type_05.png';
|
||||
import type_06 from '@/static/images/messageNotification/type_06.png';
|
||||
import type_07 from '@/static/images/messageNotification/type_07.png';
|
||||
import useZpaging from '@/composables/useZpaging.js';
|
||||
const fetchFunction = (params) => queryTraPersonalMessageNoticePaging({ noticeTyp: typeValue.value, ...params });
|
||||
const { pagingRef, queryList, data_list } = useZpaging({
|
||||
fetchFunction: fetchFunction
|
||||
});
|
||||
|
||||
const imageMap = {
|
||||
'01': type_01,
|
||||
'02': type_02,
|
||||
'03': type_03,
|
||||
'04': type_04,
|
||||
'05': type_05,
|
||||
'06': type_06,
|
||||
'07': type_07
|
||||
};
|
||||
const titleMap = {
|
||||
'01': '课程提醒',
|
||||
'02': '',
|
||||
'03': '积分获取',
|
||||
'04': '',
|
||||
'05': '',
|
||||
'06': '',
|
||||
'07': '积分上架'
|
||||
};
|
||||
const typeValue = ref('');
|
||||
const img = computed(() => imageMap[typeValue.value] ?? '');
|
||||
const title = computed(() => titleMap[typeValue.value] ?? '');
|
||||
const itemClick = (item) => {
|
||||
if(typeValue.value === '06') {
|
||||
common.navigateTo('/pages/pointsRedemption/index?id=');
|
||||
}
|
||||
}
|
||||
onLoad((e) => {
|
||||
typeValue.value = e.type ?? '07';
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.scroll_div {
|
||||
background-color: #f6f8ff;
|
||||
}
|
||||
.scroll-Y {
|
||||
height: 100%;
|
||||
padding-top: 1rpx;
|
||||
.item {
|
||||
background: #ffffff url('@/static/images/messageNotification/popup_bg.png') no-repeat center -4rpx;
|
||||
background-size: auto 50%;
|
||||
background-color: #ffffff;
|
||||
margin: 30rpx 38rpx;
|
||||
border-radius: 38rpx;
|
||||
border-bottom: 4rpx solid #efefef;
|
||||
padding: 28rpx 0rpx 28rpx 0rpx;
|
||||
.top-icon-div {
|
||||
display: flex;
|
||||
border-bottom: 1px solid #f1eff0;
|
||||
padding: 0 28rpx 20rpx 28rpx;
|
||||
margin-bottom: 20rpx;
|
||||
.icon {
|
||||
width: 78rpx;
|
||||
height: 78rpx;
|
||||
}
|
||||
.right {
|
||||
margin-left: 16rpx;
|
||||
overflow: hidden;
|
||||
.time {
|
||||
font-size: 23rpx;
|
||||
color: #999999;
|
||||
line-height: 30rpx;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
}
|
||||
.title {
|
||||
font-family: PingFangSC;
|
||||
font-weight: 600;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
line-height: 46rpx;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
.note-div {
|
||||
font-weight: 400;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
line-height: 48rpx;
|
||||
text-align: left;
|
||||
padding: 0 28rpx;
|
||||
}
|
||||
.badge-div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
.badge-img {
|
||||
width: 170rpx;
|
||||
}
|
||||
.badge-name {
|
||||
margin: 10rpx;
|
||||
font-weight: 500;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background: linear-gradient(0deg, rgba(195, 219, 255, 0) 0%, #c3dbff 100%);
|
||||
background-size: 100% 300px;
|
||||
background-repeat: no-repeat; /* 防止渐变重复平铺 */
|
||||
padding-top: var(--status-bar-height);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.body-title {
|
||||
width: 100%;
|
||||
height: 120rpx;
|
||||
font-size: 33rpx;
|
||||
padding-top: 10rpx;
|
||||
font-weight: 500;
|
||||
color: #000;
|
||||
font-weight: 600;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
|
||||
.delete_div {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 7rpx;
|
||||
width: 70rpx;
|
||||
height: 70rpx;
|
||||
.img {
|
||||
margin-top: 10rpx;
|
||||
width: 34rpx;
|
||||
height: 34rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.back_div {
|
||||
position: absolute;
|
||||
left: 26rpx;
|
||||
top: 17rpx;
|
||||
padding: 0 14rpx 14rpx 0;
|
||||
|
||||
.back-icon {
|
||||
position: relative;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.back-icon::before,
|
||||
.back-icon::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.back-icon::after {
|
||||
top: 25%;
|
||||
left: 25%;
|
||||
width: 40%;
|
||||
height: 40%;
|
||||
border-top: 4rpx solid #2b2c2e;
|
||||
border-left: 4rpx solid #2b2c2e;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,370 @@
|
||||
<template>
|
||||
<z-paging ref="pagingRef" v-model="data_list" @query="queryList" class="scroll_div" empty-view-text="暂无数据">
|
||||
<template #top>
|
||||
<view class="main_div">
|
||||
<view class="body-title">
|
||||
<view class="back_div" @click="common.navigateBack()">
|
||||
<view class="back-icon"></view>
|
||||
</view>
|
||||
<view>消息</view>
|
||||
<view class="delete_div" @click="oneClickReadMessage">
|
||||
<image
|
||||
class="img"
|
||||
src="@/static/images/messageNotification/delete_icon.png"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<view class="scroll-Y">
|
||||
<view class="item" v-for="(item, index) in data_list" @click="readMessageOpen(item)">
|
||||
<view class="icon">
|
||||
<image class="img_100" :src="imageMap[item.noticeTyp]" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="top">
|
||||
<view class="title">
|
||||
{{ item.noticeTitle }}
|
||||
</view>
|
||||
<view class="time">
|
||||
{{ item.ctTime?.substr(0, 16) }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="note ellipsis-text">
|
||||
{{ item.noticeContent }}
|
||||
</view>
|
||||
<view class="read_div" v-if="item?.isRead === '01'"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<uni-popup ref="popup" type="bottom">
|
||||
<view
|
||||
class="popup"
|
||||
@touchmove.stop.prevent="
|
||||
() => {
|
||||
return false;
|
||||
}
|
||||
"
|
||||
>
|
||||
<view class="message_popup_div">
|
||||
<view class="title">
|
||||
{{ popup_info.title }}
|
||||
</view>
|
||||
<view class="text">{{ popup_info.text }}</view>
|
||||
<view class="button_div" @click.stop="readMessage">
|
||||
<uv-button :loading="readLoading" class="button">我知道了</uv-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { queryTraPersonalMessageNoticePaging, readNotice, oneTimeRead } from '@/api/messageNotification.js';
|
||||
import common from '../../common/common';
|
||||
|
||||
import type_01 from '@/static/images/messageNotification/type_01.png';
|
||||
import type_02 from '@/static/images/messageNotification/type_02.png';
|
||||
import type_03 from '@/static/images/messageNotification/type_03.png';
|
||||
import type_04 from '@/static/images/messageNotification/type_04.png';
|
||||
import type_05 from '@/static/images/messageNotification/type_05.png';
|
||||
import useZpaging from '@/composables/useZpaging.js';
|
||||
const { pagingRef, queryList, data_list, reload } = useZpaging({
|
||||
fetchFunction: queryTraPersonalMessageNoticePaging
|
||||
});
|
||||
const imageMap = {
|
||||
'01': type_01,
|
||||
'02': type_02,
|
||||
'03': type_03,
|
||||
'04': type_04,
|
||||
'05': type_05
|
||||
};
|
||||
const readLoading = ref(false);
|
||||
const offset = ref(0);
|
||||
const popup_info = reactive({
|
||||
id: '',
|
||||
title: '',
|
||||
text: '',
|
||||
isRead: ''
|
||||
});
|
||||
const popup = ref(null);
|
||||
|
||||
const readMessage = () => {
|
||||
if (popup_info.isRead === '02') {
|
||||
popup.value.close();
|
||||
return;
|
||||
}
|
||||
readLoading.value = true;
|
||||
readNotice({ noticeId: popup_info.id })
|
||||
.then((res) => {
|
||||
popup.value.close();
|
||||
readLoading.value = false;
|
||||
data_list.value.forEach((item) => {
|
||||
if (item.noticeId === popup_info.id) {
|
||||
item.isRead = res.body.isRead;
|
||||
return;
|
||||
}
|
||||
});
|
||||
})
|
||||
.finally(() => {
|
||||
readLoading.value = false;
|
||||
});
|
||||
};
|
||||
|
||||
const oneClickReadMessage = () => {
|
||||
const state = data_list.value.every((res) => res.isRead === '02');
|
||||
if (state) {
|
||||
common.msg('暂无未读消息');
|
||||
return;
|
||||
}
|
||||
common.loading();
|
||||
oneTimeRead()
|
||||
.then((res) => {
|
||||
data_list.value.forEach((item) => {
|
||||
item.isRead = '02';
|
||||
});
|
||||
common.hideLoading();
|
||||
setTimeout(() => {
|
||||
common.msg('一键读取成功');
|
||||
}, 10);
|
||||
})
|
||||
.catch(() => {
|
||||
common.hideLoading();
|
||||
});
|
||||
};
|
||||
|
||||
// 读取消息
|
||||
const readMessageOpen = (item) => {
|
||||
console.log('item', item);
|
||||
popup_info.id = item.noticeId;
|
||||
popup_info.title = item.noticeTitle;
|
||||
popup_info.text = item.noticeContent;
|
||||
popup_info.isRead = item.isRead;
|
||||
popup.value.open();
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.popup {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
}
|
||||
.message_popup_div {
|
||||
width: 580rpx;
|
||||
border-radius: 38rpx;
|
||||
background: #ffffff url('@/static/images/messageNotification/popup_bg.png') no-repeat center -4rpx;
|
||||
background-size: auto 50%;
|
||||
background-color: #ffffff;
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
top: 30%;
|
||||
position: absolute;
|
||||
left: calc(50% - 290rpx);
|
||||
.title {
|
||||
padding: 0 40rpx;
|
||||
width: 100%;
|
||||
height: 90rpx;
|
||||
line-height: 110rpx;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text {
|
||||
padding: 16rpx 40rpx;
|
||||
font-family: PingFangSC;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
line-height: 48rpx;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
min-height: 300rpx;
|
||||
max-height: 650rpx;
|
||||
overflow: auto;
|
||||
}
|
||||
.button_div {
|
||||
overflow: hidden;
|
||||
.button {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
:deep(.uv-button) {
|
||||
height: 100rpx;
|
||||
font-family: PingFangSC;
|
||||
font-weight: 500;
|
||||
font-size: 36rpx;
|
||||
color: #0066ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.scroll-Y {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
background-color: #fff;
|
||||
.item {
|
||||
height: 154rpx;
|
||||
padding: 38rpx 0 38rpx 0;
|
||||
margin: 0 38rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 2rpx solid #efefef;
|
||||
.icon {
|
||||
width: 78rpx;
|
||||
height: 78rpx;
|
||||
}
|
||||
|
||||
.right {
|
||||
margin-left: 16rpx;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
.top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.title {
|
||||
font-family: PingFangSC;
|
||||
font-weight: 600;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
line-height: 46rpx;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 23rpx;
|
||||
color: #999999;
|
||||
line-height: 30rpx;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
.note {
|
||||
font-family: PingFangSC;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #666666;
|
||||
line-height: 35rpx;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.num_div {
|
||||
padding: 0 8rpx;
|
||||
height: 31rpx;
|
||||
background: #ff6c75;
|
||||
border-radius: 15rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-family: ArialMT;
|
||||
font-size: 22rpx;
|
||||
color: #ffffff;
|
||||
line-height: 26px;
|
||||
min-width: 40rpx;
|
||||
}
|
||||
.read_div {
|
||||
width: 16rpx;
|
||||
height: 16rpx;
|
||||
background-color: #d70c18;
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background: linear-gradient(0deg, rgba(195, 219, 255, 0) 0%, #c3dbff 100%);
|
||||
background-size: 100% 300px;
|
||||
background-repeat: no-repeat; /* 防止渐变重复平铺 */
|
||||
padding-top: var(--status-bar-height);
|
||||
overflow: hidden;
|
||||
margin-bottom: -20rpx;
|
||||
}
|
||||
|
||||
.body-title {
|
||||
width: 100%;
|
||||
height: 120rpx;
|
||||
font-size: 33rpx;
|
||||
padding-top: 10rpx;
|
||||
font-weight: 500;
|
||||
color: #000;
|
||||
font-weight: 600;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
|
||||
.delete_div {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 7rpx;
|
||||
width: 70rpx;
|
||||
height: 70rpx;
|
||||
.img {
|
||||
margin-top: 10rpx;
|
||||
width: 34rpx;
|
||||
height: 34rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.back_div {
|
||||
position: absolute;
|
||||
left: 26rpx;
|
||||
top: 17rpx;
|
||||
padding: 0 14rpx 14rpx 0;
|
||||
|
||||
.back-icon {
|
||||
position: relative;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.back-icon::before,
|
||||
.back-icon::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.back-icon::after {
|
||||
top: 25%;
|
||||
left: 25%;
|
||||
width: 40%;
|
||||
height: 40%;
|
||||
border-top: 4rpx solid #2b2c2e;
|
||||
border-left: 4rpx solid #2b2c2e;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.input-view {
|
||||
width: 90%;
|
||||
margin: 20rpx auto;
|
||||
height: 78rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -225,7 +225,8 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 84rpx;
|
||||
margin-top: calc(104rpx + var(--status-bar-height));
|
||||
|
||||
height: 68rpx;
|
||||
.img {
|
||||
width: 36rpx;
|
||||
|
||||
@@ -100,6 +100,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/messageNotification/list",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息列表",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/testingHall/index",
|
||||
"style": {
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
Reference in New Issue
Block a user