dashbord
This commit is contained in:
parent
750e751513
commit
8272368813
|
@ -330,7 +330,7 @@ export const asyncRoutes = [
|
||||||
path: 'sales',
|
path: 'sales',
|
||||||
name: 'sales',
|
name: 'sales',
|
||||||
component: () => import('@/views/sam/sales'),
|
component: () => import('@/views/sam/sales'),
|
||||||
meta: { title: '销售信息', icon: 'saleInfo', perms: ['sam_sales'] }
|
meta: { title: '销售发货', icon: 'saleInfo', perms: ['sam_sales'] }
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
<div class="dashboard-container">
|
<div class="dashboard-container">
|
||||||
<div class="dashboardTopCard">
|
<div class="dashboardTopCard">
|
||||||
<div class="CardTitleWrap">
|
<div class="CardTitleWrap">
|
||||||
<span class="verticalLine"></span><span class="dashboardCardTitle">数据统计</span>
|
<span class="verticalLine"></span>
|
||||||
|
<span class="dashboardCardTitle">数据统计</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 20px;overflow: hidden;">
|
<div style="padding: 20px;overflow: hidden;">
|
||||||
<div class="cardsWrap" @click="toDetail('1')">
|
<div class="cardsWrap" @click="toDetail('1')">
|
||||||
|
@ -38,7 +39,6 @@
|
||||||
<div class="cardsWrap" @click="toDetail('3')">
|
<div class="cardsWrap" @click="toDetail('3')">
|
||||||
<div class="svgIconWrap">
|
<div class="svgIconWrap">
|
||||||
<el-icon class="el-icon-s-operation svgIcon"></el-icon>
|
<el-icon class="el-icon-s-operation svgIcon"></el-icon>
|
||||||
<!--<svg-icon class="svgIcon" icon-class="productionTask" :className="'svgIcon'"/>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="totalCountWrap">
|
<div class="totalCountWrap">
|
||||||
<span class="totalCountText">本月在制任务</span>
|
<span class="totalCountText">本月在制任务</span>
|
||||||
|
@ -51,7 +51,6 @@
|
||||||
<div class="cardsWrap" @click="toDetail('4')">
|
<div class="cardsWrap" @click="toDetail('4')">
|
||||||
<div class="svgIconWrap">
|
<div class="svgIconWrap">
|
||||||
<el-icon class="el-icon-s-claim svgIcon"></el-icon>
|
<el-icon class="el-icon-s-claim svgIcon"></el-icon>
|
||||||
<!--<svg-icon icon-class="product" class="svgIcon" :className="'svgIcon'"/>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="totalCountWrap">
|
<div class="totalCountWrap">
|
||||||
<span class="totalCountText">本月交付产品</span>
|
<span class="totalCountText">本月交付产品</span>
|
||||||
|
@ -64,7 +63,6 @@
|
||||||
<div class="cardsWrap" @click="toDetail('5')">
|
<div class="cardsWrap" @click="toDetail('5')">
|
||||||
<div class="svgIconWrap">
|
<div class="svgIconWrap">
|
||||||
<el-icon class="el-icon-error svgIcon"></el-icon>
|
<el-icon class="el-icon-error svgIcon"></el-icon>
|
||||||
<!--<svg-icon icon-class="unqualified" class="svgIcon" :className="'svgIcon'"/>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="totalCountWrap">
|
<div class="totalCountWrap">
|
||||||
<span class="totalCountText">本月不合格产品</span>
|
<span class="totalCountText">本月不合格产品</span>
|
||||||
|
@ -91,7 +89,7 @@
|
||||||
></gantt>
|
></gantt>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 34%;position:relative;float: right" >
|
<div style="width: 34%;position:relative;float: right">
|
||||||
<div class="CardTitleWrap">
|
<div class="CardTitleWrap">
|
||||||
<span class="verticalLine"></span><span class="dashboardCardTitle">成品率</span>
|
<span class="verticalLine"></span><span class="dashboardCardTitle">成品率</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -137,10 +135,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="dashboardCardPadding">
|
<div class="dashboardCardPadding">
|
||||||
<el-table
|
<el-table
|
||||||
small
|
|
||||||
v-loading="listLoadingEm"
|
v-loading="listLoadingEm"
|
||||||
|
small
|
||||||
:data="equipmentList"
|
:data="equipmentList"
|
||||||
fit stripe
|
fit
|
||||||
|
stripe
|
||||||
size="mini"
|
size="mini"
|
||||||
:height="cardTabelHeight"
|
:height="cardTabelHeight"
|
||||||
pager-count="3"
|
pager-count="3"
|
||||||
|
@ -179,14 +178,6 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="下次校准日期" prop="model">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-tag v-if="scope.row.next_check_date" :type="setClass(scope.row.next_check_date)">
|
|
||||||
{{scope.row.next_check_date}}
|
|
||||||
</el-tag>
|
|
||||||
<div v-else></div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>-->
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -221,7 +212,8 @@
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="listLoadingUser"
|
v-loading="listLoadingUser"
|
||||||
:data="userList"
|
:data="userList"
|
||||||
fit stripe
|
fit
|
||||||
|
stripe
|
||||||
size="mini"
|
size="mini"
|
||||||
:height="cardTabelHeight"
|
:height="cardTabelHeight"
|
||||||
style="border-top: 1px solid #f5f5f5;"
|
style="border-top: 1px solid #f5f5f5;"
|
||||||
|
@ -284,8 +276,8 @@
|
||||||
</ul>
|
</ul>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="临近交货" name="临近交货">
|
<el-tab-pane label="临近交货" name="临近交货">
|
||||||
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
||||||
@mouseleave="Up()">
|
@mouseleave="Up()">
|
||||||
<li class="listItem" v-for="(item,$index) in warningList" :key="$index">
|
<li class="listItem" v-for="(item,$index) in warningList" :key="$index">
|
||||||
<div class="itemText">
|
<div class="itemText">
|
||||||
<span>{{item.name}}({{item.number}})</span><span>{{item.delivery_date}}为交货日期</span>
|
<span>{{item.name}}({{item.number}})</span><span>{{item.delivery_date}}为交货日期</span>
|
||||||
|
@ -294,18 +286,18 @@
|
||||||
</ul>
|
</ul>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="过期提醒" name="过期提醒">
|
<el-tab-pane label="过期提醒" name="过期提醒">
|
||||||
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
||||||
@mouseleave="Up()">
|
@mouseleave="Up()">
|
||||||
<li class="listItem" v-for="(item,$index) in warningList" :key="$index">
|
<li class="listItem" v-for="(item,$index) in warningList" :key="$index">
|
||||||
<div class="itemText">
|
<div class="itemText">
|
||||||
<span>{{item.name}}({{item.number}})</span><span>{{item.delivery_date}}到期</span>
|
<span>{{item.name}}({{item.unit}})</span><span>{{item.expiration_date}}到期</span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="设备检测" name="设备检测">
|
<el-tab-pane label="设备检测" name="设备检测">
|
||||||
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
||||||
@mouseleave="Up()">
|
@mouseleave="Up()">
|
||||||
<li class="listItem" v-for="(item,$index) in warningList" :key="$index"
|
<li class="listItem" v-for="(item,$index) in warningList" :key="$index"
|
||||||
:class="{nearStatus:item.warningType===1,outStatus:item.warningType===2}">
|
:class="{nearStatus:item.warningType===1,outStatus:item.warningType===2}">
|
||||||
<div class="itemText">
|
<div class="itemText">
|
||||||
|
@ -317,12 +309,12 @@
|
||||||
</ul>
|
</ul>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="任务到期" name="任务到期">
|
<el-tab-pane label="任务到期" name="任务到期">
|
||||||
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
<ul :style="{height:cardTabelHeight-47+'px'}" class="lists" :class="{anim:animate}" @mouseenter="Stop()"
|
||||||
@mouseleave="Up()">
|
@mouseleave="Up()">
|
||||||
<li class="listItem" v-for="(item,$index) in warningList" :key="$index"
|
<li class="listItem" v-for="(item,$index) in warningList" :key="$index"
|
||||||
:class="{nearStatus:item.warningType===1,outStatus:item.warningType===2}">
|
:class="{nearStatus:item.warningType===1,outStatus:item.warningType===2}">
|
||||||
<div class="itemText">
|
<div class="itemText">
|
||||||
<span>{{item.name}}({{item.number}})</span>
|
<span>{{item.name}}{{item.number}}</span>
|
||||||
<span v-if="item.warningType===1">接近计划日期</span>
|
<span v-if="item.warningType===1">接近计划日期</span>
|
||||||
<span v-else>已过计划日期</span>
|
<span v-else>已过计划日期</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -339,16 +331,15 @@
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import echarts from 'echarts'
|
||||||
import {mapGetters} from 'vuex';
|
import {mapGetters} from 'vuex';
|
||||||
// import {getUserList} from "@/api/user";
|
|
||||||
import {getEmployee} from "@/api/hrm";
|
import {getEmployee} from "@/api/hrm";
|
||||||
import {getMaterialList} from "@/api/mtm";
|
import {getMaterialList} from "@/api/mtm";
|
||||||
import {getProductionplanList} from "@/api/pm";
|
import {getProductionplanList} from "@/api/pm";
|
||||||
import {getmaterialbatchList} from "@/api/inm";
|
import {getmaterialbatchList} from "@/api/inm";
|
||||||
import gantt from "@/components/Gantt/dashGantt";
|
import gantt from "@/components/Gantt/dashGantt";
|
||||||
import {getpEquipmentList} from "@/api/equipment";
|
import {getpEquipmentList} from "@/api/equipment";
|
||||||
import {getProcessYield ,getPlanGantt} from "@/api/srm";
|
import {getProcessYield, getPlanGantt} from "@/api/srm";
|
||||||
import {getContractList , getOrderList} from "@/api/sam";
|
import {getContractList, getOrderList} from "@/api/sam";
|
||||||
import { getToken } from '@/utils/auth' // get token from cookie
|
import {getToken} from '@/utils/auth' // get token from cookie
|
||||||
export default {
|
export default {
|
||||||
components: {gantt},
|
components: {gantt},
|
||||||
name: 'Dashboard',
|
name: 'Dashboard',
|
||||||
|
@ -360,6 +351,7 @@
|
||||||
animateUser: false,
|
animateUser: false,
|
||||||
chartColumn: null,
|
chartColumn: null,
|
||||||
week: null,
|
week: null,
|
||||||
|
nowHour: null,//当前时间的小时数
|
||||||
currentTime: null,
|
currentTime: null,
|
||||||
currentYear: null,
|
currentYear: null,
|
||||||
currentMonth: null,
|
currentMonth: null,
|
||||||
|
@ -434,7 +426,7 @@
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$route.path': function (newVal) {
|
'$route.path': function (newVal) {
|
||||||
if(newVal==='/dashboard') {
|
if (newVal === '/dashboard') {
|
||||||
this.getUserList();//用户列表
|
this.getUserList();//用户列表
|
||||||
this.getEquipmentList();//设备列表
|
this.getEquipmentList();//设备列表
|
||||||
this.getGanttData();//甘特图数据
|
this.getGanttData();//甘特图数据
|
||||||
|
@ -444,28 +436,30 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
setClass:function(check_date) {
|
setClass: function (check_date) {
|
||||||
let obj = {};
|
let obj = {};
|
||||||
if(check_date!=null){
|
if (check_date != null) {
|
||||||
let dat = new Date();
|
let dat = new Date();
|
||||||
let time = dat.getTime();
|
let time = dat.getTime();
|
||||||
let check = new Date(check_date).getTime();
|
let check = new Date(check_date).getTime();
|
||||||
let timeDiffer = (check-time)/1000/60/60/24;
|
let timeDiffer = (check - time) / 1000 / 60 / 60 / 24;
|
||||||
if (4>timeDiffer&&timeDiffer>0) {
|
if (4 > timeDiffer && timeDiffer > 0) {
|
||||||
obj = 'warning';
|
obj = 'warning';
|
||||||
}else if (timeDiffer<0) {
|
} else if (timeDiffer < 0) {
|
||||||
obj = "danger";
|
obj = "danger";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
getNoticeData() {
|
getNoticeData() {
|
||||||
this.ScrollUp();
|
this.ScrollUp();
|
||||||
},
|
},
|
||||||
|
|
||||||
ScrollUp() {
|
ScrollUp() {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.intNum = setInterval(() => {
|
that.intNum = setInterval(() => {
|
||||||
if(that.warningList.length>3){
|
if (that.warningList.length > 3) {
|
||||||
that.animate = true;
|
that.animate = true;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
that.warningList.push(that.warningList[0]);
|
that.warningList.push(that.warningList[0]);
|
||||||
|
@ -475,13 +469,16 @@
|
||||||
}
|
}
|
||||||
}, 3000);
|
}, 3000);
|
||||||
},
|
},
|
||||||
|
|
||||||
//鼠标移上去停止
|
//鼠标移上去停止
|
||||||
Stop() {
|
Stop() {
|
||||||
clearInterval(this.intNum);
|
clearInterval(this.intNum);
|
||||||
},
|
},
|
||||||
|
|
||||||
Up() {
|
Up() {
|
||||||
this.ScrollUp();
|
this.ScrollUp();
|
||||||
},
|
},
|
||||||
|
|
||||||
getStatisticsData() {
|
getStatisticsData() {
|
||||||
let that = this;
|
let that = this;
|
||||||
let dat = new Date();
|
let dat = new Date();
|
||||||
|
@ -551,13 +548,14 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//获取库存警告
|
//获取库存警告
|
||||||
getMaterialList({page: 1, page_size:that.warningPageSize,tag: 'low_inm'}).then((response) => {
|
getMaterialList({page: 1, page_size: that.warningPageSize, tag: 'low_inm'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
that.warningList = response.data.results;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
//设备列表
|
//设备列表
|
||||||
getEquipmentList() {
|
getEquipmentList() {
|
||||||
let that = this;
|
let that = this;
|
||||||
|
@ -571,6 +569,7 @@
|
||||||
that.listLoadingEm = false;
|
that.listLoadingEm = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
//设备分页跳转
|
//设备分页跳转
|
||||||
handleEquipmentCurrentChange(val) {
|
handleEquipmentCurrentChange(val) {
|
||||||
let that = this;
|
let that = this;
|
||||||
|
@ -584,11 +583,12 @@
|
||||||
that.listLoadingEm = false;
|
that.listLoadingEm = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
//用户列表
|
//用户列表
|
||||||
getUserList() {
|
getUserList() {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.listLoadingUser = true;
|
that.listLoadingUser = true;
|
||||||
that.userPage =1;
|
that.userPage = 1;
|
||||||
getEmployee({page: that.userPage, page_size: that.userPageSize}).then((response) => {
|
getEmployee({page: that.userPage, page_size: that.userPageSize}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.userList = response.data.results;
|
that.userList = response.data.results;
|
||||||
|
@ -598,12 +598,17 @@
|
||||||
that.listLoadingUser = false;
|
that.listLoadingUser = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
//用户分页跳转
|
//用户分页跳转
|
||||||
handleUserCurrentChange(val) {
|
handleUserCurrentChange(val) {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.listLoadingUser = true;
|
that.listLoadingUser = true;
|
||||||
that.userPage = val;
|
that.userPage = val;
|
||||||
getEmployee({page: val, page_size: that.userPageSize, fields: 'id,name,dept_name,is_atwork'}).then((response) => {
|
getEmployee({
|
||||||
|
page: val,
|
||||||
|
page_size: that.userPageSize,
|
||||||
|
fields: 'id,name,dept_name,is_atwork'
|
||||||
|
}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.userList = response.data.results;
|
that.userList = response.data.results;
|
||||||
that.userTotal = response.data.count;
|
that.userTotal = response.data.count;
|
||||||
|
@ -612,6 +617,7 @@
|
||||||
that.listLoadingUser = false;
|
that.listLoadingUser = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
userScroll() {
|
userScroll() {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.intNumUser = setInterval(() => {
|
that.intNumUser = setInterval(() => {
|
||||||
|
@ -623,13 +629,16 @@
|
||||||
}, 3000)
|
}, 3000)
|
||||||
}, 3000);
|
}, 3000);
|
||||||
},
|
},
|
||||||
|
|
||||||
//鼠标移上去停止
|
//鼠标移上去停止
|
||||||
stopScroll() {
|
stopScroll() {
|
||||||
clearInterval(this.intNumUser);
|
clearInterval(this.intNumUser);
|
||||||
},
|
},
|
||||||
|
|
||||||
toScroll() {
|
toScroll() {
|
||||||
this.userScroll();
|
this.userScroll();
|
||||||
},
|
},
|
||||||
|
|
||||||
//去往工作流页面
|
//去往工作流页面
|
||||||
gotoTicketPage() {
|
gotoTicketPage() {
|
||||||
let path = this.$route.path;
|
let path = this.$route.path;
|
||||||
|
@ -639,6 +648,7 @@
|
||||||
this.$router.push({name: 'ticket', params: {}})
|
this.$router.push({name: 'ticket', params: {}})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//图标渲染
|
//图标渲染
|
||||||
drawChart() {
|
drawChart() {
|
||||||
let that = this;
|
let that = this;
|
||||||
|
@ -720,34 +730,6 @@
|
||||||
offset: 1,
|
offset: 1,
|
||||||
color: '#409EFF'
|
color: '#409EFF'
|
||||||
}]),
|
}]),
|
||||||
|
|
||||||
/*color: function(params) {
|
|
||||||
let colorList = [
|
|
||||||
['#5fcdc2','#ffffff'],
|
|
||||||
['#FFA783','#ffffff'],
|
|
||||||
['#D099FF','#ffffff'],
|
|
||||||
['#83FFC0','#ffffff'],
|
|
||||||
['#FF83D8','#ffffff'],
|
|
||||||
['#FFE899','#ffffff'],
|
|
||||||
['#83FFE9','#ffffff'],
|
|
||||||
];
|
|
||||||
let colorItem = colorList[params.dataIndex];
|
|
||||||
return new echarts.graphic.LinearGradient(0,1,0,0,[
|
|
||||||
{
|
|
||||||
color: colorItem[0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
color: colorItem[1]
|
|
||||||
}
|
|
||||||
]);
|
|
||||||
},*/
|
|
||||||
/*color: function(params) {
|
|
||||||
let colorList = [
|
|
||||||
'#5fcdc2','#a378e4','#fea94c','#f27197',
|
|
||||||
'#409eff','#5fcdc2','#a378e4','#fea94c'
|
|
||||||
];
|
|
||||||
return colorList[params.dataIndex]
|
|
||||||
},*/
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}]
|
}]
|
||||||
|
@ -762,11 +744,12 @@
|
||||||
} else if (index === '3') {
|
} else if (index === '3') {
|
||||||
this.$router.push({name: 'management', params: {page: 1, page_size: 20}})
|
this.$router.push({name: 'management', params: {page: 1, page_size: 20}})
|
||||||
} else if (index === '4') {
|
} else if (index === '4') {
|
||||||
this.$router.push({name: 'product'})
|
this.$router.push({name: 'sales'})
|
||||||
} else if (index === '5') {
|
} else if (index === '5') {
|
||||||
this.$router.push({name: 'unproduct'})
|
this.$router.push({name: 'unproduct'})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//选择月份
|
//选择月份
|
||||||
searchTimeChange(index) {
|
searchTimeChange(index) {
|
||||||
let that = this;
|
let that = this;
|
||||||
|
@ -796,51 +779,62 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//提示
|
//提示
|
||||||
activeNameClick() {
|
activeNameClick() {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.warningPage = 1;
|
that.warningPage = 1;
|
||||||
that.warningList = [];
|
that.warningList = [];
|
||||||
if (that.activeName === '库存警告') {
|
if (that.activeName === '库存警告') {
|
||||||
getMaterialList({page: 1, page_size:that.warningPageSize, tag: 'low_inm'}).then((response) => {
|
getMaterialList({page: 1, page_size: that.warningPageSize, tag: 'low_inm'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
that.warningList = response.data.results;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (that.activeName === '临近交货') {
|
} else if (that.activeName === '临近交货') {
|
||||||
getOrderList({page: 1, page_size:that.warningPageSize,tag:'near_delivery'}).then((response) => {
|
getOrderList({page: 1, page_size: that.warningPageSize, tag: 'near_delivery'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
that.warningList = response.data.results;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (that.activeName === '过期提醒') {
|
} else if (that.activeName === '过期提醒') {
|
||||||
getmaterialbatchList({page: 1, page_size:that.warningPageSize, tag: 'expired'}).then((response) => {
|
getmaterialbatchList({page: 1, page_size: that.warningPageSize, tag: 'expired'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
let warningList = response.data.results;
|
||||||
|
let arr = [];
|
||||||
|
warningList.forEach(item => {
|
||||||
|
let obj = new Object();
|
||||||
|
obj.name = item.material_.name;
|
||||||
|
obj.unit = item.material_.unit;
|
||||||
|
obj.id = item.id;
|
||||||
|
obj.expiration_date = item.expiration_date;
|
||||||
|
arr.push(obj)
|
||||||
|
});
|
||||||
|
that.warningList = arr;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else if (that.activeName === '设备检测') {
|
} else if (that.activeName === '设备检测') {
|
||||||
that.warningPageSize = 100;
|
that.warningPageSize = 100;
|
||||||
let warningList = [];
|
let warningList = [];
|
||||||
getpEquipmentList({page: 0,tag:'near_done'}).then((response) => {
|
getpEquipmentList({page: 0, tag: 'near_done'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
let results = response.data;
|
let results = response.data;
|
||||||
if(results.length>0){
|
if (results.length > 0) {
|
||||||
results.forEach(item=>{
|
results.forEach(item => {
|
||||||
let obj = new Object();
|
let obj = new Object();
|
||||||
obj = item;
|
obj = item;
|
||||||
obj.warningType = 1;
|
obj.warningType = 1;
|
||||||
warningList.push(obj);
|
warningList.push(obj);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
getpEquipmentList({page: 0,tag:'out_done'}).then((res) => {
|
getpEquipmentList({page: 0, tag: 'out_done'}).then((res) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
let resData = res.data;
|
let resData = res.data;
|
||||||
if(resData.length>0){
|
if (resData.length > 0) {
|
||||||
resData.forEach(item=>{
|
resData.forEach(item => {
|
||||||
let obj1 = new Object();
|
let obj1 = new Object();
|
||||||
obj1 = item;
|
obj1 = item;
|
||||||
obj1.warningType = 2;
|
obj1.warningType = 2;
|
||||||
|
@ -853,24 +847,24 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else if (that.activeName === '任务到期') {
|
} else if (that.activeName === '任务到期') {
|
||||||
that.warningPageSize = 100;
|
that.warningPageSize = 100;
|
||||||
let warningList = [];
|
let warningList = [];
|
||||||
getProductionplanList({page: 0,tag:'near_done'}).then((response) => {
|
getProductionplanList({page: 0, tag: 'near_done'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
let results = response.data;
|
let results = response.data;
|
||||||
if(results.length>0){
|
if (results.length > 0) {
|
||||||
results.forEach(item=>{
|
results.forEach(item => {
|
||||||
let obj = new Object();
|
let obj = new Object();
|
||||||
obj = item;
|
obj = item;
|
||||||
obj.warningType = 1;
|
obj.warningType = 1;
|
||||||
warningList.push(obj);
|
warningList.push(obj);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
getProductionplanList({page: 0,tag:'out_done'}).then((res) => {
|
getProductionplanList({page: 0, tag: 'out_done'}).then((res) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
let resData = res.data;
|
let resData = res.data;
|
||||||
if(resData.length>0) {
|
if (resData.length > 0) {
|
||||||
resData.forEach(item => {
|
resData.forEach(item => {
|
||||||
let obj1 = new Object();
|
let obj1 = new Object();
|
||||||
obj1 = item;
|
obj1 = item;
|
||||||
|
@ -886,29 +880,31 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
handleWarningSizeChange(val) {
|
handleWarningSizeChange(val) {
|
||||||
this.warningPageSize = val;
|
this.warningPageSize = val;
|
||||||
this.warningPage = 1;
|
this.warningPage = 1;
|
||||||
},
|
},
|
||||||
|
|
||||||
handleWarningCurrentChange(val) {
|
handleWarningCurrentChange(val) {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.warningPage = val;
|
that.warningPage = val;
|
||||||
if (that.activeName === '库存警告') {
|
if (that.activeName === '库存警告') {
|
||||||
getMaterialList({page: val, page_size:that.warningPageSize, tag: 'low_inm'}).then((response) => {
|
getMaterialList({page: val, page_size: that.warningPageSize, tag: 'low_inm'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
that.warningList = response.data.results;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (that.activeName === '临近交货') {
|
} else if (that.activeName === '临近交货') {
|
||||||
getOrderList({page: val, page_size:that.warningPageSize,tag:'near_delivery'}).then((response) => {
|
getOrderList({page: val, page_size: that.warningPageSize, tag: 'near_delivery'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
that.warningList = response.data.results;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (that.activeName === '过期提醒') {
|
} else if (that.activeName === '过期提醒') {
|
||||||
getmaterialbatchList({page: val, page_size:that.warningPageSize, tag: 'expired'}).then((response) => {
|
getmaterialbatchList({page: val, page_size: that.warningPageSize, tag: 'expired'}).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
that.warningList = response.data.results;
|
that.warningList = response.data.results;
|
||||||
that.warningTotal = response.data.count;
|
that.warningTotal = response.data.count;
|
||||||
|
@ -916,6 +912,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
getGanttData() {
|
getGanttData() {
|
||||||
let that = this;
|
let that = this;
|
||||||
getPlanGantt({}).then(res => {
|
getPlanGantt({}).then(res => {
|
||||||
|
@ -988,65 +985,75 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
refreshBottomTabel(index){
|
|
||||||
if(index==='1') {//生产设备
|
refreshBottomTabel(index) {
|
||||||
|
if (index === '1') {//生产设备
|
||||||
this.getEquipmentList();//设备列表
|
this.getEquipmentList();//设备列表
|
||||||
}else if(index==='2'){//人员到岗
|
} else if (index === '2') {//人员到岗
|
||||||
this.getUserList();//用户列表
|
this.getUserList();//用户列表
|
||||||
}else{//提醒
|
} else {//提醒
|
||||||
this.activeNameClick();
|
this.activeNameClick();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
},
|
refreshDataFrequently() {
|
||||||
refreshDataFrequently(){
|
|
||||||
let that = this;
|
let that = this;
|
||||||
let hasToken = getToken();
|
let hasToken = getToken();
|
||||||
this.timer = window.setInterval(() => {
|
if (hasToken) {
|
||||||
setTimeout(() => {
|
this.timer = window.setInterval(() => {
|
||||||
if (hasToken) {
|
setTimeout(() => {
|
||||||
that.getUserList();//用户列表
|
if (that.nowHour > 7 && that.nowHour < 10) {
|
||||||
that.getEquipmentList();//设备列表
|
that.getUserList();//用户列表
|
||||||
that.getGanttData();//甘特图数据
|
that.getEquipmentList();//设备列表
|
||||||
that.getStatisticsData();//统计数据
|
that.getGanttData();//甘特图数据
|
||||||
that.getNoticeData();//提醒列表
|
that.getStatisticsData();//统计数据
|
||||||
}
|
that.getNoticeData();//提醒列表
|
||||||
},0)
|
} else {
|
||||||
},120000)//2分钟
|
that.refreshDataSlowly();
|
||||||
|
}
|
||||||
|
}, 0)
|
||||||
|
}, 120000)//2分钟
|
||||||
|
}
|
||||||
},
|
},
|
||||||
refreshDataSlowly(){
|
|
||||||
|
refreshDataSlowly() {
|
||||||
let that = this;
|
let that = this;
|
||||||
let hasToken = getToken();
|
let hasToken = getToken();
|
||||||
this.timer = window.setInterval(() => {
|
if (hasToken) {
|
||||||
setTimeout(() => {
|
this.timer = window.setInterval(() => {
|
||||||
if (hasToken) {
|
setTimeout(() => {
|
||||||
that.getUserList();//用户列表
|
if (that.nowHour > 7 && that.nowHour < 10) {
|
||||||
that.getEquipmentList();//设备列表
|
that.refreshDataFrequently();
|
||||||
that.getGanttData();//甘特图数据
|
} else {
|
||||||
that.getStatisticsData();//统计数据
|
that.getUserList();//用户列表
|
||||||
that.getNoticeData();//提醒列表
|
that.getEquipmentList();//设备列表
|
||||||
}
|
that.getGanttData();//甘特图数据
|
||||||
},0)
|
that.getStatisticsData();//统计数据
|
||||||
},3600000)//1小时1000*10*60
|
that.getNoticeData();//提醒列表
|
||||||
|
}
|
||||||
|
}, 0)
|
||||||
|
}, 3600000)//1小时1000*10*60
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let hei = document.getElementsByClassName('app-main')[0].clientHeight;
|
let hei = document.getElementsByClassName('app-main')[0].clientHeight;
|
||||||
let heig = document.getElementsByClassName('dashboardTopCard')[0].clientHeight;
|
let heig = document.getElementsByClassName('dashboardTopCard')[0].clientHeight;
|
||||||
let domHeight = ((hei - heig - 140) / 2);
|
let domHeight = ((hei - heig - 140) / 2);
|
||||||
this.cardTabelHeight = domHeight-37;
|
this.cardTabelHeight = domHeight - 37;
|
||||||
this.ganttHeight = domHeight+35;
|
this.ganttHeight = domHeight + 35;
|
||||||
document.getElementById('chartColumn').style.height = domHeight + 'px';
|
document.getElementById('chartColumn').style.height = domHeight + 'px';
|
||||||
this.getUserList();//用户列表
|
this.getUserList();//用户列表
|
||||||
this.getEquipmentList();//设备列表
|
this.getEquipmentList();//设备列表
|
||||||
this.getGanttData();//甘特图数据
|
this.getGanttData();//甘特图数据
|
||||||
this.getStatisticsData();//统计数据
|
this.getStatisticsData();//统计数据
|
||||||
this.getNoticeData();//提醒列表
|
this.getNoticeData();//提醒列表
|
||||||
// this.refreshCountData();
|
|
||||||
let nowDate = new Date();
|
let nowDate = new Date();
|
||||||
let nowHour = nowDate.getHours();
|
let nowHour = nowDate.getHours();
|
||||||
if(nowHour>7&&nowHour<10){
|
this.nowHour = nowHour;
|
||||||
|
if (nowHour > 7 && nowHour < 10) {
|
||||||
this.refreshDataFrequently();
|
this.refreshDataFrequently();
|
||||||
}else{
|
} else {
|
||||||
this.refreshDataSlowly();
|
this.refreshDataSlowly();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1060,9 +1067,11 @@
|
||||||
.el-card.is-always-shadow {
|
.el-card.is-always-shadow {
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboard-container {
|
.dashboard-container {
|
||||||
margin: 5px 6px;
|
margin: 5px 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboardTopCard, .dashboardMiddle, .dashboardBottomRow {
|
.dashboardTopCard, .dashboardMiddle, .dashboardBottomRow {
|
||||||
-webkit-border-radius: 5px;
|
-webkit-border-radius: 5px;
|
||||||
-moz-border-radius: 5px;
|
-moz-border-radius: 5px;
|
||||||
|
@ -1072,13 +1081,16 @@
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboardBottomRow {
|
.dashboardBottomRow {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboardCardPadding {
|
.dashboardCardPadding {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 5px 20px 20px 20px;
|
padding: 5px 20px 20px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
.cardsWrap {
|
.cardsWrap {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1087,70 +1099,86 @@
|
||||||
float: left;
|
float: left;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.svgIconWrap {
|
.svgIconWrap {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
.svgIcon {
|
.svgIcon {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
margin-top: 13px
|
margin-top: 13px
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardsWrap:nth-child(1) {
|
.cardsWrap:nth-child(1) {
|
||||||
.svgIconWrap {
|
.svgIconWrap {
|
||||||
background: #e9f3ff;
|
background: #e9f3ff;
|
||||||
|
|
||||||
.svgIcon {
|
.svgIcon {
|
||||||
color: #409EFF;
|
color: #409EFF;
|
||||||
fill: #409EFF;
|
fill: #409EFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardsWrap:nth-child(2) {
|
.cardsWrap:nth-child(2) {
|
||||||
.svgIconWrap {
|
.svgIconWrap {
|
||||||
background: #fff1de;
|
background: #fff1de;
|
||||||
|
|
||||||
.svgIcon {
|
.svgIcon {
|
||||||
color: #ffb23f;
|
color: #ffb23f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardsWrap:nth-child(3) {
|
.cardsWrap:nth-child(3) {
|
||||||
.svgIconWrap {
|
.svgIconWrap {
|
||||||
background: #d9f6d8;
|
background: #d9f6d8;
|
||||||
|
|
||||||
.svgIcon {
|
.svgIcon {
|
||||||
color: #54cb48;
|
color: #54cb48;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardsWrap:nth-child(4) {
|
.cardsWrap:nth-child(4) {
|
||||||
.svgIconWrap {
|
.svgIconWrap {
|
||||||
background: #f0e8fd;
|
background: #f0e8fd;
|
||||||
|
|
||||||
.svgIcon {
|
.svgIcon {
|
||||||
color: #a378e4;
|
color: #a378e4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardsWrap:nth-child(5) {
|
.cardsWrap:nth-child(5) {
|
||||||
.svgIconWrap {
|
.svgIconWrap {
|
||||||
background: #f7e5ea;
|
background: #f7e5ea;
|
||||||
|
|
||||||
.svgIcon {
|
.svgIcon {
|
||||||
color: #f27197;
|
color: #f27197;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.totalCountText {
|
.totalCountText {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
line-height: 20px
|
line-height: 20px
|
||||||
}
|
}
|
||||||
|
|
||||||
.totalCountNum {
|
.totalCountNum {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.totalCount {
|
.totalCount {
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #626262;
|
color: #626262;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
.CardTitleWrap {
|
.CardTitleWrap {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1167,6 +1195,7 @@
|
||||||
margin-right: 7px;
|
margin-right: 7px;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboardCardTitle {
|
.dashboardCardTitle {
|
||||||
height: 34px;
|
height: 34px;
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
|
@ -1176,6 +1205,7 @@
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-right: 7px;
|
margin-right: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stockMore {
|
.stockMore {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
|
@ -1183,14 +1213,17 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*成品率筛选条件*/
|
/*成品率筛选条件*/
|
||||||
.dashboardCardHand {
|
.dashboardCardHand {
|
||||||
display: flex;
|
display: flex;
|
||||||
padding-left: 1%;
|
padding-left: 1%;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
border-bottom: 1px solid #f5f5f5;
|
border-bottom: 1px solid #f5f5f5;
|
||||||
|
|
||||||
.dashboardCardFilter {
|
.dashboardCardFilter {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.convenientWrap {
|
.convenientWrap {
|
||||||
display: flex;
|
display: flex;
|
||||||
border: 1px solid #DCDFE6;
|
border: 1px solid #DCDFE6;
|
||||||
|
@ -1199,19 +1232,23 @@
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|
||||||
.convenientBtn {
|
.convenientBtn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-right: 1px solid #DCDFE6;
|
border-right: 1px solid #DCDFE6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.convenientBtn:last-child {
|
.convenientBtn:last-child {
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
border-radius: 0 6px 6px 0;
|
border-radius: 0 6px 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.convenientBtn:first-child {
|
.convenientBtn:first-child {
|
||||||
border-radius: 6px 0 0 6px;
|
border-radius: 6px 0 0 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.activeIndex {
|
.activeIndex {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background: #409EFF;
|
background: #409EFF;
|
||||||
|
@ -1219,16 +1256,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.refreshIcon{
|
|
||||||
|
.refreshIcon {
|
||||||
color: #409EFF;
|
color: #409EFF;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.anim {
|
.anim {
|
||||||
transition: all 0.5s;
|
transition: all 0.5s;
|
||||||
margin-top: -35px; //高度等于行高
|
margin-top: -35px; //高度等于行高
|
||||||
}
|
}
|
||||||
|
|
||||||
.lists {
|
.lists {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
|
@ -1236,28 +1276,35 @@
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
padding-right: 40px;
|
padding-right: 40px;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
|
|
||||||
.listItem {
|
.listItem {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|
||||||
.itemText {
|
.itemText {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.nearStatus{
|
|
||||||
|
.nearStatus {
|
||||||
color: #e6a23c;
|
color: #e6a23c;
|
||||||
}
|
}
|
||||||
.outStatus{
|
|
||||||
|
.outStatus {
|
||||||
color: #f56c6c;
|
color: #f56c6c;
|
||||||
}
|
}
|
||||||
|
|
||||||
#chartColumn > div {
|
#chartColumn > div {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
|
|
||||||
canvas {
|
canvas {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#dashboardMiddle .el-range-editor--medium.el-input__inner,
|
#dashboardMiddle .el-range-editor--medium.el-input__inner,
|
||||||
#dashboardMiddle .el-range-editor.el-input__inner {
|
#dashboardMiddle .el-range-editor.el-input__inner {
|
||||||
height: 30px !important;
|
height: 30px !important;
|
||||||
|
|
Loading…
Reference in New Issue