fix: 大屏及部分bug修复

This commit is contained in:
caoqianming 2023-11-13 08:51:08 +08:00
parent 155a4c7b7e
commit 283321f238
6 changed files with 1541 additions and 1598 deletions

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

View File

@ -1,17 +1,17 @@
<template> <template>
<el-container class="dashboard"> <el-container class="dashboard">
<el-header class="header"> <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-header>
<el-main> <el-main>
<el-row style="height: 60%" :gutter="10"> <el-row style="height: 60%" :gutter="10">
<el-col :xs="24" :md="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"> <el-col :xs="8" :md="8">
<div class="box"> <div class="box">
<div class="boxtitle bgimg"> <div class="boxtitle bgimg">
<div class="boxlabel"></div> <div style="margin-left: 6px; font-size: 18px; margin-top: 6px">今日任务</div>
<div>今日任务</div>
</div> </div>
<div style="height: 4px;"></div> <div style="height: 4px;"></div>
<div class="boxmain flex_center bigdata border"> <div class="boxmain flex_center bigdata border">
@ -24,8 +24,7 @@
<el-col :xs="8" :md="8"> <el-col :xs="8" :md="8">
<div class="box"> <div class="box">
<div class="boxtitle bgimg"> <div class="boxtitle bgimg">
<div class="boxlabel"></div> <div style="margin-left: 6px; font-size: 18px; margin-top: 6px">昨日合格</div>
<div>昨日合格</div>
</div> </div>
<div style="height: 4px;"></div> <div style="height: 4px;"></div>
<!-- <dv-decoration-9 style="height:11rem; width: 11rem;margin:auto;"> <!-- <dv-decoration-9 style="height:11rem; width: 11rem;margin:auto;">
@ -38,8 +37,7 @@
<el-col :xs="8" :md="8"> <el-col :xs="8" :md="8">
<div class="box"> <div class="box">
<div class="boxtitle bgimg"> <div class="boxtitle bgimg">
<div class="boxlabel"></div> <div style="margin-left: 6px; font-size: 18px; margin-top: 6px">累计合格</div>
<div>累计合格</div>
</div> </div>
<div style="height: 4px;"></div> <div style="height: 4px;"></div>
<!-- <dv-decoration-9 style="height:11rem; width: 11rem;margin:auto;"> <!-- <dv-decoration-9 style="height:11rem; width: 11rem;margin:auto;">
@ -51,14 +49,15 @@
</el-col> </el-col>
</el-row> </el-row>
<div style="height:2%"></div> <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-row style="height:60%">
<el-col> <el-col>
<div class="box"> <div class="box">
<div class="boxtitle"> <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> </div>
<div style="height: 2px;"></div>
<div class="boxmain"> <div class="boxmain">
<dv-scroll-board :config="taskBoard" style="width:100%;height:100%" <dv-scroll-board :config="taskBoard" style="width:100%;height:100%"
@mouseover="mouseoverHandler" @click="clickHandler" /> @mouseover="mouseoverHandler" @click="clickHandler" />
@ -129,7 +128,7 @@
<el-col :xs="24" :md="14"> <el-col :xs="24" :md="14">
<div class="box" :dur="20"> <div class="box" :dur="20">
<div class="boxtitle"> <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>
<div style="height: 2px;"></div> <div style="height: 2px;"></div>
<div class="boxmain"> <div class="boxmain">
@ -198,7 +197,7 @@
<el-col :xs="24" :md="9"> <el-col :xs="24" :md="9">
<div class="box"> <div class="box">
<div class="boxtitle"> <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>
<div class="boxmain" id="chart1"> <div class="boxmain" id="chart1">
</div> </div>
@ -207,7 +206,7 @@
<el-col :xs="24" :md="9"> <el-col :xs="24" :md="9">
<div class="box"> <div class="box">
<div class="boxtitle"> <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>
<div class="boxmain" id="chart2"> <div class="boxmain" id="chart2">
</div> </div>
@ -216,7 +215,7 @@
<el-col :xs="24" :md="6"> <el-col :xs="24" :md="6">
<div class="box"> <div class="box">
<div class="boxtitle"> <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>
<div class="boxmain" id="chart3"> <div class="boxmain" id="chart3">
</div> </div>
@ -231,7 +230,7 @@
background-image: url("https://cdn-upload.datav.aliyun.com/upload/download/1678758744858-EWBrlDVf.jpg"); background-image: url("https://cdn-upload.datav.aliyun.com/upload/download/1678758744858-EWBrlDVf.jpg");
/* url("/public/img/bg.jpg"); */ /* url("/public/img/bg.jpg"); */
color: #fff; color: #fff;
font-family: "微软雅黑" !important; font-family: "Microsoft Yahei" !important;
} }
.header { .header {
@ -239,8 +238,13 @@
border-bottom: none; border-bottom: none;
/* background: url("https://cdn-upload.datav.aliyun.com/upload/download/1675143770257-pNifja_p.webp"); */ /* background: url("https://cdn-upload.datav.aliyun.com/upload/download/1675143770257-pNifja_p.webp"); */
background-size: 100% 100%; background-size: 100% 100%;
font-size: 28px; font-size: 26px;
justify-content: center; display: block;
height: 80px;
color: rgb(149, 255, 255);
font-family: 'Microsoft Yahei';
text-align: center;
padding: 12px 0px;
} }
@ -265,7 +269,7 @@
.bgimg { .bgimg {
background-image: url('https://cdn-upload.datav.aliyun.com/upload/download/1678762309227-E6RP8z2R.png'); background-image: url('https://cdn-upload.datav.aliyun.com/upload/download/1678762309227-E6RP8z2R.png');
background-size: 100% 100%; background-size: 140% 100%;
} }
.boxlabel { .boxlabel {
@ -329,7 +333,7 @@ export default {
data() { data() {
return { return {
basicOption: { basicOption: {
// backgroundColor: '', backgroundColor: '',
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
axisPointer: { axisPointer: {
@ -576,7 +580,33 @@ export default {
chart2Option.series[0].type = 'line' chart2Option.series[0].type = 'line'
chart2Option.series[1].type = 'line' chart2Option.series[1].type = 'line'
let chart2 = this.setChart("chart2", chart2Option) 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) let chart3 = this.setChart("chart3", chart3Option)
}, },

View File

@ -66,7 +66,8 @@
</div> </div>
</el-col> </el-col>
<el-col :span="12" class="panel_item"> <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"> <div class="pannel_number">
<span class="panel_value">{{ sectionData.total_production }}</span> <span class="panel_value">{{ sectionData.total_production }}</span>
<span class="panel_unit">(t)</span> <span class="panel_unit">(t)</span>
@ -326,8 +327,10 @@ export default {
methods: { methods: {
// Class // Class
bindClass(type) { bindClass(type) {
let classInfo = { socketDom: true, redColor: false, let classInfo = {
orangeColor:false, yellowColor:false, blueColor:true } socketDom: true, redColor: false,
orangeColor: false, yellowColor: false, blueColor: true
}
if (type == '') { if (type == '') {
classInfo.redColor = true classInfo.redColor = true
} }
@ -1181,23 +1184,30 @@ header {
justify-content: center; justify-content: center;
font-size: 30px; font-size: 30px;
} }
.left_main,.right_main {
.left_main,
.right_main {
z-index: 10; z-index: 10;
position: absolute; position: absolute;
top: 40px; top: 40px;
width: 20%; width: 20%;
} }
.right_main { .right_main {
right: 0; right: 0;
} }
.left_other,.right_other {
.left_other,
.right_other {
position: absolute; position: absolute;
top: 240px; top: 240px;
width: 20%; width: 20%;
} }
.right_other { .right_other {
right: 0 right: 0
} }
.panel { .panel {
padding: 4px 8px; padding: 4px 8px;
overflow: auto; overflow: auto;
@ -1209,6 +1219,7 @@ header {
border: 1px solid transparent; border: 1px solid transparent;
margin: 6px 6px; margin: 6px 6px;
} }
.panel_title { .panel_title {
height: 30px; height: 30px;
margin-bottom: 4px; margin-bottom: 4px;
@ -1216,24 +1227,29 @@ header {
font-weight: bold; font-weight: bold;
color: #fff; color: #fff;
} }
.panel_item { .panel_item {
color: #fff; color: #fff;
padding: 6px; padding: 6px;
background: linear-gradient(40deg, rgba(11, 101, 140, 0.451), rgba(0, 34, 48, 0.335)); background: linear-gradient(40deg, rgba(11, 101, 140, 0.451), rgba(0, 34, 48, 0.335));
} }
.panel_label { .panel_label {
font-size: 16px; font-size: 16px;
margin-bottom: 6px; margin-bottom: 6px;
} }
.pannel_number { .pannel_number {
position: relative; position: relative;
} }
.panel_value { .panel_value {
padding-left: 1em; padding-left: 1em;
font-size: 22px; font-size: 22px;
font-weight: bold; font-weight: bold;
text-align: right; text-align: right;
} }
.panel_unit { .panel_unit {
right: 5px; right: 5px;
color: #aebfe9; color: #aebfe9;
@ -1241,10 +1257,12 @@ header {
text-align: right; text-align: right;
position: absolute; position: absolute;
} }
.chart { .chart {
width: 100%; width: 100%;
height: 220px; height: 220px;
} }
.dropdown { .dropdown {
/* top: 20%; /* top: 20%;
font-size: 18px; font-size: 18px;
@ -1281,6 +1299,7 @@ header {
line-height: 3.7vw; line-height: 3.7vw;
margin: 0 0.1vw 0.1vw 0.1vw; margin: 0 0.1vw 0.1vw 0.1vw;
} }
.dropdown-item:hover, .dropdown-item:hover,
.dropdown-item.active { .dropdown-item.active {
/* background-color: #ddd; */ /* background-color: #ddd; */
@ -1295,6 +1314,4 @@ header {
text-align: center; text-align: center;
background: url(./../../../public/img/menu_active.png) no-repeat; background: url(./../../../public/img/menu_active.png) no-repeat;
background-size: 100%; background-size: 100%;
} }</style>
</style>

View File

@ -7,22 +7,28 @@
</el-header> </el-header>
<el-main style="padding:0" id="mainBlock"> <el-main style="padding:0" id="mainBlock">
<el-row style="height:100%"> <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 style="display:flex;flex-direction: column;height:100%;padding:20px">
<div class="flexItem" style="flex:1"> <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 id="line1" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
</div> </div>
<div class="flexItem" style="flex:1"> <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 id="bar1" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
</div> </div>
<div class="flexItem" style="flex:1"> <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 id="line2" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
</div> </div>
</div> </div>
</div> --> </div>
<el-col :span="24"> <el-col :span="24">
<div class="model"> <div class="model">
<div id="loadingScreen"> <div id="loadingScreen">
@ -36,22 +42,29 @@
<canvas id="renderCanvas"></canvas> <canvas id="renderCanvas"></canvas>
</div> </div>
</el-col> </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 style="display:flex;flex-direction: column;height:100%;padding:20px">
<div class="flexItem" style="flex:1"> <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 id="pie" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
</div> </div>
<div class="flexItem" style="flex:1"> <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 id="line3" style="width:100%;height:92%;background:rgba(50,144,118,.1)"></div>
</div> </div>
<div class="flexItem" style="flex:1"> <div class="flexItem" style="flex:1">
<div class="blockTitle"><div class="blockTitleIcon"></div>模块六</div> <div class="blockTitle">
<dv-scroll-board id="scrollTable" :config="taskBoard" :style="{'width':'100%','height':blockHeight}"/> <div class="blockTitleIcon"></div>模块六
</div>
<dv-scroll-board id="scrollTable" :config="taskBoard"
:style="{ 'width': '100%', 'height': blockHeight }" />
</div>
</div> </div>
</div> </div>
</div> -->
</el-row> </el-row>
</el-main> </el-main>
<div id="inforBlock" class="inforBlock" v-show="infoVisibel"> <div id="inforBlock" class="inforBlock" v-show="infoVisibel">
@ -62,7 +75,8 @@
<p class="title">10车间</p> <p class="title">10车间</p>
<div class="infoCantier"> <div class="infoCantier">
<div class="leftBlock"> <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> <span>完成进度</span>
</div> </div>
<div class="rightBlock"> <div class="rightBlock">
@ -124,9 +138,9 @@ export default {
percentage: 0, percentage: 0,
percentage: 0 percentage: 0
}, },
initialAlpha: -Math.PI / 1.2, initialAlpha: -Math.PI / 4.5,
initialBeta: Math.PI / 2.5, initialBeta: Math.PI / 2,
initialRadius: 15, initialRadius: 3,
initialTarget: null, initialTarget: null,
scene: null, scene: null,
myui: null, myui: null,
@ -150,7 +164,7 @@ export default {
let height0 = height / 3 - 50; let height0 = height / 3 - 50;
this.blockHeight = height0 + 'px' this.blockHeight = height0 + 'px'
this.$nextTick(() => { this.$nextTick(() => {
// this.initChart(); this.initChart();
this.initDomStyle(); this.initDomStyle();
this.initFactory(); this.initFactory();
}) })
@ -165,7 +179,7 @@ export default {
if (windowWidth > 960) { if (windowWidth > 960) {
dashboard.style.overflow = 'hidden'; dashboard.style.overflow = 'hidden';
model.style.position = 'absolute'; model.style.position = 'absolute';
model.style.height = (windowHeight - 3) + 'px'; model.style.height = (windowHeight - 70) + 'px';
model.style.top = 0 model.style.top = 0
} else { } else {
dashboard.style.overflow = 'auto'; dashboard.style.overflow = 'auto';
@ -180,6 +194,7 @@ export default {
}, },
initFactory() { initFactory() {
var that = this; var that = this;
const canvas = document.getElementById("renderCanvas"); // Get the canvas element const canvas = document.getElementById("renderCanvas"); // Get the canvas element
const engine = new BABYLON.Engine(canvas, true); // Generate the BABYLON 3D engine const engine = new BABYLON.Engine(canvas, true); // Generate the BABYLON 3D engine
BABYLON.DefaultLoadingScreen.prototype.displayLoadingUI = function () { BABYLON.DefaultLoadingScreen.prototype.displayLoadingUI = function () {
@ -192,6 +207,9 @@ export default {
const createScene = function () { const createScene = function () {
const scene = new BABYLON.Scene(engine); const scene = new BABYLON.Scene(engine);
scene.clearColor = BABYLON.Color3.Black(); //BABYLON.Color3(1, 0, 1); 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 ground = BABYLON.MeshBuilder.CreateGround("ground", { width: 10, height: 10 });
const groundMaterial = new BABYLON_GRID.GridMaterial("groundMaterial", scene); const groundMaterial = new BABYLON_GRID.GridMaterial("groundMaterial", scene);
groundMaterial.majorUnitFrequency = 5; groundMaterial.majorUnitFrequency = 5;
@ -202,18 +220,19 @@ export default {
// //
const backgroundImage = new BABYLON.Layer('', 'img/photon_bg.png', scene, true); 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(); that.initialTarget = camera.getTarget();
// camera.lowerBetaLimit = Math.PI / 2.6; // camera.lowerBetaLimit = Math.PI / 2.6;
camera.upperBetaLimit = Math.PI / 2.3; // camera.upperBetaLimit = Math.PI / 2.3; //
camera.attachControl(canvas, true); camera.attachControl(canvas, true);
camera.maxZ = 1000; // camera.maxZ = 1000; //
camera.wheelDeltaPercentage = 0.02;
// //
camera.lowerRadiusLimit = 3; camera.lowerRadiusLimit = 2;
camera.upperRadiusLimit = 3; camera.upperRadiusLimit = 6;
// //
const light = new BABYLON.HemisphericLight("light", new BABYLON.Vector3(1, 1, 0)); const light = new BABYLON.HemisphericLight("light", new BABYLON.Vector3(1, 1, 0));
light.intensity =0.1; light.intensity = 0.3;
// GUI // GUI
const advancedTexture = BABYLON_GUI.AdvancedDynamicTexture.CreateFullscreenUI("myUI"); const advancedTexture = BABYLON_GUI.AdvancedDynamicTexture.CreateFullscreenUI("myUI");
that.myui = advancedTexture; that.myui = advancedTexture;
@ -261,8 +280,8 @@ export default {
mesh_name.color = 'white'; mesh_name.color = 'white';
mesh_name.fontSize = '14px'; mesh_name.fontSize = '14px';
mesh_rect.addControl(mesh_name); mesh_rect.addControl(mesh_name);
var remoteGlbUrl = process.env.VUE_APP_BASEURL + "/media/model/photon3.glb"; // var remoteGlbUrl = process.env.VUE_APP_BASEURL + "/media/model/photon3.glb";
BABYLON.SceneLoader.Append(remoteGlbUrl, "", scene, function (scene) { BABYLON.SceneLoader.Append('glb/', "photon3.glb", scene, function (scene) {
// //
// scene.lights[1].setEnabled(false); // scene.lights[1].setEnabled(false);
// setEnable // setEnable
@ -400,7 +419,7 @@ export default {
} }
var pos = worldToScreen(mesh.absolutePosition, camera, scene, engine); var pos = worldToScreen(mesh.absolutePosition, camera, scene, engine);
let infoBlock = document.getElementById('inforBlock'); let infoBlock = document.getElementById('inforBlock');
infoBlock.style.left = (Math.floor(pos.x)+250)+'px'; infoBlock.style.left = (Math.floor(pos.x)) + 'px';
infoBlock.style.top = (Math.floor(pos.y) - 250) + 'px'; infoBlock.style.top = (Math.floor(pos.y) - 250) + 'px';
} }
} else { } else {
@ -436,42 +455,42 @@ export default {
}); });
// checkbox.isChecked = true; // // 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; return scene;
}; };
const scene = createScene(); //Call the createScene function const scene = createScene(); //Call the createScene function
scene.debugLayer.show() // scene.debugLayer.show()
engine.runRenderLoop(function () { engine.runRenderLoop(function () {
scene.render(); 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.engine = engine;
this.scene = scene; this.scene = scene;
@ -519,7 +538,8 @@ export default {
name: 'Line 2', name: 'Line 2',
textStyle: { textStyle: {
color: '#fff' color: '#fff'
}}], }
}],
itemStyle: { itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ {
@ -1079,6 +1099,7 @@ export default {
background: url('/public/img/photon_bg.png') no-repeat; background: url('/public/img/photon_bg.png') no-repeat;
background-size: cover; background-size: cover;
} }
.pageHeader { .pageHeader {
height: 70px; height: 70px;
font-size: 28px; font-size: 28px;
@ -1092,6 +1113,7 @@ export default {
background: url('/public/img/photon_header.png') no-repeat; background: url('/public/img/photon_header.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.top-line { .top-line {
height: 1px; height: 1px;
width: 3%; width: 3%;
@ -1099,15 +1121,19 @@ export default {
bottom: 13px; bottom: 13px;
background: rgba(54, 217, 187, 1); background: rgba(54, 217, 187, 1);
} }
.top-line-left { .top-line-left {
left: 24%; left: 24%;
} }
.top-line-right { .top-line-right {
right: 24%; right: 24%;
} }
.flexItem { .flexItem {
/* padding:40px; */ /* padding:40px; */
} }
.blockTitle { .blockTitle {
color: #fff; color: #fff;
height: 40px; height: 40px;
@ -1117,28 +1143,47 @@ export default {
background: url('/public/img/photon_title.png'); background: url('/public/img/photon_title.png');
background-size: 100% 100%; background-size: 100% 100%;
} }
.blockTitleIcon { .blockTitleIcon {
width: 20px; width: 20px;
height: 20px; height: 20px;
margin-top:10px;margin-right:5px; margin-top: 10px;
margin-right: 5px;
display: inline-block; display: inline-block;
animation: rotate 3s infinite; animation: rotate 3s infinite;
transform-origin: center center; transform-origin: center center;
background: url('/public/img/photon_title_icon.png'); background: url('/public/img/photon_title_icon.png');
background-size: 100% 100%; background-size: 100% 100%;
} }
@keyframes rotate { @keyframes rotate {
0% { transform: rotate(0deg); } 0% {
25% { transform: rotate(90deg); } transform: rotate(0deg);
50% { transform: rotate(180deg); }
75% { transform: rotate(270deg); }
100% { transform: rotate(360deg); }
} }
25% {
transform: rotate(90deg);
}
50% {
transform: rotate(180deg);
}
75% {
transform: rotate(270deg);
}
100% {
transform: rotate(360deg);
}
}
.row-item { .row-item {
height: 40px !important; height: 40px !important;
line-height: 40px !important; line-height: 40px !important;
/* background-color:rgb(10,63,68)!important; */ /* background-color:rgb(10,63,68)!important; */
} }
#scrollTable>.hader { #scrollTable>.hader {
background: rgb(10, 63, 68) !important; background: rgb(10, 63, 68) !important;
background-color: #0a3f44 !important; background-color: #0a3f44 !important;
@ -1149,6 +1194,7 @@ export default {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
#renderCanvas { #renderCanvas {
width: 100%; width: 100%;
height: 100% height: 100%
@ -1177,6 +1223,7 @@ export default {
font-size: 14px; font-size: 14px;
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(to bottom left, rgba(25, 154, 118, .5), rgba(31, 44, 50, .5)); 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:1px solid rgba(1,235,239,.2); */
.border_corner { .border_corner {
z-index: 2500; z-index: 2500;
@ -1186,30 +1233,35 @@ export default {
background: rgba(0, 0, 0, 0); background: rgba(0, 0, 0, 0);
border: 2px solid rgba(54, 217, 187, 1); border: 2px solid rgba(54, 217, 187, 1);
} }
.border_left_top { .border_left_top {
top: 0; top: 0;
left: 0; left: 0;
border-right: none; border-right: none;
border-bottom: none; border-bottom: none;
} }
.border_right_top { .border_right_top {
top: 0; top: 0;
right: 0; right: 0;
border-left: none; border-left: none;
border-bottom: none; border-bottom: none;
} }
.border_left_bottom { .border_left_bottom {
bottom: 0; bottom: 0;
left: 0; left: 0;
border-right: none; border-right: none;
border-top: none; border-top: none;
} }
.border_right_bottom { .border_right_bottom {
bottom: 0; bottom: 0;
right: 0; right: 0;
border-left: none; border-left: none;
border-top: none; border-top: none;
} }
.title { .title {
font-size: 20px; font-size: 20px;
font-weight: 600; font-weight: 600;
@ -1223,16 +1275,20 @@ export default {
border-bottom: 3px solid green; border-bottom: 3px solid green;
padding: 0 5px 5px; */ padding: 0 5px 5px; */
} }
.infoCantier { .infoCantier {
display: flex; display: flex;
.leftBlock { .leftBlock {
width: 80px; width: 80px;
margin-right: 30px; margin-right: 30px;
} }
.rightBlock { .rightBlock {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
.countWrap { .countWrap {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -1243,16 +1299,21 @@ export default {
} }
} }
.numberFont { .numberFont {
font-size:22px;font-weight:bold; font-size: 22px;
font-weight: bold;
} }
.numberUnit { .numberUnit {
font-size: 12px; font-size: 12px;
} }
#dashbordProcess .el-progress-circle { #dashbordProcess .el-progress-circle {
height: 60px !important; height: 60px !important;
width: 60px !important; width: 60px !important;
} }
.el-progress--circle .el-progress__text { .el-progress--circle .el-progress__text {
display: block; display: block;
margin-top: 1px; margin-top: 1px;

View File

@ -8,21 +8,14 @@
</div> </div>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="混料工序" name="8车间"> <el-tab-pane label="混料工序" name="8车间">
<scTable <scTable ref="table8" :apiObj="apiObjMlog" row-key="id" stripe :height="tableHeightHalf" :params="params8"
ref="table8" hidePagination hideDo>
:apiObj="apiObjMlog"
row-key="id"
stripe
:height="tableHeightHalf"
:params="params8"
hidePagination
hideDo
>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="配料日期" prop="handle_date"> <el-table-column label="配料日期" prop="handle_date">
</el-table-column> </el-table-column>
<el-table-column label="产物" prop="material" show-overflow-tooltip> <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="设备" prop="equipment_name"> <el-table-column label="设备" prop="equipment_name">
@ -37,59 +30,39 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="180"> <el-table-column label="操作" fixed="right" align="center" width="180">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'">
type="primary"
@click="table_edit(scope.row)"
v-auth="'equipment'"
>
编辑 编辑
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="primary" @click="addHandover(scope.row)" v-auth="'equipment'">
type="primary"
@click="addHandover(scope.row)"
v-auth="'equipment'"
>
转交接单 转交接单
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="danger" @click="table_del(scope.row, '8车间')" v-auth="'equipment'">
type="danger"
@click="table_del(scope.row,'8车间')"
v-auth="'equipment'"
>
删除 删除
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<div class="tableTitle">交接记录</div> <div class="tableTitle">交接记录</div>
<scTable <scTable ref="table8" :apiObj="apiObjHandover" row-key="id" stripe :height="tableHeightHalf"
ref="table8" :params="params82" hidePagination hideDo @selection-change="handleSelectionChange">
: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="index" width="50" />
<el-table-column type="selection" width="40" /> <el-table-column type="selection" width="40" />
<el-table-column label="送料日期" prop="send_date"> <el-table-column label="送料日期" prop="send_date">
</el-table-column> </el-table-column>
<el-table-column label="产物" prop="material" show-overflow-tooltip> <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="设备" prop="equipment_name"> <el-table-column label="设备" prop="equipment_name">
</el-table-column> </el-table-column>
<el-table-column label="批次" prop="batch"> <el-table-column label="批次" prop="batch">
</el-table-column> </el-table-column>
<el-table-column label="数量/桶数" prop="count_real"> <el-table-column label="数量/桶数" prop="count">
</el-table-column> </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>
<el-table-column label="交送人" prop="send_user_name"> <el-table-column label="交送人" prop="send_user_name">
</el-table-column> </el-table-column>
@ -97,19 +70,11 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="left"> <el-table-column label="操作" fixed="right" align="left">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="handover_edit(scope.row)" v-auth="'equipment'">
type="primary"
@click="handover_edit(scope.row)"
v-auth="'equipment'"
>
编辑 编辑
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="danger" @click="table_del(scope.row, '8车间')" v-auth="'equipment'">
type="danger"
@click="table_del(scope.row,'8车间')"
v-auth="'equipment'"
>
删除 删除
</el-link> </el-link>
</template> </template>
@ -117,21 +82,14 @@
</scTable> </scTable>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="退火" name="退火"> <el-tab-pane label="退火" name="退火">
<scTable <scTable ref="table8" :apiObj="apiObjMlog" row-key="id" stripe :height="tableHeightHalf" :params="paramsth"
ref="table8" hidePagination hideDo>
:apiObj="apiObjMlog"
row-key="id"
stripe
:height="tableHeightHalf"
:params="paramsth"
hidePagination
hideDo
>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="配料日期" prop="handle_date"> <el-table-column label="配料日期" prop="handle_date">
</el-table-column> </el-table-column>
<el-table-column label="产物" prop="material" show-overflow-tooltip> <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="设备" prop="equipment_name"> <el-table-column label="设备" prop="equipment_name">
@ -146,19 +104,11 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="180"> <el-table-column label="操作" fixed="right" align="center" width="180">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'">
type="primary"
@click="table_edit(scope.row)"
v-auth="'equipment'"
>
编辑 编辑
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="danger" @click="table_del(scope.row, '8车间')" v-auth="'equipment'">
type="danger"
@click="table_del(scope.row,'8车间')"
v-auth="'equipment'"
>
删除 删除
</el-link> </el-link>
</template> </template>
@ -172,16 +122,8 @@
<el-button type="primary" icon="el-icon-plus" @click="addHandover2">新增</el-button> <el-button type="primary" icon="el-icon-plus" @click="addHandover2">新增</el-button>
</div> </div>
</div> </div>
<scTable <scTable ref="table8" :apiObj="apiObjHandover" row-key="id" stripe :height="tableHeightHalf"
ref="table8" :params="params82" hidePagination hideDo>
:apiObj="apiObjHandover"
row-key="id"
stripe
:height="tableHeightHalf"
:params="params82"
hidePagination
hideDo
>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column label="交接日期" prop="send_date"> <el-table-column label="交接日期" prop="send_date">
</el-table-column> </el-table-column>
@ -195,19 +137,11 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="180"> <el-table-column label="操作" fixed="right" align="center" width="180">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="editHandover2(scope.row)" v-auth="'equipment'">
type="primary"
@click="editHandover2(scope.row)"
v-auth="'equipment'"
>
编辑 编辑
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="danger" @click="delHandover2(scope.row, '8车间')" v-auth="'equipment'">
type="danger"
@click="delHandover2(scope.row,'8车间')"
v-auth="'equipment'"
>
删除 删除
</el-link> </el-link>
</template> </template>
@ -221,23 +155,15 @@
<el-button type="primary" @click="getMaterial">领料</el-button> <el-button type="primary" @click="getMaterial">领料</el-button>
</div> </div>
</div> </div>
<scTable <scTable ref="table8" :apiObj="apiObjMetarial" row-key="id" stripe :height="tableHeightHalf"
ref="table8" :params="paramsMaterial" hidePagination hideDo @selection-change="handleSelectionChange">
: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="index" width="50" />
<el-table-column type="selection" width="40" /> <el-table-column type="selection" width="40" />
<el-table-column label="送料日期" prop="send_date"> <el-table-column label="送料日期" prop="send_date">
</el-table-column> </el-table-column>
<el-table-column label="产物" prop="material" show-overflow-tooltip> <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="设备" prop="equipment_name"> <el-table-column label="设备" prop="equipment_name">
@ -276,17 +202,8 @@
</el-row> </el-row>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="7车间" name="7车间"> <el-tab-pane label="7车间" name="7车间">
<scTable <scTable ref="table7" :apiObj="apiObjMtask" row-key="id" stripe :height="tableHeight" :params="params7"
ref="table7" hidePagination hideDo @row-click="rowClick">
: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 type="index" width="50" />
<el-table-column label="产品名称" prop="material" show-overflow-tooltip> <el-table-column label="产品名称" prop="material" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
@ -322,29 +239,16 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="60"> <el-table-column label="操作" fixed="right" width="60">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="table_submit(scope.row)" v-auth="'equipment'"
type="primary" :disabled="scope.row.state == 40">提交
@click="table_submit(scope.row)"
v-auth="'equipment'"
:disabled="scope.row.state==40"
>提交
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="10车间" name="10车间"> <el-tab-pane label="10车间" name="10车间">
<scTable <scTable ref="table10" :apiObj="apiObjMtask" row-key="id" stripe :height="tableHeight" :params="params10"
ref="table10" hidePagination hideDo @row-click="rowClick">
: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 type="index" width="50" />
<el-table-column label="产品名称" prop="material" show-overflow-tooltip> <el-table-column label="产品名称" prop="material" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
@ -377,12 +281,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="60"> <el-table-column label="操作" fixed="right" width="60">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="table_submit(scope.row)" v-auth="'equipment'"
type="primary" :disabled="scope.row.state == 40">提交
@click="table_submit(scope.row)"
v-auth="'equipment'"
:disabled="scope.row.state==40"
>提交
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
@ -425,18 +325,12 @@
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-top: 10px;"> <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> </div>
<!-- 7车间 --> <!-- 7车间 -->
<scTable <scTable ref="table" :data="flogs" row-key="id" stripe :height="rightHeight" :params="query"
ref="table" v-if="activeName == '7车间'">
:data="flogs"
row-key="id"
stripe
:height="rightHeight"
:params="query"
v-if="activeName=='7车间'"
>
<el-table-column type="index" width="40" /> <el-table-column type="index" width="40" />
<el-table-column label="锅号" prop="equipment_name"> <el-table-column label="锅号" prop="equipment_name">
</el-table-column> </el-table-column>
@ -483,33 +377,18 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="100" align="center"> <el-table-column label="操作" fixed="right" width="100" align="center">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'"
type="primary" :disabled="choseData.state == 40">编辑
@click="table_edit(scope.row)"
v-auth="'equipment'"
:disabled="choseData.state==40"
>编辑
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="primary" @click="table_del(scope.row)" :disabled="choseData.state == 40">删除
type="primary"
@click="table_del(scope.row)"
:disabled="choseData.state==40"
>删除
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<!-- 10车间 --> <!-- 10车间 -->
<scTable <scTable ref="table" :data="flogs" row-key="id" stripe :height="rightHeight" :params="query"
ref="table" v-if="activeName == '10车间'">
:data="flogs"
row-key="id"
stripe
:height="rightHeight"
:params="query"
v-if="activeName=='10车间'"
>
<el-table-column type="index" width="40" /> <el-table-column type="index" width="40" />
<el-table-column label="班次" prop="shift_name"> <el-table-column label="班次" prop="shift_name">
</el-table-column> </el-table-column>
@ -554,19 +433,11 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="100" align="center"> <el-table-column label="操作" fixed="right" width="100" align="center">
<template #default="scope"> <template #default="scope">
<el-link <el-link type="primary" @click="table_edit(scope.row)" v-auth="'equipment'"
type="primary" :disabled="choseData.state == 40">编辑
@click="table_edit(scope.row)"
v-auth="'equipment'"
:disabled="choseData.state==40"
>编辑
</el-link> </el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link <el-link type="primary" :disabled="choseData.state == 40" @click="table_del(scope.row)">删除
type="primary"
:disabled="choseData.state==40"
@click="table_del(scope.row)"
>删除
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
@ -574,45 +445,24 @@
</el-col> </el-col>
</el-row> </el-row>
</el-main> </el-main>
<save-dialog <save-dialog v-if="dialog.save" ref="saveDialog" :mtask="mtask" :brothersList="brothersList" :activeType="activeName"
v-if="dialog.save" @success="handleSaveSuccess" @closed="dialog.save = false"></save-dialog>
ref="saveDialog"
:mtask = "mtask"
:brothersList="brothersList"
:activeType = "activeName"
@success="handleSaveSuccess"
@closed="dialog.save = false"
></save-dialog>
<handover-dialog <handover-dialog v-if="dialog.handover" ref="handoverDialog2" @success="handleSuccess"
v-if="dialog.handover" @closed="dialog.handover = false"></handover-dialog>
ref="handoverDialog2" <el-dialog title="交接单" ref="handoverDialog" v-model="handoverVisible" :size="1000" destroy-on-close
@success="handleSuccess" @closed="handoverVisible = false">
@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-form ref="dialogForm" :model="handoverForm" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="送料日期" prop="send_date"> <el-form-item label="送料日期" prop="send_date">
<el-date-picker <el-date-picker v-model="handoverForm.send_date" type="date" value-format="YYYY-MM-DD" style="width:100%" />
v-model="handoverForm.send_date"
type="date"
value-format="YYYY-MM-DD"
style="width:100%"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="接收部门" prop="recive_dept"> <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-option v-for="item in group" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -626,35 +476,15 @@
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="接收人" prop="recive_user"> <el-form-item label="接收人" prop="recive_user">
<el-select <el-select v-model="handoverForm.recive_user" placeholder="接收人" clearable style="width:100%">
v-model="handoverForm.recive_user" <el-option v-for="item in userList2" :key="item.id" :label="item.name" :value="item.id" />
placeholder="接收人"
clearable
style="width:100%"
>
<el-option
v-for="item in userList2"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="交送人" prop="send_user"> <el-form-item label="交送人" prop="send_user">
<el-select <el-select v-model="handoverForm.send_user" placeholder="交送人" clearable style="width:100%">
v-model="handoverForm.send_user" <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
placeholder="交送人"
clearable
style="width:100%"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -984,22 +814,27 @@ export default {
margin-top: 4px; margin-top: 4px;
z-index: 100 z-index: 100
} }
.el-main.nopadding { .el-main.nopadding {
padding: 0 20px 0 20px padding: 0 20px 0 20px
} }
.gantt-container { .gantt-container {
height: 30%; height: 30%;
} }
.ganntClass { .ganntClass {
background-color: #fff; background-color: #fff;
padding: 10px; padding: 10px;
border-radius: 4px; border-radius: 4px;
} }
.cateItem { .cateItem {
justify-content: space-between; justify-content: space-between;
display: flex; display: flex;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
} }
.tableTitle { .tableTitle {
height: 40px; height: 40px;
font-size: 16px; font-size: 16px;