| | |
| | | :key="index" |
| | | @click="timeClick(item, index)" |
| | | > |
| | | {{ timeListStr[index] }} |
| | | {{ timeListStr[index] }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="card-group"> |
| | | <div class="main-card"> |
| | | <div class="status-grid"> |
| | | <div class="status-item" v-for="(item, index) in eventTypeList" :key="index"> |
| | | <div class="status-item" v-for="(item, index) in eventTypeList" :key="index" @click="jumpEventDetails(item,index)"> |
| | | <div class="statusCon"> |
| | | <div class="status-label">{{ item.name }}</div> |
| | | <div class="status-value">{{ item.value }}<span>个</span></div> |
| | |
| | | import overviewImg3 from '@/assets/images/workbench/tc3.svg'; |
| | | import overviewImg4 from '@/assets/images/workbench/tc4.svg'; |
| | | import overviewImg5 from '@/assets/images/workbench/tc5.svg'; |
| | | import { useRouter } from 'vue-router' |
| | | const router = useRouter() |
| | | let checked = ref('CURRENT_YEAR'); |
| | | let timeListStr = ['本周', '本月', '本年']; |
| | | let timeListEnum = ['CURRENT_WEEK', 'CURRENT_MONTH', 'CURRENT_YEAR']; |
| | |
| | | device_sn: '', |
| | | end_date: undefined, |
| | | start_date: undefined, |
| | | source:1,//数据来源 |
| | | }); |
| | | const dateSelect = ref('CURRENT_YEAR'); |
| | | const eventTypeList = ref([ |
| | | { name: '待审核', value: 0, img: overviewImg2, color: '#FF472F', status: '2', rate: 0 }, |
| | | { name: '待处理', value: 0, img: overviewImg3, color: '#FF7411', status: '0', rate: 0 }, |
| | | { name: '处理中', value: 0, img: overviewImg4, color: '#FFC300', status: '3', rate: 0 }, |
| | | { name: '已完成', value: 0, img: overviewImg5, color: '#0291A1', status: '4', rate: 0 }, |
| | | { name: '待审核', value: 0, img: overviewImg2, color: '#FF472F', status: '2', rate: 0 ,tagging:'pending' }, |
| | | { name: '待处理', value: 0, img: overviewImg3, color: '#FF7411', status: '0', rate: 0 ,tagging:'processing' }, |
| | | { name: '处理中', value: 0, img: overviewImg4, color: '#FFC300', status: '3', rate: 0 ,tagging:'inProgress'}, |
| | | { name: '已完成', value: 0, img: overviewImg5, color: '#0291A1', status: '4', rate: 0 ,tagging:'completed'}, |
| | | ]); |
| | | // 工单统计 |
| | | const getTypeData = () => { |
| | |
| | | dateSelect.value = item; |
| | | getTypeData(); |
| | | }; |
| | | // 跳转事件工单 |
| | | const jumpEventDetails = (item,index)=>{ |
| | | // console.log('tiaozhuan',item); |
| | | router.replace({ |
| | | path: `/tickets/ticket`, |
| | | query: { tab: item.tagging } |
| | | }); |
| | | } |
| | | // 图表 |
| | | const echartsRef = ref(null); |
| | | let { chart } = useEchartsResize(echartsRef); |
| | |
| | | border-radius: 8px 8px 8px 8px; |
| | | padding: 4px 14px 0 15px; |
| | | background: #ffffff !important; |
| | | // height: 315px; |
| | | height: pxToVh(355); |
| | | |
| | | height: pxToVh(282); |
| | | margin-bottom: 10px; |
| | | .card-title { |
| | | display: flex; |
| | | margin-bottom: 10px; |
| | | margin-bottom: 4px; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .cardtotal { |
| | |
| | | .status-grid { |
| | | display: grid; |
| | | grid-template-columns: repeat(2, 1fr); |
| | | // row-gap: 19px; |
| | | // gap: 10px; |
| | | |
| | | // padding-bottom: 5px; |
| | | |
| | | .status-item { |
| | | display: flex; |
| | | text-align: center; |
| | | justify-content: space-between; |
| | | // height: 97px; |
| | | height: pxToVh(107); |
| | | // max-width: 158px; |
| | | margin-bottom: 19px; |
| | | height: pxToVh(97); |
| | | margin-bottom: 10px; |
| | | margin-right: 14px; |
| | | width: 144px; |
| | | background: #f6f8fe; |
| | | border-radius: 8px 8px 8px 8px; |
| | | |
| | | cursor: pointer; |
| | | img { |
| | | width: 26px; |
| | | height: 26px; |
| | |
| | | } |
| | | |
| | | .statusCon { |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | // align-items: center; |
| | | padding: 5px 4px 9px 10px; |
| | | justify-content: space-between; |
| | | padding: 10px 4px 39px 10px; |
| | | text-align: left; |
| | | |
| | | .status-label { |
| | |
| | | font-size: 14px; |
| | | text-align: left; |
| | | color: #383838; |
| | | margin: 0; |
| | | } |
| | | |
| | | .ratio { |
| | |
| | | color: #363636; |
| | | white-space: nowrap; |
| | | text-align: left; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .status-value { |
| | | font-family: 'Source Han Sans CN'; |
| | | font-weight: bold; |
| | | font-size: 30px; |
| | | font-size: 28px; |
| | | height: 28px; |
| | | color: #363636; |
| | | // margin: 5px 0; |
| | | // font-style: italic; |
| | | margin-top: -6px; |
| | | display: inline-block; |
| | | transform: skewX(-5deg); |
| | | |