Merge branch 'v2' of https://e.coding.net/ctcdevteam/ehs/ehs_web into v2
This commit is contained in:
commit
9ea6c53725
|
@ -14,9 +14,10 @@
|
|||
<tr v-for="(itemy, index) in rowData" class="rollData" ref="con1" :key="itemy">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td v-for="itemz in itemy" :key="itemz">
|
||||
<el-progress v-if="itemz.elType=='progress'" :text-inside="true" :stroke-width="14" :percentage="itemz.value"
|
||||
:status="getStatus(itemz.value)"/>
|
||||
<el-tag v-else-if="itemz.elType=='tag'" :type="getTagType(itemz.value)">{{ stateOption[itemz.value] }}</el-tag>
|
||||
<el-progress v-if="itemz.elType == 'progress'" :text-inside="true"
|
||||
:stroke-width="14" :percentage="itemz.value" :status="getStatus(itemz.value)" />
|
||||
<el-tag v-else-if="itemz.elType == 'tag'" :type="getTagType(itemz.value)">{{
|
||||
stateOption[itemz.value] }}</el-tag>
|
||||
<span v-else>{{ itemz.value }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -27,16 +28,12 @@
|
|||
<td v-for="itemz in itemy" :key="itemz">
|
||||
<!-- <el-progress v-if="itemz.elType=='progress'" :text-inside="true" :stroke-width="14" :percentage="itemz.value"
|
||||
:status="getStatus(itemz.value)"/> -->
|
||||
<el-progress
|
||||
v-if="itemz.elType=='progress'"
|
||||
:text-inside="true"
|
||||
:stroke-width="16"
|
||||
:percentage="itemz.value"
|
||||
:status="getStatus(itemz.value)"
|
||||
>
|
||||
<el-progress v-if="itemz.elType == 'progress'" :text-inside="true"
|
||||
:stroke-width="16" :percentage="itemz.value" :status="getStatus(itemz.value)">
|
||||
<span>{{ itemz.value }}</span>
|
||||
</el-progress>
|
||||
<el-tag v-else-if="itemz.elType=='tag'" :type="getTagType(itemz.value)">{{ stateOption[itemz.value] }}</el-tag>
|
||||
<el-tag v-else-if="itemz.elType == 'tag'" :type="getTagType(itemz.value)">{{
|
||||
stateOption[itemz.value] }}</el-tag>
|
||||
<span v-else>{{ itemz.value }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -142,6 +139,7 @@
|
|||
},
|
||||
|
||||
scrollUp() {
|
||||
if (this.$refs[`${this.refValue}`] && this.$refs[`${this.refValue}`].scrollTop) {
|
||||
let scrollTop = this.$refs[`${this.refValue}`].scrollTop;
|
||||
let scrollHeight = this.$refs[`${this.refValue}`].scrollHeight;
|
||||
if (scrollTop >= scrollHeight / 2) {
|
||||
|
@ -150,6 +148,8 @@
|
|||
} else {
|
||||
this.$refs[`${this.refValue}`].scrollTop = scrollTop + 40;
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
// 鼠标滑过暂停滚动
|
||||
mouseOver() {
|
||||
|
@ -185,6 +185,7 @@
|
|||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
|
@ -193,37 +194,46 @@
|
|||
table-layout: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.title {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table th {
|
||||
font-size: 14px;
|
||||
background: rgba(0, 0, 0, .1);
|
||||
}
|
||||
|
||||
table td {
|
||||
font-size: 14px;
|
||||
height: 40px;
|
||||
text-align: center;
|
||||
color: rgba(255, 255, 255, .8);
|
||||
}
|
||||
table th,table td{
|
||||
|
||||
table th,
|
||||
table td {
|
||||
padding: .1rem 0;
|
||||
border-bottom: none !important;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.marquee_top {
|
||||
transition: all 0.5s ease-in-out;
|
||||
margin-top: -26px;
|
||||
}
|
||||
|
||||
.totall {
|
||||
color: #fff;
|
||||
background-color: rgb(10, 63, 68);
|
||||
}
|
||||
|
||||
.rollData {
|
||||
background-color: rgb(10, 39, 50);
|
||||
}
|
||||
|
||||
.rollData:nth-of-type(2n+1) {
|
||||
background-color: rgb(0, 59, 81);
|
||||
}
|
||||
|
|
|
@ -15,9 +15,11 @@
|
|||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||
<div v-for="item in todayMtask" :key="item.id" style="height: 40px;">
|
||||
<span style="font-size:12px">{{item.material_out_.name}}|{{ item.material_out_.specification }}|{{ item.material_out_.model }}</span>
|
||||
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||
<div v-for="item in todayMtask" :key="item.id"
|
||||
style="height: 40px;line-height: 40px;padding: 0 20px;display: flex;justify-content: space-between;">
|
||||
<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>
|
||||
|
@ -32,7 +34,9 @@
|
|||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain flex_center bigdata border">
|
||||
<span>{{ yesterdayObjet.物料名 }}</span>
|
||||
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">{{yesterdayObjet.合格数}}</span>
|
||||
<span
|
||||
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">{{
|
||||
yesterdayObjet.合格数 }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -45,7 +49,8 @@
|
|||
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||
<div v-for="item in monthobjList" :key="item.id" style="height: 40px;">
|
||||
<span style="font-size:12px">{{ item.物料名 }}</span>
|
||||
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||
<span
|
||||
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||
{{ item.合格数 }}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -63,8 +68,7 @@
|
|||
<div style="height: 2px;"></div>
|
||||
<div class="boxmain" id="scrollContainer1">
|
||||
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
|
||||
:rowData="attendanceData" :titleData="liData1" :refValue="refValue1"
|
||||
></scScrollTavle>
|
||||
:rowData="attendanceData" :titleData="liData1" :refValue="refValue1"></scScrollTavle>
|
||||
</div>
|
||||
</div>
|
||||
</el-row>
|
||||
|
@ -76,8 +80,8 @@
|
|||
</div>
|
||||
<div style="height: 2px;"></div>
|
||||
<div class="boxmain" id="scrollContainer2">
|
||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
||||
:rowData="processData" :titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2" :rowData="processData"
|
||||
:titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -631,7 +635,7 @@ export default {
|
|||
let obj = {};
|
||||
obj.start_date = this.today;
|
||||
obj.end_date = this.today;
|
||||
obj.belong_dept__name='10车间';
|
||||
obj.mgroup__belong_dept__name = '10车间';
|
||||
obj.page = 0;
|
||||
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||
that.todayMtask = res;
|
||||
|
@ -644,15 +648,19 @@ export default {
|
|||
</script>
|
||||
<style scoped>
|
||||
@font-face {
|
||||
font-family: 'myfont'; /* 字体名称 */
|
||||
src: url('../../utils/youShe.ttf'); /* 字体文件相对路径 */
|
||||
font-family: 'myfont';
|
||||
/* 字体名称 */
|
||||
src: url('../../utils/youShe.ttf');
|
||||
/* 字体文件相对路径 */
|
||||
}
|
||||
|
||||
.dashboard {
|
||||
background-image: url("/public/img/photon_bg.png");
|
||||
color: #fff;
|
||||
font-family: "Microsoft Yahei" !important;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.header {
|
||||
background: url("/public/img/photon_header.png");
|
||||
border-bottom: none;
|
||||
|
@ -665,10 +673,12 @@ export default {
|
|||
text-align: center;
|
||||
padding: 12px 0px;
|
||||
}
|
||||
|
||||
.box {
|
||||
background: rgba(10, 63, 68, 0.5);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.boxtitle {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
|
@ -676,10 +686,12 @@ export default {
|
|||
height: 36px;
|
||||
background: linear-gradient(40deg, rgba(11, 101, 140, 0.451), rgba(0, 34, 48, 0.335), rgba(11, 101, 140, 0.451));
|
||||
}
|
||||
|
||||
.bgimg {
|
||||
background-image: url('https://cdn-upload.datav.aliyun.com/upload/download/1678762309227-E6RP8z2R.png');
|
||||
background-size: 140% 100%;
|
||||
}
|
||||
|
||||
.boxlabel {
|
||||
margin-left: 6px;
|
||||
font-size: 18px;
|
||||
|
@ -695,11 +707,13 @@ export default {
|
|||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
.flex_center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 1px dashed #49bcf7;
|
||||
}
|
||||
|
@ -713,17 +727,21 @@ export default {
|
|||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.marquee_top {
|
||||
transition: all 0.5s ease-in-out;
|
||||
margin-top: -26px;
|
||||
}
|
||||
|
||||
.totall {
|
||||
color: #fff;
|
||||
background-color: rgb(10, 63, 68);
|
||||
}
|
||||
|
||||
.rollData {
|
||||
background-color: rgb(10, 39, 50);
|
||||
}
|
||||
|
||||
.rollData:nth-of-type(2n+1) {
|
||||
background-color: rgb(0, 59, 81);
|
||||
}
|
||||
|
|
|
@ -14,12 +14,18 @@
|
|||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||
<div v-for="item in todayUtask" :key="item.id" style="width:50%;display:inline-block; height: 40px;">
|
||||
<span style="font-size:12px">{{item.number}}</span>
|
||||
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||
<div v-for="item in todayMtask" :key="item.id"
|
||||
style="width:50%;display:inline-block;height: 40px;line-height:40px;padding:0 20px;">
|
||||
<div
|
||||
style="display:flex;justify-content:space-between;border-bottom:1px dashed #eeeeee">
|
||||
<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>
|
||||
</el-row>
|
||||
|
@ -33,8 +39,7 @@
|
|||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain" id="scrollContainer1">
|
||||
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
|
||||
:rowData="saleOutData" :titleData="liData1" :refValue="refValue1"
|
||||
></scScrollTavle>
|
||||
:rowData="saleOutData" :titleData="liData1" :refValue="refValue1"></scScrollTavle>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -47,9 +52,8 @@
|
|||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain" id="scrollContainer2">
|
||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
||||
:rowData="processData" :titleData="liData2" :refValue="refValue2"
|
||||
></scScrollTavle>
|
||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2" :rowData="processData"
|
||||
:titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -282,7 +286,12 @@ export default {
|
|||
refValue2: 'moocBox2',
|
||||
liData1: ['序号', '日期', '名称', '型号', '规格', '发货数量'],
|
||||
liData2: ['序号', '工序', '产品名称', '型号', '计划数量', '合格数量', '完成进度', '合格率'],
|
||||
todayUtask:[],
|
||||
todayMtask: [
|
||||
{ material_out_name: '光纤预制棒|33*470|ZJ2|棒料成型', count: 300 },
|
||||
{ material_out_name: '光纤预制棒|33*470|ZJ2|棒料成型', count: 300 },
|
||||
{ material_out_name: '光纤预制棒|33*470|ZJ2|棒料成型', count: 300 },
|
||||
{ material_out_name: '光纤预制棒|33*470|ZJ2|棒料成型', count: 300 },
|
||||
],
|
||||
saleOutData: [],
|
||||
processData: [],
|
||||
time: null,
|
||||
|
@ -319,18 +328,26 @@ export default {
|
|||
this.start_date = start_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();
|
||||
let week = date.getDay();//当前时间的week数
|
||||
let yesterday = new Date(date.getTime() - 24 * 60 * 60 * 1000);
|
||||
this.yesterday = yesterday.getFullYear() + "-" + (yesterday.getMonth() + 1) + "-" + yesterday.getDate();
|
||||
let week = yesterday.getDay();//当前时间的week数
|
||||
console.log(week);
|
||||
let weekFirst = week - 1;//第一天对应的天数
|
||||
let weekLast = 7 - week;//最后一天对应的天数
|
||||
if (week == 0) {
|
||||
weekFirst = 6;
|
||||
weekLast = 0;//周日特殊处理
|
||||
} else {
|
||||
weekFirst = week - 1;
|
||||
weekLast = 7 - week;
|
||||
}
|
||||
let first = new Date(new Date(date.getTime() - (weekFirst * ondDayTime)));//本周周一
|
||||
let last = new Date(new Date(date.getTime() + (weekLast * ondDayTime)));//本周周日
|
||||
this.weekFirst = first.getFullYear() + '-' + (first.getMonth() + 1) + '-' + first.getDate();
|
||||
this.weekLast = last.getFullYear() + '-' + (last.getMonth() + 1) + '-' + last.getDate();
|
||||
this.getsaleOut();
|
||||
this.getMioItem();//发货情况
|
||||
this.getTodayUtask();//今日任务
|
||||
// this.getTodayMtask();//今日任务
|
||||
//昨日工序进度
|
||||
this.getMtask();
|
||||
//时间
|
||||
|
@ -360,17 +377,23 @@ export default {
|
|||
}, 500)
|
||||
},
|
||||
//今日任务
|
||||
getTodayUtask(){
|
||||
getTodayMtask() {
|
||||
let that = this;
|
||||
let obj = {};
|
||||
obj.start_date = this.today;
|
||||
obj.end_date = this.today;
|
||||
obj.belong_dept__name='6车间';
|
||||
obj.is_count_utask = true;
|
||||
obj.mgroup__belong_dept__name = '6车间';
|
||||
obj.page = 0;
|
||||
that.$API.pm.utask.list.req(obj).then((res) => {
|
||||
that.todayUtask=res;
|
||||
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||
that.todayMtask = res;
|
||||
console.log('今日任务:', res);
|
||||
});
|
||||
|
||||
// that.$API.pm.utask.list.req(obj).then((res) => {
|
||||
// that.todayMtask = res;
|
||||
// console.log('今日任务:', res);
|
||||
// });
|
||||
},
|
||||
//发货情况
|
||||
getMioItem() {
|
||||
|
@ -408,37 +431,31 @@ export default {
|
|||
//本周工序进展
|
||||
getMtask() {
|
||||
let that = this;
|
||||
let obj ={};
|
||||
obj.start_date = this.weekFirst;
|
||||
obj.end_date = this.weekLast;
|
||||
obj.mgroup__belong_dept__name='6车间';
|
||||
obj.page=0;
|
||||
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||
console.log(res);
|
||||
if(res.length>0){
|
||||
let obj = {
|
||||
query: { start_date: this.start_date, end_date: this.end_date, dept_name: "6车间" },
|
||||
};
|
||||
//生产车间按日统计
|
||||
that.$API.bi.dataset.exec.req('mgroupWeek', obj).then((res) => {
|
||||
let data = res.data2.ds0;
|
||||
if (data.length > 0) {
|
||||
let processData = [];
|
||||
res.forEach(item => {
|
||||
data.forEach(item => {
|
||||
let arr = [], obj1 = {}, obj2 = {}, obj3 = {}, obj4 = {}, obj5 = {}, obj6 = {}, obj7 = {}, obj8 = {};
|
||||
obj1.elType = 'primary';
|
||||
obj1.value = item.mgroup_name;//工序
|
||||
obj1.value = item.工段;//工序
|
||||
obj2.elType = 'primary';
|
||||
obj2.value = item.material_out_.name;
|
||||
obj2.value = item.物料名称;
|
||||
obj3.elType = 'primary';
|
||||
obj3.value = item.material_out_.specification;
|
||||
obj3.value = item.型号;
|
||||
obj4.elType = 'primary';
|
||||
obj4.value = item.count;
|
||||
obj4.value = item.计划数;
|
||||
obj5.elType = 'primary';
|
||||
obj5.value = item.count_ok;
|
||||
obj5.value = item.合格数;
|
||||
obj6.elType = 'progress';
|
||||
let jindu = Math.round((item.count_ok/item.count)*100);
|
||||
let jindu = Math.round((item.完成进度) * 100);
|
||||
obj6.value = jindu;
|
||||
obj7.elType = 'primary';
|
||||
let rate = 0;
|
||||
if(item.count_real!=0){
|
||||
rate = Math.round((item.count_ok/item.count_real)*100);
|
||||
}else{
|
||||
rate = 0;
|
||||
}
|
||||
let rate = Math.round((item.合格率) * 100);
|
||||
obj7.value = rate;
|
||||
arr.push(obj1);
|
||||
arr.push(obj2);
|
||||
|
@ -448,13 +465,60 @@ export default {
|
|||
arr.push(obj6);
|
||||
arr.push(obj7);
|
||||
processData.push(arr);
|
||||
|
||||
});
|
||||
console.log('processData', processData)
|
||||
this.processData = processData;
|
||||
}
|
||||
debugger;
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
// let obj = {};
|
||||
// obj.start_date = this.weekFirst;
|
||||
// obj.end_date = this.weekLast;
|
||||
// obj.mgroup__belong_dept__name = '6车间';
|
||||
// obj.page = 0;
|
||||
// that.$API.pm.mtask.list.req(obj).then((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.round((item.count_ok / item.count) * 100);
|
||||
// obj6.value = jindu;
|
||||
// obj7.elType = 'primary';
|
||||
// let rate = 0;
|
||||
// if (item.count_real != 0) {
|
||||
// rate = Math.round((item.count_ok / item.count_real) * 100);
|
||||
// } else {
|
||||
// rate = 0;
|
||||
// }
|
||||
// obj7.value = rate;
|
||||
// arr.push(obj1);
|
||||
// arr.push(obj2);
|
||||
// arr.push(obj3);
|
||||
// arr.push(obj4);
|
||||
// arr.push(obj5);
|
||||
// arr.push(obj6);
|
||||
// arr.push(obj7);
|
||||
// processData.push(arr);
|
||||
|
||||
// });
|
||||
// console.log('processData', processData)
|
||||
// this.processData = processData;
|
||||
// }
|
||||
// debugger;
|
||||
// });
|
||||
},
|
||||
//本月生产统计&本月交付统计
|
||||
getsaleOut() {
|
||||
|
@ -503,19 +567,7 @@ export default {
|
|||
chart1Option.xAxis.data = xAxisData1;
|
||||
chart1Option.series[0].data = seriesData11;
|
||||
chart1Option.series[1].data = seriesData12;
|
||||
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: index2 });
|
||||
// chart1.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: index2 });
|
||||
// index1++;
|
||||
// } else {
|
||||
// index1 = 0;
|
||||
// }
|
||||
// }, 3000);
|
||||
// debugger;
|
||||
this.setChart("chart1", chart1Option);
|
||||
});
|
||||
//本月交付统计
|
||||
that.$API.bi.dataset.exec.req('saleOutDay', obj2).then((saleOutRes) => {
|
||||
|
@ -560,19 +612,7 @@ export default {
|
|||
chart2Option.series[1].data = seriesData22;
|
||||
chart2Option.series[1].label.position = 'top';
|
||||
|
||||
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);
|
||||
// debugger;
|
||||
this.setChart("chart2", chart2Option);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -582,15 +622,19 @@ export default {
|
|||
</script>
|
||||
<style scoped>
|
||||
@font-face {
|
||||
font-family: 'myfont'; /* 字体名称 */
|
||||
src: url('../../utils/youShe.ttf'); /* 字体文件相对路径 */
|
||||
font-family: 'myfont';
|
||||
/* 字体名称 */
|
||||
src: url('../../utils/youShe.ttf');
|
||||
/* 字体文件相对路径 */
|
||||
}
|
||||
|
||||
.dashboard {
|
||||
background-image: url("/public/img/photon_bg.png");
|
||||
color: #fff;
|
||||
background-size: cover;
|
||||
font-family: "Microsoft Yahei" !important;
|
||||
}
|
||||
|
||||
.header {
|
||||
background: url("/public/img/photon_header.png");
|
||||
border-bottom: none;
|
||||
|
@ -603,10 +647,12 @@ export default {
|
|||
text-align: center;
|
||||
padding: 12px 0px;
|
||||
}
|
||||
|
||||
.box {
|
||||
background: rgba(10, 63, 68, 0.5);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.boxtitle {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
|
@ -614,34 +660,42 @@ export default {
|
|||
height: 36px;
|
||||
background: linear-gradient(40deg, rgba(11, 101, 140, 0.451), rgba(0, 34, 48, 0.335), rgba(11, 101, 140, 0.451));
|
||||
}
|
||||
|
||||
.bgimg {
|
||||
background-image: url('https://cdn-upload.datav.aliyun.com/upload/download/1678762309227-E6RP8z2R.png');
|
||||
background-size: 140% 100%;
|
||||
}
|
||||
|
||||
.boxlabel {
|
||||
margin-left: 6px;
|
||||
font-size: 18px;
|
||||
margin-top: 6px
|
||||
}
|
||||
|
||||
.boxmain {
|
||||
height: calc(100% - 40px);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.boxmain {
|
||||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
.flex_center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 1px dashed #49bcf7;
|
||||
}
|
||||
|
||||
.bigdata {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
overflow: hidden;
|
||||
height: 220px;
|
||||
|
@ -652,21 +706,26 @@ export default {
|
|||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table th {
|
||||
font-size: 14px;
|
||||
background: rgba(0, 0, 0, .1);
|
||||
}
|
||||
|
||||
.marquee_top {
|
||||
transition: all 0.5s ease-in-out;
|
||||
margin-top: -26px;
|
||||
}
|
||||
|
||||
.totall {
|
||||
color: #fff;
|
||||
background-color: rgb(10, 63, 68);
|
||||
}
|
||||
|
||||
.rollData {
|
||||
background-color: rgb(10, 39, 50);
|
||||
}
|
||||
|
||||
.rollData:nth-of-type(2n+1) {
|
||||
background-color: rgb(0, 59, 81);
|
||||
}
|
||||
|
|
|
@ -12,16 +12,20 @@
|
|||
<div class="boxlabel">今日任务</div>
|
||||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain bigdata border" style="overflow:scroll">
|
||||
<div v-for="item in todayMtask" :key="item.id" style="width:50%;display:inline-block; height: 40px;">
|
||||
<div class="boxmain bigdata border" style="overflow:scroll;padding:5px;">
|
||||
<div v-for="item in todayMtask" :key="item.id"
|
||||
style="width:50%;display:inline-block;height: 40px;line-height:40px;padding:0 20px;">
|
||||
<div style="display:flex;justify-content:space-between;border-bottom:1px dashed #eeeeee">
|
||||
<span style="font-size:12px">{{ item.material_out_name }}</span>
|
||||
<span style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||
<span
|
||||
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">
|
||||
{{ item.count }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 1%;"></div>
|
||||
<el-row style="height:70%">
|
||||
<el-col style="height: 100%;">
|
||||
|
@ -45,8 +49,8 @@
|
|||
</div>
|
||||
<div style="height: 4px;"></div>
|
||||
<div class="boxmain" id="scrollContainer2">
|
||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2"
|
||||
:rowData="lineData" :titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
||||
<scScrollTavle v-if="table2Visible" :tableHeight="containerHeight2" :rowData="lineData"
|
||||
:titleData="liData2" :refValue="refValue2"></scScrollTavle>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -360,7 +364,7 @@ export default {
|
|||
list.forEach(item => {
|
||||
let arr = [], obj1 = {}, obj2 = {}, obj3 = {}, obj4 = {}, obj5 = {}, obj6 = {}, obj7 = {};
|
||||
obj1.elType = 'primary';
|
||||
obj1.value = item.equip_name;//炉号
|
||||
obj1.value = item.equip_name + '|' + item.equip_number;//炉号
|
||||
obj2.elType = 'primary';
|
||||
obj2.value = item.material_name;
|
||||
obj3.elType = 'primary';
|
||||
|
@ -400,26 +404,14 @@ export default {
|
|||
let seriesData1 = [], xAxisData1 = [];
|
||||
if (list1.length > 0) {
|
||||
list1.forEach(item1 => {
|
||||
xAxisData1.push(item1.equip_name);
|
||||
xAxisData1.push(item1.equip_number);
|
||||
seriesData1.push(item1.count_real);
|
||||
})
|
||||
}
|
||||
let chart1Option = deepCopy(this.basicOption)
|
||||
chart1Option.xAxis.data = xAxisData1;
|
||||
chart1Option.series[0].data = seriesData1;
|
||||
// chart1Option.yAxis.name='生产数';
|
||||
let chart1 = that.setChart("chart1", chart1Option);
|
||||
// let index1 = 0
|
||||
// this.chartInterval1 = setInterval(function () {
|
||||
// if (index1 < seriesData1.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);
|
||||
});
|
||||
//本月合格率统计
|
||||
let obj2 = {
|
||||
|
@ -513,17 +505,6 @@ export default {
|
|||
}];
|
||||
chart2Option.series = series2;
|
||||
let chart2 = that.setChart("chart2", chart2Option);
|
||||
// let index2 = 0
|
||||
// this.chartInterval2 = setInterval(function () {
|
||||
// if (index2 < seriesData2.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);
|
||||
});
|
||||
|
||||
//车间生产昨日统计 12月1号
|
||||
|
@ -552,17 +533,6 @@ export default {
|
|||
}
|
||||
that.chart3Option.series.data = seriesData3;
|
||||
let chart3 = that.setChart("chart3", that.chart3Option);
|
||||
// let index3 = 0
|
||||
// this.chartInterval3 = setInterval(function () {
|
||||
// if (index3 < seriesData3.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);
|
||||
});
|
||||
},
|
||||
//今日任务
|
||||
|
@ -571,7 +541,7 @@ export default {
|
|||
let obj = {};
|
||||
obj.start_date = this.today;
|
||||
obj.end_date = this.today;
|
||||
obj.belong_dept__name='7车间';
|
||||
obj.mgroup__belong_dept__name = '7车间';
|
||||
obj.page = 0;
|
||||
that.$API.pm.mtask.list.req(obj).then((res) => {
|
||||
that.todayMtask = res;
|
||||
|
@ -584,15 +554,19 @@ export default {
|
|||
</script>
|
||||
<style scoped>
|
||||
@font-face {
|
||||
font-family: 'myfont'; /* 字体名称 */
|
||||
src: url('../../utils/youShe.ttf'); /* 字体文件相对路径 */
|
||||
font-family: 'myfont';
|
||||
/* 字体名称 */
|
||||
src: url('../../utils/youShe.ttf');
|
||||
/* 字体文件相对路径 */
|
||||
}
|
||||
|
||||
.dashboard {
|
||||
background-image: url("/public/img/photon_bg.png");
|
||||
color: #fff;
|
||||
font-family: "Microsoft Yahei" !important;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.header {
|
||||
background: url("/public/img/photon_header.png");
|
||||
border-bottom: none;
|
||||
|
@ -604,10 +578,13 @@ export default {
|
|||
font-family: 'Microsoft Yahei';
|
||||
text-align: center;
|
||||
padding: 12px 0px;
|
||||
}.box {
|
||||
}
|
||||
|
||||
.box {
|
||||
background: rgba(10, 63, 68, 0.5);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.boxtitle {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
|
@ -615,18 +592,22 @@ export default {
|
|||
height: 36px;
|
||||
background: linear-gradient(40deg, rgba(11, 101, 140, 0.451), rgba(0, 34, 48, 0.335), rgba(11, 101, 140, 0.451));
|
||||
}
|
||||
|
||||
.bgimg {
|
||||
background-image: url('https://cdn-upload.datav.aliyun.com/upload/download/1678762309227-E6RP8z2R.png');
|
||||
background-size: 140% 100%;
|
||||
}
|
||||
|
||||
.boxmain {
|
||||
height: calc(100% - 40px);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.boxmain {
|
||||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
.flex_center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -639,16 +620,20 @@ export default {
|
|||
|
||||
.bigdata {
|
||||
font-size: 24px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.boxlabel {
|
||||
margin-left: 6px;
|
||||
font-size: 18px;
|
||||
margin-top: 6px
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
overflow: hidden;
|
||||
height: 220px;
|
||||
}
|
||||
|
||||
.wrapper2 {
|
||||
height: 180px;
|
||||
overflow: hidden;
|
||||
|
@ -659,17 +644,21 @@ export default {
|
|||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.marquee_top {
|
||||
transition: all 0.5s ease-in-out;
|
||||
margin-top: -26px;
|
||||
}
|
||||
|
||||
.totall {
|
||||
color: #fff;
|
||||
background-color: rgb(10, 63, 68);
|
||||
}
|
||||
|
||||
.rollData {
|
||||
background-color: rgb(10, 39, 50);
|
||||
}
|
||||
|
||||
.rollData:nth-of-type(2n+1) {
|
||||
background-color: rgb(0, 59, 81);
|
||||
}
|
||||
|
|
|
@ -120,7 +120,10 @@
|
|||
<div class="border_corner border_right_bottom"></div>
|
||||
<p class="title">{{ dialogData.deptName }}</p>
|
||||
<div class="infoCantier">
|
||||
<div class="leftBlock">
|
||||
<div class="leftBlock" v-if="dialogData.deptName == '办公楼'">
|
||||
<img src="img/gz_logo.png" alt="" style="width:100%">
|
||||
</div>
|
||||
<div class="leftBlock" v-else>
|
||||
<el-progress :width="70" type="circle" color="rgba(54, 217, 187, 1)" :percentage="dialogData.percentage"
|
||||
id="dashbordProcess">
|
||||
<span class="percentage-value" style="font-size: 16px">{{ dialogData.percentage }}%</span>
|
||||
|
@ -129,8 +132,7 @@
|
|||
</div>
|
||||
<div class="rightBlock">
|
||||
<div>
|
||||
<p>昨日产量</p>
|
||||
<!-- <p> <span class="numberFont">390</span><span class="numberUnit">件</span></p> -->
|
||||
<p v-if="dialogData.deptName !== '办公楼'">昨日产量</p>
|
||||
</div>
|
||||
<div class="countWrap">
|
||||
<div v-if="dialogData.deptName == '光纤预制管生产车间' || dialogData.deptName == '光学精密加工车间'">
|
||||
|
@ -148,6 +150,10 @@
|
|||
<p> <span class="numberFont">{{ dialogData.count }}</span><span class="numberUnit">kg</span>
|
||||
</p>
|
||||
</div>
|
||||
<div v-if="dialogData.deptName == '办公楼'">
|
||||
<p style="font-size:12px">
|
||||
公司秉承“善用资源,服务建设”的核心理念,践行“材料创造美好世界”的企业使命,坚持“创新、绩效、和谐、责任”的核心价值观,努力成长为具有创新精神和全球视野的光子材料领先企业。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -160,7 +166,10 @@
|
|||
<div class="border_corner border_right_bottom"></div>
|
||||
<p class="title">{{ currentData.deptName }}</p>
|
||||
<div class="infoCantier">
|
||||
<div class="leftBlock">
|
||||
<div class="leftBlock" v-if="currentData.deptName == '办公楼'">
|
||||
<img src="img/gz_logo.png" alt="" style="margin-top:10px">
|
||||
</div>
|
||||
<div class="leftBlock" v-else>
|
||||
<el-progress :width="100" type="circle" color="rgba(54, 217, 187, 1)"
|
||||
:percentage="currentData.percentage" id="dashbordProcess">
|
||||
<span class="percentage-value" style="font-size: 16px">{{ currentData.percentage }}%</span>
|
||||
|
@ -169,8 +178,7 @@
|
|||
</div>
|
||||
<div class="rightBlock">
|
||||
<div>
|
||||
<p>昨日产量</p>
|
||||
<!-- <p> <span class="numberFont">390</span><span class="numberUnit">件</span></p> -->
|
||||
<p v-if="currentData.deptName !== '办公楼'">昨日产量</p>
|
||||
</div>
|
||||
<div class="countWrap">
|
||||
<div v-if="currentData.deptName == '光纤预制管生产车间' || currentData.deptName == '光学精密加工车间'">
|
||||
|
@ -190,6 +198,9 @@
|
|||
<p> <span class="numberFont">{{ currentData.count }}</span><span class="numberUnit">kg</span>
|
||||
</p>
|
||||
</div>
|
||||
<div v-if="currentData.deptName == '办公楼'">
|
||||
<p>公司秉承“善用资源,服务建设”的核心理念,践行“材料创造美好世界”的企业使命,坚持“创新、绩效、和谐、责任”的核心价值观,努力成长为具有创新精神和全球视野的光子材料领先企业。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<CircleClose class="circleClose" @click="circleClose" />
|
||||
|
@ -416,7 +427,7 @@ export default {
|
|||
let cDate = new Date();
|
||||
let yesterday = new Date(cDate.getTime() - ondDayTime);
|
||||
let week = yesterday.getDay();//当前时间的week数
|
||||
console.log(week);
|
||||
// console.log(week);
|
||||
let weekFirst = week - 1;//第一天对应的天数
|
||||
let weekLast = 7 - week;//最后一天对应的天数
|
||||
if (week == 0) {
|
||||
|
@ -686,7 +697,7 @@ export default {
|
|||
let countOkDept10 = [0, 0, 0, 0, 0, 0, 0], countRateDept10 = [0, 0, 0, 0, 0, 0, 0];
|
||||
let countOk_dept10 = 0;
|
||||
if (list.length > 0) {
|
||||
console.log(this.weekDateList)
|
||||
// console.log(this.weekDateList)
|
||||
list.forEach(item => {
|
||||
let index = that.weekDateList.indexOf(item.日);
|
||||
countOkDept10[index] = item.合格数;
|
||||
|
@ -861,7 +872,7 @@ export default {
|
|||
});
|
||||
}
|
||||
that.taskBoard.data = data;
|
||||
console.log('getMaterialList', data)
|
||||
// console.log('getMaterialList', data)
|
||||
})
|
||||
},
|
||||
showTime() {
|
||||
|
@ -1074,7 +1085,7 @@ export default {
|
|||
const pickResult = scene.pick(scene.pointerX, scene.pointerY);
|
||||
if (pickResult.hit) {
|
||||
const mesh = pickResult.pickedMesh;
|
||||
console.log('mesh', mesh)
|
||||
// console.log('mesh', mesh)
|
||||
if (that.nodesLists[mesh.name]) {
|
||||
that.getDeptClickData(that.nodesLists[mesh.name])
|
||||
hl1Click.removeAllMeshes();
|
||||
|
@ -1119,7 +1130,7 @@ export default {
|
|||
},
|
||||
getDeptData(name) {
|
||||
this.infoVisibel = true;
|
||||
console.log('hoverName', name)
|
||||
// console.log('hoverName', name)
|
||||
if (name == '光学精密加工车间') { //6
|
||||
this.dialogData = this.dept6Obj;
|
||||
} else if (name == '光纤预制棒生产车间') {//7
|
||||
|
@ -1131,7 +1142,7 @@ export default {
|
|||
}
|
||||
},
|
||||
getDeptClickData(name) {
|
||||
console.log('clickName', name)
|
||||
// console.log('clickName', name)
|
||||
if (name == '光学精密加工车间') { //6
|
||||
this.currentData = this.dept6Obj;
|
||||
} else if (name == '光纤预制棒生产车间') {//7
|
||||
|
@ -1849,7 +1860,7 @@ export default {
|
|||
|
||||
.inforBlock.clickBlock {
|
||||
left: 50%;
|
||||
width: 630px;
|
||||
width: 520px;
|
||||
height: 225px;
|
||||
padding: 40px;
|
||||
font-size: 16px;
|
||||
|
|
Loading…
Reference in New Issue