Browse Source
- 添加我的消息页面组件,用于展示用户消息列表 - 实现系统消息页面组件,展示系统通知列表 - 在线索页面添加跳转到我的消息的功能 - 新增拨打电话功能 - 更新页面配置,添加新的消息相关页面master
5 changed files with 451 additions and 2 deletions
@ -0,0 +1,209 @@ |
|||
<!--我的消息-列表--> |
|||
<template> |
|||
<view class="main_box"> |
|||
|
|||
<view class="main_section"> |
|||
<view class="section_1"> |
|||
<view class="item" @click="openViewSysMsgList()"> |
|||
<view class="left"> |
|||
<image class="pic" src="@/static/images/common/xi_tong_xiao_xi.png"></image> |
|||
<view>系统消息</view> |
|||
</view> |
|||
<view class="right"> |
|||
<view>99</view> |
|||
<fui-icon name="arrowright" :size="60"></fui-icon> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="item"> |
|||
<view class="left"> |
|||
<image class="pic" src="@/static/images/common/yong_hu.png"></image> |
|||
<view>张老师</view> |
|||
</view> |
|||
<view class="right"> |
|||
<view>99</view> |
|||
<fui-icon name="arrowright" :size="60"></fui-icon> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="item"> |
|||
<view class="left"> |
|||
<image class="pic" src="@/static/images/common/yong_hu.png"></image> |
|||
<view>李老师</view> |
|||
</view> |
|||
<view class="right"> |
|||
<view>99</view> |
|||
<fui-icon name="arrowright" :size="60"></fui-icon> |
|||
</view> |
|||
</view> |
|||
|
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import memberApi from '@/api/member.js'; |
|||
import AQUplodeImgMulti from '@/components/AQ/AQUplodeImgMulti'; |
|||
import AQTabber from "@/components/AQ/AQTabber" |
|||
|
|||
|
|||
export default { |
|||
components: { |
|||
AQTabber, |
|||
AQUplodeImgMulti, |
|||
}, |
|||
data() { |
|||
return { |
|||
formData: { |
|||
images_arr: [], |
|||
images: '', |
|||
content: '', |
|||
mailbox: '', |
|||
}, |
|||
} |
|||
}, |
|||
onLoad() { |
|||
}, |
|||
methods: { |
|||
//######AQ上传文件组件相关###### |
|||
// 上传文件回调 |
|||
AQUploadSuccess(res) { |
|||
console.log('接收AQ上传回调xxx1', res) |
|||
// 使用 split 方法分割字符串 |
|||
let _inputValue = [] |
|||
if (res.filePathArr.length) { |
|||
_inputValue = res.filePathArr |
|||
} |
|||
this.formData[res.inputName] = _inputValue |
|||
// console.log('接收AQ上传回调xxx1',res) |
|||
// console.log('接收AQ上传回调xxx2',this.formData.member_store_certification_arr) |
|||
}, |
|||
|
|||
async submitForm() { |
|||
let data = {...this.formData} |
|||
data.images = data.images_arr.join(',') |
|||
if (!data.content) { |
|||
//反馈内容为必填项 |
|||
uni.showToast({ |
|||
title: '反馈内容为必填项', |
|||
icon: 'none' |
|||
}) |
|||
return |
|||
} |
|||
let res = await memberApi.setFeedback(data) |
|||
if (res.code != 1) { |
|||
uni.showToast({ |
|||
title: res.msg, |
|||
icon: 'none' |
|||
}) |
|||
} else { |
|||
uni.showToast({ |
|||
title: '提交成功', |
|||
icon: 'none' |
|||
}) |
|||
//延迟1s执行 |
|||
setTimeout(() => { |
|||
this.$util.openHomeView(); |
|||
}, 1000); |
|||
} |
|||
}, |
|||
|
|||
//跳转页面-系统消息列表 |
|||
openViewSysMsgList(){ |
|||
uni.navigateTo({ |
|||
url: `/pages/common/sys_msg_list` |
|||
}) |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="less" scoped> |
|||
.main_box { |
|||
background: #292929; |
|||
} |
|||
|
|||
//自定义导航栏 |
|||
.navbar_section { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
background: #29d3b4; |
|||
|
|||
.title { |
|||
padding: 20rpx 0; |
|||
font-size: 30rpx; |
|||
color: #315d55; |
|||
} |
|||
} |
|||
|
|||
.main_section { |
|||
min-height: 100vh; |
|||
background: #292929 100%; |
|||
padding: 0 0rpx; |
|||
padding-top: 32rpx; |
|||
padding-bottom: 150rpx; |
|||
font-size: 28rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
gap: 20rpx; |
|||
|
|||
.section { |
|||
background-color: #434544; |
|||
padding: 40rpx 40rpx; |
|||
} |
|||
|
|||
.section_1{ |
|||
padding: 0 24rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
gap: 38rpx; |
|||
.item{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
|
|||
padding: 40rpx 18rpx 36rpx; |
|||
|
|||
border-radius: 14rpx; |
|||
background-color: rgba(255,255,255,1); |
|||
border: 2rpx solid rgba(187,187,187,1); |
|||
|
|||
.left{ |
|||
display: flex; |
|||
align-items: center; |
|||
gap: 16rpx; |
|||
.pic{ |
|||
width: 68rpx; |
|||
height: 68rpx; |
|||
} |
|||
view{ |
|||
color: #D9001B; |
|||
font-size: 32rpx; |
|||
} |
|||
} |
|||
.right{ |
|||
display: flex; |
|||
align-items: center; |
|||
view{ |
|||
padding: 5rpx; |
|||
border: 1px solid #BBBBBB; |
|||
border-radius: 50%; |
|||
color: #D9001B; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
.describe { |
|||
color: #999999; |
|||
padding-left: 30rpx; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,206 @@ |
|||
<!--系统消息-列表--> |
|||
<template> |
|||
<view class="main_box"> |
|||
|
|||
<view class="main_section"> |
|||
<view class="section_1"> |
|||
<view class="item"> |
|||
<view class="title">吾悦校区停电通知</view> |
|||
<image |
|||
class="img_box" |
|||
:src="$util.img('/upload/attachment/image/202504/02/1743562333d1bb6666f969da1b7170381d0845153e_local.png')" |
|||
model="aspectFit" |
|||
></image> |
|||
|
|||
<view class="content"> |
|||
李老师将张包子的跟进人设置为您,需要您 |
|||
继续跟进,点击此消息查看张包子的信息,完 |
|||
成后续跟进 |
|||
</view> |
|||
|
|||
<view class="time">2024-03-07 10:30:00</view> |
|||
</view> |
|||
|
|||
<view class="item"> |
|||
<view class="title">吾悦校区停电通知</view> |
|||
<image |
|||
class="img_box" |
|||
:src="$util.img('/upload/attachment/image/202504/02/1743562333d1bb6666f969da1b7170381d0845153e_local.png')" |
|||
model="aspectFit" |
|||
></image> |
|||
|
|||
|
|||
<view class="time">2024-03-07 10:30:00</view> |
|||
</view> |
|||
|
|||
<view class="item"> |
|||
<view class="title">吾悦校区停电通知</view> |
|||
<image |
|||
class="img_box" |
|||
:src="$util.img('/upload/attachment/image/202504/02/1743562333d1bb6666f969da1b7170381d0845153e_local.png')" |
|||
model="aspectFit" |
|||
></image> |
|||
|
|||
<view class="content"> |
|||
李老师将张包子的跟进人设置为您,需要您 |
|||
继续跟进,点击此消息查看张包子的信息,完 |
|||
成后续跟进 |
|||
</view> |
|||
|
|||
<view class="time">2024-03-07 10:30:00</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import memberApi from '@/api/member.js'; |
|||
import AQUplodeImgMulti from '@/components/AQ/AQUplodeImgMulti'; |
|||
import AQTabber from "@/components/AQ/AQTabber" |
|||
|
|||
|
|||
export default { |
|||
components: { |
|||
AQTabber, |
|||
AQUplodeImgMulti, |
|||
}, |
|||
data() { |
|||
return { |
|||
formData: { |
|||
images_arr: [], |
|||
images: '', |
|||
content: '', |
|||
mailbox: '', |
|||
}, |
|||
} |
|||
}, |
|||
onLoad() { |
|||
}, |
|||
methods: { |
|||
//######AQ上传文件组件相关###### |
|||
// 上传文件回调 |
|||
AQUploadSuccess(res) { |
|||
console.log('接收AQ上传回调xxx1', res) |
|||
// 使用 split 方法分割字符串 |
|||
let _inputValue = [] |
|||
if (res.filePathArr.length) { |
|||
_inputValue = res.filePathArr |
|||
} |
|||
this.formData[res.inputName] = _inputValue |
|||
// console.log('接收AQ上传回调xxx1',res) |
|||
// console.log('接收AQ上传回调xxx2',this.formData.member_store_certification_arr) |
|||
}, |
|||
|
|||
async submitForm() { |
|||
let data = {...this.formData} |
|||
data.images = data.images_arr.join(',') |
|||
if (!data.content) { |
|||
//反馈内容为必填项 |
|||
uni.showToast({ |
|||
title: '反馈内容为必填项', |
|||
icon: 'none' |
|||
}) |
|||
return |
|||
} |
|||
let res = await memberApi.setFeedback(data) |
|||
if (res.code != 1) { |
|||
uni.showToast({ |
|||
title: res.msg, |
|||
icon: 'none' |
|||
}) |
|||
} else { |
|||
uni.showToast({ |
|||
title: '提交成功', |
|||
icon: 'none' |
|||
}) |
|||
//延迟1s执行 |
|||
setTimeout(() => { |
|||
this.$util.openHomeView(); |
|||
}, 1000); |
|||
} |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="less" scoped> |
|||
.main_box { |
|||
background: #292929; |
|||
} |
|||
|
|||
//自定义导航栏 |
|||
.navbar_section { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
background: #29d3b4; |
|||
|
|||
.title { |
|||
padding: 20rpx 0; |
|||
font-size: 30rpx; |
|||
color: #315d55; |
|||
} |
|||
} |
|||
|
|||
.main_section { |
|||
min-height: 100vh; |
|||
background: #292929 100%; |
|||
padding: 0 0rpx; |
|||
padding-top: 32rpx; |
|||
padding-bottom: 150rpx; |
|||
font-size: 28rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
gap: 20rpx; |
|||
|
|||
.section { |
|||
background-color: #434544; |
|||
padding: 40rpx 40rpx; |
|||
} |
|||
|
|||
.section_1{ |
|||
padding: 0 24rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
gap: 38rpx; |
|||
.item{ |
|||
display: flex; |
|||
flex-direction: column; |
|||
|
|||
padding: 32rpx 24rpx; |
|||
border-radius: 14rpx; |
|||
background-color: rgba(255,255,255,1); |
|||
border: 2rpx solid rgba(187,187,187,1); |
|||
|
|||
color: #4F4F4F; |
|||
font-size: 32rpx; |
|||
|
|||
.title{ |
|||
} |
|||
.img_box{ |
|||
margin-top: 30rpx; |
|||
width: 100%; |
|||
} |
|||
.content{ |
|||
margin-top: 30rpx; |
|||
} |
|||
.time{ |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
margin-top: 36rpx; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
.describe { |
|||
color: #999999; |
|||
padding-left: 30rpx; |
|||
} |
|||
</style> |
|||
|
After Width: | Height: | Size: 625 B |
Loading…
Reference in new issue