Merge branch 'v2' of https://e.coding.net/ctcdevteam/ehs/ehs_web into v2
This commit is contained in:
commit
e4658ea882
|
@ -8,15 +8,19 @@
|
||||||
<el-row style="height: 60%" :gutter="10">
|
<el-row style="height: 60%" :gutter="10">
|
||||||
<el-col :xs="24" :md="10" style="height: 100%;">
|
<el-col :xs="24" :md="10" style="height: 100%;">
|
||||||
<el-row style="height: 38%;" :gutter="10">
|
<el-row style="height: 38%;" :gutter="10">
|
||||||
<el-col :xs="8" :md="8">
|
<el-col :xs="8" :md="8" style="height: 100%;">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="boxtitle bgimg">
|
<div class="boxtitle bgimg">
|
||||||
<div class="boxlabel">今日任务</div>
|
<div class="boxlabel">今日任务</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="height: 4px;"></div>
|
<div style="height: 4px;"></div>
|
||||||
<div class="boxmain flex_center bigdata border">
|
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||||
<span>ZB2</span>
|
<div v-for="item in todayMtask" :key="item.id" style="height: 40px;">
|
||||||
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">130</span>
|
<span style="font-size:12px">{{item.material_out_name}}</span>
|
||||||
|
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||||
|
{{item.count}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -135,40 +139,35 @@ export default {
|
||||||
right: 0,
|
right: 0,
|
||||||
data: [{
|
data: [{
|
||||||
backgroundColor: 'rgb(1,235,239)',
|
backgroundColor: 'rgb(1,235,239)',
|
||||||
name: '棒',
|
name: '生产数',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
// color:'rgb(1,235,239)',
|
// color:'rgb(1,235,239)',
|
||||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
{
|
{
|
||||||
offset: 0,
|
offset: 0,
|
||||||
color: 'rgb(1,235,239)'
|
color: 'rgb(250,205,0)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
offset: 1,
|
offset: 1,
|
||||||
color: 'rgb(5, 158, 163)'
|
color: 'rgb(254,129,0)'
|
||||||
}])
|
}])
|
||||||
},
|
},
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: '#fff'
|
color: '#fff'
|
||||||
}
|
}
|
||||||
}, {
|
|
||||||
name: '管',
|
|
||||||
textStyle: {
|
|
||||||
color: '#fff'
|
|
||||||
}
|
|
||||||
}],
|
}],
|
||||||
itemStyle: {
|
// itemStyle: {
|
||||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
// color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
{
|
// {
|
||||||
offset: 0,
|
// offset: 0,
|
||||||
color: 'rgb(250,205,0)'
|
// color: 'rgb(250,205,0)'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
offset: 1,
|
// offset: 1,
|
||||||
color: 'rgb(254,129,0)'
|
// color: 'rgb(254,129,0)'
|
||||||
}
|
// }
|
||||||
])
|
// ])
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
toolbox: {
|
toolbox: {
|
||||||
feature: {
|
feature: {
|
||||||
|
@ -193,7 +192,7 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
name: "生产数",
|
name: "",
|
||||||
type: 'value',
|
type: 'value',
|
||||||
nameTextStyle: {
|
nameTextStyle: {
|
||||||
color: '#ffffff'
|
color: '#ffffff'
|
||||||
|
@ -212,7 +211,7 @@ export default {
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '管',
|
name: '生产数',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
stack: 'Ad',
|
stack: 'Ad',
|
||||||
barWidth: 30,
|
barWidth: 30,
|
||||||
|
@ -242,38 +241,31 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
chart3Option:{
|
chart3Option:{
|
||||||
backgroundColor: '',
|
backgroundColor: '',
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'item'
|
trigger: 'item'
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
top:'bottom',
|
||||||
|
},
|
||||||
|
series: {
|
||||||
|
name: '完成率',
|
||||||
|
type: 'pie',
|
||||||
|
radius: '50%',
|
||||||
|
itemStyle: {
|
||||||
|
borderRadius: 2
|
||||||
},
|
},
|
||||||
legend: {
|
center: ['50%', '45%'],
|
||||||
top:'bottom',
|
data: [],
|
||||||
},
|
emphasis: {
|
||||||
series: {
|
|
||||||
name: '完成率',
|
|
||||||
type: 'pie',
|
|
||||||
radius: '50%',
|
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
borderRadius: 2
|
shadowBlur: 10,
|
||||||
},
|
shadowOffsetX: 0,
|
||||||
center: ['50%', '45%'],
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||||
data: [
|
|
||||||
{ value: 1, name: '椭圆弯曲' },
|
|
||||||
{ value: 3, name: '大小头' },
|
|
||||||
{ value: 0, name: '偏壁' },
|
|
||||||
{ value: 5, name: '结石' },
|
|
||||||
{ value: 5, name: '气线' },
|
|
||||||
{ value: 200, name: '合格' },
|
|
||||||
],
|
|
||||||
emphasis: {
|
|
||||||
itemStyle: {
|
|
||||||
shadowBlur: 10,
|
|
||||||
shadowOffsetX: 0,
|
|
||||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
|
},
|
||||||
containerHeight1:100,
|
containerHeight1:100,
|
||||||
containerHeight2:100,
|
containerHeight2:100,
|
||||||
table1Visible:false,
|
table1Visible:false,
|
||||||
|
@ -284,6 +276,7 @@ export default {
|
||||||
attendanceData:[],
|
attendanceData:[],
|
||||||
liData2: ['序号','产品名称', '型号', '计划开始时间', '计划结束时间','完成进度', '产量','状态'],
|
liData2: ['序号','产品名称', '型号', '计划开始时间', '计划结束时间','完成进度', '产量','状态'],
|
||||||
processData: [],
|
processData: [],
|
||||||
|
todayMtask:[],
|
||||||
speed: 2000,
|
speed: 2000,
|
||||||
myScroll: null,
|
myScroll: null,
|
||||||
iliHeight: 30,
|
iliHeight: 30,
|
||||||
|
@ -302,6 +295,7 @@ export default {
|
||||||
},
|
},
|
||||||
currentTime:'',
|
currentTime:'',
|
||||||
currentDay:'',
|
currentDay:'',
|
||||||
|
today:'',
|
||||||
todayObjet:{},
|
todayObjet:{},
|
||||||
yesterdayObjet:{},
|
yesterdayObjet:{},
|
||||||
|
|
||||||
|
@ -438,11 +432,13 @@ export default {
|
||||||
this.currentDay = day;
|
this.currentDay = day;
|
||||||
this.start_date =year+'-'+month+'-01';
|
this.start_date =year+'-'+month+'-01';
|
||||||
this.end_date = year+'-'+month+'-'+new Date(year, month, 0).getDate();
|
this.end_date = year+'-'+month+'-'+new Date(year, month, 0).getDate();
|
||||||
|
this.today = year+'-'+month+'-'+day;
|
||||||
let yesterday = new Date(date.getTime()-24*60*60*1000);
|
let yesterday = new Date(date.getTime()-24*60*60*1000);
|
||||||
this.yesterday = yesterday.getFullYear()+"-" + (yesterday.getMonth()+1) + "-" + yesterday.getDate();
|
this.yesterday = yesterday.getFullYear()+"-" + (yesterday.getMonth()+1) + "-" + yesterday.getDate();
|
||||||
this.getMtask();
|
this.getMtask();
|
||||||
this.getAttendance();
|
this.getAttendance();
|
||||||
this.getProductLine();
|
this.getProductLine();
|
||||||
|
this.getTodayMtask();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
showTime(){
|
showTime(){
|
||||||
|
@ -503,6 +499,7 @@ export default {
|
||||||
let obj ={};
|
let obj ={};
|
||||||
obj.start_date__gte = this.start_date;
|
obj.start_date__gte = this.start_date;
|
||||||
obj.end_date__lte = this.end_date;
|
obj.end_date__lte = this.end_date;
|
||||||
|
obj.belong_dept__name='10车间';
|
||||||
obj.page=0;
|
obj.page=0;
|
||||||
that.$API.pm.utask.list.req(obj).then((res) => {
|
that.$API.pm.utask.list.req(obj).then((res) => {
|
||||||
console.log('任务进度:',res);
|
console.log('任务进度:',res);
|
||||||
|
@ -558,6 +555,7 @@ export default {
|
||||||
let chart1Option = deepCopy(this.basicOption)
|
let chart1Option = deepCopy(this.basicOption)
|
||||||
chart1Option.xAxis.data = xAxisData1;
|
chart1Option.xAxis.data = xAxisData1;
|
||||||
chart1Option.series[0].data = seriesData1;
|
chart1Option.series[0].data = seriesData1;
|
||||||
|
chart1Option.yAxis.name='生产数';
|
||||||
let chart1 = this.setChart("chart1", chart1Option);
|
let chart1 = this.setChart("chart1", chart1Option);
|
||||||
let index1 = 0
|
let index1 = 0
|
||||||
this.chartInterval1 = setInterval(function () {
|
this.chartInterval1 = setInterval(function () {
|
||||||
|
@ -588,13 +586,14 @@ export default {
|
||||||
}
|
}
|
||||||
if(list2.length>0){
|
if(list2.length>0){
|
||||||
list2.forEach(item2=>{
|
list2.forEach(item2=>{
|
||||||
let index2 = item.日-1;
|
let index2 = item2.日-1;
|
||||||
seriesData2[index2] = item2.合格率;
|
seriesData2[index2] = item2.合格率;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
console.log('xAxisData2',xAxisData2)
|
console.log('xAxisData2',xAxisData2)
|
||||||
let chart2Option = deepCopy(this.basicOption);
|
let chart2Option = deepCopy(this.basicOption);
|
||||||
chart2Option.xAxis.data = xAxisData2;
|
chart2Option.xAxis.data = xAxisData2;
|
||||||
|
chart2Option.yAxis.name='合格率';
|
||||||
chart2Option.legend = {
|
chart2Option.legend = {
|
||||||
icon: "stack",
|
icon: "stack",
|
||||||
right: 0,
|
right: 0,
|
||||||
|
@ -705,7 +704,7 @@ export default {
|
||||||
let chart3 = this.setChart("chart3", that.chart3Option);
|
let chart3 = this.setChart("chart3", that.chart3Option);
|
||||||
let index3 = 0
|
let index3 = 0
|
||||||
this.chartInterval3 = setInterval(function () {
|
this.chartInterval3 = setInterval(function () {
|
||||||
if (index3 < chart3Option.series[0].data.length) {
|
if (index3 < that.chart3Option.series[0].data.length) {
|
||||||
chart3.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
chart3.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
||||||
chart3.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index3 });
|
chart3.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index3 });
|
||||||
chart3.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index3 });
|
chart3.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index3 });
|
||||||
|
@ -718,6 +717,34 @@ export default {
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
|
//今日任务
|
||||||
|
getUtask(){
|
||||||
|
let that = this;
|
||||||
|
let obj = {};
|
||||||
|
let date = that.currentYear+'-'+that.currentMonth+'-'+that.currentDay;
|
||||||
|
obj.start_date =date;
|
||||||
|
obj.end_date =date;
|
||||||
|
obj.page = 0;
|
||||||
|
obj.belong_dept__name = '10车间';
|
||||||
|
that.$API.pm.utask.list.req(obj).then(res=>{
|
||||||
|
let list = res;
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//今日任务
|
||||||
|
getTodayMtask(){
|
||||||
|
let that = this;
|
||||||
|
let obj ={};
|
||||||
|
obj.start_date = this.today;
|
||||||
|
obj.end_date = this.today;
|
||||||
|
obj.belong_dept__name='10车间';
|
||||||
|
obj.page=0;
|
||||||
|
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||||
|
that.todayMtask=res;
|
||||||
|
console.log('今日任务:',res);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//累计合计
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -7,37 +7,21 @@
|
||||||
<el-main>
|
<el-main>
|
||||||
<el-row style="height: 60%" :gutter="10">
|
<el-row style="height: 60%" :gutter="10">
|
||||||
<el-col :xs="24" :md="10" style="height: 100%;">
|
<el-col :xs="24" :md="10" style="height: 100%;">
|
||||||
<el-row style="height: 29%" :gutter="10">
|
<el-row style="height: 29%;width:100%" :gutter="10">
|
||||||
<el-col :xs="24" :md="24">
|
<div class="box" style="width: 100%;">
|
||||||
<div class="box">
|
<div class="boxtitle">
|
||||||
<div class="boxtitle">
|
<div class="boxlabel">今日任务</div>
|
||||||
<div class="boxlabel">今日任务</div>
|
</div>
|
||||||
</div>
|
<div style="height: 4px;"></div>
|
||||||
<div style="height: 4px;"></div>
|
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||||
<div class="boxmain bigdata border">
|
<div v-for="item in todayMtask" :key="item.id" style="width:50%;display:inline-block; height: 40px;">
|
||||||
<el-row>
|
<span style="font-size:12px">{{item.material_out_name}}</span>
|
||||||
<el-col :span="12">
|
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||||
<div
|
{{item.count}}
|
||||||
style="display:flex;align-items:center;justify-content:space-around;border: 1px solid transparent;margin-top:6%;">
|
</span>
|
||||||
<div>ZB2</div>
|
|
||||||
<div
|
|
||||||
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont;">
|
|
||||||
130</div>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<div
|
|
||||||
style="display:flex;align-items:center;justify-content:space-around;border: 1px solid transparent;margin-top:6%">
|
|
||||||
<div>ZJ2</div>
|
|
||||||
<div
|
|
||||||
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont;">
|
|
||||||
130</div>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div style="height: 1%;"></div>
|
<div style="height: 1%;"></div>
|
||||||
<el-row style="height:70%">
|
<el-row style="height:70%">
|
||||||
|
@ -49,7 +33,7 @@
|
||||||
<div style="height: 4px;"></div>
|
<div style="height: 4px;"></div>
|
||||||
<div class="boxmain" id="scrollContainer1">
|
<div class="boxmain" id="scrollContainer1">
|
||||||
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
|
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
|
||||||
:rowData="listData1test" :titleData="liData1" :refValue="refValue1"
|
:rowData="saleOutData" :titleData="liData1" :refValue="refValue1"
|
||||||
></scScrollTavle>
|
></scScrollTavle>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -64,7 +48,7 @@
|
||||||
<div style="height: 4px;"></div>
|
<div style="height: 4px;"></div>
|
||||||
<div class="boxmain" id="scrollContainer2">
|
<div class="boxmain" id="scrollContainer2">
|
||||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
||||||
:rowData="listData2test" :titleData="liData2" :refValue="refValue2"
|
:rowData="processData" :titleData="liData2" :refValue="refValue2"
|
||||||
></scScrollTavle>
|
></scScrollTavle>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -320,6 +304,9 @@ export default {
|
||||||
[{elType:'primary',value:"开凿"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"}, {elType:'primary',value:368},{elType:'primary',value:320},{elType:'progress',value:99},{elType:'primary',value:'60%'},{elType:'primary',value:'周欸'}],
|
[{elType:'primary',value:"开凿"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"}, {elType:'primary',value:368},{elType:'primary',value:320},{elType:'progress',value:99},{elType:'primary',value:'60%'},{elType:'primary',value:'周欸'}],
|
||||||
[{elType:'primary',value:"配管"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"}, {elType:'primary',value:368},{elType:'primary',value:330},{elType:'progress',value:99},{elType:'primary',value:'60%'},{elType:'primary',value:'吴思'}],
|
[{elType:'primary',value:"配管"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"}, {elType:'primary',value:368},{elType:'primary',value:330},{elType:'progress',value:99},{elType:'primary',value:'60%'},{elType:'primary',value:'吴思'}],
|
||||||
],
|
],
|
||||||
|
todayMtask:[],
|
||||||
|
saleOutData:[],
|
||||||
|
processData:[],
|
||||||
time: null,
|
time: null,
|
||||||
start_date:'',
|
start_date:'',
|
||||||
end_date:'',
|
end_date:'',
|
||||||
|
@ -327,6 +314,7 @@ export default {
|
||||||
dayInterval:null,
|
dayInterval:null,
|
||||||
currentTime:'',
|
currentTime:'',
|
||||||
currentDay:'',
|
currentDay:'',
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -338,13 +326,21 @@ export default {
|
||||||
this.table2Visible = true;
|
this.table2Visible = true;
|
||||||
|
|
||||||
const ondDayTime = 86400000;
|
const ondDayTime = 86400000;
|
||||||
let cDate = new Date();
|
let date = new Date();
|
||||||
let month = cDate.getMonth()+1;
|
let year = date.getFullYear();
|
||||||
let start_date = cDate.getFullYear()+'-'+month+'-01';
|
let month = date.getMonth()+1;
|
||||||
let lastDay = new Date(cDate.getFullYear(), cDate.getMonth(), 0).getDate();
|
let day = date.getDate();
|
||||||
let end_date = cDate.getFullYear()+'-'+month+'-'+lastDay;
|
let days = new Date(year, month, 0).getDate();
|
||||||
|
this.days = days;
|
||||||
|
let start_date = year+'-'+month+'-01';
|
||||||
|
let lastDay = new Date(year, month, 0).getDate();
|
||||||
|
let end_date = year+'-'+month+'-'+lastDay;
|
||||||
this.start_date = start_date;
|
this.start_date = start_date;
|
||||||
this.end_date = end_date;
|
this.end_date = end_date;
|
||||||
|
this.today = year+'-'+month+'-'+day;
|
||||||
|
let yesterday = new Date(date.getTime()-24*60*60*1000);
|
||||||
|
this.yesterday = yesterday.getFullYear()+"-" + (yesterday.getMonth()+1) + "-" + yesterday.getDate();
|
||||||
|
|
||||||
this.getsaleOut();
|
this.getsaleOut();
|
||||||
let chart1Option = deepCopy(this.basicOption)
|
let chart1Option = deepCopy(this.basicOption)
|
||||||
this.setChart("chart1", chart1Option);
|
this.setChart("chart1", chart1Option);
|
||||||
|
@ -354,7 +350,10 @@ export default {
|
||||||
chart2Option.series[0].type = 'line';
|
chart2Option.series[0].type = 'line';
|
||||||
chart2Option.series[1].type = 'line';
|
chart2Option.series[1].type = 'line';
|
||||||
this.setChart("chart2", chart2Option)
|
this.setChart("chart2", chart2Option)
|
||||||
|
this.getMioItem();//发货情况
|
||||||
|
this.getTodayMtask();//今日任务
|
||||||
|
//昨日工序进度
|
||||||
|
this.getMtask();
|
||||||
//时间
|
//时间
|
||||||
this.showTime()
|
this.showTime()
|
||||||
this.dayInterval = setInterval(()=>{
|
this.dayInterval = setInterval(()=>{
|
||||||
|
@ -381,21 +380,98 @@ export default {
|
||||||
} catch (error) { }
|
} catch (error) { }
|
||||||
}, 500)
|
}, 500)
|
||||||
},
|
},
|
||||||
|
//今日任务
|
||||||
|
getTodayMtask(){
|
||||||
|
let that = this;
|
||||||
|
let obj ={};
|
||||||
|
obj.start_date = this.today;
|
||||||
|
obj.end_date = this.today;
|
||||||
|
obj.belong_dept__name='6车间';
|
||||||
|
obj.page=0;
|
||||||
|
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||||
|
that.todayMtask=res;
|
||||||
|
console.log('今日任务:',res);
|
||||||
|
});
|
||||||
|
},
|
||||||
//发货情况
|
//发货情况
|
||||||
getMioItem(){
|
getMioItem(){
|
||||||
let that = this;
|
let that = this;
|
||||||
let obj ={};
|
let obj ={};
|
||||||
that.$API.inm.mioitem.list.req(obj).then((res) => {
|
obj.mio__type = 'sale_out';
|
||||||
|
obj.page=0;
|
||||||
|
that.$API.inm.mio.list.req(obj).then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
debugger;
|
let saleOutData = [];
|
||||||
|
res.forEach(item => {
|
||||||
|
let arr = [],obj1 = {},obj2 = {},obj3 = {},obj4 = {};
|
||||||
|
obj1.elType = 'primary';
|
||||||
|
obj1.value = item.inout_date;
|
||||||
|
obj2.elType = 'primary';
|
||||||
|
obj2.value = item.inout_date;
|
||||||
|
obj3.elType = 'primary';
|
||||||
|
obj3.value = item.inout_date;
|
||||||
|
obj4.elType = 'primary';
|
||||||
|
obj4.value = item.inout_date;
|
||||||
|
arr.push(obj1);
|
||||||
|
arr.push(obj2);
|
||||||
|
arr.push(obj3);
|
||||||
|
arr.push(obj4);
|
||||||
|
saleOutData.push(arr);
|
||||||
|
});
|
||||||
|
this.saleOutData = saleOutData;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//昨日工序进展
|
//昨日工序进展
|
||||||
getMtask(){
|
getMtask(){
|
||||||
let that = this;
|
let that = this;
|
||||||
let obj ={};
|
let obj ={};
|
||||||
|
obj.start_date = this.today;
|
||||||
|
obj.end_date = this.today;
|
||||||
|
obj.mgroup__belong_dept__name='6车间';
|
||||||
|
obj.page=0;
|
||||||
that.$API.pm.mtask.list.req(obj).then((res) => {
|
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
|
if(res.length>0){
|
||||||
|
let processData = [];
|
||||||
|
res.forEach(item => {
|
||||||
|
let arr = [],obj1 = {},obj2 = {},obj3 = {},obj4 = {},obj5 = {},obj6 = {},obj7 = {},obj8 = {};
|
||||||
|
obj1.elType = 'primary';
|
||||||
|
obj1.value = item.mgroup_name;//工序
|
||||||
|
obj2.elType = 'primary';
|
||||||
|
obj2.value = item.material_out_.name;
|
||||||
|
obj3.elType = 'primary';
|
||||||
|
obj3.value = item.material_out_.specification;
|
||||||
|
obj4.elType = 'primary';
|
||||||
|
obj4.value = item.count;
|
||||||
|
obj5.elType = 'primary';
|
||||||
|
obj5.value = item.count_ok;
|
||||||
|
obj6.elType = 'progress';
|
||||||
|
let jindu = Math.floor((item.count_ok/item.count)*100);
|
||||||
|
obj6.value = jindu;
|
||||||
|
obj7.elType = 'primary';
|
||||||
|
let rate = 0;
|
||||||
|
if(item.count_real!=0){
|
||||||
|
rate = Math.floor((item.count_ok/item.count_real)*100);
|
||||||
|
}else{
|
||||||
|
rate = 0;
|
||||||
|
}
|
||||||
|
obj7.value = rate;
|
||||||
|
obj8.elType = 'primary';
|
||||||
|
obj8.value = item.submit_user;
|
||||||
|
arr.push(obj1);
|
||||||
|
arr.push(obj2);
|
||||||
|
arr.push(obj3);
|
||||||
|
arr.push(obj4);
|
||||||
|
arr.push(obj5);
|
||||||
|
arr.push(obj6);
|
||||||
|
arr.push(obj7);
|
||||||
|
arr.push(obj8);
|
||||||
|
processData.push(arr);
|
||||||
|
|
||||||
|
});
|
||||||
|
console.log('processData',processData)
|
||||||
|
this.processData = processData;
|
||||||
|
}
|
||||||
debugger;
|
debugger;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -419,6 +495,7 @@ export default {
|
||||||
debugger;
|
debugger;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -431,6 +508,7 @@ export default {
|
||||||
.dashboard {
|
.dashboard {
|
||||||
background-image: url("/public/img/photon_bg.png");
|
background-image: url("/public/img/photon_bg.png");
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
background-size:cover;
|
||||||
font-family: "Microsoft Yahei" !important;
|
font-family: "Microsoft Yahei" !important;
|
||||||
}
|
}
|
||||||
.header {
|
.header {
|
||||||
|
|
|
@ -7,21 +7,21 @@
|
||||||
<el-main>
|
<el-main>
|
||||||
<el-row style="height: 60%" :gutter="10">
|
<el-row style="height: 60%" :gutter="10">
|
||||||
<el-col :xs="24" :md="10" style="height: 100%;">
|
<el-col :xs="24" :md="10" style="height: 100%;">
|
||||||
<el-row style="height: 29%">
|
<div class="box" style="height: 29%">
|
||||||
<el-col>
|
<div class="boxtitle">
|
||||||
<div class="box">
|
<div class="boxlabel">今日任务</div>
|
||||||
<div class="boxtitle">
|
</div>
|
||||||
<div class="boxlabel">今日任务</div>
|
<div style="height: 4px;"></div>
|
||||||
</div>
|
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||||
<div style="height: 4px;"></div>
|
<div v-for="item in todayMtask" :key="item.id" style="width:50%;display:inline-block; height: 40px;">
|
||||||
<div class="boxmain flex_center bigdata border">
|
<span style="font-size:12px">{{item.material_out_name}}</span>
|
||||||
<span>ZJ2</span>
|
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||||
<span
|
{{item.count}}
|
||||||
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">600</span>
|
</span>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</div>
|
||||||
|
</div>
|
||||||
<div style="height: 1%;"></div>
|
<div style="height: 1%;"></div>
|
||||||
<el-row style="height:70%">
|
<el-row style="height:70%">
|
||||||
<el-col style="height: 100%;">
|
<el-col style="height: 100%;">
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
<div style="height: 4px;"></div>
|
<div style="height: 4px;"></div>
|
||||||
<div class="boxmain" id="scrollContainer1">
|
<div class="boxmain" id="scrollContainer1">
|
||||||
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
|
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
|
||||||
:rowData="listData1test" :titleData="liData1" :refValue="refValue1"></scScrollTavle>
|
:rowData="processData" :titleData="liData1" :refValue="refValue1"></scScrollTavle>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
<div style="height: 4px;"></div>
|
<div style="height: 4px;"></div>
|
||||||
<div class="boxmain" id="scrollContainer2">
|
<div class="boxmain" id="scrollContainer2">
|
||||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
||||||
:rowData="listData2test" :titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
:rowData="lineData" :titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -97,6 +97,7 @@ export default {
|
||||||
return {
|
return {
|
||||||
basicOption: {
|
basicOption: {
|
||||||
backgroundColor: '',
|
backgroundColor: '',
|
||||||
|
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
axisPointer: {
|
axisPointer: {
|
||||||
|
@ -110,19 +111,19 @@ export default {
|
||||||
icon: "stack",
|
icon: "stack",
|
||||||
right: 0,
|
right: 0,
|
||||||
data: [{
|
data: [{
|
||||||
backgroundColor: 'rgb(250,205,0)',
|
backgroundColor: 'rgb(1,235,239)',
|
||||||
name: '合格率',
|
name: '生产数',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
|
// color:'rgb(1,235,239)',
|
||||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
{
|
{
|
||||||
offset: 0,
|
offset: 0,
|
||||||
color: 'rgb(250,205,0)'
|
color: 'rgb(250,205,0)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
offset: 1,
|
offset: 1,
|
||||||
color: 'rgb(254,129,0)'
|
color: 'rgb(254,129,0)'
|
||||||
}
|
}])
|
||||||
])
|
|
||||||
},
|
},
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: '#fff'
|
color: '#fff'
|
||||||
|
@ -207,6 +208,39 @@ export default {
|
||||||
data: [140, 232, 101, 264, 90, 340, 250,140, 232, 101, 264, 90, 340, 250,140, 232, 101, 264, 90, 340, 250,140, 232, 101, 264, 90, 340, 250, 340, 250]
|
data: [140, 232, 101, 264, 90, 340, 250,140, 232, 101, 264, 90, 340, 250,140, 232, 101, 264, 90, 340, 250,140, 232, 101, 264, 90, 340, 250, 340, 250]
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
|
chart3Option:{
|
||||||
|
backgroundColor: '',
|
||||||
|
tooltip: {
|
||||||
|
trigger: 'item'
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
top:'bottom',
|
||||||
|
},
|
||||||
|
series: {
|
||||||
|
name: '完成率',
|
||||||
|
type: 'pie',
|
||||||
|
radius: '50%',
|
||||||
|
itemStyle: {
|
||||||
|
borderRadius: 2
|
||||||
|
},
|
||||||
|
center: ['50%', '45%'],
|
||||||
|
data: [
|
||||||
|
{ value: 0, name: '炸纹' },
|
||||||
|
{ value: 0, name: '条纹' },
|
||||||
|
{ value: 0, name: '气泡' },
|
||||||
|
{ value: 0, name: '弯曲' },
|
||||||
|
{ value: 0, name: '其他' },
|
||||||
|
{ value: 0, name: '合格' },
|
||||||
|
],
|
||||||
|
emphasis: {
|
||||||
|
itemStyle: {
|
||||||
|
shadowBlur: 10,
|
||||||
|
shadowOffsetX: 0,
|
||||||
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
containerHeight1:100,
|
containerHeight1:100,
|
||||||
containerHeight2:100,
|
containerHeight2:100,
|
||||||
table1Visible:false,
|
table1Visible:false,
|
||||||
|
@ -214,46 +248,20 @@ export default {
|
||||||
refValue1:'moocBox1',
|
refValue1:'moocBox1',
|
||||||
refValue2:'moocBox2',
|
refValue2:'moocBox2',
|
||||||
liData1: ['序号', '型号', '完成进度', '产量', '状态'],
|
liData1: ['序号', '型号', '完成进度', '产量', '状态'],
|
||||||
listData1test: [
|
processData:[],
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:100},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:100},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:90},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:100},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:40}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
[{elType:'primary',value:"ZJ2"}, {elType:'progress',value:80},{elType:'primary',value:368},{elType:'tag',value:30}],
|
|
||||||
],
|
|
||||||
liData2: ['序号', '炉号','产品名称', '型号', '规格', '最近产量','锅数','设备状态'],
|
liData2: ['序号', '炉号','产品名称', '型号', '规格', '最近产量','锅数','设备状态'],
|
||||||
listData2test:[
|
lineData:[],
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
todayMtask:[],
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
[{elType:'primary',value:"1"},{elType:'primary',value:"光纤预制管"},{elType:'primary',value:"ZJ2"},{elType:'primary',value:"30/268"},{elType:'primary',value:"100"},{elType:'primary',value:"30"},{elType:'tag',value:"40"}],
|
|
||||||
],
|
|
||||||
time: null,
|
time: null,
|
||||||
delay: 20,
|
delay: 20,
|
||||||
dayInterval:null,
|
dayInterval:null,
|
||||||
stateOption:{
|
days:30,
|
||||||
30:'生产中',
|
today:'',
|
||||||
40:'已完成'
|
|
||||||
},
|
|
||||||
start_date:'',
|
start_date:'',
|
||||||
end_date:'',
|
end_date:'',
|
||||||
currentTime:'',
|
currentTime:'',
|
||||||
currentDay:'',
|
currentDay:'',
|
||||||
|
yesterday:'',
|
||||||
chartInterval1: null,
|
chartInterval1: null,
|
||||||
chartInterval2: null,
|
chartInterval2: null,
|
||||||
chartInterval3: null,
|
chartInterval3: null,
|
||||||
|
@ -266,115 +274,24 @@ export default {
|
||||||
//表格table2的显示
|
//表格table2的显示
|
||||||
this.containerHeight2 = document.getElementById('scrollContainer2').clientHeight;
|
this.containerHeight2 = document.getElementById('scrollContainer2').clientHeight;
|
||||||
this.table2Visible = true;
|
this.table2Visible = true;
|
||||||
|
let date = new Date();
|
||||||
let chart1Option = deepCopy(this.basicOption)
|
let year = date.getFullYear();
|
||||||
let chart1 = this.setChart("chart1", chart1Option);
|
let month = date.getMonth()+1;
|
||||||
let index1 = 0
|
let day = date.getDate();
|
||||||
this.chartInterval1 = setInterval(function () {
|
let days = new Date(year, month, 0).getDate();
|
||||||
if (index1 < chart1Option.series[0].data.length) {
|
this.days = days;
|
||||||
chart1.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
let start_date = year+'-'+month+'-01';
|
||||||
chart1.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index1 });
|
let lastDay = new Date(year, month, 0).getDate();
|
||||||
chart1.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index1 });
|
let end_date = year+'-'+month+'-'+lastDay;
|
||||||
} else {
|
|
||||||
index1 = 0;
|
|
||||||
}
|
|
||||||
}, 3000);
|
|
||||||
let chart2Option = deepCopy(this.basicOption)
|
|
||||||
chart2Option.legend = {
|
|
||||||
icon: "stack",
|
|
||||||
right: 0,
|
|
||||||
data: [{
|
|
||||||
backgroundColor: 'rgb(250,205,0)',
|
|
||||||
name: '合格率',
|
|
||||||
itemStyle: {
|
|
||||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
||||||
{
|
|
||||||
offset: 0,
|
|
||||||
color: 'rgb(1,235,239)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
offset: 1,
|
|
||||||
color: 'rgb(5, 158, 163)'
|
|
||||||
}
|
|
||||||
])
|
|
||||||
},
|
|
||||||
textStyle: {
|
|
||||||
color: '#fff'
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
};
|
|
||||||
chart2Option.xAxis.data= ['1日','2日', '3日', '4日', '5日', '6日', '7日', '8日','9日','10日', '11日', '12日', '13日', '14日', '15日', '16日', '17日', '18日','19日','20日', '21日', '22日', '23日', '24日', '25日', '26日', '27日', '28日', '29日', '30日'];
|
|
||||||
chart2Option.yAxis[0].name = '合格率(%)';
|
|
||||||
chart2Option.series[0].type = 'line';
|
|
||||||
chart2Option.series[0].data = ['40','60','70','56','49','69','50','60','70','56','30','69','50','60','70','56','49','69','50','60','40','56','49','69','50','70','56','49','80','50'];
|
|
||||||
let chart2 = this.setChart("chart2", chart2Option)
|
|
||||||
let index2 = 0
|
|
||||||
this.chartInterval2 = setInterval(function () {
|
|
||||||
if (index2 < chart2Option.series[0].data.length) {
|
|
||||||
chart2.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
|
||||||
chart2.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index2 });
|
|
||||||
chart2.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index2 });
|
|
||||||
index2++;
|
|
||||||
} else {
|
|
||||||
index2 = 0;
|
|
||||||
}
|
|
||||||
}, 3000);
|
|
||||||
let chart3Option ={
|
|
||||||
backgroundColor: '',
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item'
|
|
||||||
},
|
|
||||||
legend: {
|
|
||||||
top:'bottom'
|
|
||||||
},
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: '完成率',
|
|
||||||
type: 'pie',
|
|
||||||
radius: '50%',
|
|
||||||
itemStyle: {
|
|
||||||
borderRadius: 2
|
|
||||||
},
|
|
||||||
center: ['50%', '45%'],
|
|
||||||
data: [
|
|
||||||
{ value: 1, name: '椭圆弯曲' },
|
|
||||||
{ value: 3, name: '大小头' },
|
|
||||||
{ value: 0, name: '偏壁' },
|
|
||||||
{ value: 5, name: '结石' },
|
|
||||||
{ value: 5, name: '气线' },
|
|
||||||
{ value: 200, name: '合格' },
|
|
||||||
],
|
|
||||||
emphasis: {
|
|
||||||
itemStyle: {
|
|
||||||
shadowBlur: 10,
|
|
||||||
shadowOffsetX: 0,
|
|
||||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let chart3 = this.setChart("chart3", chart3Option);
|
|
||||||
let index3 = 0
|
|
||||||
this.chartInterval3 = setInterval(function () {
|
|
||||||
if (index3 < chart3Option.series[0].data.length) {
|
|
||||||
chart3.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
|
||||||
chart3.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index3 });
|
|
||||||
chart3.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index3 });
|
|
||||||
index3++;
|
|
||||||
} else {
|
|
||||||
index3 = 0;
|
|
||||||
}
|
|
||||||
}, 3000);
|
|
||||||
const ondDayTime = 86400000;
|
|
||||||
let cDate = new Date();
|
|
||||||
let month = cDate.getMonth()+1;
|
|
||||||
let start_date = cDate.getFullYear()+'-'+month+'-01';
|
|
||||||
let lastDay = new Date(cDate.getFullYear(), cDate.getMonth(), 0).getDate();
|
|
||||||
let end_date = cDate.getFullYear()+'-'+month+'-'+lastDay;
|
|
||||||
this.start_date = start_date;
|
this.start_date = start_date;
|
||||||
this.end_date = end_date;
|
this.end_date = end_date;
|
||||||
|
this.today = year+'-'+month+'-'+day;
|
||||||
|
let yesterday = new Date(date.getTime()-24*60*60*1000);
|
||||||
|
this.yesterday = yesterday.getFullYear()+"-" + (yesterday.getMonth()+1) + "-" + yesterday.getDate();
|
||||||
this.getProductLine();
|
this.getProductLine();
|
||||||
|
this.getUtask();
|
||||||
|
this.getTodayMtask();
|
||||||
|
this.getLineData();
|
||||||
//时间
|
//时间
|
||||||
this.showTime()
|
this.showTime()
|
||||||
this.dayInterval = setInterval(()=>{
|
this.dayInterval = setInterval(()=>{
|
||||||
|
@ -402,36 +319,263 @@ export default {
|
||||||
}, 500)
|
}, 500)
|
||||||
},
|
},
|
||||||
//任务进度
|
//任务进度
|
||||||
getMtask(){
|
getUtask(){
|
||||||
let that = this;
|
let that = this;
|
||||||
let obj ={};
|
let obj ={};
|
||||||
that.$API.pm.mtask.list.req(obj).then((res) => {
|
obj.start_date__gte = this.start_date;
|
||||||
|
obj.end_date__lte = this.end_date;
|
||||||
|
obj.belong_dept__name='7车间';
|
||||||
|
obj.page=0;
|
||||||
|
that.$API.pm.utask.list.req(obj).then((res) => {
|
||||||
console.log('任务进度:',res);
|
console.log('任务进度:',res);
|
||||||
debugger;
|
let processData = [];
|
||||||
|
res.forEach(item => {
|
||||||
|
let arr = [],obj1 = {},obj2 = {},obj3 = {},obj4 = {};
|
||||||
|
obj1.elType = 'primary';
|
||||||
|
obj1.value = item.material_.specification;
|
||||||
|
obj2.elType = 'progress';
|
||||||
|
let process = Math.floor((item.count_ok/item.count)*100)
|
||||||
|
obj2.value = process;
|
||||||
|
obj3.elType = 'primary';
|
||||||
|
obj3.value = item.count_ok;
|
||||||
|
obj4.elType = 'tag';
|
||||||
|
obj4.value = item.state;
|
||||||
|
arr.push(obj1);
|
||||||
|
arr.push(obj2);
|
||||||
|
arr.push(obj3);
|
||||||
|
arr.push(obj4);
|
||||||
|
processData.push(arr);
|
||||||
|
});
|
||||||
|
this.processData = processData;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//7车间生产按炉进度
|
||||||
|
getLineData(){
|
||||||
|
let that = this;
|
||||||
|
that.$API.bi.dataset.exec.req('linedept7', {}).then((res) => {
|
||||||
|
console.log('7车间生产线:',res);
|
||||||
|
let list = res.data2.ds0;
|
||||||
|
if(list.length>0){
|
||||||
|
let lineData = [];
|
||||||
|
list.forEach(item => {
|
||||||
|
let arr = [],obj1 = {},obj2 = {},obj3 = {},obj4 = {},obj5 = {},obj6 = {},obj7 = {};
|
||||||
|
obj1.elType = 'primary';
|
||||||
|
obj1.value = item.equip_name;//炉号
|
||||||
|
obj2.elType = 'primary';
|
||||||
|
obj2.value = item.material_name;
|
||||||
|
obj3.elType = 'primary';
|
||||||
|
obj3.value = item.material_specification;
|
||||||
|
obj4.elType = 'primary';
|
||||||
|
obj4.value = item.material_model;
|
||||||
|
obj5.elType = 'primary';
|
||||||
|
let process = item.count_real
|
||||||
|
obj5.value = process;
|
||||||
|
obj6.elType = 'primary';
|
||||||
|
obj6.value = item.index;
|
||||||
|
obj7.elType = 'tag';
|
||||||
|
obj7.value = item.equip_state;
|
||||||
|
arr.push(obj1);
|
||||||
|
arr.push(obj2);
|
||||||
|
arr.push(obj3);
|
||||||
|
arr.push(obj4);
|
||||||
|
arr.push(obj5);
|
||||||
|
arr.push(obj6);
|
||||||
|
arr.push(obj7);
|
||||||
|
lineData.push(arr);
|
||||||
|
});
|
||||||
|
this.lineData = lineData;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//生产线
|
//生产线
|
||||||
getProductLine(){
|
getProductLine(){
|
||||||
let that = this;
|
let that = this;
|
||||||
let obj ={
|
//本月生产统计
|
||||||
query: {start_date:this.start_date,end_date:this.end_date,dept_name: "7车间"},
|
|
||||||
};
|
|
||||||
let obj1 ={
|
let obj1 ={
|
||||||
query: {start_date:this.start_date,end_date:this.end_date},
|
query: {start_date:that.start_date,end_date:that.end_date},
|
||||||
};
|
};
|
||||||
//7车间生产线
|
that.$API.bi.dataset.exec.req('stoveStatics', obj1).then((res1) => {
|
||||||
that.$API.bi.dataset.exec.req('linedept7', obj).then((res1) => {
|
console.log('本月生产统计:',res1);
|
||||||
console.log('7车间生产线:',res1);
|
let list1 = res1.data2.ds0;
|
||||||
|
let seriesData1 = [],xAxisData1=[];
|
||||||
|
if(list1.length>0){
|
||||||
|
list1.forEach(item1=>{
|
||||||
|
xAxisData1.push(item1.equip_name);
|
||||||
|
seriesData1.push(item1.count_real);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let chart1Option = deepCopy(this.basicOption)
|
||||||
|
chart1Option.xAxis.data = xAxisData1;
|
||||||
|
chart1Option.series[0].data = seriesData1;
|
||||||
|
chart1Option.yAxis.name='生产数';
|
||||||
|
let chart1 = this.setChart("chart1", chart1Option);
|
||||||
|
let index1 = 0
|
||||||
|
this.chartInterval1 = setInterval(function () {
|
||||||
|
if (index1 < chart1Option.series[0].data.length) {
|
||||||
|
chart1.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
||||||
|
chart1.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index1 });
|
||||||
|
chart1.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index1 });
|
||||||
|
index1++;
|
||||||
|
} else {
|
||||||
|
index1 = 0;
|
||||||
|
}
|
||||||
|
}, 3000);
|
||||||
});
|
});
|
||||||
//7车间生产按炉统计
|
//本月合格率统计
|
||||||
that.$API.bi.dataset.exec.req('stoveStatics', obj1).then((res2) => {
|
let obj2 ={
|
||||||
console.log('7车间生产按炉统计:',res2);
|
query: {start_date:that.start_date,end_date:that.end_date,dept_name: "7车间"},
|
||||||
debugger;
|
};
|
||||||
|
that.$API.bi.dataset.exec.req('lineDay', obj2).then((res2) => {
|
||||||
|
console.log('本月合格率统计:',res2);
|
||||||
|
let list2 = res2.data2.ds0;
|
||||||
|
let seriesData2 = [],xAxisData2=[];
|
||||||
|
for (let i = 0; i < that.days; i++) {
|
||||||
|
let day = i+1;
|
||||||
|
let text = day+'日';
|
||||||
|
xAxisData2[i]=text;
|
||||||
|
}
|
||||||
|
if(list2.length>0){
|
||||||
|
list2.forEach(item2=>{
|
||||||
|
let index2 = item2.日-1;
|
||||||
|
seriesData2[index2] = item2.合格率;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
console.log('xAxisData2',xAxisData2)
|
||||||
|
let chart2Option = deepCopy(this.basicOption);
|
||||||
|
chart2Option.xAxis.data = xAxisData2;
|
||||||
|
chart2Option.yAxis.name='合格率';
|
||||||
|
chart2Option.legend = {
|
||||||
|
icon: "stack",
|
||||||
|
right: 0,
|
||||||
|
data: [{
|
||||||
|
backgroundColor: 'rgb(250,205,0)',
|
||||||
|
name: '合格率',
|
||||||
|
itemStyle: {
|
||||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
|
{
|
||||||
|
offset: 0,
|
||||||
|
color: 'rgb(1,235,239)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
offset: 1,
|
||||||
|
color: 'rgb(5, 158, 163)'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
},
|
||||||
|
textStyle: {
|
||||||
|
color: '#fff'
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
};
|
||||||
|
let series2=[{
|
||||||
|
name: '合格率',
|
||||||
|
type: 'line',
|
||||||
|
smooth: true,
|
||||||
|
lineStyle: {
|
||||||
|
width: 1, color: 'rgb(1,235,239)'
|
||||||
|
},
|
||||||
|
showSymbol: false,
|
||||||
|
areaStyle: {
|
||||||
|
opacity: 0.8,
|
||||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
|
{
|
||||||
|
offset: 0,
|
||||||
|
color: 'rgb(1,235,239)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
offset: 1,
|
||||||
|
color: 'rgb(5, 158, 163)'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
focus: 'series'
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
position: 'top',
|
||||||
|
color:'#fff'
|
||||||
|
},
|
||||||
|
itemStyle: {
|
||||||
|
borderRadius: [2, 2, 0, 0],
|
||||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
|
{
|
||||||
|
offset: 0,
|
||||||
|
color: 'rgb(250,205,0)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
offset: 1,
|
||||||
|
color: 'rgb(254,129,0)'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
},
|
||||||
|
data: seriesData2
|
||||||
|
}];
|
||||||
|
chart2Option.series=series2;
|
||||||
|
let chart2 = this.setChart("chart2", chart2Option);
|
||||||
|
let index2 = 0
|
||||||
|
this.chartInterval2 = setInterval(function () {
|
||||||
|
if (index2 < chart2Option.series[0].data.length) {
|
||||||
|
chart2.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
||||||
|
chart2.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index2 });
|
||||||
|
chart2.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index2 });
|
||||||
|
index2++;
|
||||||
|
} else {
|
||||||
|
index2 = 0;
|
||||||
|
}
|
||||||
|
}, 3000);
|
||||||
});
|
});
|
||||||
//生产车间按日统计 本月合格率统计&昨日合格统计
|
|
||||||
that.$API.bi.dataset.exec.req('lineDay', obj).then((res3) => {
|
//车间生产昨日统计 12月1号
|
||||||
console.log('生产车间按日统计:',res3);
|
let obj3 ={
|
||||||
debugger;
|
query: {start_date:that.yesterday,end_date:that.yesterday,dept_name: "7车间"},
|
||||||
|
};
|
||||||
|
that.$API.bi.dataset.exec.req('lineDay', obj3).then((res3) => {
|
||||||
|
console.log('车间生产昨日统计:',res3);
|
||||||
|
let seriesData3 = [
|
||||||
|
{ value: 0, name: '炸纹' },
|
||||||
|
{ value: 0, name: '条纹' },
|
||||||
|
{ value: 0, name: '气泡' },
|
||||||
|
{ value: 0, name: '弯曲' },
|
||||||
|
{ value: 0, name: '其他' },
|
||||||
|
{ value: 0, name: '合格' },
|
||||||
|
]
|
||||||
|
if(res3.data2.ds0.length>0){
|
||||||
|
let item3 = res3.data2.ds0[0];
|
||||||
|
that.yesterdayObjet = item
|
||||||
|
seriesData3[0].value=item3.炸纹;
|
||||||
|
seriesData3[1].value=item3.条纹;
|
||||||
|
seriesData3[2].value=item3.气泡;
|
||||||
|
seriesData3[3].value=item3.弯曲;
|
||||||
|
seriesData3[4].value=item3.其他;
|
||||||
|
seriesData3[5].value=item3.合格数;
|
||||||
|
}
|
||||||
|
that.chart3Option.series.data = seriesData3;
|
||||||
|
let chart3 = this.setChart("chart3", that.chart3Option);
|
||||||
|
let index3 = 0
|
||||||
|
this.chartInterval3 = setInterval(function () {
|
||||||
|
if (index3 < that.chart3Option.series.data.length) {
|
||||||
|
chart3.dispatchAction({ type: 'downplay', seriesIndex: 0 });
|
||||||
|
chart3.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index3 });
|
||||||
|
chart3.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index3 });
|
||||||
|
index3++;
|
||||||
|
} else {
|
||||||
|
index3 = 0;
|
||||||
|
}
|
||||||
|
}, 3000);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//今日任务
|
||||||
|
getTodayMtask(){
|
||||||
|
let that = this;
|
||||||
|
let obj ={};
|
||||||
|
obj.start_date = this.today;
|
||||||
|
obj.end_date = this.today;
|
||||||
|
obj.belong_dept__name='7车间';
|
||||||
|
obj.page=0;
|
||||||
|
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||||
|
that.todayMtask=res;
|
||||||
|
console.log('今日任务:',res);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -447,6 +591,7 @@ export default {
|
||||||
background-image: url("/public/img/photon_bg.png");
|
background-image: url("/public/img/photon_bg.png");
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: "Microsoft Yahei" !important;
|
font-family: "Microsoft Yahei" !important;
|
||||||
|
background-size: cover;
|
||||||
}
|
}
|
||||||
.header {
|
.header {
|
||||||
background: url("/public/img/photon_header.png");
|
background: url("/public/img/photon_header.png");
|
||||||
|
|
Loading…
Reference in New Issue