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>
<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)
},

View File

@ -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>
@ -326,8 +327,10 @@ export default {
methods: {
// Class
bindClass(type) {
let classInfo = { socketDom: true, redColor: false,
orangeColor:false, yellowColor:false, blueColor:true }
let classInfo = {
socketDom: true, redColor: false,
orangeColor: false, yellowColor: false, blueColor: true
}
if (type == '') {
classInfo.redColor = true
}
@ -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 {
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>

View File

@ -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">
@ -124,9 +138,9 @@ export default {
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,
@ -150,7 +164,7 @@ export default {
let height0 = height / 3 - 50;
this.blockHeight = height0 + 'px'
this.$nextTick(() => {
// this.initChart();
this.initChart();
this.initDomStyle();
this.initFactory();
})
@ -165,7 +179,7 @@ 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 {
dashboard.style.overflow = 'auto';
@ -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
@ -400,7 +419,7 @@ export default {
}
var pos = worldToScreen(mesh.absolutePosition, camera, scene, engine);
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';
}
} else {
@ -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;
@ -519,7 +538,8 @@ export default {
name: 'Line 2',
textStyle: {
color: '#fff'
}}],
}
}],
itemStyle: {
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-size: cover;
}
.pageHeader {
height: 70px;
font-size: 28px;
@ -1092,6 +1113,7 @@ export default {
background: url('/public/img/photon_header.png') no-repeat;
background-size: 100% 100%;
}
.top-line {
height: 1px;
width: 3%;
@ -1099,15 +1121,19 @@ export default {
bottom: 13px;
background: rgba(54, 217, 187, 1);
}
.top-line-left {
left: 24%;
}
.top-line-right {
right: 24%;
}
.flexItem {
/* padding:40px; */
}
.blockTitle {
color: #fff;
height: 40px;
@ -1117,28 +1143,47 @@ export default {
background: url('/public/img/photon_title.png');
background-size: 100% 100%;
}
.blockTitleIcon {
width: 20px;
height: 20px;
margin-top:10px;margin-right:5px;
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-size: 100% 100%;
}
@keyframes rotate {
0% { transform: rotate(0deg); }
25% { transform: rotate(90deg); }
50% { transform: rotate(180deg); }
75% { transform: rotate(270deg); }
100% { transform: rotate(360deg); }
0% {
transform: rotate(0deg);
}
25% {
transform: rotate(90deg);
}
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;
@ -1149,6 +1194,7 @@ export default {
width: 100%;
height: 100%;
}
#renderCanvas {
width: 100%;
height: 100%
@ -1177,6 +1223,7 @@ export default {
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,30 +1233,35 @@ 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 {
font-size: 20px;
font-weight: 600;
@ -1223,16 +1275,20 @@ export default {
border-bottom: 3px solid green;
padding: 0 5px 5px; */
}
.infoCantier {
display: flex;
.leftBlock {
width: 80px;
margin-right: 30px;
}
.rightBlock {
display: flex;
flex-direction: column;
justify-content: space-between;
.countWrap {
display: flex;
justify-content: space-between;
@ -1243,16 +1299,21 @@ export default {
}
}
.numberFont {
font-size:22px;font-weight:bold;
font-size: 22px;
font-weight: bold;
}
.numberUnit {
font-size: 12px;
}
#dashbordProcess .el-progress-circle {
height: 60px !important;
width: 60px !important;
}
.el-progress--circle .el-progress__text {
display: block;
margin-top: 1px;

View File

@ -8,21 +8,14 @@
</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
>
<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"
>
<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
>
<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,16 +122,8 @@
<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
>
<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>
@ -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"
>
<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,17 +202,8 @@
</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"
>
<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">
@ -322,29 +239,16 @@
</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"
>
<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">
@ -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>
@ -425,18 +325,12 @@
</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车间'"
>
<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>
@ -483,33 +377,18 @@
</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车间'"
>
<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>
@ -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>
@ -984,22 +814,27 @@ export default {
margin-top: 4px;
z-index: 100
}
.el-main.nopadding {
padding: 0 20px 0 20px
}
.gantt-container {
height: 30%;
}
.ganntClass {
background-color: #fff;
padding: 10px;
border-radius: 4px;
}
.cateItem {
justify-content: space-between;
display: flex;
border-bottom: 1px solid #eeeeee;
}
.tableTitle {
height: 40px;
font-size: 16px;