|
@@ -3,26 +3,26 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16" class="left-content">
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <div class="statistics-item box" v-loading="state.loading">
|
|
|
- <div class="statistics-title">
|
|
|
- <img v-lazy="getImageUrl('home/Call.png')" alt="" src="" />
|
|
|
- 今日来电
|
|
|
- </div>
|
|
|
- <div class="statistics-number">
|
|
|
- <div class="statistics-number-item">
|
|
|
- <p class="statistics-number-item-number"><b>520</b></p>
|
|
|
- <p class="statistics-number-item-tips">全部</p>
|
|
|
- </div>
|
|
|
- <div class="statistics-number-item">
|
|
|
- <p class="statistics-number-item-number"><b>200</b></p>
|
|
|
- <p class="statistics-number-item-tips">有效</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8">
|
|
|
+ <el-card shadow="never" v-loading="state.loading" class="statistics-item">
|
|
|
+ <div class="statistics-title">
|
|
|
+ <img v-lazy="getImageUrl('home/Call.png')" alt="" src="" />
|
|
|
+ 今日来电
|
|
|
+ </div>
|
|
|
+ <div class="statistics-number">
|
|
|
+ <div class="statistics-number-item">
|
|
|
+ <p class="statistics-number-item-number"><b>520</b></p>
|
|
|
+ <p class="statistics-number-item-tips">全部</p>
|
|
|
+ </div>
|
|
|
+ <div class="statistics-number-item">
|
|
|
+ <p class="statistics-number-item-number"><b>200</b></p>
|
|
|
+ <p class="statistics-number-item-tips">有效</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <div class="statistics-item box" v-loading="state.loading">
|
|
|
+ <el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8">
|
|
|
+ <el-card shadow="never" v-loading="state.loading" class="statistics-item">
|
|
|
<div class="statistics-title">
|
|
|
<img v-lazy="getImageUrl('home/connectionRate.png')" alt="" src="" />
|
|
|
今日接通率
|
|
@@ -37,30 +37,25 @@
|
|
|
<p class="statistics-number-item-tips">接通率</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </el-card>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <div class="statistics-item box" v-loading="state.loading">
|
|
|
+ <el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8">
|
|
|
+ <el-card shadow="never" v-loading="state.loading" class="statistics-item">
|
|
|
<div class="statistics-title">
|
|
|
<img v-lazy="getImageUrl('home/workOrder.png')" alt="" src="" />
|
|
|
- 受理工单
|
|
|
- </div>
|
|
|
- <div class="statistics-number">
|
|
|
- <p class="statistics-number-item-total"><b>10</b></p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <div class="statistics-item box" v-loading="state.loading">
|
|
|
- <div class="statistics-title">
|
|
|
- <img v-lazy="getImageUrl('home/wait.png')" alt="" src="" />
|
|
|
- 当前等待
|
|
|
- </div>
|
|
|
- <div class="statistics-number">
|
|
|
- <p class="statistics-number-item-total"><b>20</b></p>
|
|
|
- <p></p>
|
|
|
+ 今日受理工单
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ <div class="statistics-number">
|
|
|
+ <div class="statistics-number-item">
|
|
|
+ <p class="statistics-number-item-number"><b>980</b></p>
|
|
|
+ <p class="statistics-number-item-tips">受理工单量</p>
|
|
|
+ </div>
|
|
|
+ <div class="statistics-number-item">
|
|
|
+ <p class="statistics-number-item-number"><b>730</b></p>
|
|
|
+ <p class="statistics-number-item-tips">今日直办工单里</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
@@ -68,7 +63,7 @@
|
|
|
</el-col>
|
|
|
<!-- 常用入口 -->
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="8" :xl="8" class="right-content">
|
|
|
- <div class="right-entrance box w100" v-loading="state.entranceLoading">
|
|
|
+ <el-card shadow="never" class="right-entrance w100" v-loading="state.entranceLoading">
|
|
|
<p class="right-entrance-title">
|
|
|
常用入口
|
|
|
<span @click="customEntry"> <SvgIcon name="ele-Setting" class="mr5" />自定义 </span>
|
|
@@ -76,36 +71,39 @@
|
|
|
<template v-if="state.entranceList.length">
|
|
|
<ul class="right-entrance-list">
|
|
|
<li class="right-entrance-list-item" v-for="item in state.entranceList" :key="item.id" :data-id="item.id" @click="goLink(item.path)">
|
|
|
- <img v-lazy="getImageUrl(item.fastIcon)" alt="" class="my-handle" src="" />
|
|
|
+<!-- <img v-lazy="getImageUrl(item.fastIcon)" alt="" class="my-handle" src="" />-->
|
|
|
+ <SvgIcon :name="item.icon" size="42px" class="my-handle"/>
|
|
|
<p>{{ item.pageName }}</p>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</template>
|
|
|
<Empty descriptionData="暂无常用入口" v-else />
|
|
|
- </div>
|
|
|
- <div class="right-notice mt20 box w100" v-loading="state.noticeLoading">
|
|
|
- <p class="right-notice-title">
|
|
|
- 通知公告
|
|
|
- <el-button type="primary" text bg round v-show="state.noticeList.length" @click="more('notice')">
|
|
|
- 更多
|
|
|
- <SvgIcon name="ele-Right" class="ml5" color="var(--el-color-primary-light-4)" />
|
|
|
- </el-button>
|
|
|
- </p>
|
|
|
- <template v-if="state.noticeList.length">
|
|
|
- <vue3-seamless-scroll :list="state.noticeList" class="right-notice-scroll" :hover="true" :limitScrollNum="6">
|
|
|
- <div class="right-notice-scroll-item" v-for="(item, index) in state.noticeList" :key="index">
|
|
|
+ </el-card>
|
|
|
+ <!-- 通知公告 -->
|
|
|
+ <el-card shadow="never" class="mt20 right-notice" v-loading="state.noticeLoading">
|
|
|
+ <el-tabs v-model="activeName" class="demo-tabs" @tab-change="handleClick">
|
|
|
+ <el-tab-pane label="知识库" name="knowledge"></el-tab-pane>
|
|
|
+ <el-tab-pane label="通知公告" name="notice"></el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ <el-button type="primary" link v-show="state.noticeList.length" @click="more('notice')" class="more">
|
|
|
+ 更多
|
|
|
+ <SvgIcon name="ele-ArrowRight"/>
|
|
|
+ </el-button>
|
|
|
+ <template v-if="state.noticeList.length">
|
|
|
+ <vue3-seamless-scroll :list="state.noticeList" class="right-notice-scroll" :hover="true" :limitScrollNum="6">
|
|
|
+ <div class="right-notice-scroll-item" v-for="(item, index) in state.noticeList" :key="index">
|
|
|
<span class="right-notice-scroll-item-name text-no-wrap" :title="item.title">
|
|
|
<SvgIcon name="iconfont icon-jiadayinliang" class="mr5 vd" />{{ item.title }}</span
|
|
|
- >
|
|
|
- <span class="right-notice-scroll-item-date"
|
|
|
- >{{ formatDate(item.date, 'YYYY-mm-dd') }}
|
|
|
+ >
|
|
|
+ <span class="right-notice-scroll-item-date"
|
|
|
+ >{{ formatDate(item.date, 'YYYY-mm-dd') }}
|
|
|
<SvgIcon name="ele-DArrowRight" class="ml5" />
|
|
|
</span>
|
|
|
- </div>
|
|
|
- </vue3-seamless-scroll>
|
|
|
- </template>
|
|
|
- <Empty v-else descriptionData="暂无通知公告" />
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </vue3-seamless-scroll>
|
|
|
+ </template>
|
|
|
+ <Empty v-else descriptionData="暂无通知公告" />
|
|
|
+ </el-card>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- 常用入口 -->
|
|
@@ -158,6 +156,10 @@ const state = reactive({
|
|
|
noticeLoading: false, // 公告
|
|
|
});
|
|
|
const entranceRef = ref<RefType>(); // 常用入口ref
|
|
|
+const activeName = ref<string>('knowledge'); // tab切换
|
|
|
+const handleClick = ()=>{
|
|
|
+ console.log(activeName.value);
|
|
|
+}
|
|
|
// 自定义入口
|
|
|
const customEntry = () => {
|
|
|
entranceRef.value.openDialog();
|
|
@@ -192,10 +194,6 @@ onMounted(() => {
|
|
|
});
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
-.box {
|
|
|
- background-color: var(--el-color-white);
|
|
|
- border-radius: 8px;
|
|
|
-}
|
|
|
.vd {
|
|
|
vertical-align: middle;
|
|
|
}
|
|
@@ -205,7 +203,6 @@ onMounted(() => {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
&-item {
|
|
|
- padding: 20px;
|
|
|
height: 200px;
|
|
|
margin-bottom: 20px;
|
|
|
}
|
|
@@ -245,14 +242,9 @@ onMounted(() => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .list-content {
|
|
|
- padding: 20px;
|
|
|
- }
|
|
|
}
|
|
|
.right-content {
|
|
|
.right-entrance {
|
|
|
- padding: 30px 20px;
|
|
|
&-title {
|
|
|
font-size: var(--el-font-size-medium);
|
|
|
display: flex;
|
|
@@ -284,11 +276,13 @@ onMounted(() => {
|
|
|
cursor: pointer;
|
|
|
color: var(--el-text-color-regular);
|
|
|
user-select: none;
|
|
|
+ padding: 10px 20px;
|
|
|
.my-handle {
|
|
|
+ display: inline-block;
|
|
|
width: 40px;
|
|
|
height: 50px;
|
|
|
- margin-top: 15px;
|
|
|
- margin-bottom: 13px;
|
|
|
+ margin-top: 5px;
|
|
|
+ margin-bottom: 10px;
|
|
|
}
|
|
|
&:hover {
|
|
|
color: var(--el-color-primary);
|
|
@@ -298,15 +292,13 @@ onMounted(() => {
|
|
|
}
|
|
|
}
|
|
|
.right-notice {
|
|
|
- padding: 30px 20px;
|
|
|
- &-title {
|
|
|
- font-size: var(--el-font-size-medium);
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- padding-bottom: 20px;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
+ position: relative;
|
|
|
+ .more{
|
|
|
+ position: absolute;
|
|
|
+ right: 20px;
|
|
|
+ top: 30px;
|
|
|
+ z-index: 2;
|
|
|
+ }
|
|
|
&-scroll {
|
|
|
height: 300px;
|
|
|
overflow: hidden;
|