站内信

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', url: '/breakdown/breakdown/list',
method: 'get', method: 'get',
params: query params: query
}) })
} }
@ -43,3 +42,26 @@ export function delBreakdown(id) {
method: 'delete' 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"> <div class="right-menu">
<template v-if="device!=='mobile'"> <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"/> <search id="header-search" class="right-menu-item"/>
<screenfull id="screenfull" class="right-menu-item hover-effect"/> <screenfull id="screenfull" class="right-menu-item hover-effect"/>
@ -46,8 +93,23 @@ import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull' import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect' import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch' import Search from '@/components/HeaderSearch'
import {getMessageList,getNum, updateAsUserDept} from "@/api/car/breakdown";
export default { export default {
dicts: ['sys_car_fault', 'sys_yes_no','sys_is_read'],
data(){
return{
messages:{},
drawer: false,
//
form: {
status: "",
},
updateNotice:{
},
number: 0,
}
},
components: { components: {
Breadcrumb, Breadcrumb,
TopNav, TopNav,
@ -62,6 +124,7 @@ export default {
'avatar', 'avatar',
'device' 'device'
]), ]),
setting: { setting: {
get() { get() {
return this.$store.state.settings.showSettings return this.$store.state.settings.showSettings
@ -79,7 +142,35 @@ export default {
} }
} }
}, },
created() {
this.getMessageList();
this.getMessageNum();
},
methods: { 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() { toggleSideBar() {
this.$store.dispatch('app/toggleSideBar') this.$store.dispatch('app/toggleSideBar')
}, },

View File

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

View File

@ -12,21 +12,9 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <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-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-item>
</el-form> </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-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
@ -179,12 +167,12 @@
import {addBreakdown, delBreakdown, getBreakdown, listBreakdown, updateBreakdown} from "@/api/car/breakdown"; import {addBreakdown, delBreakdown, getBreakdown, listBreakdown, updateBreakdown} from "@/api/car/breakdown";
export default { export default {
name: "Breakdown", name: "Breakdown",
dicts: ['sys_car_fault', 'sys_yes_no'], dicts: ['sys_car_fault', 'sys_yes_no','sys_is_read'],
data() { data() {
return { return {
drawer: false,
// //
loading: true, loading: true,
// //
@ -212,7 +200,9 @@ export default {
carVin: null, carVin: null,
}, },
// //
form: {}, form: {
},
// //
rules: { rules: {
faultCode: [ faultCode: [
@ -225,13 +215,7 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
/** 查询车辆故障列表 */ /** 查询车辆故障列表 */
getList() { getList() {
this.loading = true; this.loading = true;