Commit 7af8103d authored by 胡占生's avatar 胡占生 🇨🇳

消息中心更改

parent 01410880
......@@ -27,541 +27,552 @@ import CreateOrder from '../views/CreateOrder.vue'
Vue.use(VueRouter)
const routes = [{
path: '/',
name: 'home',
redirect: '/login2'
},
{
path: '/login',
name: 'login',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "login" */ '../views/Login.vue'),
},
{
path: '/home',
name: 'home',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "home" */ '../views/Home.vue'),
},
{
path: '/cart',
name: 'cart',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "cart" */ '../views/Cart.vue'),
},
{
path: '/category',
name: 'category',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "category" */ '../views/Category.vue'),
},
{
path: '/product-list',
name: 'product-list',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "product-list" */ '../views/ProductList.vue'),
},
{
path: '/product/:id',
name: 'product',
meta: {
index: 3
},
component: () => import( /* webpackChunkName: "product" */ '../views/ProductDetail.vue'),
},
{
path: '/user',
name: 'user',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "user" */ '../views/User.vue'),
},
{
path: '/order',
name: 'order',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "order" */ '../views/Order.vue'),
},
{
path: '/order-detail',
name: 'order-detail',
meta: {
index: 3
},
component: () => import( /* webpackChunkName: "order-detail" */ '../views/OrderDetail.vue'),
},
{
path: '/setting',
name: 'setting',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "setting" */ '../views/Setting.vue'),
},
{
path: '/address',
name: 'address',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "address" */ '../views/Address.vue'),
},
{
path: '/address-edit',
name: 'address-edit',
meta: {
index: 3
},
component: () => import( /* webpackChunkName: "address-edit" */ '../views/AddressEdit.vue'),
},
{
path: '/about',
name: 'about',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "about" */ '../views/About.vue'),
},
{
path: '/create-order',
name: 'create-order',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/CreateOrder.vue'),
},
{
path: '/checked',
name: 'checked',
meta: {
title: '检查执行',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked'),
},
{
path: '/problem',
name: 'problem',
meta: {
title: '问题上报',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem'),
},
{
path: '/list',
name: 'list',
meta: {
title: '检查问题',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/list'),
},
{
path: '/note',
name: 'note',
meta: {
title: '问题记录',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note'),
},
{
path: '/detail',
name: 'detail',
meta: {
title: '问题详情',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note/detail'),
},
{
path: '/edit',
name: 'edit',
meta: {
title: '问题编辑',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note/edit'),
},
{
path: '/formwork',
name: 'formwork',
meta: {
title: '问题上报表',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/formwork'),
},
{
path: '/correct',
name: 'correct',
meta: {
title: '检查记录',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/correct'),
},
{
path: '/notice',
name: 'notice',
meta: {
title: '整改通知',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/notice'),
},
{
path: '/noticeList',
name: 'noticeList',
meta: {
title: '整改通知管理列表',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/notice/noticeList'),
},
{
path: '/sign',
name: 'sign',
meta: {
title: '电子签名',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/notice/noticeList/sign'),
},
// 登录页
{
path: '/login2',
name: 'login2',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/Login2.vue'),
},
// 消息中心
{
path: '/message-center',
name: 'message-center',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/messageCenter'),
},
// 安全工作台页面
{
path: '/save-workbench',
name: 'save-workbench',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/saveWorkbench'),
},
// 我的地盘页面
{
path: '/my',
name: 'my',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/my'),
path: '/',
name: 'home',
redirect: '/login2'
},
{
path: '/login',
name: 'login',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "login" */ '../views/Login.vue'),
},
{
path: '/home',
name: 'home',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "home" */ '../views/Home.vue'),
},
{
path: '/cart',
name: 'cart',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "cart" */ '../views/Cart.vue'),
},
{
path: '/category',
name: 'category',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "category" */ '../views/Category.vue'),
},
{
path: '/product-list',
name: 'product-list',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "product-list" */ '../views/ProductList.vue'),
},
{
path: '/product/:id',
name: 'product',
meta: {
index: 3
},
component: () => import( /* webpackChunkName: "product" */ '../views/ProductDetail.vue'),
},
{
path: '/user',
name: 'user',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "user" */ '../views/User.vue'),
},
{
path: '/order',
name: 'order',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "order" */ '../views/Order.vue'),
},
{
path: '/order-detail',
name: 'order-detail',
meta: {
index: 3
},
component: () => import( /* webpackChunkName: "order-detail" */ '../views/OrderDetail.vue'),
},
{
path: '/setting',
name: 'setting',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "setting" */ '../views/Setting.vue'),
},
{
path: '/address',
name: 'address',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "address" */ '../views/Address.vue'),
},
{
path: '/address-edit',
name: 'address-edit',
meta: {
index: 3
},
component: () => import( /* webpackChunkName: "address-edit" */ '../views/AddressEdit.vue'),
},
{
path: '/about',
name: 'about',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "about" */ '../views/About.vue'),
},
{
path: '/create-order',
name: 'create-order',
meta: {
index: 2
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/CreateOrder.vue'),
},
{
path: '/checked',
name: 'checked',
meta: {
title: '检查执行',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked'),
},
{
path: '/problem',
name: 'problem',
meta: {
title: '问题上报',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem'),
},
{
path: '/list',
name: 'list',
meta: {
title: '检查问题',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/list'),
},
{
path: '/note',
name: 'note',
meta: {
title: '问题记录',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note'),
},
{
path: '/detail',
name: 'detail',
meta: {
title: '问题详情',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note/detail'),
},
{
path: '/edit',
name: 'edit',
meta: {
title: '问题编辑',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note/edit'),
},
{
path: '/formwork',
name: 'formwork',
meta: {
title: '问题上报表',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/formwork'),
},
{
path: '/correct',
name: 'correct',
meta: {
title: '检查记录',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/correct'),
},
{
path: '/notice',
name: 'notice',
meta: {
title: '整改通知',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/notice'),
},
{
path: '/noticeList',
name: 'noticeList',
meta: {
title: '整改通知管理列表',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/notice/noticeList'),
},
{
path: '/sign',
name: 'sign',
meta: {
title: '电子签名',
index: 3
},
component: () => import( /* webpackChunkName: "create-order" */ '../views/notice/noticeList/sign'),
},
// 登录页
{
path: '/login2',
name: 'login2',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/Login2.vue'),
},
// 消息中心
{
path: '/message-center',
name: 'message-center',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/messageCenter'),
},
{
path: '/message-details',
name: 'message-details',
meta: {
index: 1
},
component: () => import('../views/messageCenter/messageDetails'),
},
// 安全工作台页面
{
path: '/save-workbench',
name: 'save-workbench',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/saveWorkbench'),
},
// 我的地盘页面
{
path: '/my',
name: 'my',
meta: {
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/my'),
},
{
path: '/add-danger',
name: 'add-danger',
meta: {
title: '新增隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'),
},
{
path: '/choose-people',
name: 'choose-people',
meta: {
title: '新增隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/manyChoosePeo'),
},
{
path: '/report-return',
name: 'report-return',
meta: {
title: '隐患上报已退回',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reportReturn'),
},
{
path: '/confirme-danger',
name: 'confirme-danger',
meta: {
title: '隐患确认',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger'),
},
{
path: '/add-danger',
name: 'add-danger',
meta: {
title: '新增隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'),
},
{
path: '/choose-people',
name: 'choose-people',
meta: {
title: '新增隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/manyChoosePeo'),
},
{
path: '/affirm-danger',
name: 'affirm-danger',
meta: {
title: '隐患确认表单',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger/confirmeDanger'),
},
{
path: '/change-danger',
name: 'change-danger',
meta: {
title: '隐患整改',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger'),
},
{
path: '/change-info',
name: 'change-info',
meta: {
title: '隐患整改保存',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeInfo'),
},
{
path: '/delay-info',
name: 'delay-info',
meta: {
title: '隐患整改延期',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/delayInfo'),
},
{
path: '/report-return',
name: 'report-return',
meta: {
title: '隐患上报已退回',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reportReturn'),
},
{
path: '/review-danger',
name: 'review-danger',
meta: {
title: '隐患复查',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger'),
},
{
path: '/confirme-danger',
name: 'confirme-danger',
meta: {
title: '隐患确认',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger'),
},
{
path: '/affirm-danger',
name: 'affirm-danger',
meta: {
title: '隐患确认表单',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger/confirmeDanger'),
},
{
path: '/change-danger',
name: 'change-danger',
meta: {
title: '隐患整改',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger'),
},
{
path: '/change-info',
name: 'change-info',
meta: {
title: '隐患整改保存',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeInfo'),
},
{
path: '/delay-info',
name: 'delay-info',
meta: {
title: '隐患整改延期',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/delayInfo'),
},
{
path: '/review-add',
name: 'review-add',
meta: {
title: '隐患复查新增',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewAdd'),
},
{
path: '/stand-book',
name: 'stand-book',
meta: {
title: '隐患历史台账',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook'),
},
{
path: '/normal-detail',
name: 'normal-detail',
meta: {
title: '隐患详情',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook/normalDetail'),
},
// 隐患督办列表
{
path: '/supervise-danger',
name: 'supervise-danger',
meta: {
title: '隐患督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger'),
},
// 隐患督办批示
{
path: '/super-survey',
name: 'super-survey',
meta: {
title: '隐患督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger/superSurvey'),
},
// 重大隐患列表
{
path: '/major-danger',
name: 'major-danger',
meta: {
title: '重大隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/majorDanger'),
},
// 重大隐患审批
{
path: '/major-survey',
name: 'major-survey',
meta: {
title: '重大隐患审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/majorDanger/majorSurvey'),
},
{
path: '/review-danger',
name: 'review-danger',
meta: {
title: '隐患复查',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger'),
},
{
path: '/review-add',
name: 'review-add',
meta: {
title: '隐患复查新增',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewAdd'),
},
{
path: '/stand-book',
name: 'stand-book',
meta: {
title: '隐患历史台账',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook'),
},
// 延期审批列表
{
path: '/delay-approval',
name: 'delay-approval',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval'),
},
// 延期审批确定
{
path: '/ratify-info',
name: 'ratify-info',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval/ratifyInfo'),
},
{
path: '/normal-detail',
name: 'normal-detail',
meta: {
title: '隐患详情',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook/normalDetail'),
},
// 隐患督办列表
{
path: '/supervise-danger',
name: 'supervise-danger',
meta: {
title: '隐患督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger'),
},
// 隐患督办批示
{
path: '/super-survey',
name: 'super-survey',
meta: {
title: '隐患督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger/superSurvey'),
},
// 重大隐患列表
{
path: '/major-danger',
name: 'major-danger',
meta: {
title: '重大隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/majorDanger'),
},
// 重大隐患审批
{
path: '/major-survey',
name: 'major-survey',
meta: {
title: '重大隐患审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/majorDanger/majorSurvey'),
},
// 项目经理督办列表
{
path: '/manager-danger',
name: 'manager-danger',
meta: {
title: '项目经理督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/managerDanger'),
},
// 项目经理督办批示
{
path: '/manager-survey',
name: 'manager-survey',
meta: {
title: '项目经理督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/managerDanger/managerSurvey'),
},
// 延期审批列表
{
path: '/delay-approval',
name: 'delay-approval',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval'),
},
// 延期审批确定
{
path: '/ratify-info',
name: 'ratify-info',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval/ratifyInfo'),
},
// 项目经理督办列表
{
path: '/manager-danger',
name: 'manager-danger',
meta: {
title: '项目经理督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/managerDanger'),
},
// 项目经理督办批示
{
path: '/manager-survey',
name: 'manager-survey',
meta: {
title: '项目经理督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/managerDanger/managerSurvey'),
},
// 风险模块
{
path: '/risk-add',
name: 'risk-add',
meta: {
title: '风险上报',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
},
{
path: '/matrix-grad',
name: 'matrix-grad',
meta: {
title: '矩阵式定级',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd/matrixGrad'),
},
{
path: '/risk-return',
name: 'risk-return',
meta: {
title: '风险上报退回列表',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'),
},
{
path: '/risk-confirme',
name: 'risk-confirme',
meta: {
title: '风险确认',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme'),
},
{
path: '/risk-affirm',
name: 'risk-affirm',
meta: {
title: '风险确认',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'),
},
{
path: '/risk-account',
name: 'risk-account',
meta: {
title: '风险历史台账',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount'),
},
{
path: '/risk-big-detail',
name: 'risk-big-detail',
meta: {
title: '风险详情',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount/riskBigDetail'),
},
{
path:'/insert-danger',
name:'insert-danger',
meta:{
title:'我的上报',
index:1
},
component:()=>import('@/views/danger/insertDanger/list')
}
// 风险模块
{
path: '/risk-add',
name: 'risk-add',
meta: {
title: '风险上报',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
},
{
path: '/matrix-grad',
name: 'matrix-grad',
meta: {
title: '矩阵式定级',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd/matrixGrad'),
},
{
path: '/risk-return',
name: 'risk-return',
meta: {
title: '风险上报退回列表',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'),
},
{
path: '/risk-confirme',
name: 'risk-confirme',
meta: {
title: '风险确认',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme'),
},
{
path: '/risk-affirm',
name: 'risk-affirm',
meta: {
title: '风险确认',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'),
},
{
path: '/risk-account',
name: 'risk-account',
meta: {
title: '风险历史台账',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount'),
},
{
path: '/risk-big-detail',
name: 'risk-big-detail',
meta: {
title: '风险详情',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount/riskBigDetail'),
},
{
path: '/insert-danger',
name: 'insert-danger',
meta: {
title: '我的上报',
index: 1
},
component: () => import('@/views/danger/insertDanger/list')
}
]
const router = new VueRouter({
......
......@@ -9,17 +9,94 @@ import request from '@/utils/axios'
// })
// }
/* post请求 */
export function postMessgaelist(url,data) {
return request({
url: url,
method: 'post',
data
})
//消息信息列表
export function postMessgaelist(data) {
return request({
url: '/messageInfo/list',
method: 'post',
data
})
}
//未读消息变为已读
export function noticeRemove(data) {
return request({
url: '/messageInfo/changeRead',
method: 'post',
data
})
}
//清除未读消息列表
export function removeAllMessgae(data) {
return request({
url: "/messageInfo/changeStatus",
method: 'get',
data
})
}
//删除已读消息
export function removeMessgae(data) {
return request({
url: "/messageInfo/remove",
method: 'post',
data
})
}
export function noticeRemove(url,data) {
//待办事项列表
export function waitList(data) {
return request({
url: "/backlogInfo/list",
method: 'post',
data
})
}
//未读消息数
export function badgeNumber(data) {
return request({
url: "/backlogInfo/unReadCount",
method: 'get',
data
})
}
//删除已办事项
export function removeWaitList(data) {
return request({
url: "/backlogInfo/remove",
method: 'post',
data
})
}
//通知公告列表
export function notificationList(data) {
return request({
url: "/noticeInfo/list",
method: 'post',
data
})
}
//清除通知公告未读
export function removeAllNotification(data) {
return request({
url: "/noticeInfo/changeStatus",
method: 'get',
data
})
}
//清除通知未读改为已读
export function readNotification(data) {
return request({
url: "/noticeInfo/changeRead",
method: 'post',
data
})
}
//删除已读通知列表
export function removeNotification(data) {
return request({
url: url,
url: "/noticeInfo/remove",
method: 'post',
data
})
......
......@@ -8,37 +8,37 @@
*/
import axios from 'axios'
import router from '../router'
import { Toast } from 'vant';
import { Toast } from 'vant';
import { Notify } from 'vant';
import { Dialog } from 'vant';
import { getToken ,removeToken} from '@/utils/auth' // get token from cookie
import { getToken, removeToken } from '@/utils/auth' // get token from cookie
const service = axios.create({
baseURL: '/hse/app-api', //前缀路径
baseURL: '/hse/app-api', //前缀路径
headers: {//请求头部
// "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"content-type": "application/json",
"data-type": "json"
}
"data-type": "json"
}
})
//拦截接口请求
service.interceptors.request.use(config => {
if (getToken()) {
config.headers['token'] = getToken()
}
}
return config
},error => {
}, error => {
return Promise.reject(error)
})
service.interceptors.response.use(response => {
const res = response.data//获取请求返回数据
const code = response.status//获取请求响应码
if(code == 200) {//请求响应码200 代表已经请求到接口
if(res.code === 0) {//接口响应码0 代表接口代码运行正常
if (code == 200) {//请求响应码200 代表已经请求到接口
if (res.code === 0) {//接口响应码0 代表接口代码运行正常
return res
}else if(res.code === 301){
} else if (res.code === 301) {
// Notify({ type: 'danger', message: res.msg});
return res
}else if(res.code === 403){
} else if (res.code === 403) {
Dialog.alert({
title: '提示',
message: res.msg,
......@@ -47,14 +47,15 @@ service.interceptors.response.use(response => {
removeToken()
location.reload()
});
} else {
return res
}
}else{
} else {
Promise.reject(new Error('Error'))
}
},err=>{
}, err => {
Toast.fail('请求失败');
return Promise.reject(err)
})
export default service
\ No newline at end of file
})
export default service
......@@ -14,20 +14,28 @@
title-active-color="#000000"
sticky
offset-top="1.333333rem"
@click="onClick"
>
<van-tab
title="待办事项"
name="待办事项"
:badge="messageNewsNum.待办事项 > 0 ? messageNewsNum.待办事项 : ''"
>
<wait-event :actives="activeName"></wait-event>
</van-tab>
<van-tab
title="消息信息"
name="消息信息"
:badge="messageNewsNum > 0 ? messageNewsNum : ''"
:badge="messageNewsNum.消息信息 > 0 ? messageNewsNum.消息信息 : ''"
>
<message-news @messageLength="getMessageLength"></message-news>
</van-tab>
<van-tab title="" name="" disabled badge="">
<wait-event></wait-event>
<message-news :actives="activeName"></message-news>
</van-tab>
<van-tab title="" name="" disabled badge="">
<notice-info></notice-info>
<van-tab
title="通知公告"
name="通知公告"
:badge="messageNewsNum.通知公告 > 0 ? messageNewsNum.通知公告 : ''"
>
<notice-info :actives="activeName"></notice-info>
</van-tab>
</van-tabs>
</div>
......@@ -42,6 +50,7 @@ import messageNews from "./messageNews";
import waitEvent from "./waitEvent";
import noticeInfo from "./noticeInfo";
import tabBar from "@/components/TabBar";
import { badgeNumber } from "@/service/message";
export default {
components: {
messageNews,
......@@ -51,18 +60,34 @@ export default {
},
data() {
return {
activeName: "消息信息",
messageNewsNum: "",
searchValue:''
activeName: "",
messageNewsNum: {},
searchValue: "",
};
},
created() {
this.activeName = sessionStorage.getItem("activeNames")
? sessionStorage.getItem("activeNames")
: "";
// this.activeName = actives;
this.getBadgeNumber();
},
mounted() {},
methods: {
onSearch(){
onClick(e) {
this.activeName = e;
sessionStorage.setItem("activeNames", e);
sessionStorage.setItem("activeIndex", 0);
this.getBadgeNumber();
},
onSearch() {
console.log("[ 1111 ]", 1111);
},
getMessageLength(len) {
this.messageNewsNum = len;
//获取未读消息数
getBadgeNumber() {
badgeNumber().then((res) => {
this.messageNewsNum = res.data;
});
},
},
};
......
<template>
<div>
<LHeader :text="text"></LHeader>
<van-cell-group inset>
<div class="messgae-title">
<span>{{ messageList.noticeTitle }}</span>
<span>{{ messageList.sendTime }}</span>
</div>
<div class="message-content">
{{ messageList.upcomingUserName }},您好!您有一条来自{{
messageList.createUserName
}}{{ messageList.noticeTitle }}相关的待处理任务...
</div>
</van-cell-group>
</div>
</template>
<script>
import { Toast } from "vant";
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader,
},
data() {
return {
messageList: {},
text: "消息详情",
messageCategory: [
{
key: "0",
category: "全部",
},
{
key: "1",
category: "已办",
},
{
key: "2",
category: "待办",
},
],
activeIndex: 0,
searchVal: "",
waitList: [], // 待办列表
// refreshing: false, // 下拉刷新开关
// loading: false, // 列表滚动到底部会触发load事件
// finished: false // 列表数据全部加载完成
};
},
mounted() {},
created() {
this.messageList = JSON.parse(this.$route.params.id);
console.log(
"%c [ this.messageList ]",
"font-size:13px; background:pink; color:#bf2c9f;",
this.messageList
);
},
methods: {
// 点击类别
selectCategory(index, data) {
this.activeIndex = index;
},
// 搜索事件
onSearch(val) {
if (val !== "") {
console.log(this.search);
}
},
// // 下拉刷新事件
// onRefresh() {
// // 清空列表数据
// this.finished = false;
// // 重新加载数据
// // 将 loading 设置为 true,表示处于加载状态
// this.loading = true;
// this.onLoad();
// },
// // 列表初始化函数
// onLoad() {
// setTimeout(() => {
// if (this.refreshing) {
// this.refreshing = false;
// }
// // 加载完成后将loading改成 false
// this.loading = false;
// // 为什么会连续触发 load 事件? 先加上这句 this.finished = true; 以后再删
// // this.finished = true;
// // 如果列表数据全部加载完成 则将finished改为true
// // if (this.list.length >= 40) {
// // this.finished = true;
// // }
// }, 5000);
// }
},
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.message-wrap {
padding: 10px 10px 0;
background-color: #f0f1f5;
// 标签
.category-wrap {
.my-tag-style {
width: 75px;
height: 21px;
font-size: 13px;
border: 1px solid #1989fa;
border-radius: 4px;
color: #1989fa;
display: inline-block;
text-align: center;
line-height: 21px;
margin-right: 10px;
}
.active {
color: white;
background-color: #1989fa;
}
}
// 搜索
.search-wrap {
margin: 10px 0;
.van-search {
border-radius: 5px;
padding: 5px 12px;
}
.van-search__content {
background-color: #ffffff;
}
}
// 内容
.con-list {
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
.message-content {
margin-top: 10px;
}
}
}
}
</style>
<template>
<div>
<div class="message-wrap">
<!-- 标签 -->
<div class="category-wrap">
<span
class="my-tag-style"
:class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory"
:key="item.key"
@click="clickCategory(index, item.category)"
>{{ item.category }}</span
>
</div>
<van-pull-refresh
v-model="isLoading"
success-text="刷新成功"
@refresh="onRefresh"
>
<div class="message-wrap">
<!-- 标签 -->
<div class="category-wrap">
<span
class="my-tag-style"
:class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory"
:key="item.key"
@click="clickCategory(index, item.category)"
>{{ item.category }}</span
>
<!-- 搜索 -->
<div class="search-wrap">
<van-search
v-model="searchVal"
show-action
placeholder="请输入消息内容"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
<!-- <van-search v-model="searchVal" placeholder="搜索" @search="onSearch" /> -->
</div>
<!-- 内容列表 -->
<div class="con-list" @touchmove="showIndex = null">
<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<span class="my-tag-style" @click="clearNo()">清除未读</span>
</div>
<!-- 搜索 -->
<div class="search-wrap">
<van-search
v-model="searchVal"
show-action
placeholder="请输入消息内容"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</div>
<!-- 内容列表 -->
<div class="con-list" @touchmove="showIndex = null">
<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
> -->
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="touchstart(index, item)"
>
<!--@touchend.prevent="touchend(index)" 长按备份-->
<div class="messgae-title">
<span>{{ item.noticeTitle }}</span> <span>{{ item.sendTime }}</span>
</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}的{{ item.noticeTitle }}相关的待处理任务...
</div>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index" v-if="item.status == '未读'">
<div class="wrapper" @click.stop="showIndex = null">
<!-- <van-button round type="primary" @click="goDetail(item)"
>查看</van-button
> -->
<van-button
round
type="info"
@click="read(item)"
v-if="item.status == '未读'"
>已读</van-button
>
</div>
</van-overlay>
</van-cell-group>
<!-- </van-list>
</van-pull-refresh> -->
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="touchstart(index, item)"
>
<van-badge :dot="item.status == 0 ? true : false">
<div style="padding: 10px; min-width: calc(100vw - 1.6rem)">
<!--@touchend.prevent="touchend(index)" 长按备份-->
<div class="messgae-title">
<span>{{ item.title }}</span>
<span>{{ item.createTime }}</span>
</div>
<div class="message-content">
{{ item.messageBy }},您好!您有一条来自{{ item.menuName }}的{{
item.content
}}相关的待处理任务...
</div>
</div>
</van-badge>
</van-cell-group>
</div>
</div>
</div>
</van-pull-refresh>
</div>
</template>
<script>
import { postMessgaelist, noticeRemove } from "@/service/message";
import {
postMessgaelist,
noticeRemove,
removeAllMessgae,
removeMessgae,
} from "@/service/message";
export default {
props: {
actives: String,
default: () => "",
},
data() {
return {
isLoading: false,
show: false,
messageCategory: [
{
key: "0",
......@@ -109,136 +112,132 @@ export default {
};
},
created() {
this.unRead();
this.activeIndex = sessionStorage.getItem("activeIndex")
? sessionStorage.getItem("activeIndex")
: 0;
this.setMessage();
this.getMessageSort();
},
methods: {
//下拉刷新
onRefresh() {
setTimeout(() => {
this.$toast("刷新成功");
this.isLoading = false;
this.getMessageSort();
this.$parent.$parent.$parent.$parent.getBadgeNumber();
}, 1000);
},
// 点击类别
clickCategory(index, data) {
// 关闭遮罩层
this.showIndex = null;
this.activeIndex = index;
this.getMessageSort();
this.activeVal = this.messageCategory[index].category;
// 点击全部还是已读还是未读
this.selectCategory(data);
this.setMessage();
},
// 搜索事件
onSearch(val) {
this.selectCategory(this.activeVal, this.searchVal);
},
// 封装全部 已读 和 未读的方法
selectCategory(data, val = "") {
if (data == "全部") {
if (val) {
let formData = new FormData();
formData.append("noticeContent", val);
this.getMessageList(formData);
} else {
this.getMessageList();
}
} else {
if (this.activeIndex == 0) {
let formData = new FormData();
formData.append("status", data);
if (val) {
formData.append("noticeContent", val);
}
formData.append("status", 0);
formData.append("keyword", this.searchVal);
this.getMessageList(formData);
} else if (this.activeIndex == 1) {
let formData = new FormData();
formData.append("status", 1);
formData.append("keyword", this.searchVal);
this.getMessageList(formData);
} else if (this.activeIndex == 2) {
let formData = new FormData();
formData.append("keyword", this.searchVal);
this.getMessageList(formData);
}
},
// 点击消息条目时的点击事件 变成已读
setMessage() {
sessionStorage.setItem("activeNames", this.actives);
sessionStorage.setItem("activeIndex", this.activeIndex);
},
read(data) {
// 判断showIndex是否等于null 如果不等于则先将showIndex改为null
this.showIndex = null;
if (data.status == "未读") {
if (data.status == 0) {
let formData = new FormData();
formData.append("ids", data.pid);
noticeRemove("/mobile/noticeRemove", formData).then((res) => {
formData.append("id", data.id);
noticeRemove(formData).then((res) => {
if (res.code == 0) {
// 如果请求接口成功 则重新请求一下未读消息的条数
this.unRead();
// 重新请求对应的接口 刷新列表数据
let val = this.activeVal;
this.selectCategory(val);
this.getMessageSort();
}
});
}
},
// 请求有多少未读消息的接口
unRead() {
let formData = new FormData();
formData.append("status", "未读");
postMessgaelist("/mobile/notice", formData).then((res) => {
if (res.code == 0) {
// 向父组件发送消息条数
this.$emit("messageLength", res.total);
// 给消息列表赋值
this.messageList = res.rows;
}
});
//根据类别请求接口
getMessageSort() {
if (this.activeIndex == 0) {
let formData = new FormData();
formData.append("status", 0);
this.getMessageList(formData);
} else if (this.activeIndex == 1) {
let formData = new FormData();
formData.append("status", 1);
this.getMessageList(formData);
} else if (this.activeIndex == 2) {
this.getMessageList();
}
},
// 请求消息接口方法
getMessageList(data) {
postMessgaelist("/mobile/notice", data).then((res) => {
getMessageList(Data) {
postMessgaelist(Data).then((res) => {
this.messageList = res.rows;
});
},
// // 下拉刷新事件
// onRefresh() {
// // 清空列表数据
// this.finished = false;
// // 重新加载数据
// // 将 loading 设置为 true,表示处于加载状态
// this.loading = true;
// this.onLoad();
// },
// // 列表初始化函数
// onLoad() {
// setTimeout(() => {
// if (this.refreshing) {
// this.refreshing = false;
// }
// // 加载完成后将loading改成 false
// this.loading = false;
// // 为什么会连续触发 load 事件? 先加上这句 this.finished = true; 以后再删
// // this.finished = true;
// // 如果列表数据全部加载完成 则将finished改为true
// // if (this.list.length >= 40) {
// // this.finished = true;
// // }
// }, 5000);
// }
touchstart(index, item) {
// clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if (this.showIndex != null) {
this.showIndex = null;
return;
}
this.showIndex = index;
// this.Loop = setTimeout(
// function() {
// this.showIndex = index;
// }.bind(this),
// 0
// ); // 这里的1000是指需要长按的时间,单位为ms
this.read(item);
this.$router.push({
name: "message-details",
params: {
id: JSON.stringify(item),
},
});
},
// touchend(index) {
// // 这个方法主要是用来将每次手指移出之后将计时器清零 长按备份
// clearTimeout(this.Loop);
// },
// 详情
goDetail(data) {
this.showIndex = null;
//清除所有未读
clearNo() {
this.$dialog
.confirm({
title: "提示",
message: "确定清楚所有未读内容内容",
confirmButtonColor: "#1989FA",
})
.then(() => {
removeAllMessgae()
.then((res) => {
if (res.code == "0") {
this.$notify({ type: "success", message: "清楚成功" });
this.$parent.$parent.$parent.$parent.getBadgeNumber();
this.getMessageSort();
} else {
this.$notify({
type: "primary",
message: "没有未读消息可以清除",
});
}
})
.catch((err) => {
console.log(
"%c [ err ]",
"font-size:13px; background:pink; color:#bf2c9f;",
err
);
});
})
.catch(() => {
// on cancel
});
},
},
};
......@@ -246,6 +245,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.message-wrap {
min-height: 58vh;
padding: 10px 10px 0;
background-color: #f0f1f5;
// 标签
......
<template>
<div>
<div class="message-wrap">
<!-- 标签 -->
<div class="category-wrap">
<!-- <span class="my-tag-style active">全部</span>
<van-pull-refresh
v-model="isLoading"
success-text="刷新成功"
@refresh="onRefresh"
>
<div class="message-wrap">
<!-- 标签 -->
<div class="category-wrap">
<!-- <span class="my-tag-style active">全部</span>
<span class="my-tag-style">已读</span>
<span class="my-tag-style">未读</span> -->
<span
class="my-tag-style"
:class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory"
:key="item.key"
@click="selectCategory(index, item.category)"
>{{ item.category }}</span
>
</div>
<span
class="my-tag-style"
:class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory"
:key="item.key"
@click="selectCategory(index, item.category)"
>{{ item.category }}</span
>
<span class="my-tag-style" @click="clearNo()">清除未读</span>
</div>
<!-- 搜索 -->
<div class="search-wrap">
<!-- <van-search
<!-- 搜索 -->
<div class="search-wrap">
<!-- <van-search
v-model="searchVal"
show-action
placeholder="请输入检查名称"
......@@ -28,45 +34,63 @@
<div @click="onSearch">搜索</div>
</template>
</van-search> -->
<!-- <van-search
<!-- <van-search
v-model="searchVal"
placeholder="搜索"
@search="onSearch"
@confirm="onSearch"
/> -->
</div>
</div>
<!-- 内容列表 -->
<div class="con-list">
<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
> -->
<!-- <van-cell-group inset>
<div class="messgae-title">隐患确认信息</div>
<div class="message-content">
张大海已确认一般隐患B类,右万宝宝负责整改。
<!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in notificationList"
:key="index"
@click="touchstart(index, item)"
>
<van-badge :dot="item.status == 0 ? true : false">
<div style="padding: 10px; min-width: calc(100vw - 1.6rem)">
<div class="messgae-title">
<span>{{ item.title }}</span>
<span>{{ item.createTime }}</span>
</div>
<div class="mse_title">
{{ item.title }}
</div>
<div class="message-content">
{{ item.content }}
</div>
</div>
</van-cell-group> -->
<!-- </van-list>
</van-pull-refresh> -->
</van-badge>
</van-cell-group>
</div>
</div>
</div>
</van-pull-refresh>
</div>
</template>
<script>
import { Toast } from "vant";
import {
notificationList,
removeAllNotification,
readNotification,
removeNotification,
} from "@/service/message";
export default {
props: {
actives: String,
default: () => "",
},
data() {
return {
isLoading: false,
messageCategory: [
{
key: "0",
category: "全部",
category: "未读",
},
{
key: "1",
......@@ -74,65 +98,148 @@ export default {
},
{
key: "2",
category: "未读",
category: "全部",
},
],
activeIndex: 0,
searchVal: "",
notificationList: [],
// refreshing: false, // 下拉刷新开关
// loading: false, // 列表滚动到底部会触发load事件
// finished: false // 列表数据全部加载完成
};
},
mounted() {},
created() {
this.activeIndex = sessionStorage.getItem("activeIndex")
? sessionStorage.getItem("activeIndex")
: 0;
this.getNotificationSort();
this.setMessage();
},
methods: {
//下拉刷新
onRefresh() {
setTimeout(() => {
this.$toast("刷新成功");
this.isLoading = false;
this.getNotificationSort();
this.$parent.$parent.$parent.$parent.getBadgeNumber();
}, 1000);
},
// 点击类别
selectCategory(index, data) {
this.activeIndex = index;
this.getNotificationSort();
this.setMessage();
},
// 搜索事件
onSearch(val) {
if (val !== "") {
console.log(this.searchVal);
if (this.activeIndex == 0) {
let formData = new FormData();
formData.append("status", 0);
formData.append("keyword", this.searchVal);
this.getNotificationList(formData);
} else if (this.activeIndex == 1) {
let formData = new FormData();
formData.append("status", 1);
formData.append("keyword", this.searchVal);
this.getNotificationList(formData);
} else if (this.activeIndex == 2) {
let formData = new FormData();
formData.append("keyword", this.searchVal);
this.getNotificationList(formData);
}
},
// // 下拉刷新事件
// onRefresh() {
// // 清空列表数据
// this.finished = false;
// // 重新加载数据
// // 将 loading 设置为 true,表示处于加载状态
// this.loading = true;
// this.onLoad();
// },
// // 列表初始化函数
// onLoad() {
// setTimeout(() => {
// if (this.refreshing) {
// this.refreshing = false;
// }
// // 加载完成后将loading改成 false
// this.loading = false;
// // 为什么会连续触发 load 事件? 先加上这句 this.finished = true; 以后再删
// // this.finished = true;
// // 如果列表数据全部加载完成 则将finished改为true
// // if (this.list.length >= 40) {
// // this.finished = true;
// // }
// }, 5000);
// }
setMessage() {
sessionStorage.setItem("activeNames", this.actives);
sessionStorage.setItem("activeIndex", this.activeIndex);
},
//点击消息条目时的点击事件 变成已读
read(data) {
if (data.status == 0) {
let formData = new FormData();
formData.append("id", data.id);
readNotification(formData).then((res) => {
if (res.code == 0) {
this.getNotificationSort();
}
});
}
},
//根据类别请求接口
getNotificationSort() {
if (this.activeIndex == 0) {
let formData = new FormData();
formData.append("status", 0);
this.getNotificationList(formData);
} else if (this.activeIndex == 1) {
let formData = new FormData();
formData.append("status", 1);
this.getNotificationList(formData);
} else if (this.activeIndex == 2) {
this.getNotificationList();
}
},
//请求通知全部公告列表
getNotificationList(Data) {
notificationList(Data).then((res) => {
this.notificationList = res.rows;
});
},
touchstart(index, item) {
this.read(item);
this.$router.push({
name: "message-details",
params: {
id: JSON.stringify(item),
},
});
},
//清除未读
clearNo() {
this.$dialog
.confirm({
title: "提示",
message: "确定清楚所有未读内容内容",
confirmButtonColor: "#1989FA",
})
.then(() => {
removeAllNotification()
.then((res) => {
if (res.code == "0") {
this.$notify({ type: "success", message: "清楚成功" });
this.$parent.$parent.$parent.$parent.getBadgeNumber();
this.getNotificationSort();
} else {
this.$notify({
type: "primary",
message: "没有未读消息可以清除",
});
}
})
.catch((err) => {
console.log(
"%c [ err ]",
"font-size:13px; background:pink; color:#bf2c9f;",
err
);
});
})
.catch(() => {
// on cancel
});
},
},
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.message-wrap {
min-height: 58vh;
padding: 10px 10px 0;
background-color: #f0f1f5;
// 标签
......@@ -172,10 +279,22 @@ export default {
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
.messgae-title {
.mse_title {
margin-top: 10px;
}
.message-content {
margin-top: 10px;
text-indent: 28px;
}
.messgae-title {
display: flex;
justify-content: space-between;
align-items: center;
}
.bot_but {
display: flex;
justify-content: right;
align-items: center;
}
}
}
......
<template>
<div>
<div class="message-wrap">
<!-- 标签 -->
<div class="category-wrap">
<!-- <span class="my-tag-style active">全部</span>
<van-pull-refresh
v-model="isLoading"
success-text="刷新成功"
@refresh="onRefresh"
>
<div class="message-wrap">
<!-- 标签 -->
<div class="category-wrap">
<!-- <span class="my-tag-style active">全部</span>
<span class="my-tag-style">已读</span>
<span class="my-tag-style">未读</span> -->
<span
class="my-tag-style"
:class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory"
:key="item.key"
@click="selectCategory(index, item.category)"
>{{ item.category }}</span
>
</div>
<span
class="my-tag-style"
:class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory"
:key="item.key"
@click="selectCategory(index, item.category)"
>{{ item.category }}</span
>
</div>
<!-- 搜索 -->
<div class="search-wrap">
<van-search
v-model="searchVal"
show-action
placeholder="请输入检查名称"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</div>
<!-- 搜索 -->
<div class="search-wrap">
<van-search
v-model="searchVal"
show-action
placeholder="请输入检查名称"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</div>
<!-- 内容列表 -->
<div class="con-list">
<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
> -->
<!-- <van-cell-group inset>
<div class="messgae-title">隐患确认信息</div>
<div class="message-content">
张大海已确认一般隐患B类,右万宝宝负责整改。
<!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in waitList"
:key="index"
@click="touchstart(index, item)"
>
<van-badge :dot="item.status == 0 ? true : false">
<div style="padding: 10px; min-width: calc(100vw - 1.6rem)">
<div class="messgae-title">
<span>{{ item.title }}</span>
<span>{{ item.createTime }}</span>
</div>
<div class="message-content">{{ item.content }}</div>
<div class="bot_but">
<van-button color="#33CCFF" size="mini">立即处理</van-button>
</div>
</div>
</van-cell-group> -->
<!-- </van-list>
</van-pull-refresh> -->
</van-badge>
</van-cell-group>
</div>
</div>
</div>
</van-pull-refresh>
</div>
</template>
<script>
import { Toast } from "vant";
import { waitList, removeWaitList } from "@/service/message";
export default {
props: {
actives: String,
default: () => "",
},
data() {
return {
isLoading: false,
messageCategory: [
{
key: "0",
category: "全部",
category: "待办",
},
{
key: "1",
category: "",
category: "",
},
{
key: "2",
category: "未读",
category: "全部",
},
],
activeIndex: 0,
searchVal: "",
waitList: [], // 待办列表
// refreshing: false, // 下拉刷新开关
// loading: false, // 列表滚动到底部会触发load事件
// finished: false // 列表数据全部加载完成
};
},
mounted() {},
created() {
this.activeIndex = sessionStorage.getItem("activeIndex")
? sessionStorage.getItem("activeIndex")
: 0;
this.getWaitSort();
this.setMessage();
},
methods: {
//下拉刷新
onRefresh() {
setTimeout(() => {
this.$toast("刷新成功");
this.isLoading = false;
this.getWaitSort();
this.$parent.$parent.$parent.$parent.getBadgeNumber();
}, 1000);
},
// 点击类别
selectCategory(index, data) {
this.activeIndex = index;
this.getWaitSort();
this.setMessage();
},
// 搜索事件
onSearch(val) {
if (val !== "") {
console.log(this.search)
if (this.activeIndex == 0) {
let formData = new FormData();
formData.append("status", 0);
formData.append("keyword", this.searchVal);
this.getWaitList(formData);
} else if (this.activeIndex == 1) {
let formData = new FormData();
formData.append("status", 1);
formData.append("keyword", this.searchVal);
this.getWaitList(formData);
} else if (this.activeIndex == 2) {
let formData = new FormData();
formData.append("keyword", this.searchVal);
this.getWaitList(formData);
}
},
setMessage() {
sessionStorage.setItem("activeNames", this.actives);
sessionStorage.setItem("activeIndex", this.activeIndex);
},
//根据类别请求接口
getWaitSort() {
if (this.activeIndex == 0) {
let formData = new FormData();
formData.append("status", 0);
this.getWaitList(formData);
} else if (this.activeIndex == 1) {
let formData = new FormData();
formData.append("status", 1);
this.getWaitList(formData);
} else if (this.activeIndex == 2) {
this.getWaitList();
}
},
// // 下拉刷新事件
// onRefresh() {
// // 清空列表数据
// this.finished = false;
// // 重新加载数据
// // 将 loading 设置为 true,表示处于加载状态
// this.loading = true;
// this.onLoad();
// },
// // 列表初始化函数
// onLoad() {
// setTimeout(() => {
// if (this.refreshing) {
// this.refreshing = false;
// }
// 请求消息接口方法
getWaitList(Data) {
waitList(Data).then((res) => {
this.waitList = res.rows;
});
},
touchstart(index, item) {
this.$router.push({
path: item.appUrl,
query: {},
});
},
// // 加载完成后将loading改成 false
// this.loading = false;
// // 为什么会连续触发 load 事件? 先加上这句 this.finished = true; 以后再删
......@@ -127,6 +187,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.message-wrap {
min-height: 58vh;
padding: 10px 10px 0;
background-color: #f0f1f5;
// 标签
......@@ -164,11 +225,21 @@ export default {
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
padding: 10px;
.message-content {
margin-top: 10px;
}
.messgae-title {
display: flex;
justify-content: space-between;
align-items: center;
}
.bot_but {
display: flex;
justify-content: right;
align-items: center;
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment