This commit is contained in:
shijing 2024-03-21 09:41:27 +08:00
commit 7e90d78de3
8 changed files with 113 additions and 79 deletions

View File

@ -15,9 +15,10 @@
<td v-if="!noIndex">{{ 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)" />
: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>
stateOption[itemz.value] }}</el-tag>
<span v-else>{{ itemz.value }}</span>
</td>
</tr>
@ -29,11 +30,12 @@
<!-- <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)">
: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>
stateOption[itemz.value] }}</el-tag>
<span v-else>{{ itemz.value }}</span>
</td>
</tr>
@ -90,6 +92,7 @@ export default {
14: "已分解",
20: "已下达",
30: '生产中',
34: '已停止',
40: '已完成',
'q10': '完好',
'q20': '限用',

View File

@ -16,7 +16,7 @@
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" stripe>
<el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="名称" prop="name" width="200" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="名称" prop="name" width="240" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="代号" prop="code" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="操作" fixed="right" align="left" width="200">
<template #default="scope">

View File

@ -36,7 +36,7 @@
<span>{{ yesterdayObjet.物料名 }}</span>
<span
style="color: #fef000;margin-left: 10px;font-weight:bold;font-family:electronicFont">{{
yesterdayObjet.合格数 }}</span>
yesterdayObjet.合格数 }}</span>
</div>
</div>
</el-col>
@ -68,7 +68,8 @@
<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>
@ -282,7 +283,7 @@ export default {
refValue2: 'moocBox2',
liData1: ['序号', '姓名', '岗位', '班次', '状态'],
attendanceData: [],
liData2: ['序号', '产品名称', '型号', '计划开始时间', '计划结束时间', '完成进度', '产量', '状态'],
liData2: ['序号', '产品名称', '规格', '型号', '计划开始时间', '计划结束时间', '完成进度', '产量', '状态'],
processData: [],
todayMtask: [],
speed: 2000,
@ -405,11 +406,13 @@ export default {
console.log('任务进度:', res);
let processData = [];
res.forEach(item => {
let arr = [], obj1 = {}, obj2 = {}, obj3 = {}, obj4 = {}, obj5 = {}, obj6 = {}, obj7 = {};
let arr = [], obj1 = {}, obj2 = {}, obj3 = {}, obj4 = {}, obj5 = {}, obj6 = {}, obj7 = {}, obj8 = {};
obj1.elType = 'primary';
obj1.value = item.material_.name;
obj2.elType = 'primary';
obj2.value = item.material_.specification;
obj8.elType = 'primary';
obj8.value = item.material_.model;
obj3.elType = 'primary';
obj3.value = item.start_date;
obj4.elType = 'primary';
@ -423,6 +426,7 @@ export default {
obj7.value = item.state;
arr.push(obj1);
arr.push(obj2);
arr.push(obj8);
arr.push(obj3);
arr.push(obj4);
arr.push(obj5);

View File

@ -39,7 +39,8 @@
<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>
@ -347,7 +348,7 @@ export default {
this.weekLast = last.getFullYear() + '-' + (last.getMonth() + 1) + '-' + last.getDate();
this.getsaleOut();
this.getMioItem();//
// this.getTodayMtask();//
this.getTodayMtask();//
//
this.getMtask();
//
@ -432,10 +433,15 @@ export default {
getMtask() {
let that = this;
let obj = {
query: { start_date: this.start_date, end_date: this.end_date, dept_name: "6车间" },
query: {
start_date: this.weekFirst, end_date: this.weekLast, dept_name: "6车间",
select_cols_material: ", material.model AS 型号", group_bys_material: ", material.model", order_bys_material: "",
select_cols_mgroup: ", mgroup.name AS 工段", group_bys_mgroup: ", mgroup.name",
is_count_utask: -1
},
};
//
that.$API.bi.dataset.exec.req('mgroupWeek', obj).then((res) => {
that.$API.bi.dataset.exec.req('lineWeek', obj).then((res) => {
let data = res.data2.ds0;
if (data.length > 0) {
let processData = [];
@ -444,18 +450,18 @@ export default {
obj1.elType = 'primary';
obj1.value = item.工段;//
obj2.elType = 'primary';
obj2.value = item.物料名;
obj2.value = item.物料名;
obj3.elType = 'primary';
obj3.value = item.型号;
obj4.elType = 'primary';
obj4.value = item.计划;
obj4.value = item.任务;
obj5.elType = 'primary';
obj5.value = item.合格数;
obj6.elType = 'progress';
let jindu = Math.round((item.完成进度) * 100);
let jindu = Math.round((item.完成进度));
obj6.value = jindu;
obj7.elType = 'primary';
let rate = Math.round((item.合格率) * 100);
let rate = Math.round((item.合格率));
obj7.value = rate;
arr.push(obj1);
arr.push(obj2);

View File

@ -15,7 +15,8 @@
<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">
<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">
@ -36,7 +37,8 @@
<div style="height: 4px;"></div>
<div class="boxmain" id="scrollContainer1">
<scScrollTavle v-if="table1Visible" :tableHeight="containerHeight1"
:rowData="processData" :titleData="liData1" :refValue="refValue1"></scScrollTavle>
:rowData="processData" :titleData="liData1" :refValue="refValue1">
</scScrollTavle>
</div>
</div>
</el-col>
@ -374,9 +376,9 @@ export default {
obj2.elType = 'primary';
obj2.value = item.material_name;
obj3.elType = 'primary';
obj3.value = item.material_specification;
obj3.value = item.material_model;
obj4.elType = 'primary';
obj4.value = item.material_model;
obj4.value = item.material_specification;
obj5.elType = 'primary';
let process = item.count_real
obj5.value = process;

View File

@ -69,7 +69,8 @@
<div id="loadingScreen">
<el-progress type="circle" :percentage="loadedPercent" :width=220 status="warning">
<template #default="{ percentage }">
<div style="font-size: 30px; color: white; font-weight: bold">{{ percentage }}%</div>
<div style="font-size: 30px; color: white; font-weight: bold">{{ percentage }}%
</div>
<div style="font-size: 18px; color: white; margin-top: 10px">工厂模型加载中</div>
</template>
</el-progress>
@ -124,8 +125,8 @@
<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">
<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>
</el-progress>
<span>完成进度</span>
@ -137,12 +138,14 @@
<div class="countWrap">
<div v-if="dialogData.deptName == '光纤预制管生产车间' || dialogData.deptName == '光学精密加工车间'">
<p>光纤预制管</p>
<p> <span class="numberFont">{{ dialogData.count_guan }}</span><span class="numberUnit"></span>
<p> <span class="numberFont">{{ dialogData.count_guan }}</span><span
class="numberUnit"></span>
</p>
</div>
<div v-if="dialogData.deptName == '光纤预制棒生产车间' || dialogData.deptName == '光学精密加工车间'">
<p>光纤预制棒</p>
<p> <span class="numberFont">{{ dialogData.count_bang }}</span><span class="numberUnit"></span>
<p> <span class="numberFont">{{ dialogData.count_bang }}</span><span
class="numberUnit"></span>
</p>
</div>
<div v-if="dialogData.deptName == '玻璃配合料制备车间'">
@ -152,7 +155,8 @@
</div>
<div v-if="dialogData.deptName == '办公楼'">
<p style="font-size:12px">
公司秉承善用资源服务建设的核心理念践行材料创造美好世界的企业使命坚持创新绩效和谐责任的核心价值观努力成长为具有创新精神和全球视野的光子材料领先企业</p>
公司秉承善用资源服务建设的核心理念践行材料创造美好世界的企业使命坚持创新绩效和谐责任的核心价值观努力成长为具有创新精神和全球视野的光子材料领先企业
</p>
</div>
</div>
</div>
@ -195,11 +199,13 @@
</div>
<div v-if="currentData.deptName == '玻璃配合料制备车间'">
<p>配粉重量</p>
<p> <span class="numberFont">{{ currentData.count }}</span><span class="numberUnit">kg</span>
<p> <span class="numberFont">{{ currentData.count }}</span><span
class="numberUnit">kg</span>
</p>
</div>
<div v-if="currentData.deptName == '办公楼'">
<p>公司秉承善用资源服务建设的核心理念践行材料创造美好世界的企业使命坚持创新绩效和谐责任的核心价值观努力成长为具有创新精神和全球视野的光子材料领先企业</p>
<p>公司秉承善用资源服务建设的核心理念践行材料创造美好世界的企业使命坚持创新绩效和谐责任的核心价值观努力成长为具有创新精神和全球视野的光子材料领先企业
</p>
</div>
</div>
</div>
@ -256,10 +262,10 @@ export default {
initialBeta: Math.PI / 2,
initialRadius: 2.5,
initialTarget: null,
scene: null,
myui: null,
// scene: null,
// myui: null,
resizeTimeout: null,
engine: null,
// engine: null,
loadedPercent: 0,
currentLightMesh: null,
infoVisibel: false,
@ -387,8 +393,36 @@ export default {
this.blockTableHeight = height1 + 'px';
document.getElementById('scrollTable').style.height = height1 + 'px'
this.showTime();
this.getDeptDetail();
//
const ondDayTime = 86400000
let cDate = new Date();
let yesterday = new Date(cDate.getTime() - ondDayTime);
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(yesterday.getTime() - (weekFirst * ondDayTime)));//
let last = new Date(new Date(yesterday.getTime() + (weekLast * ondDayTime)));//
let dateArr = [];
for (let i = 0; i < 7; i++) {
let itemDate = new Date(first.getTime() + i * ondDayTime);
let item = itemDate.getDate();
dateArr.push(item);
}
this.weekDateList = dateArr;
this.start_date = first.getFullYear() + '-' + (first.getMonth() + 1) + '-' + first.getDate();
this.end_date = last.getFullYear() + '-' + (last.getMonth() + 1) + '-' + last.getDate();
this.yesterday = yesterday.getFullYear() + "-" + (yesterday.getMonth() + 1) + "-" + yesterday.getDate();
this.$nextTick(() => {
this.getDeptDetail();
that.getsaleOut();
that.initDomStyle();
that.initFactory();
@ -422,35 +456,6 @@ export default {
}, 60000);
that.initChart();
})
//
const ondDayTime = 86400000
let cDate = new Date();
let yesterday = new Date(cDate.getTime() - ondDayTime);
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(yesterday.getTime() - (weekFirst * ondDayTime)));//
let last = new Date(new Date(yesterday.getTime() + (weekLast * ondDayTime)));//
let dateArr = [];
for (let i = 0; i < 7; i++) {
let itemDate = new Date(first.getTime() + i * ondDayTime);
let item = itemDate.getDate();
dateArr.push(item);
}
this.weekDateList = dateArr;
this.start_date = first.getFullYear() + '-' + (first.getMonth() + 1) + '-' + first.getDate();
this.end_date = last.getFullYear() + '-' + (last.getMonth() + 1) + '-' + last.getDate();
this.yesterday = yesterday.getFullYear() + "-" + (yesterday.getMonth() + 1) + "-" + yesterday.getDate();
this.getsaleOut();
this.getPlanRate();
this.getMaterialList();
},

View File

@ -26,8 +26,8 @@
</el-col>
<el-col :lg="12">
<el-card shadow="never" style="position: relative;">
<el-button @click="handleExport('1')" class="tables" type="primary">导出</el-button>
<el-table :data="tableData7" id="exportDiv1" :height="300">
<el-button @click="handleExport('1')" class="tables" type="primary">导出</el-button>
<el-table :data="tableData7" id="exportDiv1" :height="300">
<el-table-column type="index" width="50" />
<el-table-column label="物料名" prop="物料名">
</el-table-column>
@ -58,8 +58,8 @@
</el-col>
<el-col :lg="12">
<el-card shadow="never" style="position: relative;">
<el-button @click="handleExport('2')" class="tables" type="primary">导出</el-button>
<el-table :data="tableData10" id="exportDiv2" :height="300">
<el-button @click="handleExport('2')" class="tables" type="primary">导出</el-button>
<el-table :data="tableData10" id="exportDiv2" :height="300">
<el-table-column type="index" width="50" />
<el-table-column label="物料名" prop="物料名">
</el-table-column>
@ -194,7 +194,7 @@ export default {
getData7() {
let that = this;
let obj = {
query: { start_date: that.start_date, end_date: that.end_date, mgroup_name: "混料", is_count_utask: 0 },
query: { start_date: that.start_date, end_date: that.end_date, mgroup_name: "混料", is_count_utask: -1 },
};
let option = deepCopy(that.basicOption);
option.xAxis.data = that.xAxisData;
@ -335,10 +335,10 @@ export default {
</script>
<style scoped>
.tables{
position: absolute;
top:6px;
right: 8px;
z-index: 10;
.tables {
position: absolute;
top: 6px;
right: 8px;
z-index: 10;
}
</style>

View File

@ -29,12 +29,16 @@
<el-table-column type="index" width="50" />
<el-table-column label="工段" prop="工段">
</el-table-column>
<el-table-column label="物料名" prop="物料名">
<el-table-column label="物料名" prop="物料名">
</el-table-column>
<el-table-column label="计划数" prop="计划数">
<el-table-column label="任务数" prop="任务数">
</el-table-column>
<el-table-column label="生产数" prop="生产数">
</el-table-column>
<el-table-column label="合格数" prop="合格数">
</el-table-column>
<el-table-column label="不合格数" prop="不合格数">
</el-table-column>
<el-table-column label="完成进度" prop="完成进度">
</el-table-column>
<el-table-column label="合格率" prop="合格率">
@ -125,10 +129,20 @@ export default {
getData6() {
let that = this;
let obj = {
query: { start_date: this.start_date, end_date: this.end_date, dept_name: "6车间" },
query: {
start_date: this.start_date, end_date: this.end_date, dept_name: "6车间",
select_cols_material: "", group_bys_material: "", order_bys_material: "",
select_cols_mgroup: ", mgroup.name AS 工段", group_bys_mgroup: ", mgroup.name"
},
raise_exception: true
};
if (that.queryType == '月') {
obj.query.select_cols_date = ",EXTRACT ( MONTH FROM mlog.handle_date ) AS 月"
obj.query.group_bys_date = ",EXTRACT ( MONTH FROM mlog.handle_date )"
obj.query.order_bys_date = ", 月"
}
let xAxisData = [], data1 = [], data0 = [];
that.$API.bi.dataset.exec.req('mgroupWeek', obj).then((res) => {
that.$API.bi.dataset.exec.req('lineWeek', obj).then((res) => {
let data = res.data2.ds0;
that.tableData = data;
data.forEach(item => {
@ -137,7 +151,7 @@ export default {
}
console.log('xAxisData:', xAxisData);
let index = xAxisData.indexOf(item.工段);
if (item.物料名.indexOf('棒') > -1) {
if (item.物料名.indexOf('棒') > -1) {
data0[index] = item.合格数;
} else {
data1[index] = item.合格数;
@ -183,9 +197,9 @@ export default {
</script>
<style scoped>
.tables{
.tables {
position: absolute;
top:6px;
top: 6px;
left: 4px;
z-index: 10;
}