站内信

dev.fault
冷调 2024-09-23 10:26:51 +08:00
parent 1f1cf95ab4
commit 08876563fb
4 changed files with 120 additions and 24 deletions

View File

@ -6,7 +6,6 @@ export function listBreakdown(query) {
url: '/breakdown/breakdown/list',
method: 'get',
params: query
})
}
@ -43,3 +42,26 @@ export function delBreakdown(id) {
method: 'delete'
})
}
//查询站内信列表
export function getMessageList(data) {
return request({
url: '/breakdown/stationMessage/getMessageList',
method: 'post',
data: data
})
}
// 修改站内信的状态
export function updateAsUserDept(id) {
return request({
url: '/breakdown/stationMessage/updStatus?id=' + id,
method: 'get'
})
}
//统计未读消息的数量
export function getNum() {
return request({
url: '/breakdown/stationMessage/getNum',
method: 'get'
})
}

View File

@ -8,6 +8,53 @@
<div class="right-menu">
<template v-if="device!=='mobile'">
<el-badge :value="number" class="item">
<el-button @click="drawer = true" class="share-button" style="margin-top: 10px" icon="el-icon-s-comment" type="primary"></el-button>
</el-badge>
<el-drawer
title="最近消息"
:visible.sync="drawer"
:before-close="handleClose">
<el-radio-group v-model="form.status" @change="getMessageList">
<el-radio-button label="">全部</el-radio-button>
<el-radio-button label="0">未读</el-radio-button>
<el-radio-button label="1">已读</el-radio-button>
</el-radio-group>
<br><br><br>
<el-card class="box-card" v-for="notice in messages">
<el-descriptions class="margin-top" :column="2" :size="size" border>
<template slot="extra">
<el-button size="small" v-if="notice.status==0" @click="handleUnreadClick(notice)"></el-button>
</template>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>
消息内容
</template>
{{ notice.content }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>
消息发布时间
</template>
{{ notice.createTime }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-office-building"></i>
消息当前状态
</template>
<dict-tag :options="dict.type.sys_is_read" :value="notice.status"/>
</el-descriptions-item>
</el-descriptions>
</el-card>
</el-drawer>
<search id="header-search" class="right-menu-item"/>
<screenfull id="screenfull" class="right-menu-item hover-effect"/>
@ -46,8 +93,23 @@ import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
import {getMessageList,getNum, updateAsUserDept} from "@/api/car/breakdown";
export default {
dicts: ['sys_car_fault', 'sys_yes_no','sys_is_read'],
data(){
return{
messages:{},
drawer: false,
//
form: {
status: "",
},
updateNotice:{
},
number: 0,
}
},
components: {
Breadcrumb,
TopNav,
@ -62,6 +124,7 @@ export default {
'avatar',
'device'
]),
setting: {
get() {
return this.$store.state.settings.showSettings
@ -79,7 +142,35 @@ export default {
}
}
},
created() {
this.getMessageList();
this.getMessageNum();
},
methods: {
getMessageNum(){
getNum().then(response => {
this.number=response.data
})
},
handleUnreadClick(row){
this.updateNotice=row
updateAsUserDept(row.id).then(response => {
this.getMessageList();
})
},
getMessageList(){
getMessageList(this.form).then(response => {
console.log(response);
this.messages = response.data;
});
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},

View File

@ -73,7 +73,6 @@ service.interceptors.request.use(config => {
// 响应拦截器
service.interceptors.response.use(res => {
debugger
// 未设置状态码则默认成功状态
const code = res.data.code || 200;
// 获取错误信息

View File

@ -12,21 +12,9 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-badge is-dot class="item">
<el-button @click="drawer = true" class="share-button" icon="el-icon-s-comment" style="margin-left: 16px;" type="primary"></el-button>
</el-badge>
</el-form-item>
</el-form>
<el-drawer
title="最近消息"
:visible.sync="drawer"
:before-close="handleClose">
<el-table :data="tableData" height="250" border style="width: 100%">
<el-table-column prop="date" label="内容" width="180"></el-table-column>
<el-table-column prop="name" label="发送时间" width="180"></el-table-column>
</el-table>
</el-drawer>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -179,12 +167,12 @@
import {addBreakdown, delBreakdown, getBreakdown, listBreakdown, updateBreakdown} from "@/api/car/breakdown";
export default {
name: "Breakdown",
dicts: ['sys_car_fault', 'sys_yes_no'],
dicts: ['sys_car_fault', 'sys_yes_no','sys_is_read'],
data() {
return {
drawer: false,
//
loading: true,
//
@ -212,7 +200,9 @@ export default {
carVin: null,
},
//
form: {},
form: {
},
//
rules: {
faultCode: [
@ -225,13 +215,7 @@ export default {
this.getList();
},
methods: {
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
/** 查询车辆故障列表 */
getList() {
this.loading = true;