|
@@ -0,0 +1,801 @@
|
|
|
+<template>
|
|
|
+ <div class="custom-admin-box">
|
|
|
+ <div class="custom-admin">
|
|
|
+ <div class="staging-left">
|
|
|
+ <div class="staging-user-detail box-background">
|
|
|
+ <div class="user-avatar">
|
|
|
+ <div class="user-avatar-img">
|
|
|
+ <avatar :user="user" :size="20"></avatar>
|
|
|
+ </div>
|
|
|
+ <div class="user-avatar-name">{{user.name}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="user-list">
|
|
|
+ <div class="user-item">
|
|
|
+ <div class="user-key">岗位名称</div>
|
|
|
+ <div class="user-value" @click="open('1')">物业经理</div>
|
|
|
+ </div>
|
|
|
+ <div class="user-item">
|
|
|
+ <div class="user-key">公司部门</div>
|
|
|
+ <div class="user-value" @click="open('2')">智慧城市事业部</div>
|
|
|
+ </div>
|
|
|
+ <div class="user-item">
|
|
|
+ <div class="user-key">联系方式</div>
|
|
|
+ <div class="user-value">{{user.phone}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="user-item">
|
|
|
+ <div class="user-key">空间定位</div>
|
|
|
+ <div class="user-value">魔方大厦A栋</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="staging-user-sign">
|
|
|
+ <div class="staging-sign-item box-background">
|
|
|
+ <div class="sign-icon">
|
|
|
+ <i class="iconfont huifont-qiandao"></i>
|
|
|
+ </div>
|
|
|
+ <div class="sign-test">
|
|
|
+ <div class="sign-label">月签到</div>
|
|
|
+ <div class="sign-number">59</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="sign-line"></div>
|
|
|
+ <div class="staging-sign-item box-background">
|
|
|
+ <div class="sign-icon sign-icons">
|
|
|
+ <i class="iconfont huifont-queqinshu"></i>
|
|
|
+ </div>
|
|
|
+ <div class="sign-test">
|
|
|
+ <div class="sign-label">月缺勤</div>
|
|
|
+ <div class="sign-number">01</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="staging-chart box-background">
|
|
|
+ <div class="user-title">
|
|
|
+ <div class="user-title-name">客户分析</div>
|
|
|
+ </div>
|
|
|
+ <div class="client-chart">
|
|
|
+ <div ref="chart1" class="client-chart-box"></div>
|
|
|
+ <div class="client-chart-tips">
|
|
|
+ <div class="legend-item" v-for="(item,index) in industryList" :key="index">
|
|
|
+ <span class="legend-bage" :style="'background:'+item.color+';'"></span>
|
|
|
+ <span class="legend-label">{{item.name}}</span>
|
|
|
+ <span class="legend-label alibaba">{{item.value}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="client-list">
|
|
|
+ <div class="alarm-table-box hui-flex">
|
|
|
+ <div class="alarm-title">
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-50">序号</span>
|
|
|
+ <span class="tr-flex">姓名</span>
|
|
|
+ <span class="tr-flex">行业</span>
|
|
|
+ <span class="tr-50">类型</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-table hui-flex-box">
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-50">1</span>
|
|
|
+ <span class="tr-flex hui-ellipsis">林夕三</span>
|
|
|
+ <span class="tr-flex">金融行业</span>
|
|
|
+ <span class="tr-50">潜在客户</span>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-50">2</span>
|
|
|
+ <span class="tr-flex hui-ellipsis">林夕三</span>
|
|
|
+ <span class="tr-flex">金融行业</span>
|
|
|
+ <span class="tr-50">潜在客户</span>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-50">3</span>
|
|
|
+ <span class="tr-flex hui-ellipsis">林夕三</span>
|
|
|
+ <span class="tr-flex">金融行业</span>
|
|
|
+ <span class="tr-50">潜在客户</span>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-50">4</span>
|
|
|
+ <span class="tr-flex hui-ellipsis">林夕三</span>
|
|
|
+ <span class="tr-flex">金融行业</span>
|
|
|
+ <span class="tr-50">潜在客户</span>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-50">5</span>
|
|
|
+ <span class="tr-flex hui-ellipsis">林夕三</span>
|
|
|
+ <span class="tr-flex">金融行业</span>
|
|
|
+ <span class="tr-50">潜在客户</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="staging-right">
|
|
|
+ <div class="weekly-log">
|
|
|
+ <div class="weekly-box box-background">
|
|
|
+ <div class="user-title">
|
|
|
+ <div class="user-title-name">个人周报</div>
|
|
|
+ <div class="user-title-right">
|
|
|
+ <span>更多</span>
|
|
|
+ <i class="iconfont huifont-xiala-right"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="weekly-list">
|
|
|
+ <div class="weekly-item">
|
|
|
+ <div class="weekly-number">
|
|
|
+ <div>第2周</div>
|
|
|
+ <div>03-12</div>
|
|
|
+ </div>
|
|
|
+ <div class="weekly-label">
|
|
|
+ <div class="weekly-date">2023-03-12</div>
|
|
|
+ <div class="weekly-content">
|
|
|
+ 目易无铁她商根教给消运意解连经入家成利根极且术在任质结产门六入术接查白二节育大育真等复劳所光机保气六历层越消关并际三…
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="weekly-item">
|
|
|
+ <div class="weekly-number">
|
|
|
+ <div>第1周</div>
|
|
|
+ <div>03-12</div>
|
|
|
+ </div>
|
|
|
+ <div class="weekly-label">
|
|
|
+ <div class="weekly-date">2023-03-12</div>
|
|
|
+ <div class="weekly-content">
|
|
|
+ 目易无铁她商根教给消运意解连经入家成利根极且术在任质结产门六入术接查白二节育大育真等复劳所光机保气六历层越消关并际三…
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="log-box box-background">
|
|
|
+ <div class="user-title">
|
|
|
+ <div class="user-title-name">个人日志</div>
|
|
|
+ <div class="user-title-right" @click="$router.push('/work/operation/log/person')">
|
|
|
+ <span>更多</span>
|
|
|
+ <i class="iconfont huifont-xiala-right"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="log-list">
|
|
|
+ <div class="log-item" v-for="item in logList" :key="item.id" @click="detail(item)">
|
|
|
+ {{item.message}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="staging-message box-background">
|
|
|
+ <div class="hui-flex hui-content">
|
|
|
+ <div class="user-title">
|
|
|
+ <div class="user-title-name">我的消息</div>
|
|
|
+ <div class="user-title-right" @click="$router.push('/message')">
|
|
|
+ <span>更多</span>
|
|
|
+ <i class="iconfont huifont-xiala-right"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="hui-flex-box hui-table">
|
|
|
+ <el-table :data="tableData" row-key="id" stripe height="100%">
|
|
|
+ <el-table-column label="序号" width="50">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{scope.$index + 1}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="消息内容">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class="hui-ellipsis">
|
|
|
+ {{scope.row.message}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="时间" prop="sentTime" width="180"></el-table-column>
|
|
|
+ <el-table-column label="消息类型" prop="messageType" width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class="hui-table-tag">
|
|
|
+ <div class="hui-tag">
|
|
|
+ <div>{{messageType(scope.row.messageType).name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="150" label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span class="table-operation" @click="detail(scope.row)">
|
|
|
+ 详情
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <template slot="empty">
|
|
|
+ <empty description="暂无数据"></empty>
|
|
|
+ </template>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-drawer title="消息详情" :visible.sync="drawer" :size="400" :append-to-body="true">
|
|
|
+ <detail v-if="drawer" :type="item.messageType" :detail="item" @close="drawer = false">
|
|
|
+ </detail>
|
|
|
+ </el-drawer>
|
|
|
+ <el-dialog :close-on-click-modal="false" :title="type === '1' ? '企业看板':'设备看板'" :visible.sync="modelVisible"
|
|
|
+ width="1100px" :append-to-body="true">
|
|
|
+ <notice-board v-if="modelVisible" :type="type"></notice-board>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+ import {
|
|
|
+ getMessagePageListByQuery
|
|
|
+ } from '@/httpApi/message'
|
|
|
+ import detail from '@/components/message/detail'
|
|
|
+ import noticeBoard from '@/components/work/common/noticeBoard'
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ user: {},
|
|
|
+ logList: [],
|
|
|
+ tableData: [],
|
|
|
+ item: {},
|
|
|
+ drawer: false,
|
|
|
+ modelVisible: false,
|
|
|
+ industryList: [{
|
|
|
+ value: 21,
|
|
|
+ name: "建筑业",
|
|
|
+ color: '#EB7E65'
|
|
|
+ }, {
|
|
|
+ value: 90,
|
|
|
+ name: "金融业",
|
|
|
+ color: '#9D60FB'
|
|
|
+ }, {
|
|
|
+ value: 16,
|
|
|
+ name: "房地产开发",
|
|
|
+ color: '#5AD8A6'
|
|
|
+ }, {
|
|
|
+ value: 59,
|
|
|
+ name: "服装业",
|
|
|
+ color: '#F7C739'
|
|
|
+ }, {
|
|
|
+ value: 19,
|
|
|
+ name: "制造业",
|
|
|
+ color: '#5B8FF9'
|
|
|
+ }, {
|
|
|
+ value: 40,
|
|
|
+ name: "批发零售",
|
|
|
+ color: '#5D7092'
|
|
|
+ }, {
|
|
|
+ value: 26,
|
|
|
+ name: "其他",
|
|
|
+ color: '#6DC8EC'
|
|
|
+ }],
|
|
|
+ type: '1'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.user = this.$store.getters.user;
|
|
|
+ this.initMessage();
|
|
|
+ this.initLog();
|
|
|
+ this.chart1();
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ detail,
|
|
|
+ noticeBoard
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ open(type) {
|
|
|
+ this.type = type;
|
|
|
+ this.modelVisible = true;
|
|
|
+ },
|
|
|
+ initLog() {
|
|
|
+ let data = {
|
|
|
+ projectId: this.$store.getters.project.id,
|
|
|
+ organizationId: this.$store.getters.organization.id,
|
|
|
+ sender: this.$store.getters.user.userId
|
|
|
+ }
|
|
|
+ getMessagePageListByQuery(1, 5, data).then(res => {
|
|
|
+ if (res.state) {
|
|
|
+ this.logList = res.data.dataList.map(node => {
|
|
|
+ return Object.assign(node, JSON.parse(node.json));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ initMessage() {
|
|
|
+ let data = {
|
|
|
+ projectId: this.$store.getters.project.id,
|
|
|
+ organizationId: this.$store.getters.organization.id,
|
|
|
+ userId: this.$store.getters.user.userId
|
|
|
+ }
|
|
|
+ getMessagePageListByQuery(1, 8, data).then(res => {
|
|
|
+ if (res.state) {
|
|
|
+ this.tableData = res.data.dataList.map(node => {
|
|
|
+ return Object.assign(node, JSON.parse(node.json));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ detail(item) {
|
|
|
+ if (!item.viewed) this.$msg.viewed(item.id, this.initMessage);
|
|
|
+ this.item = item;
|
|
|
+ this.drawer = true;
|
|
|
+ },
|
|
|
+ messageType(type) {
|
|
|
+ return this.$msg.messageType.filter(item => item.id === type)[0];
|
|
|
+ },
|
|
|
+ chart1() {
|
|
|
+ let chart = echarts.init(this.$refs.chart1);
|
|
|
+ let title = '建筑业',
|
|
|
+ len = "7.75"
|
|
|
+ let option = {
|
|
|
+ title: {
|
|
|
+ text: ("{name|" + title + "}" + "\n{percent|" + len + "}{name|%}"),
|
|
|
+ left: 'center',
|
|
|
+ top: 'center',
|
|
|
+ textStyle: {
|
|
|
+ rich: {
|
|
|
+ name: {
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 12,
|
|
|
+ lineHeight: 16
|
|
|
+ },
|
|
|
+ percent: {
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 24,
|
|
|
+ lineHeight: 38,
|
|
|
+ fontFamily: 'alibabaMedium'
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ color: this.industryList.map(node => node.color),
|
|
|
+ series: [{
|
|
|
+ type: 'pie',
|
|
|
+ center: ['50%', '50%'],
|
|
|
+ radius: ['60%', '90%'],
|
|
|
+ avoidLabelOverlap: false,
|
|
|
+ itemStyle: {
|
|
|
+ borderColor: 'RGBA(21, 26, 37, 1)',
|
|
|
+ borderWidth: 2,
|
|
|
+ borderRadius: 3,
|
|
|
+ },
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ position: 'center'
|
|
|
+ },
|
|
|
+ emphasis: {
|
|
|
+ label: {
|
|
|
+ show: true,
|
|
|
+ formatter: (params) => {
|
|
|
+ return ("{name|" + params.name + "}" + "\n{percent|" +
|
|
|
+ params.percent.toFixed(2) + "}{name|%}");
|
|
|
+ },
|
|
|
+ rich: {
|
|
|
+ name: {
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 12,
|
|
|
+ lineHeight: 16
|
|
|
+ },
|
|
|
+ percent: {
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 24,
|
|
|
+ lineHeight: 38,
|
|
|
+ fontFamily: 'alibabaMedium'
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ labelLine: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ data: this.industryList
|
|
|
+ }]
|
|
|
+ };
|
|
|
+ chart.setOption(option);
|
|
|
+ // 高亮时
|
|
|
+ chart.on('highlight', (e) => {
|
|
|
+ chart.setOption({
|
|
|
+ title: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // 取消高亮时
|
|
|
+ chart.on('downplay', (e) => {
|
|
|
+ chart.setOption({
|
|
|
+ title: {
|
|
|
+ show: true
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // 鼠标移入数据时
|
|
|
+ chart.on('mouseover', {
|
|
|
+ componentType: 'series',
|
|
|
+ seriesType: 'pie'
|
|
|
+ }, (params) => {
|
|
|
+ chart.setOption({
|
|
|
+ title: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // 鼠标移出数据时
|
|
|
+ chart.on('mouseout', {
|
|
|
+ componentType: 'series',
|
|
|
+ seriesType: 'pie'
|
|
|
+ }, (params) => {
|
|
|
+ chart.setOption({
|
|
|
+ title: {
|
|
|
+ show: true
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+ .custom-admin-box {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ overflow: auto;
|
|
|
+ background: $--background;
|
|
|
+
|
|
|
+ .custom-admin {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ min-width: 1200px;
|
|
|
+ min-height: 600px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-title {
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 15px;
|
|
|
+ padding-bottom: 0;
|
|
|
+
|
|
|
+ .user-title-name {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 500;
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-title-right {
|
|
|
+ cursor: pointer;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .staging-left {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ margin-right: 10px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .staging-chart {
|
|
|
+ flex: 1;
|
|
|
+ height: 0;
|
|
|
+ overflow: hidden;
|
|
|
+ margin-top: 10px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .staging-right {
|
|
|
+ flex: 2;
|
|
|
+ width: 0;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ .staging-user-detail {
|
|
|
+ padding: 15px;
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .user-avatar {
|
|
|
+ width: 110px;
|
|
|
+ height: 150px;
|
|
|
+ background: #232A37;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ padding-top: 25px;
|
|
|
+ margin-right: 5px;
|
|
|
+
|
|
|
+ .user-avatar-img {
|
|
|
+ width: 64px;
|
|
|
+ height: 64px;
|
|
|
+ border: 4px solid rgba(255, 255, 255, 0.1);
|
|
|
+ border-radius: 50%;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-avatar-name {
|
|
|
+ margin-top: 6px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-list {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+
|
|
|
+ .user-item {
|
|
|
+ display: flex;
|
|
|
+ margin-bottom: 2px;
|
|
|
+
|
|
|
+ .user-value {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ margin-left: 2px;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-item>div {
|
|
|
+ background: #232A37;
|
|
|
+ line-height: 36px;
|
|
|
+ padding: 0 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-item:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .staging-user-sign {
|
|
|
+ display: flex;
|
|
|
+ margin-top: 10px;
|
|
|
+
|
|
|
+ .sign-line {
|
|
|
+ width: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .staging-sign-item {
|
|
|
+ padding: 15px;
|
|
|
+ display: flex;
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+
|
|
|
+ .sign-icon {
|
|
|
+ width: 52px;
|
|
|
+ height: 52px;
|
|
|
+ background: $--color-orange;
|
|
|
+ border-radius: 20px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ margin-right: 16px;
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-size: 30px;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .sign-label {
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .sign-number {
|
|
|
+ font-size: 24px;
|
|
|
+ line-height: 32px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .sign-icons {
|
|
|
+ background: $--color-primary;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .client-chart {
|
|
|
+ display: flex;
|
|
|
+ padding: 15px;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .client-chart-box {
|
|
|
+ width: 180px;
|
|
|
+ height: 180px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .client-chart-tips {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ overflow: hidden;
|
|
|
+ overflow-y: auto;
|
|
|
+ max-height: 180px;
|
|
|
+ margin-left: 40px;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+
|
|
|
+ .legend-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 8px;
|
|
|
+ width: 50%;
|
|
|
+
|
|
|
+ .legend-bage {
|
|
|
+ width: 8px;
|
|
|
+ height: 8px;
|
|
|
+ margin-right: 9px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .legend-label {
|
|
|
+ margin-right: 8px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .client-list {
|
|
|
+ flex: 1;
|
|
|
+ height: 0;
|
|
|
+
|
|
|
+ .alarm-title {
|
|
|
+ padding-top: 12px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-log {
|
|
|
+ width: 100%;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .weekly-box {
|
|
|
+ margin-right: 10px;
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ height: 272px;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-list {
|
|
|
+ padding: 20px 0;
|
|
|
+
|
|
|
+ .weekly-item {
|
|
|
+ padding: 16px;
|
|
|
+ display: flex;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-number {
|
|
|
+ width: 56px;
|
|
|
+ height: 68px;
|
|
|
+ background: rgba(255, 255, 255, 0.05);
|
|
|
+ border-radius: 16px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ color: #FFFFFF;
|
|
|
+ margin-right: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-number>div:first-child {
|
|
|
+ margin-bottom: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-item:hover {
|
|
|
+ .weekly-number {
|
|
|
+ background: $--color-primary;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-content,
|
|
|
+ .weekly-date {
|
|
|
+ color: $--color-primary;
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-label {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-date {
|
|
|
+ opacity: 0.6;
|
|
|
+ line-height: 20px;
|
|
|
+ margin-bottom: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .weekly-content {
|
|
|
+ overflow: hidden;
|
|
|
+ height: 40px;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .log-box {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ height: 272px;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ .log-list {
|
|
|
+ padding: 20px 20px 16px 20px;
|
|
|
+
|
|
|
+ .log-item {
|
|
|
+ line-height: 40px;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ padding: 0 10px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .log-item:nth-child(2n-1) {
|
|
|
+ background: #232A37;
|
|
|
+ }
|
|
|
+
|
|
|
+ .log-item:hover {
|
|
|
+ color: $--color-primary;
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .staging-message {
|
|
|
+ flex: 1;
|
|
|
+ height: 0;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .hui-table {
|
|
|
+ padding-top: 20px;
|
|
|
+ padding-bottom: 0;
|
|
|
+
|
|
|
+ .el-table--group::after,
|
|
|
+ .el-table--border::after,
|
|
|
+ .el-table::before {
|
|
|
+ background-color: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ tr {
|
|
|
+ border-color: transparent;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ th.el-table__cell.is-leaf,
|
|
|
+ td.el-table__cell {
|
|
|
+ border-right: none;
|
|
|
+ border-color: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-table__row--striped {
|
|
|
+
|
|
|
+ th.el-table__cell.is-leaf,
|
|
|
+ td.el-table__cell {
|
|
|
+ background: #232A37;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-table__header th.el-table__cell {
|
|
|
+ border-color: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-table__cell {
|
|
|
+ padding: 10px 0;
|
|
|
+
|
|
|
+ .cell {
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|