fix: 大屏及部分bug修复
This commit is contained in:
parent
155a4c7b7e
commit
283321f238
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 48 KiB |
|
|
@ -1,17 +1,17 @@
|
|||
<template>
|
||||
<el-container class="dashboard">
|
||||
<el-header class="header">
|
||||
<div>10车间生产数据大看板</div>
|
||||
<div style="font-weight: bold;">10车间生产数据看板</div>
|
||||
<div style="font-size: 14px;margin-top:18px">2023-11-01 08:00</div>
|
||||
</el-header>
|
||||
<el-main>
|
||||
<el-row style="height: 60%" :gutter="10">
|
||||
<el-col :xs="24" :md="10">
|
||||
<el-row style="height: 34%;" :gutter="10">
|
||||
<el-row style="height: 38%;" :gutter="10">
|
||||
<el-col :xs="8" :md="8">
|
||||
<div class="box">
|
||||
<div class="boxtitle bgimg">
|
||||
<div class="boxlabel"></div>
|
||||
<div>今日任务</div>
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">今日任务</div>
|
||||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain flex_center bigdata border">
|
||||
|
|
@ -24,8 +24,7 @@
|
|||
<el-col :xs="8" :md="8">
|
||||
<div class="box">
|
||||
<div class="boxtitle bgimg">
|
||||
<div class="boxlabel"></div>
|
||||
<div>昨日合格</div>
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">昨日合格</div>
|
||||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<!-- <dv-decoration-9 style="height:11rem; width: 11rem;margin:auto;">
|
||||
|
|
@ -38,8 +37,7 @@
|
|||
<el-col :xs="8" :md="8">
|
||||
<div class="box">
|
||||
<div class="boxtitle bgimg">
|
||||
<div class="boxlabel"></div>
|
||||
<div>累计合格</div>
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">累计合格</div>
|
||||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<!-- <dv-decoration-9 style="height:11rem; width: 11rem;margin:auto;">
|
||||
|
|
@ -51,14 +49,15 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<div style="height:2%"></div>
|
||||
<dv-decoration3 style="width:100%;height:4%;" />
|
||||
<!-- <dv-decoration3 style="width:100%;height:4%;" /> -->
|
||||
<el-row style="height:60%">
|
||||
<el-col>
|
||||
<div class="box">
|
||||
<div class="boxtitle">
|
||||
<div style="margin:auto; font-size: 18px; margin-top: 6px">人员到岗
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">人员到岗
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 2px;"></div>
|
||||
<div class="boxmain">
|
||||
<dv-scroll-board :config="taskBoard" style="width:100%;height:100%"
|
||||
@mouseover="mouseoverHandler" @click="clickHandler" />
|
||||
|
|
@ -129,7 +128,7 @@
|
|||
<el-col :xs="24" :md="14">
|
||||
<div class="box" :dur="20">
|
||||
<div class="boxtitle">
|
||||
<div style="margin:auto; font-size: 18px; margin-top: 6px">任务进度</div>
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">任务进度</div>
|
||||
</div>
|
||||
<div style="height: 2px;"></div>
|
||||
<div class="boxmain">
|
||||
|
|
@ -198,7 +197,7 @@
|
|||
<el-col :xs="24" :md="9">
|
||||
<div class="box">
|
||||
<div class="boxtitle">
|
||||
<div style="margin:auto; font-size: 18px; margin-top: 6px">全年生产统计</div>
|
||||
<div style="margin-left: 6px;font-size: 18px; margin-top: 6px">全年生产统计</div>
|
||||
</div>
|
||||
<div class="boxmain" id="chart1">
|
||||
</div>
|
||||
|
|
@ -207,7 +206,7 @@
|
|||
<el-col :xs="24" :md="9">
|
||||
<div class="box">
|
||||
<div class="boxtitle">
|
||||
<div style="margin:auto; font-size: 18px; margin-top: 6px">本月合格率统计</div>
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">本月合格率统计</div>
|
||||
</div>
|
||||
<div class="boxmain" id="chart2">
|
||||
</div>
|
||||
|
|
@ -216,7 +215,7 @@
|
|||
<el-col :xs="24" :md="6">
|
||||
<div class="box">
|
||||
<div class="boxtitle">
|
||||
<div style="margin:auto; font-size: 18px; margin-top: 6px">昨日合格统计</div>
|
||||
<div style="margin-left: 6px; font-size: 18px; margin-top: 6px">昨日合格统计</div>
|
||||
</div>
|
||||
<div class="boxmain" id="chart3">
|
||||
</div>
|
||||
|
|
@ -231,7 +230,7 @@
|
|||
background-image: url("https://cdn-upload.datav.aliyun.com/upload/download/1678758744858-EWBrlDVf.jpg");
|
||||
/* url("/public/img/bg.jpg"); */
|
||||
color: #fff;
|
||||
font-family: "微软雅黑" !important;
|
||||
font-family: "Microsoft Yahei" !important;
|
||||
}
|
||||
|
||||
.header {
|
||||
|
|
@ -239,8 +238,13 @@
|
|||
border-bottom: none;
|
||||
/* background: url("https://cdn-upload.datav.aliyun.com/upload/download/1675143770257-pNifja_p.webp"); */
|
||||
background-size: 100% 100%;
|
||||
font-size: 28px;
|
||||
justify-content: center;
|
||||
font-size: 26px;
|
||||
display: block;
|
||||
height: 80px;
|
||||
color: rgb(149, 255, 255);
|
||||
font-family: 'Microsoft Yahei';
|
||||
text-align: center;
|
||||
padding: 12px 0px;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -265,7 +269,7 @@
|
|||
|
||||
.bgimg {
|
||||
background-image: url('https://cdn-upload.datav.aliyun.com/upload/download/1678762309227-E6RP8z2R.png');
|
||||
background-size: 100% 100%;
|
||||
background-size: 140% 100%;
|
||||
}
|
||||
|
||||
.boxlabel {
|
||||
|
|
@ -329,7 +333,7 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
basicOption: {
|
||||
// backgroundColor: '',
|
||||
backgroundColor: '',
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
|
|
@ -576,7 +580,33 @@ export default {
|
|||
chart2Option.series[0].type = 'line'
|
||||
chart2Option.series[1].type = 'line'
|
||||
let chart2 = this.setChart("chart2", chart2Option)
|
||||
let chart3Option = deepCopy(this.basicOption)
|
||||
let chart3Option = {
|
||||
backgroundColor: '',
|
||||
legend: {
|
||||
top: 'bottom'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Nightingale Chart',
|
||||
type: 'pie',
|
||||
center: ['50%', '50%'],
|
||||
roseType: 'area',
|
||||
itemStyle: {
|
||||
borderRadius: 8
|
||||
},
|
||||
data: [
|
||||
{ value: 40, name: 'rose 1' },
|
||||
{ value: 38, name: 'rose 2' },
|
||||
{ value: 32, name: 'rose 3' },
|
||||
{ value: 30, name: 'rose 4' },
|
||||
{ value: 28, name: 'rose 5' },
|
||||
{ value: 26, name: 'rose 6' },
|
||||
{ value: 22, name: 'rose 7' },
|
||||
{ value: 18, name: 'rose 8' }
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
let chart3 = this.setChart("chart3", chart3Option)
|
||||
|
||||
},
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<div class="panel_title">本月全厂主要数据</div>
|
||||
<el-row :gutter="16" style="height: 72px;margin-top: 4px">
|
||||
<el-col :span="12" class="panel_item">
|
||||
<div class="panel_label"><img src="img/elec.png" style="height: 24px;vertical-align:middle;"/>动力电消耗</div>
|
||||
<div class="panel_label"><img src="img/elec.png" style="height: 24px;vertical-align:middle;" />动力电消耗</div>
|
||||
<div class="pannel_number">
|
||||
<span class="panel_value">{{ factoryData.elec_consume }}</span>
|
||||
<span class="panel_unit">(kW·h)</span>
|
||||
|
|
@ -66,7 +66,8 @@
|
|||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="panel_item">
|
||||
<div class="panel_label"><img src="img/total_production.png" style="height: 24px;vertical-align:middle;" />产品产量</div>
|
||||
<div class="panel_label"><img src="img/total_production.png"
|
||||
style="height: 24px;vertical-align:middle;" />产品产量</div>
|
||||
<div class="pannel_number">
|
||||
<span class="panel_value">{{ sectionData.total_production }}</span>
|
||||
<span class="panel_unit">(t)</span>
|
||||
|
|
@ -82,7 +83,7 @@
|
|||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="panel_item" v-if="showKgcet">
|
||||
<div class="panel_label"><img src="img/coal.png" style="height: 24px;vertical-align:bottom;"/>单位产品标煤耗</div>
|
||||
<div class="panel_label"><img src="img/coal.png" style="height: 24px;vertical-align:bottom;" />单位产品标煤耗</div>
|
||||
<div class="pannel_number">
|
||||
<span class="panel_value">{{ sectionData.coal_consume_unit }}</span>
|
||||
<span class="panel_unit">(kgce/t)</span>
|
||||
|
|
@ -137,15 +138,15 @@ import 'animate.css';
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
query:{
|
||||
year_s:2023,
|
||||
month_s:8,
|
||||
type:'month_s',
|
||||
page:0
|
||||
query: {
|
||||
year_s: 2023,
|
||||
month_s: 8,
|
||||
type: 'month_s',
|
||||
page: 0
|
||||
},
|
||||
factoryData: {},
|
||||
sectionData: {},
|
||||
nowDay:1,
|
||||
nowDay: 1,
|
||||
initialAlpha: -Math.PI / 0.89,
|
||||
initialBeta: Math.PI / 3.3,
|
||||
initialRadius: 18,
|
||||
|
|
@ -175,12 +176,12 @@ export default {
|
|||
xAxis: {
|
||||
data: ['一月', '二月', '三月', '四月', '五月', '六月'],
|
||||
},
|
||||
yAxis: { type: 'value'},
|
||||
yAxis: { type: 'value' },
|
||||
series: [
|
||||
{
|
||||
name: '销量',
|
||||
type: 'bar',
|
||||
barwidth:10,
|
||||
barwidth: 10,
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top'
|
||||
|
|
@ -211,33 +212,33 @@ export default {
|
|||
bottom: "15%"
|
||||
}
|
||||
},
|
||||
year_start:0,
|
||||
end_time:'',
|
||||
start_time:'',
|
||||
xAxisData:[],
|
||||
arrMonth:[],
|
||||
year_start: 0,
|
||||
end_time: '',
|
||||
start_time: '',
|
||||
xAxisData: [],
|
||||
arrMonth: [],
|
||||
chart1Option: {},
|
||||
chart2Option: {},
|
||||
chart3Option: {},
|
||||
chart4Option: {},
|
||||
chart5Option: {},
|
||||
chart6Option: {},
|
||||
seriesData1:[0,0,0,0,0,0],
|
||||
seriesData2:[0,0,0,0,0,0],
|
||||
seriesData3:[0,0,0,0,0,0],
|
||||
seriesData3_2:[0,0,0,0,0,0],
|
||||
seriesData4:[0,0,0,0,0,0],
|
||||
seriesData5:[0,0,0,0,0,0],
|
||||
seriesData6:[0,0,0,0,0,0],
|
||||
path:"ws://49.232.14.174:2226/ws/my/?token=",
|
||||
ws:null,
|
||||
mgroupValues:{
|
||||
电石渣:{total:'0',elec:'0'},
|
||||
原料磨:{total:'0',elec:'0'},
|
||||
煤磨:{total:'0',elec:'0'},
|
||||
回转窑:{total:'0',elec:'0'},
|
||||
水泥磨:{total:'0',elec:'0'},
|
||||
水泥包装:{total:'0',elec:'0'}
|
||||
seriesData1: [0, 0, 0, 0, 0, 0],
|
||||
seriesData2: [0, 0, 0, 0, 0, 0],
|
||||
seriesData3: [0, 0, 0, 0, 0, 0],
|
||||
seriesData3_2: [0, 0, 0, 0, 0, 0],
|
||||
seriesData4: [0, 0, 0, 0, 0, 0],
|
||||
seriesData5: [0, 0, 0, 0, 0, 0],
|
||||
seriesData6: [0, 0, 0, 0, 0, 0],
|
||||
path: "ws://49.232.14.174:2226/ws/my/?token=",
|
||||
ws: null,
|
||||
mgroupValues: {
|
||||
电石渣: { total: '0', elec: '0' },
|
||||
原料磨: { total: '0', elec: '0' },
|
||||
煤磨: { total: '0', elec: '0' },
|
||||
回转窑: { total: '0', elec: '0' },
|
||||
水泥磨: { total: '0', elec: '0' },
|
||||
水泥包装: { total: '0', elec: '0' }
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
@ -247,35 +248,35 @@ export default {
|
|||
this.addListener();
|
||||
let myDate = new Date();
|
||||
let year = myDate.getFullYear();
|
||||
let month = myDate.getMonth()+1;
|
||||
let month = myDate.getMonth() + 1;
|
||||
let day = myDate.getDate();
|
||||
that.nowDay = day;
|
||||
that.query.year_s = year;
|
||||
that.query.month_s = month;
|
||||
this.initDomStyle();
|
||||
this.$nextTick(() => {
|
||||
this.$API.enm.enstat.req({type:'month_s',month_s:month,year_s:year,page:0}).then((res1) => {
|
||||
console.log('工段数据:',res1)
|
||||
this.$API.enm.enstat.req({ type: 'month_s', month_s: month, year_s: year, page: 0 }).then((res1) => {
|
||||
console.log('工段数据:', res1)
|
||||
// debugger
|
||||
res1.forEach(item=>{
|
||||
if(item.mgroup_name=='电石渣'){
|
||||
that.mgroupValues.电石渣.total = item.total_production+'';
|
||||
that.mgroupValues.电石渣.elec=item.elec_consume_unit+'';
|
||||
}else if(item.mgroup_name=='原料磨'){
|
||||
that.mgroupValues.原料磨.total=item.total_production+'';
|
||||
that.mgroupValues.原料磨.elec=item.elec_consume_unit+'';
|
||||
}else if(item.mgroup_name=='煤磨'){
|
||||
that.mgroupValues.煤磨.total=item.total_production+'';
|
||||
that.mgroupValues.煤磨.elec=item.elec_consume_unit+'';
|
||||
}else if(item.mgroup_name=='回转窑'){
|
||||
that.mgroupValues.回转窑.total=item.total_production+'';
|
||||
that.mgroupValues.回转窑.elec=item.elec_consume_unit+'';
|
||||
}else if(item.mgroup_name=='水泥磨'){
|
||||
that.mgroupValues.水泥磨.total=item.total_production+'';
|
||||
that.mgroupValues.水泥磨.elec=item.elec_consume_unit+'';
|
||||
}else if(item.mgroup_name=='水泥包装'){
|
||||
that.mgroupValues.水泥包装.total=item.total_production+'';
|
||||
that.mgroupValues.水泥包装.elec=item.elec_consume_unit+'';
|
||||
res1.forEach(item => {
|
||||
if (item.mgroup_name == '电石渣') {
|
||||
that.mgroupValues.电石渣.total = item.total_production + '';
|
||||
that.mgroupValues.电石渣.elec = item.elec_consume_unit + '';
|
||||
} else if (item.mgroup_name == '原料磨') {
|
||||
that.mgroupValues.原料磨.total = item.total_production + '';
|
||||
that.mgroupValues.原料磨.elec = item.elec_consume_unit + '';
|
||||
} else if (item.mgroup_name == '煤磨') {
|
||||
that.mgroupValues.煤磨.total = item.total_production + '';
|
||||
that.mgroupValues.煤磨.elec = item.elec_consume_unit + '';
|
||||
} else if (item.mgroup_name == '回转窑') {
|
||||
that.mgroupValues.回转窑.total = item.total_production + '';
|
||||
that.mgroupValues.回转窑.elec = item.elec_consume_unit + '';
|
||||
} else if (item.mgroup_name == '水泥磨') {
|
||||
that.mgroupValues.水泥磨.total = item.total_production + '';
|
||||
that.mgroupValues.水泥磨.elec = item.elec_consume_unit + '';
|
||||
} else if (item.mgroup_name == '水泥包装') {
|
||||
that.mgroupValues.水泥包装.total = item.total_production + '';
|
||||
that.mgroupValues.水泥包装.elec = item.elec_consume_unit + '';
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
@ -283,29 +284,29 @@ export default {
|
|||
that.initFactory();
|
||||
}, 1000);
|
||||
});
|
||||
let month1= month>9?month:'0'+month;
|
||||
let end_time = year+'-'+month1+'-01 10:00:00';
|
||||
let year_s=year;
|
||||
if(month<6){
|
||||
year_s = year-1;
|
||||
let month1 = month > 9 ? month : '0' + month;
|
||||
let end_time = year + '-' + month1 + '-01 10:00:00';
|
||||
let year_s = year;
|
||||
if (month < 6) {
|
||||
year_s = year - 1;
|
||||
}
|
||||
let arr = [],xAxisData = [];
|
||||
let arr = [], xAxisData = [];
|
||||
let monthItem = month;
|
||||
for (let i = 0; i < 6; i++) {
|
||||
arr.push(monthItem);
|
||||
if(monthItem === 1) {
|
||||
if (monthItem === 1) {
|
||||
monthItem = 12;
|
||||
} else {
|
||||
monthItem--;
|
||||
}
|
||||
}
|
||||
arr.reverse();
|
||||
for(let i=0;i<6;i++){
|
||||
let item = arr[i]+'月'
|
||||
for (let i = 0; i < 6; i++) {
|
||||
let item = arr[i] + '月'
|
||||
xAxisData.push(item);
|
||||
}
|
||||
let month0= arr[0]>9?arr[0]:'0'+arr[0];
|
||||
let start_time = year_s+'-'+month0+'-01 10:00:00';
|
||||
let month0 = arr[0] > 9 ? arr[0] : '0' + arr[0];
|
||||
let start_time = year_s + '-' + month0 + '-01 10:00:00';
|
||||
that.arrMonth = arr;
|
||||
that.year_start = year_s;
|
||||
that.xAxisData = xAxisData;
|
||||
|
|
@ -325,10 +326,12 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
// 动态绑定Class
|
||||
bindClass(type){
|
||||
let classInfo = { socketDom: true, redColor: false,
|
||||
orangeColor:false, yellowColor:false, blueColor:true }
|
||||
if(type==''){
|
||||
bindClass(type) {
|
||||
let classInfo = {
|
||||
socketDom: true, redColor: false,
|
||||
orangeColor: false, yellowColor: false, blueColor: true
|
||||
}
|
||||
if (type == '') {
|
||||
classInfo.redColor = true
|
||||
}
|
||||
return classInfo
|
||||
|
|
@ -336,34 +339,34 @@ export default {
|
|||
init() {
|
||||
var that = this
|
||||
// console.log(tool.cookie.get("TOKEN"))
|
||||
if(typeof(WebSocket) === "undefined"){
|
||||
if (typeof (WebSocket) === "undefined") {
|
||||
alert("您的浏览器不支持socket")
|
||||
}else{
|
||||
this.ws = new WebSocket(this.path+tool.cookie.get("TOKEN"))
|
||||
} else {
|
||||
this.ws = new WebSocket(this.path + tool.cookie.get("TOKEN"))
|
||||
//监听是否连接成功
|
||||
this.ws.onopen = ()=> {
|
||||
this.ws.onopen = () => {
|
||||
// console.log("socket连接成功");
|
||||
setTimeout(()=>{
|
||||
that.ws.send(JSON.stringify({'type': 'event'}))
|
||||
},500)
|
||||
setTimeout(() => {
|
||||
that.ws.send(JSON.stringify({ 'type': 'event' }))
|
||||
}, 500)
|
||||
}
|
||||
|
||||
//接听服务器发回的信息并处理展示
|
||||
this.ws.onmessage = (msg)=>{
|
||||
this.ws.onmessage = (msg) => {
|
||||
let data = JSON.parse(msg.data)
|
||||
console.log(data)
|
||||
if(data.type=='event'){
|
||||
if (data.type == 'event') {
|
||||
that.bindClass();
|
||||
}if(data.type=='ticket'){
|
||||
} if (data.type == 'ticket') {
|
||||
|
||||
}if(data.type=='remaind'){
|
||||
} if (data.type == 'remaind') {
|
||||
|
||||
}
|
||||
};
|
||||
// 监听并处理error事件
|
||||
this.ws.onerror = function(error) {
|
||||
this.ws.onerror = function (error) {
|
||||
console.log('ws断开,尝试重连')
|
||||
setTimeout(()=>{
|
||||
setTimeout(() => {
|
||||
this.ws = null;
|
||||
this.init()
|
||||
}, 5000)
|
||||
|
|
@ -389,34 +392,34 @@ export default {
|
|||
getFactoryData() {
|
||||
var that = this;
|
||||
that.$API.enm.enstat2.req(that.query).then((res) => {
|
||||
if(res.length>0){
|
||||
if (res.length > 0) {
|
||||
that.factoryData = res[0]
|
||||
}else{}
|
||||
} else { }
|
||||
})
|
||||
//图表数据
|
||||
let obj = {};
|
||||
obj.type = 'month_s';
|
||||
obj.start_time = that.start_time;
|
||||
obj.end_time = that.end_time;
|
||||
obj.page=0;
|
||||
obj.page = 0;
|
||||
this.$API.enm.enstat2.req(obj).then((res1) => {
|
||||
let list0 = res1.sort(this.compare('month_s'));
|
||||
let list = list0.sort(this.compare('year_s'));
|
||||
let seriesData1 = [0,0,0,0,0,0],
|
||||
seriesData2 = [0,0,0,0,0,0],
|
||||
seriesData3 = [0,0,0,0,0,0],
|
||||
seriesData3_2 = [0,0,0,0,0,0];
|
||||
list.forEach(item=>{
|
||||
let seriesData1 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData2 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData3 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData3_2 = [0, 0, 0, 0, 0, 0];
|
||||
list.forEach(item => {
|
||||
let index = that.arrMonth.indexOf(item.month_s);
|
||||
seriesData1[index] = Number(item.elec_consume)
|
||||
seriesData2[index] = Number(item.pcoal_consume)
|
||||
seriesData3[index] = Number(item.water_consume)
|
||||
seriesData3_2[index] = Number(item.cair_consume)
|
||||
})
|
||||
that.seriesData1=seriesData1;
|
||||
that.seriesData2=seriesData2;
|
||||
that.seriesData3=seriesData3;
|
||||
that.seriesData3_2=seriesData3_2;
|
||||
that.seriesData1 = seriesData1;
|
||||
that.seriesData2 = seriesData2;
|
||||
that.seriesData3 = seriesData3;
|
||||
that.seriesData3_2 = seriesData3_2;
|
||||
that.initCharts();
|
||||
})
|
||||
},
|
||||
|
|
@ -426,35 +429,35 @@ export default {
|
|||
obj.type = 'month_s';
|
||||
obj.start_time = that.start_time;
|
||||
obj.end_time = that.end_time;
|
||||
obj.mgroup__name=that.activeSectionName;
|
||||
obj.page=0;
|
||||
obj.mgroup__name = that.activeSectionName;
|
||||
obj.page = 0;
|
||||
this.$API.enm.enstat.req(obj).then((res) => {
|
||||
let list0 = res.sort(this.compare('month_s'));
|
||||
let list = list0.sort(this.compare('year_s'));
|
||||
let seriesData4 = [0,0,0,0,0,0],
|
||||
seriesData5 = [0,0,0,0,0,0],
|
||||
seriesData6 = [0,0,0,0,0,0];
|
||||
list.forEach(item=>{
|
||||
let seriesData4 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData5 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData6 = [0, 0, 0, 0, 0, 0];
|
||||
list.forEach(item => {
|
||||
let index = that.arrMonth.indexOf(item.month_s);
|
||||
seriesData4[index] = Number(item.elec_consume_unit)
|
||||
seriesData5[index] = Number(item.total_production)
|
||||
seriesData6[index] = Number(item.run_rate)
|
||||
})
|
||||
that.seriesData4=seriesData4;
|
||||
that.seriesData5=seriesData5;
|
||||
that.seriesData6=seriesData6;
|
||||
that.seriesData4 = seriesData4;
|
||||
that.seriesData5 = seriesData5;
|
||||
that.seriesData6 = seriesData6;
|
||||
that.initCharts1();
|
||||
})
|
||||
},
|
||||
getDayData(){
|
||||
getDayData() {
|
||||
var that = this;
|
||||
let obj = {};
|
||||
obj.type = 'day_s';
|
||||
obj.year_s = that.query.year_s;
|
||||
obj.month_s = that.query.month_s;
|
||||
obj.day_s = that.nowDay;
|
||||
obj.mgroup__name=that.activeSectionName;
|
||||
obj.page=0;
|
||||
obj.mgroup__name = that.activeSectionName;
|
||||
obj.page = 0;
|
||||
this.$API.enm.enstat.req(obj).then((res) => {
|
||||
that.sectionData = res[0];
|
||||
})
|
||||
|
|
@ -481,12 +484,12 @@ export default {
|
|||
},
|
||||
data: that.seriesData1
|
||||
}]
|
||||
that.setChart('chart1',that.chart1Option);
|
||||
that.setChart('chart1', that.chart1Option);
|
||||
this.chart2Option = deepCopy(that.basicOption)
|
||||
this.chart2Option.series[0].type = 'line';
|
||||
this.chart2Option.series[0].data = that.seriesData2;
|
||||
this.setChart('chart2', this.chart2Option);
|
||||
this.chart3Option =deepCopy(that.basicOption)
|
||||
this.chart3Option = deepCopy(that.basicOption)
|
||||
this.chart3Option.series = [
|
||||
{
|
||||
name: '工业水',
|
||||
|
|
@ -629,7 +632,7 @@ export default {
|
|||
setTimeout(() => {
|
||||
try {
|
||||
myChart.setOption(option);
|
||||
} catch (error) {}
|
||||
} catch (error) { }
|
||||
}, 500)
|
||||
},
|
||||
initFactory() {
|
||||
|
|
@ -794,7 +797,7 @@ export default {
|
|||
rect1.addControl(label);
|
||||
rect1.linkWithMesh(mesh);
|
||||
rect1.linkOffsetY = -30;
|
||||
if(value=='电石渣'){
|
||||
if (value == '电石渣') {
|
||||
rect1.linkOffsetY = -200;
|
||||
var line = new BABYLON_GUI.Line();
|
||||
line.lineWidth = 4;
|
||||
|
|
@ -817,7 +820,7 @@ export default {
|
|||
// console.log('fly to')
|
||||
// 计算新的相机位置
|
||||
let position = mesh._parentNode._position
|
||||
if(mesh._parentNode.id=='__root__'){
|
||||
if (mesh._parentNode.id == '__root__') {
|
||||
position = mesh.position
|
||||
}
|
||||
const cameraPosition = new BABYLON.Vector3(
|
||||
|
|
@ -856,7 +859,7 @@ export default {
|
|||
mgroupName.shadowOffsetX = -2;
|
||||
mgroupName.shadowOffsetY = 2;
|
||||
data_view.addControl(mgroupName);
|
||||
const mgroup =new BABYLON_GUI.Rectangle('mgroup');
|
||||
const mgroup = new BABYLON_GUI.Rectangle('mgroup');
|
||||
mgroup.height = "3px";
|
||||
mgroup.width = "160px";
|
||||
mgroup.thickness = 0;
|
||||
|
|
@ -869,34 +872,34 @@ export default {
|
|||
var wd = 2;
|
||||
var hd = 2;
|
||||
for (let i = 0; i < wd; i++) {
|
||||
grid.addRowDefinition(1/wd);
|
||||
grid.addRowDefinition(1 / wd);
|
||||
}
|
||||
for (let j = 0; j < hd; j++) {
|
||||
grid.addColumnDefinition(1/hd);
|
||||
grid.addColumnDefinition(1 / hd);
|
||||
}
|
||||
for (let i = 0; i < wd; i++) {
|
||||
for (let j = 0; j < hd; j++) {
|
||||
var rc= new BABYLON_GUI.TextBlock("rc"+i+j);
|
||||
var rc = new BABYLON_GUI.TextBlock("rc" + i + j);
|
||||
rc.width = "100%";
|
||||
// rc.height = "100%";
|
||||
rc.thickness = 0;
|
||||
if(j==0&&i==0){
|
||||
if (j == 0 && i == 0) {
|
||||
rc.width = "120px";
|
||||
rc.text = "产品产量:";
|
||||
rc.color = "white";
|
||||
rc.fontSize = '16px';
|
||||
}else if(j==0&&i==1){
|
||||
} else if (j == 0 && i == 1) {
|
||||
rc.width = "120px";
|
||||
rc.color = "white";
|
||||
rc.fontSize = '16px';
|
||||
rc.text = "单位产品电耗:";
|
||||
}else if(j==1&&i==0){
|
||||
} else if (j == 1 && i == 0) {
|
||||
// rc.text = that.mgroupValues[value].total;
|
||||
rc.text = "123";
|
||||
rc.width = "80px";
|
||||
rc.fontSize = '18px';
|
||||
rc.color = "rgb(44,237,255)";
|
||||
}else if(j==1&&i==1){
|
||||
} else if (j == 1 && i == 1) {
|
||||
// rc.text = that.mgroupValues[value].total;
|
||||
rc.text = "456";
|
||||
rc.width = "80px";
|
||||
|
|
@ -907,7 +910,7 @@ export default {
|
|||
}
|
||||
}
|
||||
data_view.addControl(grid);
|
||||
var mgroup_close = BABYLON_GUI.Button.CreateSimpleButton("mgroup_close"+value,'关闭');
|
||||
var mgroup_close = BABYLON_GUI.Button.CreateSimpleButton("mgroup_close" + value, '关闭');
|
||||
mgroup_close.width = "70px"
|
||||
mgroup_close.height = "25px";
|
||||
mgroup_close.color = "white";
|
||||
|
|
@ -916,7 +919,7 @@ export default {
|
|||
mgroup_close.background = 'rgb(44,237,255,.5)';
|
||||
mgroup_close.HORIZONTAL_ALIGNMENT_RIGHT = 5;
|
||||
mgroup_close.onPointerClickObservable.add(() => {
|
||||
console.log('data_view',data_view)
|
||||
console.log('data_view', data_view)
|
||||
data_view.isVisible = false;
|
||||
})
|
||||
data_view.addControl(mgroup_close);
|
||||
|
|
@ -924,7 +927,7 @@ export default {
|
|||
advancedTexture.addControl(data_view);
|
||||
data_view.linkWithMesh(mesh);
|
||||
data_view.linkOffsetY = -120;
|
||||
if(value=='电石渣'){
|
||||
if (value == '电石渣') {
|
||||
data_view.linkOffsetY = -290;
|
||||
}
|
||||
}
|
||||
|
|
@ -1009,7 +1012,7 @@ export default {
|
|||
if (pickResult.hit) {
|
||||
const mesh = pickResult.pickedMesh;
|
||||
highlightLayer.removeAllMeshes();
|
||||
if(/.*[\u4e00-\u9fa5]+.*$/.test(mesh.name)&&mesh.name!=='地面1'&&mesh.name!=='绿地'&&mesh.name!=='停车场') {
|
||||
if (/.*[\u4e00-\u9fa5]+.*$/.test(mesh.name) && mesh.name !== '地面1' && mesh.name !== '绿地' && mesh.name !== '停车场') {
|
||||
// 在选中的 mesh 上添加高亮效果
|
||||
highlightLayer.addMesh(mesh, new BABYLON.Color3(1, 1, 0.5));
|
||||
that.currentLightMesh = mesh;
|
||||
|
|
@ -1051,23 +1054,23 @@ export default {
|
|||
obj.type = 'month_s';
|
||||
obj.start_time = that.start_time;
|
||||
obj.end_time = that.end_time;
|
||||
obj.mgroup__name=val;
|
||||
obj.page=0;
|
||||
obj.mgroup__name = val;
|
||||
obj.page = 0;
|
||||
this.$API.enm.enstat.req(obj).then((res) => {
|
||||
let list0 = res.sort(this.compare('month_s'));
|
||||
let list = list0.sort(this.compare('year_s'));
|
||||
let seriesData4 = [0,0,0,0,0,0],
|
||||
seriesData5 = [0,0,0,0,0,0],
|
||||
seriesData6 = [0,0,0,0,0,0];
|
||||
list.forEach(item=>{
|
||||
let seriesData4 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData5 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData6 = [0, 0, 0, 0, 0, 0];
|
||||
list.forEach(item => {
|
||||
let index = that.arrMonth.indexOf(item.month_s);
|
||||
seriesData4[index] = Number(item.elec_consume_unit)
|
||||
seriesData5[index] = Number(item.total_production)
|
||||
seriesData6[index] = Number(item.run_rate)
|
||||
})
|
||||
that.seriesData4=seriesData4;
|
||||
that.seriesData5=seriesData5;
|
||||
that.seriesData6=seriesData6;
|
||||
that.seriesData4 = seriesData4;
|
||||
that.seriesData5 = seriesData5;
|
||||
that.seriesData6 = seriesData6;
|
||||
that.initCharts1();
|
||||
const element_main = document.querySelector('.right_main');
|
||||
element_main.classList.add('animate__animated', 'animate__fadeIn');
|
||||
|
|
@ -1081,35 +1084,35 @@ export default {
|
|||
// 移除属性
|
||||
element.classList.remove('animate__fadeIn');
|
||||
});
|
||||
const sectionUI = this.myui.getControlByName(val+'_rect')
|
||||
const sectionUI = this.myui.getControlByName(val + '_rect')
|
||||
sectionUI.onPointerDownObservable.notifyObservers();
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
getMgroupChartData(name){
|
||||
getMgroupChartData(name) {
|
||||
var that = this;
|
||||
let obj = {};
|
||||
obj.type = 'month_s';
|
||||
obj.start_time = that.start_time;
|
||||
obj.end_time = that.end_time;
|
||||
obj.mgroup__name=name;
|
||||
obj.page=0;
|
||||
obj.mgroup__name = name;
|
||||
obj.page = 0;
|
||||
this.$API.enm.enstat.req(obj).then((res) => {
|
||||
let list0 = res.sort(this.compare('month_s'));
|
||||
let list = list0.sort(this.compare('year_s'));
|
||||
let seriesData4 = [0,0,0,0,0,0],
|
||||
seriesData5 = [0,0,0,0,0,0],
|
||||
seriesData6 = [0,0,0,0,0,0];
|
||||
list.forEach(item=>{
|
||||
let seriesData4 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData5 = [0, 0, 0, 0, 0, 0],
|
||||
seriesData6 = [0, 0, 0, 0, 0, 0];
|
||||
list.forEach(item => {
|
||||
let index = that.arrMonth.indexOf(item.month_s);
|
||||
seriesData4[index] = Number(item.elec_consume_unit)
|
||||
seriesData5[index] = Number(item.total_production)
|
||||
seriesData6[index] = Number(item.run_rate)
|
||||
})
|
||||
that.seriesData4=seriesData4;
|
||||
that.seriesData5=seriesData5;
|
||||
that.seriesData6=seriesData6;
|
||||
that.seriesData4 = seriesData4;
|
||||
that.seriesData5 = seriesData5;
|
||||
that.seriesData6 = seriesData6;
|
||||
that.initCharts1();
|
||||
})
|
||||
},
|
||||
|
|
@ -1181,23 +1184,30 @@ header {
|
|||
justify-content: center;
|
||||
font-size: 30px;
|
||||
}
|
||||
.left_main,.right_main {
|
||||
|
||||
.left_main,
|
||||
.right_main {
|
||||
z-index: 10;
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.right_main {
|
||||
right: 0;
|
||||
}
|
||||
.left_other,.right_other {
|
||||
|
||||
.left_other,
|
||||
.right_other {
|
||||
position: absolute;
|
||||
top: 240px;
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.right_other {
|
||||
right: 0
|
||||
}
|
||||
|
||||
.panel {
|
||||
padding: 4px 8px;
|
||||
overflow: auto;
|
||||
|
|
@ -1209,6 +1219,7 @@ header {
|
|||
border: 1px solid transparent;
|
||||
margin: 6px 6px;
|
||||
}
|
||||
|
||||
.panel_title {
|
||||
height: 30px;
|
||||
margin-bottom: 4px;
|
||||
|
|
@ -1216,24 +1227,29 @@ header {
|
|||
font-weight: bold;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.panel_item {
|
||||
color: #fff;
|
||||
padding: 6px;
|
||||
background: linear-gradient(40deg, rgba(11, 101, 140, 0.451), rgba(0, 34, 48, 0.335));
|
||||
}
|
||||
|
||||
.panel_label {
|
||||
font-size: 16px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.pannel_number{
|
||||
|
||||
.pannel_number {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.panel_value {
|
||||
padding-left: 1em;
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.panel_unit {
|
||||
right: 5px;
|
||||
color: #aebfe9;
|
||||
|
|
@ -1241,10 +1257,12 @@ header {
|
|||
text-align: right;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.chart {
|
||||
width: 100%;
|
||||
height: 220px;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
/* top: 20%;
|
||||
font-size: 18px;
|
||||
|
|
@ -1281,6 +1299,7 @@ header {
|
|||
line-height: 3.7vw;
|
||||
margin: 0 0.1vw 0.1vw 0.1vw;
|
||||
}
|
||||
|
||||
.dropdown-item:hover,
|
||||
.dropdown-item.active {
|
||||
/* background-color: #ddd; */
|
||||
|
|
@ -1295,6 +1314,4 @@ header {
|
|||
text-align: center;
|
||||
background: url(./../../../public/img/menu_active.png) no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
}</style>
|
||||
|
|
@ -7,22 +7,28 @@
|
|||
</el-header>
|
||||
<el-main style="padding:0" id="mainBlock">
|
||||
<el-row style="height:100%">
|
||||
<!-- <div style="position: absolute;left: 0;width:20%;z-index:10">
|
||||
<div style="position: absolute;left: 0;width:20%;z-index:10">
|
||||
<div style="display:flex;flex-direction: column;height:100%;padding:20px">
|
||||
<div class="flexItem" style="flex:1">
|
||||
<div class="blockTitle"><div class="blockTitleIcon"></div>模块一</div>
|
||||
<div class="blockTitle">
|
||||
<div class="blockTitleIcon"></div>模块一
|
||||
</div>
|
||||
<div id="line1" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
|
||||
</div>
|
||||
<div class="flexItem" style="flex:1">
|
||||
<div class="blockTitle"><div class="blockTitleIcon"></div>模块二</div>
|
||||
<div class="blockTitle">
|
||||
<div class="blockTitleIcon"></div>模块二
|
||||
</div>
|
||||
<div id="bar1" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
|
||||
</div>
|
||||
<div class="flexItem" style="flex:1">
|
||||
<div class="blockTitle"><div class="blockTitleIcon"></div>模块三</div>
|
||||
<div class="blockTitle">
|
||||
<div class="blockTitleIcon"></div>模块三
|
||||
</div>
|
||||
<div id="line2" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<el-col :span="24">
|
||||
<div class="model">
|
||||
<div id="loadingScreen">
|
||||
|
|
@ -36,22 +42,29 @@
|
|||
<canvas id="renderCanvas"></canvas>
|
||||
</div>
|
||||
</el-col>
|
||||
<!-- <div style="position: absolute;right: 0;width:20%;z-index:10">
|
||||
<div style="position: absolute;right: 0;width:20%;z-index:10">
|
||||
<div style="display:flex;flex-direction: column;height:100%;padding:20px">
|
||||
<div class="flexItem" style="flex:1">
|
||||
<div class="blockTitle"><div class="blockTitleIcon"></div>模块四</div>
|
||||
<div class="blockTitle">
|
||||
<div class="blockTitleIcon"></div>模块四
|
||||
</div>
|
||||
<div id="pie" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
|
||||
</div>
|
||||
<div class="flexItem" style="flex:1">
|
||||
<div class="blockTitle"><div class="blockTitleIcon"></div>模块五</div>
|
||||
<div class="blockTitle">
|
||||
<div class="blockTitleIcon"></div>模块五
|
||||
</div>
|
||||
<div id="line3" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
|
||||
</div>
|
||||
<div class="flexItem" style="flex:1">
|
||||
<div class="blockTitle"><div class="blockTitleIcon"></div>模块六</div>
|
||||
<dv-scroll-board id="scrollTable" :config="taskBoard" :style="{'width':'100%','height':blockHeight}"/>
|
||||
<div class="blockTitle">
|
||||
<div class="blockTitleIcon"></div>模块六
|
||||
</div>
|
||||
<dv-scroll-board id="scrollTable" :config="taskBoard"
|
||||
:style="{ 'width': '100%', 'height': blockHeight }" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</el-row>
|
||||
</el-main>
|
||||
<div id="inforBlock" class="inforBlock" v-show="infoVisibel">
|
||||
|
|
@ -62,7 +75,8 @@
|
|||
<p class="title">10车间</p>
|
||||
<div class="infoCantier">
|
||||
<div class="leftBlock">
|
||||
<el-progress width="50" type="circle" color="rgba(54, 217, 187, 1)" :percentage="25" id="dashbordProcess"/>
|
||||
<el-progress width="50" type="circle" color="rgba(54, 217, 187, 1)" :percentage="25"
|
||||
id="dashbordProcess" />
|
||||
<span>完成进度</span>
|
||||
</div>
|
||||
<div class="rightBlock">
|
||||
|
|
@ -102,7 +116,7 @@ import 'animate.css';
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
blockHeight:null,
|
||||
blockHeight: null,
|
||||
taskBoard: {
|
||||
header: ['姓名', '车间', '到岗'],
|
||||
headerBGC: 'rgb(10,63,68)',
|
||||
|
|
@ -120,13 +134,13 @@ export default {
|
|||
index: true,
|
||||
columnWidth: [50],
|
||||
align: ['center'],
|
||||
loadedPercent:0,
|
||||
percentage:0,
|
||||
percentage:0
|
||||
loadedPercent: 0,
|
||||
percentage: 0,
|
||||
percentage: 0
|
||||
},
|
||||
initialAlpha: -Math.PI / 1.2,
|
||||
initialBeta: Math.PI / 2.5,
|
||||
initialRadius: 15,
|
||||
initialAlpha: -Math.PI / 4.5,
|
||||
initialBeta: Math.PI / 2,
|
||||
initialRadius: 3,
|
||||
initialTarget: null,
|
||||
scene: null,
|
||||
myui: null,
|
||||
|
|
@ -134,28 +148,28 @@ export default {
|
|||
engine: null,
|
||||
loadedPercent: 0,
|
||||
currentLightMesh: null,
|
||||
infoVisibel:false,
|
||||
infoVisibel: false,
|
||||
updateTime: '2023-08-17 16:00:00',
|
||||
nodesLists:{
|
||||
'单身宿舍.005_primitive3':{total:'0',elec:'0',name:'办公楼'},
|
||||
'立方体.015_primitive1':{total:'0',elec:'0',name:'加工车间'},
|
||||
'立方体.004_primitive1':{total:'0',elec:'0',name:'配料车间'},
|
||||
'立方体.003_primitive1':{total:'0',elec:'0',name:'成型车间'},
|
||||
'立立方体.002_primitive1':{total:'0',elec:'0',name:'成型车间'},
|
||||
nodesLists: {
|
||||
'单身宿舍.005_primitive3': { total: '0', elec: '0', name: '办公楼' },
|
||||
'立方体.015_primitive1': { total: '0', elec: '0', name: '加工车间' },
|
||||
'立方体.004_primitive1': { total: '0', elec: '0', name: '配料车间' },
|
||||
'立方体.003_primitive1': { total: '0', elec: '0', name: '成型车间' },
|
||||
'立立方体.002_primitive1': { total: '0', elec: '0', name: '成型车间' },
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
let height = document.getElementById('mainBlock').clientHeight;
|
||||
let height0 = height/3-50;
|
||||
this.blockHeight = height0+'px'
|
||||
let height0 = height / 3 - 50;
|
||||
this.blockHeight = height0 + 'px'
|
||||
this.$nextTick(() => {
|
||||
// this.initChart();
|
||||
this.initChart();
|
||||
this.initDomStyle();
|
||||
this.initFactory();
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
initDomStyle() {
|
||||
// 获取窗口的总高度
|
||||
var windowHeight = window.innerHeight;
|
||||
|
|
@ -165,9 +179,9 @@ export default {
|
|||
if (windowWidth > 960) {
|
||||
dashboard.style.overflow = 'hidden';
|
||||
model.style.position = 'absolute';
|
||||
model.style.height = (windowHeight - 3) + 'px';
|
||||
model.style.height = (windowHeight - 70) + 'px';
|
||||
model.style.top = 0
|
||||
}else {
|
||||
} else {
|
||||
dashboard.style.overflow = 'auto';
|
||||
var chartHeight = windowWidth * 0.6;
|
||||
model.style.position = 'relative';
|
||||
|
|
@ -180,6 +194,7 @@ export default {
|
|||
},
|
||||
initFactory() {
|
||||
var that = this;
|
||||
|
||||
const canvas = document.getElementById("renderCanvas"); // Get the canvas element
|
||||
const engine = new BABYLON.Engine(canvas, true); // Generate the BABYLON 3D engine
|
||||
BABYLON.DefaultLoadingScreen.prototype.displayLoadingUI = function () {
|
||||
|
|
@ -192,6 +207,9 @@ export default {
|
|||
const createScene = function () {
|
||||
const scene = new BABYLON.Scene(engine);
|
||||
scene.clearColor = BABYLON.Color3.Black(); //BABYLON.Color3(1, 0, 1);
|
||||
// 创建材质
|
||||
var material = new BABYLON.PBRMaterial("groundMaterial", scene);
|
||||
material.metallic = 1; // 材质金属度
|
||||
const ground = BABYLON.MeshBuilder.CreateGround("ground", { width: 10, height: 10 });
|
||||
const groundMaterial = new BABYLON_GRID.GridMaterial("groundMaterial", scene);
|
||||
groundMaterial.majorUnitFrequency = 5;
|
||||
|
|
@ -202,18 +220,19 @@ export default {
|
|||
|
||||
// 加载背景图片
|
||||
const backgroundImage = new BABYLON.Layer('', 'img/photon_bg.png', scene, true);
|
||||
const camera = new BABYLON.ArcRotateCamera("camera", that.initialAlpha, that.initialBeta, that.initialRadius, new BABYLON.Vector3(0, 0.5, 0.2));
|
||||
const camera = new BABYLON.ArcRotateCamera("camera", that.initialAlpha, that.initialBeta, that.initialRadius, new BABYLON.Vector3(0, 0.5, 0.3));
|
||||
that.initialTarget = camera.getTarget();
|
||||
// camera.lowerBetaLimit = Math.PI / 2.6;
|
||||
camera.upperBetaLimit = Math.PI / 2.3; //无法移动到地面以下
|
||||
camera.attachControl(canvas, true);
|
||||
camera.maxZ = 1000; // 调整适当的值
|
||||
camera.wheelDeltaPercentage = 0.02;
|
||||
// 相机限制
|
||||
camera.lowerRadiusLimit = 3;
|
||||
camera.upperRadiusLimit = 3;
|
||||
camera.lowerRadiusLimit = 2;
|
||||
camera.upperRadiusLimit = 6;
|
||||
// 灯光
|
||||
const light = new BABYLON.HemisphericLight("light", new BABYLON.Vector3(1, 1, 0));
|
||||
light.intensity =0.1;
|
||||
light.intensity = 0.3;
|
||||
// 全屏GUI
|
||||
const advancedTexture = BABYLON_GUI.AdvancedDynamicTexture.CreateFullscreenUI("myUI");
|
||||
that.myui = advancedTexture;
|
||||
|
|
@ -261,8 +280,8 @@ export default {
|
|||
mesh_name.color = 'white';
|
||||
mesh_name.fontSize = '14px';
|
||||
mesh_rect.addControl(mesh_name);
|
||||
var remoteGlbUrl = process.env.VUE_APP_BASEURL + "/media/model/photon3.glb";
|
||||
BABYLON.SceneLoader.Append(remoteGlbUrl, "", scene, function (scene) {
|
||||
// var remoteGlbUrl = process.env.VUE_APP_BASEURL + "/media/model/photon3.glb";
|
||||
BABYLON.SceneLoader.Append('glb/', "photon3.glb", scene, function (scene) {
|
||||
//关闭灯光
|
||||
// scene.lights[1].setEnabled(false);
|
||||
// setEnable
|
||||
|
|
@ -378,7 +397,7 @@ export default {
|
|||
// mesh_rect.isVisible = true;
|
||||
// that.infoVisibel = true;
|
||||
// }
|
||||
if(mesh.name=='单身宿舍.005_primitive3') {
|
||||
if (mesh.name == '单身宿舍.005_primitive3') {
|
||||
//单身宿舍.003_primitive3
|
||||
// 在选中的 mesh 上添加高亮效果
|
||||
highlightLayer.addMesh(mesh, new BABYLON.Color3(1, 1, 0.5));
|
||||
|
|
@ -389,21 +408,21 @@ export default {
|
|||
// mesh_rect.isVisible = true;
|
||||
that.infoVisibel = true;
|
||||
|
||||
hl1.addMesh(mesh, new BABYLON.Color3(12/255, 250/255, 252/255), true);
|
||||
hl1.addMesh(mesh, new BABYLON.Color3(12 / 255, 250 / 255, 252 / 255), true);
|
||||
hl1.blurVerticalSize = 5;
|
||||
hl1.blurHorizontalSize = 5;
|
||||
function worldToScreen(point, camera, scene,engine) {
|
||||
function worldToScreen(point, camera, scene, engine) {
|
||||
return BABYLON.Vector3.Project(point,
|
||||
BABYLON.Matrix.Identity(),
|
||||
scene.getTransformMatrix(),
|
||||
camera.viewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight()));
|
||||
}
|
||||
var pos = worldToScreen(mesh.absolutePosition,camera,scene,engine);
|
||||
var pos = worldToScreen(mesh.absolutePosition, camera, scene, engine);
|
||||
let infoBlock = document.getElementById('inforBlock');
|
||||
infoBlock.style.left = (Math.floor(pos.x)+250)+'px';
|
||||
infoBlock.style.top = (Math.floor(pos.y)-250)+'px';
|
||||
infoBlock.style.left = (Math.floor(pos.x)) + 'px';
|
||||
infoBlock.style.top = (Math.floor(pos.y) - 250) + 'px';
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
that.infoVisibel = false;
|
||||
}
|
||||
});
|
||||
|
|
@ -413,13 +432,13 @@ export default {
|
|||
const pickResult = scene.pick(scene.pointerX, scene.pointerY);
|
||||
if (pickResult.hit) {
|
||||
console.log('000000000000');
|
||||
console.log('pickResult',pickResult);
|
||||
console.log('pickResult', pickResult);
|
||||
const mesh = pickResult.pickedMesh;
|
||||
if (camera.target != mesh.position) {
|
||||
// console.log('fly to')
|
||||
// 计算新的相机位置
|
||||
let position = mesh._parentNode._position
|
||||
if(mesh._parentNode.id=='__root__'){
|
||||
if (mesh._parentNode.id == '__root__') {
|
||||
position = mesh.position
|
||||
}
|
||||
const cameraPosition = new BABYLON.Vector3(
|
||||
|
|
@ -436,42 +455,42 @@ export default {
|
|||
});
|
||||
|
||||
// checkbox.isChecked = true; //默认开启自动旋转
|
||||
// scene.onPointerObservable.add((pointerInfo) => {
|
||||
// switch (pointerInfo.type) {
|
||||
// case BABYLON.PointerEventTypes.POINTERDOWN:
|
||||
// console.log(scene.pointerX, scene.pointerY);
|
||||
// const pickResult = scene.pick(scene.pointerX, scene.pointerY);
|
||||
// if (pickResult.hit) {
|
||||
// console.log('000000000000');
|
||||
// console.log('pickResult', pickResult);
|
||||
// const mesh = pickResult.pickedMesh;
|
||||
// if (camera.target != mesh.position) {
|
||||
// // console.log('fly to')
|
||||
// // 计算新的相机位置
|
||||
// let position = mesh._parentNode._position
|
||||
// if (mesh._parentNode.id == '__root__') {
|
||||
// position = mesh.position
|
||||
// }
|
||||
// const cameraPosition = new BABYLON.Vector3(
|
||||
// mesh.position.x + 9 * Math.sin(camera.beta) * Math.cos(Math.PI),
|
||||
// mesh.position.y + 9 * Math.cos(camera.beta),
|
||||
// mesh.position.z + 9 * Math.sin(camera.beta) * Math.sin(Math.PI)
|
||||
// );
|
||||
// var ease = new BABYLON.CubicEase();
|
||||
// ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);
|
||||
// BABYLON.Animation.CreateAndStartAnimation('at5', camera, 'position', 45, 200, camera.position, cameraPosition, 0, ease);
|
||||
// BABYLON.Animation.CreateAndStartAnimation('at51', camera, 'target', 45, 200, camera.target, position, 0, ease);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
return scene;
|
||||
};
|
||||
|
||||
const scene = createScene(); //Call the createScene function
|
||||
scene.debugLayer.show()
|
||||
// scene.debugLayer.show()
|
||||
engine.runRenderLoop(function () {
|
||||
scene.render();
|
||||
scene.onPointerObservable.add((pointerInfo) => {
|
||||
switch (pointerInfo.type) {
|
||||
case BABYLON.PointerEventTypes.POINTERDOWN:
|
||||
console.log(scene.pointerX, scene.pointerY);
|
||||
const pickResult = scene.pick(scene.pointerX, scene.pointerY);
|
||||
if (pickResult.hit) {
|
||||
console.log('000000000000');
|
||||
console.log('pickResult',pickResult);
|
||||
const mesh = pickResult.pickedMesh;
|
||||
if (camera.target != mesh.position) {
|
||||
// console.log('fly to')
|
||||
// 计算新的相机位置
|
||||
let position = mesh._parentNode._position
|
||||
if(mesh._parentNode.id=='__root__'){
|
||||
position = mesh.position
|
||||
}
|
||||
const cameraPosition = new BABYLON.Vector3(
|
||||
mesh.position.x + 9 * Math.sin(camera.beta) * Math.cos(Math.PI),
|
||||
mesh.position.y + 9 * Math.cos(camera.beta),
|
||||
mesh.position.z + 9 * Math.sin(camera.beta) * Math.sin(Math.PI)
|
||||
);
|
||||
var ease = new BABYLON.CubicEase();
|
||||
ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);
|
||||
BABYLON.Animation.CreateAndStartAnimation('at5', camera, 'position', 45, 200, camera.position, cameraPosition, 0, ease);
|
||||
BABYLON.Animation.CreateAndStartAnimation('at51', camera, 'target', 45, 200, camera.target, position, 0, ease);
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
this.engine = engine;
|
||||
this.scene = scene;
|
||||
|
|
@ -479,7 +498,7 @@ export default {
|
|||
engine.resize();
|
||||
});
|
||||
},
|
||||
initChart(){
|
||||
initChart() {
|
||||
//左1
|
||||
let chartDom = document.getElementById('line1');
|
||||
chartDom.style.height = this.blockHeight;
|
||||
|
|
@ -496,11 +515,11 @@ export default {
|
|||
},
|
||||
legend: {
|
||||
icon: "stack",
|
||||
right:0,
|
||||
right: 0,
|
||||
data: [{
|
||||
backgroundColor:'rgb(1,235,239)',
|
||||
name:'Line 1',
|
||||
itemStyle:{
|
||||
backgroundColor: 'rgb(1,235,239)',
|
||||
name: 'Line 1',
|
||||
itemStyle: {
|
||||
// color:'rgb(1,235,239)',
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
|
|
@ -512,15 +531,16 @@ export default {
|
|||
color: 'rgb(5, 158, 163)'
|
||||
}])
|
||||
},
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
}, {
|
||||
name:'Line 2',
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
}}],
|
||||
itemStyle:{
|
||||
name: 'Line 2',
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
}],
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
|
|
@ -550,10 +570,10 @@ export default {
|
|||
boundaryGap: false,
|
||||
data: ['2日', '3日', '四日', '5日', '6日', '7日', '8日'],
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
}
|
||||
],
|
||||
|
|
@ -562,10 +582,10 @@ export default {
|
|||
name: "合格率(%)",
|
||||
type: 'value',
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
splitLine: {
|
||||
show: false,
|
||||
|
|
@ -587,7 +607,7 @@ export default {
|
|||
stack: 'Total',
|
||||
smooth: true,
|
||||
lineStyle: {
|
||||
width: 1,color:'rgb(1,235,239)'
|
||||
width: 1, color: 'rgb(1,235,239)'
|
||||
},
|
||||
|
||||
showSymbol: false,
|
||||
|
|
@ -615,7 +635,7 @@ export default {
|
|||
stack: 'Total',
|
||||
smooth: true,
|
||||
lineStyle: {
|
||||
width: 1,color:'rgb(250,205,0)'
|
||||
width: 1, color: 'rgb(250,205,0)'
|
||||
},
|
||||
showSymbol: false,
|
||||
areaStyle: {
|
||||
|
|
@ -651,14 +671,14 @@ export default {
|
|||
}
|
||||
},
|
||||
legend: {
|
||||
right:0,
|
||||
data:[
|
||||
right: 0,
|
||||
data: [
|
||||
{
|
||||
name:'棒',
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
name: '棒',
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
},
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
// color:'rgb(1,235,239)',
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
|
|
@ -671,11 +691,11 @@ export default {
|
|||
}])
|
||||
},
|
||||
}, {
|
||||
name:'管',
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
name: '管',
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
},
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
|
|
@ -701,10 +721,10 @@ export default {
|
|||
type: 'category',
|
||||
data: ['1月', '2月', '3月', '4月', '5月', '6月'],
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
}
|
||||
],
|
||||
|
|
@ -713,10 +733,10 @@ export default {
|
|||
name: "数量(个)",
|
||||
type: 'value',
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
|
|
@ -736,7 +756,7 @@ export default {
|
|||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
// color:'rgb(1,235,239)',
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
|
|
@ -748,18 +768,18 @@ export default {
|
|||
color: 'rgb(5, 158, 163)'
|
||||
}])
|
||||
},
|
||||
barWidth:15,
|
||||
barWidth: 15,
|
||||
data: [120, 132, 101, 134, 90, 230]
|
||||
},
|
||||
{
|
||||
name: '管',
|
||||
type: 'bar',
|
||||
stack: 'Ad',
|
||||
barWidth:20,
|
||||
barWidth: 20,
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
|
|
@ -785,14 +805,14 @@ export default {
|
|||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
right:0,
|
||||
right: 0,
|
||||
|
||||
data: [{
|
||||
name:'温度',
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
name: '温度',
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
},
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
// color:'rgb(1,235,239)',
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
|
|
@ -820,23 +840,23 @@ export default {
|
|||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: ['1', '2', '3', '4', '5', '6','7','8','9','10'],
|
||||
data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
|
||||
},
|
||||
yAxis: {
|
||||
name:'温度',
|
||||
name: '温度',
|
||||
type: 'value',
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
|
|
@ -852,8 +872,8 @@ export default {
|
|||
name: '温度',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
symbolSize:8, //设置折线上圆点大小
|
||||
symbol:'circle',
|
||||
symbolSize: 8, //设置折线上圆点大小
|
||||
symbol: 'circle',
|
||||
itemStyle: {
|
||||
// 设置symbol的颜色
|
||||
normal: {
|
||||
|
|
@ -869,7 +889,7 @@ export default {
|
|||
}
|
||||
},
|
||||
smooth: 0.5, // 设置折线弧度
|
||||
data: [10, 10, 0, 0, -10, -8, 0,10, 10, 0, 0, -10, -8, 0],
|
||||
data: [10, 10, 0, 0, -10, -8, 0, 10, 10, 0, 0, -10, -8, 0],
|
||||
lineStyle: {
|
||||
color: {
|
||||
type: 'linear',
|
||||
|
|
@ -909,10 +929,10 @@ export default {
|
|||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
right:0,
|
||||
right: 0,
|
||||
data: ['数量', '合格率'],
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
xAxis: [
|
||||
|
|
@ -923,10 +943,10 @@ export default {
|
|||
type: 'shadow'
|
||||
},
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
}
|
||||
],
|
||||
|
|
@ -937,10 +957,10 @@ export default {
|
|||
min: 0,
|
||||
interval: 50,
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
axisLabel: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
|
|
@ -959,10 +979,10 @@ export default {
|
|||
interval: 20,
|
||||
axisLabel: {
|
||||
formatter: '{value} %',
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
nameTextStyle: {
|
||||
color:'#ffffff'
|
||||
color: '#ffffff'
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
|
|
@ -983,9 +1003,9 @@ export default {
|
|||
return value;
|
||||
}
|
||||
},
|
||||
barWidth:15,
|
||||
barWidth: 15,
|
||||
data: [120, 132, 101, 134, 90, 230],
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
borderRadius: [5, 5, 0, 0],
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
|
|
@ -1005,21 +1025,21 @@ export default {
|
|||
// 255,120,0
|
||||
tooltip: {
|
||||
valueFormatter: function (value) {
|
||||
return value ;
|
||||
return value;
|
||||
}
|
||||
},
|
||||
symbol:'circle',
|
||||
symbolSize:8,
|
||||
symbol: 'circle',
|
||||
symbolSize: 8,
|
||||
itemStyle: {
|
||||
// 设置symbol的颜色
|
||||
normal: {
|
||||
color:'rgb(255,120,0)'
|
||||
color: 'rgb(255,120,0)'
|
||||
}
|
||||
},
|
||||
lineStyle:{
|
||||
color:'rgb(255,120,0)'
|
||||
lineStyle: {
|
||||
color: 'rgb(255,120,0)'
|
||||
},
|
||||
data:[50, 55, 40, 60, 38, 95]
|
||||
data: [50, 55, 40, 60, 38, 95]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
|
@ -1029,11 +1049,11 @@ export default {
|
|||
pieDom.style.height = this.blockHeight;
|
||||
let pieChart = echarts.init(pieDom);
|
||||
let pieoption = {
|
||||
color:['rgb(155,248,249)','rgb(248,189,118)','rgb(110,181,249)'],
|
||||
color: ['rgb(155,248,249)', 'rgb(248,189,118)', 'rgb(110,181,249)'],
|
||||
legend: {
|
||||
top: 'bottom',
|
||||
textStyle:{
|
||||
color:'#fff'
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
|
|
@ -1059,7 +1079,7 @@ export default {
|
|||
center: ['50%', '50%'],
|
||||
roseType: 'area',
|
||||
itemStyle: {
|
||||
borderRadius:2
|
||||
borderRadius: 2
|
||||
},
|
||||
data: [
|
||||
{ value: 40, name: '棒' },
|
||||
|
|
@ -1075,80 +1095,106 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style>
|
||||
.container{
|
||||
background:url('/public/img/photon_bg.png') no-repeat;
|
||||
background-size:cover;
|
||||
.container {
|
||||
background: url('/public/img/photon_bg.png') no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
.pageHeader{
|
||||
height:70px;
|
||||
|
||||
.pageHeader {
|
||||
height: 70px;
|
||||
font-size: 28px;
|
||||
background:none;
|
||||
border-bottom:none;
|
||||
position:relative;
|
||||
display:block;
|
||||
text-align:center;
|
||||
color:#ffffff;
|
||||
padding:1px;
|
||||
background:url('/public/img/photon_header.png') no-repeat;
|
||||
background-size:100% 100%;
|
||||
background: none;
|
||||
border-bottom: none;
|
||||
position: relative;
|
||||
display: block;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
padding: 1px;
|
||||
background: url('/public/img/photon_header.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.top-line{
|
||||
|
||||
.top-line {
|
||||
height: 1px;
|
||||
width: 3%;
|
||||
position: absolute;
|
||||
bottom: 13px;
|
||||
background: rgba(54, 217, 187, 1);
|
||||
}
|
||||
.top-line-left{
|
||||
|
||||
.top-line-left {
|
||||
left: 24%;
|
||||
}
|
||||
.top-line-right{
|
||||
|
||||
.top-line-right {
|
||||
right: 24%;
|
||||
}
|
||||
.flexItem{
|
||||
|
||||
.flexItem {
|
||||
/* padding:40px; */
|
||||
}
|
||||
.blockTitle{
|
||||
color:#fff;
|
||||
height:40px;
|
||||
padding-left:10px;
|
||||
font-size:16px;
|
||||
line-height:30px;
|
||||
background:url('/public/img/photon_title.png');
|
||||
|
||||
.blockTitle {
|
||||
color: #fff;
|
||||
height: 40px;
|
||||
padding-left: 10px;
|
||||
font-size: 16px;
|
||||
line-height: 30px;
|
||||
background: url('/public/img/photon_title.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.blockTitleIcon{
|
||||
width:20px;
|
||||
height:20px;
|
||||
margin-top:10px;margin-right:5px;
|
||||
display:inline-block;
|
||||
|
||||
.blockTitleIcon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-top: 10px;
|
||||
margin-right: 5px;
|
||||
display: inline-block;
|
||||
animation: rotate 3s infinite;
|
||||
transform-origin: center center;
|
||||
background:url('/public/img/photon_title_icon.png');
|
||||
background: url('/public/img/photon_title_icon.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
@keyframes rotate {
|
||||
0% { transform: rotate(0deg); }
|
||||
25% { transform: rotate(90deg); }
|
||||
50% { transform: rotate(180deg); }
|
||||
75% { transform: rotate(270deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
|
||||
25% {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.row-item{
|
||||
height:40px!important;
|
||||
line-height:40px!important;
|
||||
|
||||
50% {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.row-item {
|
||||
height: 40px !important;
|
||||
line-height: 40px !important;
|
||||
/* background-color:rgb(10,63,68)!important; */
|
||||
}
|
||||
#scrollTable>.hader{
|
||||
background:rgb(10,63,68)!important;
|
||||
background-color:#0a3f44!important;
|
||||
|
||||
#scrollTable>.hader {
|
||||
background: rgb(10, 63, 68) !important;
|
||||
background-color: #0a3f44 !important;
|
||||
}
|
||||
|
||||
.model {
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height:100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#renderCanvas {
|
||||
width: 100%;
|
||||
height: 100%
|
||||
|
|
@ -1166,17 +1212,18 @@ export default {
|
|||
}
|
||||
|
||||
.inforBlock {
|
||||
left:60%;
|
||||
top:30%;
|
||||
width:420px;
|
||||
height:150px;
|
||||
position:absolute;
|
||||
font-weight:500;
|
||||
color:#fff;
|
||||
padding:20px;
|
||||
font-size:14px;
|
||||
box-sizing:border-box;
|
||||
background: linear-gradient(to bottom left,rgba(25,154,118,.5),rgba(31,44,50,.5));
|
||||
left: 60%;
|
||||
top: 30%;
|
||||
width: 420px;
|
||||
height: 150px;
|
||||
position: absolute;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
padding: 20px;
|
||||
font-size: 14px;
|
||||
box-sizing: border-box;
|
||||
background: linear-gradient(to bottom left, rgba(25, 154, 118, .5), rgba(31, 44, 50, .5));
|
||||
|
||||
/* border:1px solid rgba(1,235,239,.2); */
|
||||
.border_corner {
|
||||
z-index: 2500;
|
||||
|
|
@ -1186,31 +1233,36 @@ export default {
|
|||
background: rgba(0, 0, 0, 0);
|
||||
border: 2px solid rgba(54, 217, 187, 1);
|
||||
}
|
||||
|
||||
.border_left_top {
|
||||
top: 0;
|
||||
left: 0;
|
||||
border-right: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.border_right_top {
|
||||
top: 0;
|
||||
right: 0;
|
||||
border-left: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.border_left_bottom {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
border-right: none;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.border_right_bottom {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
border-left: none;
|
||||
border-top: none;
|
||||
}
|
||||
.title{
|
||||
|
||||
.title {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
position: absolute;
|
||||
|
|
@ -1223,41 +1275,50 @@ export default {
|
|||
border-bottom: 3px solid green;
|
||||
padding: 0 5px 5px; */
|
||||
}
|
||||
.infoCantier{
|
||||
display:flex;
|
||||
.leftBlock{
|
||||
width:80px;
|
||||
margin-right:30px;
|
||||
|
||||
.infoCantier {
|
||||
display: flex;
|
||||
|
||||
.leftBlock {
|
||||
width: 80px;
|
||||
margin-right: 30px;
|
||||
}
|
||||
.rightBlock{
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
|
||||
.rightBlock {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
.countWrap{
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
width:280px;
|
||||
margin-top:10px
|
||||
|
||||
.countWrap {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 280px;
|
||||
margin-top: 10px
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.numberFont{
|
||||
font-size:22px;font-weight:bold;
|
||||
|
||||
.numberFont {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.numberUnit{
|
||||
font-size:12px;
|
||||
|
||||
.numberUnit {
|
||||
font-size: 12px;
|
||||
}
|
||||
#dashbordProcess .el-progress-circle{
|
||||
height: 60px!important;
|
||||
width: 60px!important;
|
||||
|
||||
#dashbordProcess .el-progress-circle {
|
||||
height: 60px !important;
|
||||
width: 60px !important;
|
||||
}
|
||||
|
||||
.el-progress--circle .el-progress__text {
|
||||
display: block;
|
||||
margin-top: 1px;
|
||||
color:#fff;
|
||||
font-size: 20px!important;
|
||||
font-weight: bold!important;
|
||||
}
|
||||
color: #fff;
|
||||
font-size: 20px !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -3,26 +3,19 @@
|
|||
<el-main id="topContainer" class="nopadding" style="position: relative;height: 50%;margin-bottom: 10px;">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="activeSpan" style="border-right: 1px solid #eeeeee;position: relative;">
|
||||
<div class="right-panel btnWrap" v-if="activeName=='8车间'||activeName=='退火'">
|
||||
<div class="right-panel btnWrap" v-if="activeName == '8车间' || activeName == '退火'">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="add">新增</el-button>
|
||||
</div>
|
||||
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
|
||||
<el-tab-pane label="混料工序" name="8车间">
|
||||
<scTable
|
||||
ref="table8"
|
||||
:apiObj="apiObjMlog"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeightHalf"
|
||||
:params="params8"
|
||||
hidePagination
|
||||
hideDo
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table8" :apiObj="apiObjMlog" row-key="id" stripe :height="tableHeightHalf" :params="params8"
|
||||
hidePagination hideDo>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="配料日期" prop="handle_date">
|
||||
</el-table-column>
|
||||
<el-table-column label="产物" prop="material" show-overflow-tooltip>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name }}</span>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备" prop="equipment_name">
|
||||
|
|
@ -37,59 +30,39 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="180">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_edit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'">
|
||||
编辑
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="addHandover(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="primary" @click="addHandover(scope.row)" v-auth="'equipment'">
|
||||
转交接单
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="danger"
|
||||
@click="table_del(scope.row,'8车间')"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="danger" @click="table_del(scope.row, '8车间')" v-auth="'equipment'">
|
||||
删除
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
<div class="tableTitle">交接记录</div>
|
||||
<scTable
|
||||
ref="table8"
|
||||
:apiObj="apiObjHandover"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeightHalf"
|
||||
:params="params82"
|
||||
hidePagination
|
||||
hideDo
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table8" :apiObj="apiObjHandover" row-key="id" stripe :height="tableHeightHalf"
|
||||
:params="params82" hidePagination hideDo @selection-change="handleSelectionChange">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column type="selection" width="40" />
|
||||
<el-table-column label="送料日期" prop="send_date">
|
||||
</el-table-column>
|
||||
<el-table-column label="产物" prop="material" show-overflow-tooltip>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name }}</span>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备" prop="equipment_name">
|
||||
</el-table-column>
|
||||
<el-table-column label="批次" prop="batch">
|
||||
</el-table-column>
|
||||
<el-table-column label="数量/桶数" prop="count_real">
|
||||
<el-table-column label="数量/桶数" prop="count">
|
||||
</el-table-column>
|
||||
<el-table-column label="每桶重量/kg" prop="count_real_eweight">
|
||||
<el-table-column label="每桶重量/kg" prop="count_eweight">
|
||||
</el-table-column>
|
||||
<el-table-column label="交送人" prop="send_user_name">
|
||||
</el-table-column>
|
||||
|
|
@ -97,19 +70,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="left">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="handover_edit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="primary" @click="handover_edit(scope.row)" v-auth="'equipment'">
|
||||
编辑
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="danger"
|
||||
@click="table_del(scope.row,'8车间')"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="danger" @click="table_del(scope.row, '8车间')" v-auth="'equipment'">
|
||||
删除
|
||||
</el-link>
|
||||
</template>
|
||||
|
|
@ -117,21 +82,14 @@
|
|||
</scTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="退火" name="退火">
|
||||
<scTable
|
||||
ref="table8"
|
||||
:apiObj="apiObjMlog"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeightHalf"
|
||||
:params="paramsth"
|
||||
hidePagination
|
||||
hideDo
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table8" :apiObj="apiObjMlog" row-key="id" stripe :height="tableHeightHalf" :params="paramsth"
|
||||
hidePagination hideDo>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="配料日期" prop="handle_date">
|
||||
</el-table-column>
|
||||
<el-table-column label="产物" prop="material" show-overflow-tooltip>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name }}</span>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备" prop="equipment_name">
|
||||
|
|
@ -146,19 +104,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="180">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_edit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'">
|
||||
编辑
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="danger"
|
||||
@click="table_del(scope.row,'8车间')"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="danger" @click="table_del(scope.row, '8车间')" v-auth="'equipment'">
|
||||
删除
|
||||
</el-link>
|
||||
</template>
|
||||
|
|
@ -172,17 +122,9 @@
|
|||
<el-button type="primary" icon="el-icon-plus" @click="addHandover2">新增</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<scTable
|
||||
ref="table8"
|
||||
:apiObj="apiObjHandover"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeightHalf"
|
||||
:params="params82"
|
||||
hidePagination
|
||||
hideDo
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table8" :apiObj="apiObjHandover" row-key="id" stripe :height="tableHeightHalf"
|
||||
:params="params82" hidePagination hideDo>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="交接日期" prop="send_date">
|
||||
</el-table-column>
|
||||
<el-table-column label="批次号" prop="batch" show-overflow-tooltip>
|
||||
|
|
@ -195,19 +137,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="180">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="editHandover2(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="primary" @click="editHandover2(scope.row)" v-auth="'equipment'">
|
||||
编辑
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="danger"
|
||||
@click="delHandover2(scope.row,'8车间')"
|
||||
v-auth="'equipment'"
|
||||
>
|
||||
<el-link type="danger" @click="delHandover2(scope.row, '8车间')" v-auth="'equipment'">
|
||||
删除
|
||||
</el-link>
|
||||
</template>
|
||||
|
|
@ -221,23 +155,15 @@
|
|||
<el-button type="primary" @click="getMaterial">领料</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<scTable
|
||||
ref="table8"
|
||||
:apiObj="apiObjMetarial"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeightHalf"
|
||||
:params="paramsMaterial"
|
||||
hidePagination
|
||||
hideDo
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table8" :apiObj="apiObjMetarial" row-key="id" stripe :height="tableHeightHalf"
|
||||
:params="paramsMaterial" hidePagination hideDo @selection-change="handleSelectionChange">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column type="selection" width="40" />
|
||||
<el-table-column label="送料日期" prop="send_date">
|
||||
</el-table-column>
|
||||
<el-table-column label="产物" prop="material" show-overflow-tooltip>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name }}</span>
|
||||
<template #default="scope"><span v-if="scope.row.material_out_">{{ scope.row.material_out_.name
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备" prop="equipment_name">
|
||||
|
|
@ -276,18 +202,9 @@
|
|||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="7车间" name="7车间">
|
||||
<scTable
|
||||
ref="table7"
|
||||
:apiObj="apiObjMtask"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeight"
|
||||
:params="params7"
|
||||
hidePagination
|
||||
hideDo
|
||||
@row-click="rowClick"
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table7" :apiObj="apiObjMtask" row-key="id" stripe :height="tableHeight" :params="params7"
|
||||
hidePagination hideDo @row-click="rowClick">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="产品名称" prop="material" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.material_out_">{{ scope.row.material_out_.name }}</span>
|
||||
|
|
@ -312,7 +229,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="状态" prop="state">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.state!==40" type="primary">
|
||||
<el-tag v-if="scope.row.state !== 40" type="primary">
|
||||
{{ state_[scope.row.state] }}
|
||||
</el-tag>
|
||||
<el-tag v-else type="success">
|
||||
|
|
@ -322,30 +239,17 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="60">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_submit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
:disabled="scope.row.state==40"
|
||||
>提交
|
||||
<el-link type="primary" @click="table_submit(scope.row)" v-auth="'equipment'"
|
||||
:disabled="scope.row.state == 40">提交
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="10车间" name="10车间">
|
||||
<scTable
|
||||
ref="table10"
|
||||
:apiObj="apiObjMtask"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="tableHeight"
|
||||
:params="params10"
|
||||
hidePagination
|
||||
hideDo
|
||||
@row-click="rowClick"
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<scTable ref="table10" :apiObj="apiObjMtask" row-key="id" stripe :height="tableHeight" :params="params10"
|
||||
hidePagination hideDo @row-click="rowClick">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="产品名称" prop="material" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.material_out_">{{ scope.row.material_out_.name }}</span>
|
||||
|
|
@ -367,7 +271,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="状态" prop="state">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.state!==40" type="primary">
|
||||
<el-tag v-if="scope.row.state !== 40" type="primary">
|
||||
{{ state_[scope.row.state] }}
|
||||
</el-tag>
|
||||
<el-tag v-else type="success">
|
||||
|
|
@ -377,12 +281,8 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="60">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_submit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
:disabled="scope.row.state==40"
|
||||
>提交
|
||||
<el-link type="primary" @click="table_submit(scope.row)" v-auth="'equipment'"
|
||||
:disabled="scope.row.state == 40">提交
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -390,18 +290,18 @@
|
|||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="activeName!=='8车间'&&activeName!=='退火'">
|
||||
<div v-if="activeName=='退火'" style="font-size:16px;padding:10px 0;border-bottom:1px solid #eeeeee">退火日志</div>
|
||||
<el-col :span="12" v-if="activeName !== '8车间' && activeName !== '退火'">
|
||||
<div v-if="activeName == '退火'" style="font-size:16px;padding:10px 0;border-bottom:1px solid #eeeeee">退火日志</div>
|
||||
<el-form v-else label-width="100px" style="border-bottom: 1px solid #eeeeee;padding: 4px 0;">
|
||||
<el-row>
|
||||
<el-col :md="8" :sm="12" :xs="24">
|
||||
<el-form-item class="infoForm" label="产品名称:">
|
||||
<span v-if="choseData&&choseData.material_out_">{{ choseData.material_out_.name }}</span>
|
||||
<span v-if="choseData && choseData.material_out_">{{ choseData.material_out_.name }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="8" :sm="12" :xs="24">
|
||||
<el-form-item class="infoForm" label="产品型号:">
|
||||
<span v-if="choseData&&choseData.material_out_">{{ choseData.material_out_.number }}</span>
|
||||
<span v-if="choseData && choseData.material_out_">{{ choseData.material_out_.number }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="8" :sm="12" :xs="24">
|
||||
|
|
@ -425,19 +325,13 @@
|
|||
</el-row>
|
||||
</el-form>
|
||||
<div style="margin-top: 10px;">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="add" :disabled="choseData&&choseData.state==40">新增</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="add"
|
||||
:disabled="choseData && choseData.state == 40">新增</el-button>
|
||||
</div>
|
||||
<!-- 7车间 -->
|
||||
<scTable
|
||||
ref="table"
|
||||
:data="flogs"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="rightHeight"
|
||||
:params="query"
|
||||
v-if="activeName=='7车间'"
|
||||
>
|
||||
<el-table-column type="index" width="40"/>
|
||||
<scTable ref="table" :data="flogs" row-key="id" stripe :height="rightHeight" :params="query"
|
||||
v-if="activeName == '7车间'">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column label="锅号" prop="equipment_name">
|
||||
</el-table-column>
|
||||
<el-table-column label="产品名称" prop="material_out_">
|
||||
|
|
@ -456,7 +350,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="合格率" prop="count">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.count_ok/scope.row.count_real }}</span>
|
||||
<span>{{ scope.row.count_ok / scope.row.count_real }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="不合格原因及数量" align="center">
|
||||
|
|
@ -483,34 +377,19 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="100" align="center">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_edit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
:disabled="choseData.state==40"
|
||||
>编辑
|
||||
<el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'"
|
||||
:disabled="choseData.state == 40">编辑
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_del(scope.row)"
|
||||
:disabled="choseData.state==40"
|
||||
>删除
|
||||
<el-link type="primary" @click="table_del(scope.row)" :disabled="choseData.state == 40">删除
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
<!-- 10车间 -->
|
||||
<scTable
|
||||
ref="table"
|
||||
:data="flogs"
|
||||
row-key="id"
|
||||
stripe
|
||||
:height="rightHeight"
|
||||
:params="query"
|
||||
v-if="activeName=='10车间'"
|
||||
>
|
||||
<el-table-column type="index" width="40"/>
|
||||
<scTable ref="table" :data="flogs" row-key="id" stripe :height="rightHeight" :params="query"
|
||||
v-if="activeName == '10车间'">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column label="班次" prop="shift_name">
|
||||
</el-table-column>
|
||||
<el-table-column label="出管总数" prop="count_real">
|
||||
|
|
@ -527,7 +406,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="合格率" prop="count">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.count_ok/scope.row.count_real }}</span>
|
||||
<span>{{ scope.row.count_ok / scope.row.count_real }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="不合格原因及数量" align="center">
|
||||
|
|
@ -554,19 +433,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="100" align="center">
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
type="primary"
|
||||
@click="table_edit(scope.row)"
|
||||
v-auth="'equipment'"
|
||||
:disabled="choseData.state==40"
|
||||
>编辑
|
||||
<el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'"
|
||||
:disabled="choseData.state == 40">编辑
|
||||
</el-link>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-link
|
||||
type="primary"
|
||||
:disabled="choseData.state==40"
|
||||
@click="table_del(scope.row)"
|
||||
>删除
|
||||
<el-link type="primary" :disabled="choseData.state == 40" @click="table_del(scope.row)">删除
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -574,45 +445,24 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-main>
|
||||
<save-dialog
|
||||
v-if="dialog.save"
|
||||
ref="saveDialog"
|
||||
:mtask = "mtask"
|
||||
:brothersList="brothersList"
|
||||
:activeType = "activeName"
|
||||
@success="handleSaveSuccess"
|
||||
@closed="dialog.save = false"
|
||||
></save-dialog>
|
||||
<save-dialog v-if="dialog.save" ref="saveDialog" :mtask="mtask" :brothersList="brothersList" :activeType="activeName"
|
||||
@success="handleSaveSuccess" @closed="dialog.save = false"></save-dialog>
|
||||
|
||||
<handover-dialog
|
||||
v-if="dialog.handover"
|
||||
ref="handoverDialog2"
|
||||
@success="handleSuccess"
|
||||
@closed="dialog.handover = false"
|
||||
></handover-dialog>
|
||||
<el-dialog
|
||||
title="交接单"
|
||||
ref="handoverDialog"
|
||||
v-model="handoverVisible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="handoverVisible = false"
|
||||
>
|
||||
<handover-dialog v-if="dialog.handover" ref="handoverDialog2" @success="handleSuccess"
|
||||
@closed="dialog.handover = false"></handover-dialog>
|
||||
<el-dialog title="交接单" ref="handoverDialog" v-model="handoverVisible" :size="1000" destroy-on-close
|
||||
@closed="handoverVisible = false">
|
||||
<el-form ref="dialogForm" :model="handoverForm" :rules="rules" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="送料日期" prop="send_date">
|
||||
<el-date-picker
|
||||
v-model="handoverForm.send_date"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width:100%"
|
||||
/>
|
||||
<el-date-picker v-model="handoverForm.send_date" type="date" value-format="YYYY-MM-DD" style="width:100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="接收部门" prop="recive_dept">
|
||||
<el-select v-model="handoverForm.recive_dept" placeholder="接收部门" clearable style="width:100%" @change="getUserList2">
|
||||
<el-select v-model="handoverForm.recive_dept" placeholder="接收部门" clearable style="width:100%"
|
||||
@change="getUserList2">
|
||||
<el-option v-for="item in group" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
|
@ -626,35 +476,15 @@
|
|||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="接收人" prop="recive_user">
|
||||
<el-select
|
||||
v-model="handoverForm.recive_user"
|
||||
placeholder="接收人"
|
||||
clearable
|
||||
style="width:100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList2"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-select v-model="handoverForm.recive_user" placeholder="接收人" clearable style="width:100%">
|
||||
<el-option v-for="item in userList2" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="交送人" prop="send_user">
|
||||
<el-select
|
||||
v-model="handoverForm.send_user"
|
||||
placeholder="交送人"
|
||||
clearable
|
||||
style="width:100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-select v-model="handoverForm.send_user" placeholder="交送人" clearable style="width:100%">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -668,14 +498,14 @@
|
|||
</el-container>
|
||||
</template>
|
||||
<script>
|
||||
import {generateExcel} from "@/utils/exportExcel.js";
|
||||
import { generateExcel } from "@/utils/exportExcel.js";
|
||||
import saveDialog from "./worktask_form.vue";
|
||||
import handoverDialog from "./handover_form.vue";
|
||||
import GanttComponent from '@/components/GanttComponent.vue';
|
||||
export default {
|
||||
name: "rparty",
|
||||
components: {
|
||||
GanttComponent,saveDialog,handoverDialog
|
||||
GanttComponent, saveDialog, handoverDialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -684,34 +514,34 @@ export default {
|
|||
projectId: '',
|
||||
tasks: {
|
||||
data: [
|
||||
{number:'GZ20231012',model:'GB2',cate:'100*50*2',count:300,text: "一天任务",start_date: "2023-10-12",id:'2023101800',duration: 2,progress: 1},
|
||||
{number:'GZ20231013',model:'GB2',cate:'100*50*2',count:300,text: "一天任务",start_date: "2023-10-13",id:'2023101801',duration: 1,progress: 1},
|
||||
{number:'GZ20231014',model:'GB2',cate:'100*50*2',count:200, text: "一天任务",start_date: "2023-10-14",id:'2023101802',duration: 1,progress: 0.8},
|
||||
{number:'GZ20231015',model:'ZB2',cate:'100*50*2',count:100, text: "一天任务", start_date: "2023-10-15",id:'2023101803',duration: 1,progress: 0.6},
|
||||
{ number: 'GZ20231012', model: 'GB2', cate: '100*50*2', count: 300, text: "一天任务", start_date: "2023-10-12", id: '2023101800', duration: 2, progress: 1 },
|
||||
{ number: 'GZ20231013', model: 'GB2', cate: '100*50*2', count: 300, text: "一天任务", start_date: "2023-10-13", id: '2023101801', duration: 1, progress: 1 },
|
||||
{ number: 'GZ20231014', model: 'GB2', cate: '100*50*2', count: 200, text: "一天任务", start_date: "2023-10-14", id: '2023101802', duration: 1, progress: 0.8 },
|
||||
{ number: 'GZ20231015', model: 'ZB2', cate: '100*50*2', count: 100, text: "一天任务", start_date: "2023-10-15", id: '2023101803', duration: 1, progress: 0.6 },
|
||||
]
|
||||
},
|
||||
dialog: {
|
||||
save: false,
|
||||
handover:false
|
||||
handover: false
|
||||
},
|
||||
handoverVisible:false,
|
||||
handoverVisible: false,
|
||||
// apiObj: this.$API.pm.mtask.list,
|
||||
params7:{
|
||||
belong_dept_name:'7车间',
|
||||
date:'2023-10-24'
|
||||
params7: {
|
||||
belong_dept_name: '7车间',
|
||||
date: '2023-10-24'
|
||||
},
|
||||
params10: {
|
||||
belong_dept_name:'10车间',
|
||||
date:'2023-10-20'
|
||||
belong_dept_name: '10车间',
|
||||
date: '2023-10-20'
|
||||
},
|
||||
params8:{
|
||||
mgroup__belong_dept__name:'8车间',
|
||||
params8: {
|
||||
mgroup__belong_dept__name: '8车间',
|
||||
},
|
||||
params82:{
|
||||
send_dept__name:'8车间',
|
||||
params82: {
|
||||
send_dept__name: '8车间',
|
||||
},
|
||||
paramsth:{
|
||||
belong_dept_name:'8车间',
|
||||
paramsth: {
|
||||
belong_dept_name: '8车间',
|
||||
},
|
||||
apiObjMlog: null,
|
||||
apiObjHandover: null,
|
||||
|
|
@ -719,19 +549,19 @@ export default {
|
|||
apiObjMtask: null,
|
||||
|
||||
apiObj: null,
|
||||
apiObjMetarial:this.$API.wpm.wmaterial.list,
|
||||
paramsMaterial:{belong_dept__name:'8车间',page:0},
|
||||
form:{},
|
||||
handoverForm:{},
|
||||
flogs:[],
|
||||
selectedIds:[],
|
||||
flogsData: [{id: 1, name: 'John Doe', dob: new Date(1970,1,1)}],
|
||||
columns : [
|
||||
apiObjMetarial: this.$API.wpm.wmaterial.list,
|
||||
paramsMaterial: { belong_dept__name: '8车间', page: 0 },
|
||||
form: {},
|
||||
handoverForm: {},
|
||||
flogs: [],
|
||||
selectedIds: [],
|
||||
flogsData: [{ id: 1, name: 'John Doe', dob: new Date(1970, 1, 1) }],
|
||||
columns: [
|
||||
{ header: 'Id', key: 'id', wpx: 40 },
|
||||
{ header: 'Name', key: 'name', wch: 15 },
|
||||
{ header: 'D.O.B.', key: 'dob', width: 32 }
|
||||
],
|
||||
activeName:'8车间',
|
||||
activeName: '8车间',
|
||||
selection: [],
|
||||
state_: {
|
||||
10: '创建中',
|
||||
|
|
@ -739,45 +569,45 @@ export default {
|
|||
30: '生产中',
|
||||
40: '已提交',
|
||||
},
|
||||
choseData:{},
|
||||
mtask:'',
|
||||
activeSpan:24,
|
||||
rightHeight:null,
|
||||
tableHeight:null,
|
||||
tableHeightHalf:null,
|
||||
formList:[
|
||||
choseData: {},
|
||||
mtask: '',
|
||||
activeSpan: 24,
|
||||
rightHeight: null,
|
||||
tableHeight: null,
|
||||
tableHeightHalf: null,
|
||||
formList: [
|
||||
{
|
||||
count1:0,
|
||||
count2:0,
|
||||
rate:0,
|
||||
count_no1:0,
|
||||
count_no2:0,
|
||||
count_no3:0,
|
||||
count_noall:0,
|
||||
material:0,
|
||||
count1: 0,
|
||||
count2: 0,
|
||||
rate: 0,
|
||||
count_no1: 0,
|
||||
count_no2: 0,
|
||||
count_no3: 0,
|
||||
count_noall: 0,
|
||||
material: 0,
|
||||
}
|
||||
],
|
||||
peifen_kg:0,
|
||||
userList:[],
|
||||
userList2:[],
|
||||
brothersList:[]
|
||||
peifen_kg: 0,
|
||||
userList: [],
|
||||
userList2: [],
|
||||
brothersList: []
|
||||
};
|
||||
},
|
||||
created() {
|
||||
//清空gantt数据
|
||||
gantt.clearAll();
|
||||
},
|
||||
mounted(){
|
||||
mounted() {
|
||||
let heights = document.getElementById('topContainer').clientHeight;
|
||||
console.log('heights',heights)
|
||||
this.tableHeight = (heights-50)+'px';
|
||||
this.tableHeightHalf = (heights-100)/2+'px';
|
||||
let rightHeight = heights-100;
|
||||
this.rightHeight = rightHeight/2+'px';
|
||||
console.log('heights', heights)
|
||||
this.tableHeight = (heights - 50) + 'px';
|
||||
this.tableHeightHalf = (heights - 100) / 2 + 'px';
|
||||
let rightHeight = heights - 100;
|
||||
this.rightHeight = rightHeight / 2 + 'px';
|
||||
let NowDate = new Date();
|
||||
let month = NowDate.getMonth()>8?NowDate.getMonth()+1:'0'+(NowDate.getMonth()+1)
|
||||
this.params7.date = NowDate.getFullYear()+'-'+(NowDate.getMonth()+1)+'-'+NowDate.getDate();
|
||||
this.params10.date = NowDate.getFullYear()+'-'+(NowDate.getMonth()+1)+'-'+NowDate.getDate();
|
||||
let month = NowDate.getMonth() > 8 ? NowDate.getMonth() + 1 : '0' + (NowDate.getMonth() + 1)
|
||||
this.params7.date = NowDate.getFullYear() + '-' + (NowDate.getMonth() + 1) + '-' + NowDate.getDate();
|
||||
this.params10.date = NowDate.getFullYear() + '-' + (NowDate.getMonth() + 1) + '-' + NowDate.getDate();
|
||||
this.apiObjMtask = this.$API.pm.mtask.daylist;
|
||||
this.apiObjMlog = this.$API.wpm.mlog.list;
|
||||
this.apiObjHandover = this.$API.wpm.handover.list;
|
||||
|
|
@ -791,33 +621,33 @@ export default {
|
|||
this.group = res;
|
||||
});
|
||||
},
|
||||
getUserList(){
|
||||
getUserList() {
|
||||
let that = this;
|
||||
this.$API.system.user.list.req({belong_dept__name:this.activeName,page:0}).then(res=>{
|
||||
this.$API.system.user.list.req({ belong_dept__name: this.activeName, page: 0 }).then(res => {
|
||||
that.userList = res;
|
||||
});
|
||||
},
|
||||
getUserList2(){
|
||||
getUserList2() {
|
||||
let that = this;
|
||||
this.$API.system.user.list.req({belong_dept:this.handoverForm.recive_dept,page:0}).then(res=>{
|
||||
this.$API.system.user.list.req({ belong_dept: this.handoverForm.recive_dept, page: 0 }).then(res => {
|
||||
that.userList2 = res;
|
||||
});
|
||||
},
|
||||
handleClick(val){
|
||||
handleClick(val) {
|
||||
console.log(val.index);
|
||||
if(val.index==0||val.index==1){
|
||||
if (val.index == 0 || val.index == 1) {
|
||||
this.activeSpan = 24
|
||||
}else{
|
||||
} else {
|
||||
this.activeSpan = 12
|
||||
}
|
||||
this.choseData = null;
|
||||
this.flogs = [];
|
||||
},
|
||||
table_submit(row){
|
||||
table_submit(row) {
|
||||
let obj = {};
|
||||
obj.ids = [];
|
||||
obj.ids.push(row.id);
|
||||
this.$API.pm.mtask.submit.req(obj).then(res=>{
|
||||
this.$API.pm.mtask.submit.req(obj).then(res => {
|
||||
debugger;
|
||||
})
|
||||
},
|
||||
|
|
@ -834,18 +664,18 @@ export default {
|
|||
},
|
||||
//添加
|
||||
add() {
|
||||
if(this.activeName=='8车间'||this.activeName=='退火'){
|
||||
if (this.activeName == '8车间' || this.activeName == '退火') {
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("add");
|
||||
});
|
||||
}else{
|
||||
if(this.choseData&&this.choseData.id){
|
||||
} else {
|
||||
if (this.choseData && this.choseData.id) {
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("add");
|
||||
});
|
||||
}else{
|
||||
} else {
|
||||
this.$message.warning("请选择任务");
|
||||
}
|
||||
}
|
||||
|
|
@ -865,7 +695,7 @@ export default {
|
|||
});
|
||||
},
|
||||
//删除
|
||||
async table_del(row,type) {
|
||||
async table_del(row, type) {
|
||||
this.$confirm(`确定删除吗?`, "提示", {
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
|
|
@ -875,16 +705,16 @@ export default {
|
|||
}).catch((err) => {
|
||||
return err;
|
||||
});
|
||||
}).catch(() => {});
|
||||
}).catch(() => { });
|
||||
},
|
||||
rowClick(row){
|
||||
rowClick(row) {
|
||||
this.choseData = row;
|
||||
this.mtask = row.id;
|
||||
this.$API.wpm.mlog.list.req({mtask:row.id,page:0}).then(res=>{
|
||||
this.$API.wpm.mlog.list.req({ mtask: row.id, page: 0 }).then(res => {
|
||||
this.flogs = res;
|
||||
})
|
||||
this.$TOOL.data.set("MATERIAL_OBJECT", row.material_out_);
|
||||
if(this.activeName == '10车间'){
|
||||
if (this.activeName == '10车间') {
|
||||
this.brothersList = [];
|
||||
this.brothersList = row.material_out_.brothers;
|
||||
}
|
||||
|
|
@ -895,19 +725,19 @@ export default {
|
|||
this.$refs.table8.refresh();
|
||||
this.$refs.table10.refresh();
|
||||
},
|
||||
handleSuccess(){
|
||||
handleSuccess() {
|
||||
|
||||
},
|
||||
handleQuery() {
|
||||
// this.$refs.table.queryData(this.query)
|
||||
debugger;
|
||||
generateExcel(this.columns,this.flogsData,'测试')
|
||||
generateExcel(this.columns, this.flogsData, '测试')
|
||||
},
|
||||
resetQuery() {
|
||||
this.query = {};
|
||||
},
|
||||
//从生产日志生成交接记录
|
||||
addHandover(row){
|
||||
addHandover(row) {
|
||||
this.handoverForm.send_date = '';
|
||||
this.handoverForm.mlog = row.id;
|
||||
this.handoverForm.batch = row.batch;
|
||||
|
|
@ -919,7 +749,7 @@ export default {
|
|||
this.handoverForm.recive_user = '';
|
||||
this.handoverVisible = true;
|
||||
},
|
||||
addHandover2(){
|
||||
addHandover2() {
|
||||
let that = this;
|
||||
that.dialog.handover = true;
|
||||
that.$nextTick(() => {
|
||||
|
|
@ -933,7 +763,7 @@ export default {
|
|||
this.$refs.handoverDialog2.open("edit").setData(row);
|
||||
});
|
||||
},
|
||||
delHandover2(row){
|
||||
delHandover2(row) {
|
||||
this.$confirm(`确定删除吗?`, "提示", {
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
|
|
@ -943,68 +773,73 @@ export default {
|
|||
}).catch((err) => {
|
||||
return err;
|
||||
});
|
||||
}).catch(() => {});
|
||||
}).catch(() => { });
|
||||
},
|
||||
handover_edit(row){
|
||||
handover_edit(row) {
|
||||
Object.assign(this.handoverForm, row);
|
||||
this.getUserList2();
|
||||
console.log('this.handoverVisible:',this.handoverForm)
|
||||
console.log('this.handoverVisible:', this.handoverForm)
|
||||
this.handoverVisible = true;
|
||||
},
|
||||
submitHandover(){
|
||||
this.$API.wpm.handover.create.req(this.handoverForm).then(res=>{
|
||||
submitHandover() {
|
||||
this.$API.wpm.handover.create.req(this.handoverForm).then(res => {
|
||||
|
||||
})
|
||||
},
|
||||
handleSelectionChange(selection){
|
||||
handleSelectionChange(selection) {
|
||||
this.selectedIds = [];
|
||||
selection.forEach(item => {
|
||||
this.selectedIds.push(item.id)
|
||||
});
|
||||
},
|
||||
submitMaterialCount(){
|
||||
submitMaterialCount() {
|
||||
let obj = {};
|
||||
obj = this.choseData;
|
||||
obj.peifen_kg = this.peifen_kg;
|
||||
this.$API.pm.mtask.update.req(this.mtask,obj).then(res=>{
|
||||
this.$API.pm.mtask.update.req(this.mtask, obj).then(res => {
|
||||
console.log('配粉料数');
|
||||
})
|
||||
},
|
||||
getMaterial(){
|
||||
getMaterial() {
|
||||
this.$router.push({ name: "mio" })
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.btnWrap{
|
||||
.btnWrap {
|
||||
display: inline-block;
|
||||
position:absolute;
|
||||
right:20px;
|
||||
margin-top:4px;
|
||||
z-index:100
|
||||
}
|
||||
.el-main.nopadding{
|
||||
padding:0 20px 0 20px
|
||||
}
|
||||
.gantt-container {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
margin-top: 4px;
|
||||
z-index: 100
|
||||
}
|
||||
|
||||
.el-main.nopadding {
|
||||
padding: 0 20px 0 20px
|
||||
}
|
||||
|
||||
.gantt-container {
|
||||
height: 30%;
|
||||
}
|
||||
.ganntClass {
|
||||
}
|
||||
|
||||
.ganntClass {
|
||||
background-color: #fff;
|
||||
padding: 10px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.cateItem{
|
||||
}
|
||||
|
||||
.cateItem {
|
||||
justify-content: space-between;
|
||||
display:flex;
|
||||
border-bottom:1px solid #eeeeee;
|
||||
}
|
||||
.tableTitle{
|
||||
height:40px;
|
||||
display: flex;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
.tableTitle {
|
||||
height: 40px;
|
||||
font-size: 16px;
|
||||
padding-top: 5px;
|
||||
margin-top: 10px;
|
||||
border-top: 1px solid rgb(238, 238, 238);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in New Issue