You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1022 lines
36 KiB
Vue
1022 lines
36 KiB
Vue
<template>
|
|
<v-scale-screen width="1920" height="1080" :fullScreen="false">
|
|
<div class="app-container home" style="">
|
|
<div class="head">
|
|
<div class="head-content">
|
|
<div class="title">包装线产线生产看板</div>
|
|
</div>
|
|
<div class="head-logo">
|
|
<img src="../../../assets/images/logo.png" alt="" />
|
|
</div>
|
|
<div class="back">
|
|
<el-button @click="back()" type="primary" icon="el-icon-s-home"></el-button>
|
|
</div>
|
|
</div>
|
|
<div class="content-top">
|
|
<div class="factoryCode">
|
|
<div class="selectborder">
|
|
<select v-model="selectxt" class="select1" @change="selectline(selectxt)">
|
|
<option :key="index" :value="x.parentName" v-for="(x, index) in getLineList">
|
|
{{ x.deptName }}
|
|
</option>
|
|
<!-- <option :key="index" :value="x.seriesName" v-for="(x, index) in ceshib">{{ x.seriesName }}</option> -->
|
|
</select>
|
|
</div>
|
|
<div class="selectborder selectborder1">
|
|
<select v-model="selectxtclasses" class="select1" @change="selectline2(selectxtclasses)">
|
|
<option :key="index" :value="x.ymdType" v-for="(x, index) in dictDatatype">
|
|
{{ x.ymdTypeName }}
|
|
</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="timebox">
|
|
<div class="time">
|
|
{{ gettimedata }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="content">
|
|
<div class="itemleft">
|
|
<div class="item-table item-table1">
|
|
<div class="yield">
|
|
<div class="yieldbox">
|
|
<div class="yieldtitle">
|
|
<div class="yieldname">
|
|
当日计划产量
|
|
</div>
|
|
</div>
|
|
<div class="yieldnumber">
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="yieldbox">
|
|
<div class="yieldtitle">
|
|
<div class="yieldname">
|
|
当日计划产量
|
|
</div>
|
|
</div>
|
|
<div class="yieldnumber">
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
<div class="numberbox">
|
|
<div class="number">
|
|
8
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="itemleft-bottom">
|
|
<div class="item-table1">
|
|
<div class="titlebox" style="margin-bottom: 14px;">
|
|
<div class="titlename">效率异常</div>
|
|
</div>
|
|
<div class="data-box">
|
|
<div class="box1 box">
|
|
<div class="data1">
|
|
15
|
|
</div>
|
|
<div class="data2">
|
|
本月异常
|
|
</div>
|
|
</div>
|
|
<div class="box2 box">
|
|
<div class="data1">
|
|
15
|
|
</div>
|
|
<div class="data2">
|
|
本月异常
|
|
</div>
|
|
</div>
|
|
<div class="box3 box">
|
|
<div class="data1">
|
|
15
|
|
</div>
|
|
<div class="data2">
|
|
本月异常
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table class="table-thead" border="0" cellpadding="0" cellspacing="0">
|
|
<thead>
|
|
<tr style="height: 36px;">
|
|
<td style="width: 12%;">日期</td>
|
|
<!-- <td style="width: 8%;">异常单号</td> -->
|
|
<td style="width: 8%;">异常类型</td>
|
|
<td style="width: 8%;">异常原因</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<div class="table-tbody">
|
|
<!-- <vue-seamless-scroll :data="getlistcx" :class-option="classOption" class="wrapscroll"> -->
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tbody>
|
|
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:39px"
|
|
:key="index" v-for="(n, index) in orderdetail">
|
|
<td style="width: 10%;">{{ n.incomeTime }}</td>
|
|
<!-- <td style="width: 8%;">{{ n.orderNo }}</td> -->
|
|
<td style="width: 8%;">人员问题</td>
|
|
<td style="width: 8%;">理片机坏了</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
<!-- </vue-seamless-scroll> -->
|
|
</div>
|
|
</div>
|
|
<div class="item-table1">
|
|
<div class="titlebox" style="margin-bottom: 14px;">
|
|
<div class="titlename">人员变动分析</div>
|
|
</div>
|
|
<div class="progress">
|
|
<div class='bar' style="width: 73%;">
|
|
|
|
</div>
|
|
</div>
|
|
<table class="table-thead" border="0" cellpadding="0" cellspacing="0">
|
|
<thead>
|
|
<tr style="height: 36px;">
|
|
<td style="width: 12%;">日期</td>
|
|
<!-- <td style="width: 8%;">异常单号</td> -->
|
|
<td style="width: 8%;">标准人数</td>
|
|
<td style="width: 8%;">实际人数</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<div class="table-tbody">
|
|
<!-- <vue-seamless-scroll :data="getlistcx" :class-option="classOption" class="wrapscroll"> -->
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tbody>
|
|
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:39px"
|
|
:key="index" v-for="(n, index) in orderdetail">
|
|
<td style="width: 10%;">{{ n.incomeTime }}</td>
|
|
<!-- <td style="width: 8%;">{{ n.orderNo }}</td> -->
|
|
<td style="width: 8%;">12</td>
|
|
<td style="width: 8%;">12</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
<!-- </vue-seamless-scroll> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="itemright">
|
|
<div class="item-table item-table1">
|
|
<div class="titlebox" style="margin-bottom: 14px;">
|
|
<div class="titlename">产线信息</div>
|
|
</div>
|
|
<div class="titlebox2" style="margin-bottom: 30px;">
|
|
<img src="../../../assets/images/packagingline/bg-title3.png" alt="">
|
|
<div class="titlename">当前工单信息</div>
|
|
</div>
|
|
<table class="table-thead" border="0" cellpadding="0" cellspacing="0">
|
|
<thead>
|
|
<tr style="height: 44px;">
|
|
<td style="width: 8%;">序号</td>
|
|
<!-- <td style="width: 8%;">异常单号</td> -->
|
|
<td style="width: 8%;">物料名称</td>
|
|
<td style="width: 8%;">订单号</td>
|
|
<td style="width: 8%;">来料时间</td>
|
|
<td style="width: 8%;">质检确认时间</td>
|
|
<td style="width: 8%;">质检数量</td>
|
|
<td style="width: 8%;">检验人</td>
|
|
<td style="width: 8%;">质检不合格</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<div class="table-tbody">
|
|
<!-- <vue-seamless-scroll :data="getlistcx" :class-option="classOption" class="wrapscroll"> -->
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tbody>
|
|
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px"
|
|
:key="index" v-for="(n, index) in orderdetail">
|
|
<td style="width: 8%;">{{ index + 1 }}</td>
|
|
<!-- <td style="width: 8%;">{{ n.orderNo }}</td> -->
|
|
<td style="width: 8%;">{{ n.materialName }}</td>
|
|
<td style="width: 8%;">{{ n.orderNo }}</td>
|
|
<td style="width: 8%;">{{ n.checkTime }}</td>
|
|
<td style="width: 8%;">{{ n.incomeTime }}</td>
|
|
<td style="width: 8%;">{{ n.quality }}</td>
|
|
<td style="width: 8%;">{{ n.checkManName }}</td>
|
|
<td style="width: 8%;">{{ n.checkResult }}</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
<!-- </vue-seamless-scroll> -->
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<!-- <div class="item"></div> -->
|
|
<!-- <div class="item"></div> -->
|
|
</div>
|
|
</v-scale-screen>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getBoardFactory,
|
|
getOverallInfo,
|
|
getCheckProjectsPie,
|
|
getSupplierBadTOP5,
|
|
getSupplierNoOkList,
|
|
getDictData,
|
|
} from "@/api/kanban/quality";
|
|
import {
|
|
getDeviceRefreshTime,
|
|
} from "@/api/kanban/equipment";
|
|
import * as echarts from "echarts";
|
|
import moment from "moment";
|
|
// import Echarts3D from "./echarts3d.vue";
|
|
// import Echarts3D2 from "./echarts3d2.vue";
|
|
export default {
|
|
name: "Index",
|
|
components: {
|
|
},
|
|
data() {
|
|
return {
|
|
gettimedata: "",
|
|
selectxt: null,
|
|
selectxtclasses: null,
|
|
getLineList: [],
|
|
classesList: [],
|
|
number1: 0,
|
|
number2: 0,
|
|
number3: 0,
|
|
number4: 0,
|
|
nameList: [
|
|
"成型机一",
|
|
"成型机二",
|
|
"成型机三",
|
|
"成型机四",
|
|
"成型机五",
|
|
"成型机六",
|
|
"成型机五",
|
|
"成型机六",
|
|
],
|
|
valueList: [1639, 1422, 1306, 1131, 1040, 732, 1040, 732],
|
|
optionDatalist1: [],
|
|
optionDatalist2: [],
|
|
optionDatalist3: [],
|
|
optionDatalist4: [],
|
|
colorlist: ["#005aff", "#f8b551"],
|
|
datetime: null,
|
|
time1: null,
|
|
getlist: [
|
|
{
|
|
|
|
},
|
|
{
|
|
|
|
},
|
|
{
|
|
|
|
},
|
|
{
|
|
|
|
},
|
|
{
|
|
|
|
},
|
|
],
|
|
repairlist: [],
|
|
orderdetail: [],
|
|
packaginglinerepairlist: [],
|
|
packaginglinestabilizelist: [],
|
|
packaginglineinfo: [],
|
|
ordermessage: [
|
|
{
|
|
|
|
}, {
|
|
|
|
}, {
|
|
|
|
}
|
|
],
|
|
RefreshTime: null,
|
|
dictDatatype: [],
|
|
};
|
|
},
|
|
created() { },
|
|
destroyed() {
|
|
clearInterval(this.time1);
|
|
this.time1 = null;
|
|
},
|
|
mounted() {
|
|
// this.datetime = moment().subtract(2, "day").format("yyyy-MM-DD");
|
|
//console.log('zhuanhuahou',this.dateRangeone)
|
|
// this.getdatalist(this.selectxt)
|
|
this.selectfactoryCodelist();
|
|
|
|
this.gettime();
|
|
},
|
|
methods: {
|
|
back() {
|
|
this.$router.push({ path: "/index" });
|
|
},
|
|
gettime() {
|
|
this.gettimedata = moment().format("YYYY-MM-DD HH:mm:ss ");
|
|
setInterval(() => {
|
|
this.gettimedata = moment().format("YYYY-MM-DD HH:mm:ss ");
|
|
}, 1000);
|
|
},
|
|
selectfactoryCodelist() {
|
|
const _this = this;
|
|
getBoardFactory({
|
|
factory: null,
|
|
}).then((response) => {
|
|
if (response.data) {
|
|
_this.getLineList = response.data;
|
|
_this.selectxt = _this.getLineList[0].parentName;
|
|
_this.getDictData()
|
|
}
|
|
});
|
|
},
|
|
getDeviceRefreshTime() {
|
|
const _this = this;
|
|
getDeviceRefreshTime().then((response) => {
|
|
if (response.data) {
|
|
console.log(response.data)
|
|
this.RefreshTime = response.data
|
|
this.time1 = setInterval(() => {
|
|
_this.getdatalist(_this.selectxt)
|
|
}, 1000 * 60 * this.RefreshTime);
|
|
}
|
|
});
|
|
},
|
|
getDictData() {
|
|
const _this = this;
|
|
getDictData(
|
|
{
|
|
dictType: 'static_dims',
|
|
}
|
|
).then((response) => {
|
|
if (response) {
|
|
console.log(response)
|
|
this.dictDatatype = response
|
|
_this.selectxtclasses = _this.dictDatatype[0].ymdType;
|
|
_this.getdatalist()
|
|
_this.getDeviceRefreshTime()
|
|
}
|
|
});
|
|
},
|
|
getdatalist() {
|
|
const _this = this;
|
|
getOverallInfo({
|
|
ymdType: moment().format(_this.selectxtclasses),
|
|
typeCode: 'material',
|
|
factoryCode: 'ds_' + _this.selectxt,
|
|
}).then((response) => {
|
|
if (response) {
|
|
_this.ordermessage = response;
|
|
}
|
|
});
|
|
getCheckProjectsPie({
|
|
ymdType: moment().format(_this.selectxtclasses),
|
|
typeCode: 'material',
|
|
factoryCode: 'ds_' + _this.selectxt,
|
|
}).then((response) => {
|
|
if (response) {
|
|
_this.optionDatalist2 = []
|
|
response.forEach((item) => {
|
|
let a = {}
|
|
a.name = item.projectName
|
|
a.value = item.quality
|
|
_this.optionDatalist2.push(a)
|
|
});
|
|
}
|
|
});
|
|
getSupplierBadTOP5({
|
|
ymdType: moment().format(_this.selectxtclasses),
|
|
typeCode: 'material',
|
|
factoryCode: 'ds_' + _this.selectxt,
|
|
}).then((response) => {
|
|
if (response) {
|
|
_this.optionDatalist3 = []
|
|
let a = {}
|
|
let areaName = []
|
|
let eventCount = []
|
|
_this.optionDatalist3 = []
|
|
response.forEach((item) => {
|
|
areaName.push(item.supplierName)
|
|
if (item.quality == null) {
|
|
item.quality = 0
|
|
eventCount.push(parseInt(item.quality))
|
|
} else {
|
|
eventCount.push(parseInt(item.quality))
|
|
}
|
|
|
|
});
|
|
a.areaName = areaName
|
|
a.eventCount = eventCount
|
|
_this.optionDatalist3.push(a)
|
|
|
|
}
|
|
});
|
|
this.orderdetail = []
|
|
getSupplierNoOkList({
|
|
ymdType: moment().format(_this.selectxtclasses),
|
|
typeCode: 'material',
|
|
factoryCode: 'ds_' + _this.selectxt,
|
|
}).then((response) => {
|
|
if (response) {
|
|
this.orderdetail = response
|
|
this.orderdetail.forEach((item) => {
|
|
item.incomeTime = moment(item.incomeTime).format('YYYY-MM-DD HH-mm-ss')
|
|
});
|
|
}
|
|
});
|
|
},
|
|
// 订单异常信息
|
|
selectline() {
|
|
const _this = this;
|
|
this.optionDatalist1 = [];
|
|
this.optionDatalist2 = [];
|
|
this.optionDatalist3 = [];
|
|
this.optionDatalist4 = [];
|
|
_this.getdatalist(_this.selectxt)
|
|
},
|
|
selectline2() {
|
|
const _this = this;
|
|
this.optionDatalist1 = [];
|
|
this.optionDatalist2 = [];
|
|
this.optionDatalist3 = [];
|
|
this.optionDatalist4 = [];
|
|
_this.getdatalist(_this.selectxt)
|
|
},
|
|
//左侧第一个选择类型下拉框 回调函数
|
|
},
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.app-container {
|
|
padding: 0px 24px;
|
|
}
|
|
|
|
.home {
|
|
width: 100%;
|
|
height: 100vh;
|
|
background: url("../../../assets/images/bg-body.png") no-repeat;
|
|
background-size: 100% 100%;
|
|
background-color: #050711;
|
|
|
|
.head {
|
|
width: 100%;
|
|
height: 74px;
|
|
position: relative;
|
|
|
|
.head-content {
|
|
height: 74px;
|
|
background-image: url("../../../assets/images/bg-head.png");
|
|
background-repeat: no-repeat;
|
|
background-size: 100% 100%;
|
|
text-align: center;
|
|
|
|
.title {
|
|
font-size: 42px;
|
|
font-weight: 400;
|
|
color: #ffffff;
|
|
}
|
|
}
|
|
|
|
.head-logo {
|
|
position: absolute;
|
|
left: 0px;
|
|
top: 1px;
|
|
|
|
img {
|
|
height: 38px;
|
|
// width: ;
|
|
}
|
|
}
|
|
|
|
.back {
|
|
position: absolute;
|
|
right: 0px;
|
|
top: 5px;
|
|
}
|
|
}
|
|
|
|
.content-top {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
position: relative;
|
|
|
|
.factoryCode {
|
|
width: 540px;
|
|
height: 60px;
|
|
background: url("../../../assets/images/bg- border1.png") no-repeat;
|
|
background-size: 100% 100%;
|
|
text-align: center;
|
|
position: absolute;
|
|
top: -17px;
|
|
left: 0px;
|
|
}
|
|
|
|
.timebox {
|
|
width: 480px;
|
|
height: 60px;
|
|
background: url("../../../assets/images/bg-border2.png") no-repeat;
|
|
background-size: 100% 100%;
|
|
text-align: center;
|
|
position: absolute;
|
|
top: -17px;
|
|
right: 0px;
|
|
|
|
.time {
|
|
font-size: 30px;
|
|
font-weight: 400;
|
|
color: #ffffff;
|
|
line-height: 71px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.content {
|
|
margin-top: 63px;
|
|
display: flex;
|
|
|
|
.itemleft {
|
|
|
|
.item-table {
|
|
width: 1243px;
|
|
height: 442px;
|
|
background: url('../../../assets/images/packagingline/bg-border1.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
padding: 27px 21px 30px 25px;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
|
.yield {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
// justify-content: space-between;
|
|
.yieldbox {
|
|
.yieldtitle {
|
|
width: 401px;
|
|
height: 37px;
|
|
background: url('../../../assets/images/packagingline/bg-title1.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
|
|
.yieldname {
|
|
font-weight: bold;
|
|
font-size: 22px;
|
|
line-height: 37px;
|
|
color: #FFFFFF;
|
|
text-transform: none;
|
|
margin-left: 40px;
|
|
}
|
|
}
|
|
|
|
.yieldnumber {
|
|
margin-top: 13px;
|
|
display: flex;
|
|
|
|
.numberbox {
|
|
width: 80px;
|
|
height: 101px;
|
|
background: url('../../../assets/images/packagingline/bg-num.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
margin-right: 10px;
|
|
|
|
.number {
|
|
font-weight: 600;
|
|
font-size: 60px;
|
|
color: #FFFFFF;
|
|
line-height: 101px;
|
|
text-align: center;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.yieldbox:first-child {
|
|
margin-right: 90px;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
.itemleft-bottom {
|
|
display: flex;
|
|
|
|
.item-table1 {
|
|
width: 610px;
|
|
height: 456px;
|
|
background: url('../../../assets/images/packagingline/bg-border3.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
padding: 27px 21px 30px 25px;
|
|
box-sizing: border-box;
|
|
|
|
.data-box {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
margin-bottom: 20px;
|
|
|
|
.box {
|
|
width: 176px;
|
|
height: 179px;
|
|
text-align: center;
|
|
|
|
.data1 {
|
|
font-weight: 500;
|
|
font-size: 48px;
|
|
color: #32C5FF;
|
|
text-align: center;
|
|
text-transform: none;
|
|
margin-top: 41px;
|
|
}
|
|
|
|
.data2 {
|
|
font-weight: 400;
|
|
font-size: 22px;
|
|
color: #FFFFFF;
|
|
text-align: center;
|
|
text-transform: none;
|
|
margin-top: 29px;
|
|
}
|
|
}
|
|
|
|
.box1 {
|
|
background: url('../../../assets/images/packagingline/bg-yichang1.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
|
|
.data1 {
|
|
color: #32C5FF;
|
|
}
|
|
}
|
|
|
|
.box2 {
|
|
background: url('../../../assets/images/packagingline/bg-yichang2.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
|
|
.data1 {
|
|
color: #66FFFF;
|
|
}
|
|
}
|
|
|
|
.box3 {
|
|
background: url('../../../assets/images/packagingline/bg-yichang3.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
|
|
.data1 {
|
|
color: #EDB83F;
|
|
}
|
|
}
|
|
}
|
|
|
|
.table-thead {
|
|
|
|
width: 100%;
|
|
height: 36px;
|
|
margin: auto;
|
|
background: #0A1A33;
|
|
|
|
td {
|
|
font-size: 19px;
|
|
font-family: NotoSansHans-Medium, NotoSansHans;
|
|
font-weight: 500;
|
|
color: #159AFF;
|
|
text-align: center;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
.table-tbody {
|
|
height: 117px;
|
|
// width: 1775px;
|
|
margin: auto;
|
|
overflow-y: scroll;
|
|
|
|
table {
|
|
width: 100%;
|
|
|
|
tbody {
|
|
width: 100%;
|
|
|
|
td {
|
|
// font-size: 19px;
|
|
font-family: NotoSansHans-Medium, NotoSansHans;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
text-align: center;
|
|
border-bottom: 1px dashed #6C8097
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
.itemright {
|
|
.item-table1 {
|
|
width: 610px;
|
|
height: 912px;
|
|
background: url('../../../assets/images/packagingline/bg-border3.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
padding: 27px 21px 30px 25px;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
|
.table-thead {
|
|
width: 100%;
|
|
height: 44px;
|
|
margin: auto;
|
|
background: #0A1A33;
|
|
|
|
td {
|
|
font-size: 19px;
|
|
font-family: NotoSansHans-Medium, NotoSansHans;
|
|
font-weight: 500;
|
|
color: #159AFF;
|
|
text-align: center;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
.table-tbody {
|
|
height: 336px;
|
|
// width: 1775px;
|
|
margin: auto;
|
|
overflow-y: scroll;
|
|
|
|
table {
|
|
width: 100%;
|
|
|
|
tbody {
|
|
width: 100%;
|
|
|
|
td {
|
|
font-size: 19px;
|
|
font-family: NotoSansHans-Medium, NotoSansHans;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
text-align: center;
|
|
border-bottom: 1px dashed #6C8097
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.item-table1:first-child {}
|
|
|
|
.item-table1 {
|
|
flex: 1;
|
|
|
|
// .table-thead {
|
|
// width: 565.01px;
|
|
// }
|
|
|
|
.table-tbody {
|
|
height: 336px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.titlebox {
|
|
width: 431px;
|
|
height: 38px;
|
|
background: url("../../../assets/images/bg-title.png") no-repeat;
|
|
background-size: 100% 100%;
|
|
// text-align: center;
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
color: #ffffff;
|
|
line-height: 38px;
|
|
letter-spacing: 2px;
|
|
text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
|
|
padding-left: 60px;
|
|
// .titlename{
|
|
// position: relative;
|
|
// left: 24px;
|
|
// }
|
|
}
|
|
|
|
.titlebox2 {
|
|
.titlename {
|
|
font-weight: 400;
|
|
font-size: 17px;
|
|
color: #FFFFFF;
|
|
line-height: 26px;
|
|
}
|
|
}
|
|
|
|
.factoryCode {
|
|
display: flex;
|
|
// justify-content: space-around;
|
|
}
|
|
|
|
.selectborder {
|
|
background-color: transparent;
|
|
border-radius: 4px;
|
|
// border: 2px solid #27408c;
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
width: 350px;
|
|
margin-left: 50px;
|
|
}
|
|
|
|
.selectborder1 {
|
|
background-color: transparent;
|
|
border-radius: 4px;
|
|
// border: 2px solid #27408c;
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
width: 88px;
|
|
margin-left: 25px;
|
|
}
|
|
|
|
.selectborder select {
|
|
/*清除select的边框样式*/
|
|
border: none;
|
|
/*清除select聚焦时候的边框颜色*/
|
|
outline: none;
|
|
background-color: transparent;
|
|
/*将select的宽高等于div的宽高*/
|
|
width: 100%;
|
|
height: 50px;
|
|
/*隐藏select的下拉图标*/
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
font-size: 25px;
|
|
font-weight: 400;
|
|
color: #ffffff;
|
|
line-height: 42px;
|
|
}
|
|
|
|
.selectborder option {
|
|
/*清除select的边框样式*/
|
|
border: none;
|
|
/*清除select聚焦时候的边框颜色*/
|
|
outline: none;
|
|
background-color: transparent;
|
|
/*将select的宽高等于div的宽高*/
|
|
width: 100%;
|
|
height: 50px;
|
|
/*隐藏select的下拉图标*/
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
padding-left: 20px;
|
|
font-size: 25px;
|
|
font-weight: 500;
|
|
color: #3fa2ff;
|
|
border-radius: 0%;
|
|
}
|
|
|
|
.selectborder1 option {
|
|
/*清除select的边框样式*/
|
|
border: none;
|
|
/*清除select聚焦时候的边框颜色*/
|
|
outline: none;
|
|
background-color: transparent;
|
|
/*将select的宽高等于div的宽高*/
|
|
width: 200px;
|
|
height: 50px;
|
|
/*隐藏select的下拉图标*/
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
padding-left: 20px;
|
|
font-size: 25px;
|
|
font-weight: 500;
|
|
color: #3fa2ff;
|
|
border-radius: 0%;
|
|
}
|
|
|
|
.selectborder:after {
|
|
content: "";
|
|
width: 24px;
|
|
height: 24px;
|
|
background: url(../../../assets/images/xiala.png) no-repeat center;
|
|
/*通过定位将图标放在合适的位置*/
|
|
position: absolute;
|
|
right: 0px;
|
|
top: 25%;
|
|
/*给自定义的图标实现点击下来功能*/
|
|
pointer-events: none;
|
|
}
|
|
|
|
.selectborder1:after {
|
|
content: "";
|
|
width: 24px;
|
|
height: 24px;
|
|
background: url(../../../assets/images/xiala.png) no-repeat center;
|
|
/*通过定位将图标放在合适的位置*/
|
|
position: absolute;
|
|
right: 0px;
|
|
top: 25%;
|
|
/*给自定义的图标实现点击下来功能*/
|
|
pointer-events: none;
|
|
}
|
|
|
|
::v-deep .el-button--primary {
|
|
color: #ffffff;
|
|
background-color: #325e82;
|
|
border-color: #0a0f19;
|
|
}
|
|
|
|
.active1 {
|
|
background: url('../../../assets/images/quality/bgtable.png');
|
|
}
|
|
|
|
.active2 {}
|
|
|
|
::-webkit-scrollbar {
|
|
width: 3px;
|
|
height: 0px;
|
|
background-color: #0c0642;
|
|
}
|
|
|
|
/*定义滚动条轨道 内阴影+圆角*/
|
|
::-webkit-scrollbar-track {
|
|
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
|
border-radius: 8px;
|
|
background-color: #07356a;
|
|
}
|
|
|
|
/*定义滑块 内阴影+圆角*/
|
|
::-webkit-scrollbar-thumb {
|
|
border-radius: 8px;
|
|
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
|
background-color: #0091ff;
|
|
// opacity: 0.1;
|
|
}
|
|
|
|
.progress {
|
|
width: 100px;
|
|
background-color: rgba(15, 182, 217, 0.3);
|
|
border-radius: 10px;
|
|
|
|
.bar {
|
|
background: linear-gradient(90deg, rgba(15, 182, 217, 1), rgba(1, 255, 255, 1));
|
|
border-radius: 10px;
|
|
}
|
|
}
|
|
</style>
|