feat:光子添加综合查询

This commit is contained in:
shijing 2024-05-31 18:43:22 +08:00
parent 26a85861f8
commit ae19b4ac21
2 changed files with 328 additions and 0 deletions

View File

@ -2824,6 +2824,17 @@ const routes = [
},
"component": "statistics/stock_statistics.vue"
},
//综合查询
{
"name": "total_statistics",
"path": "/statistic/total_statistics",
"meta": {
"title": "综合查询",
"icon": "el-icon-DataAnalysis",
"perms": ["statistic_total"]
},
"component": "statistics/total_statistics.vue"
},
],
// children:[
// {

View File

@ -0,0 +1,317 @@
<template>
<el-container>
<!-- <el-header>
<el-container>
<el-main> </el-main>
</el-container>
</el-header> -->
<el-main>
<el-table
id="hourBaseTable"
:data="tableData11"
style="width: 1200px"
border
>
<el-table-column label="版型" prop="版型"> </el-table-column>
<el-table-column label="7号">
<el-table-column label="合格数" prop="合格数">
</el-table-column>
</el-table-column>
<el-table-column label="8号">
<el-table-column label="仓库库存" prop="仓库库存">
</el-table-column>
</el-table-column>
<el-table-column label="6号">
<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="开槽">
</el-table-column>
<el-table-column label="配管" prop="配管">
</el-table-column>
</el-table-column>
<el-table-column label="合计" prop="合计"> </el-table-column>
</el-table>
<el-table
:data="tableData22"
style="width: 1200px"
border
id="hourBaseTable"
height="600"
>
<el-table-column label="版型" prop="版型"> </el-table-column>
<el-table-column label="规格" prop="规格"> </el-table-column>
<el-table-column label="10号">
<el-table-column label="合格数" prop="合格数">
</el-table-column>
</el-table-column>
<el-table-column label="8号">
<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>
<el-table-column label="6号">
<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>
<el-table-column label="合计" prop="合计"> </el-table-column>
</el-table>
</el-main>
</el-container>
</template>
<script>
import mockData from "./mock.json";
export default {
name: "total_statistics",
data() {
return {
mockData: mockData,
tableData11: [],
tableData22: [],
};
},
mounted() {
console.log("mockData", this.mockData);
this.getSourceData();
},
methods: {
//
getSourceData() {
let that = this;
that.$API.bi.dataset.exec.req("gz_zh").then((res) => {
// let res = that.mockData;
let data_b = [...res.data2.ds0, ...res.data2.ds2];
let data_g = [...res.data2.ds1, ...res.data2.ds3];
this.data_b = data_b;
this.data_g = data_g;
that.getDataB(data_b);
that.getDataG(data_g);
});
},
//
getDataB(data) {
let that = this;
let models = [],
dataArr = [];
//
data.forEach((item) => {
let index = 0;
if (item.型号.indexOf("+") > -1) {
let model = item.型号.split("+")[0];
index = models.indexOf(model);
} else {
index = models.indexOf(item.型号);
}
if (index > -1) {
dataArr[index].push(item);
} else {
models.push(item.型号);
let arr = [];
arr.push(item);
dataArr.push(arr);
}
});
//table
dataArr.forEach((itemArr, index) => {
//itemArr
let obj = {
版型: "",
合格数: 0,
仓库库存: 0,
库存: 0,
平头: 0,
粘头: 0,
粗中细: 0,
抛光: 0,
开槽: 0,
配管: 0,
合计: 0,
};
itemArr.forEach((item1) => {
obj.版型 = item1.型号;
let key = "";
if (item1.车间 == "7车间" && item1.工序 == "棒料成型") {
key = "合格数";
} else if (!item1.车间 && item1.工序 == "棒料成型") {
key = "仓库库存";
} else if (
item1.车间 == "6车间" &&
item1.工序 == "棒料成型"
) {
key = "库存";
} else if (item1.车间 == "6车间" && item1.工序 == "平头") {
key = "平头";
} else if (item1.车间 == "6车间" && item1.工序 == "粘头") {
key = "粘头";
} else if (
item1.车间 == "6车间" &&
item1.工序 == "粗中细磨"
) {
key = "粗中细";
} else if (item1.车间 == "6车间" && item1.工序 == "抛光") {
key = "抛光";
} else if (item1.车间 == "6车间" && item1.工序 == "开槽") {
key = "开槽";
} else if (item1.工序 == "配管") {
key = "配管";
}
obj[key] = item1.数量;
});
obj.合计 =
obj.合格数 +
obj.仓库库存 +
obj.库存 +
obj.平头 +
obj.粘头 +
obj.粗中细 +
obj.抛光 +
obj.开槽 +
obj.配管;
that.tableData11[index] = obj;
});
},
//
getDataG(data) {
let that = this;
let models = [],
modelArr = [];
//modelArr
data.forEach((item) => {
let index = 0;
if (item.型号.indexOf("+") > -1) {
let model = item.型号.split("+")[1];
index = models.indexOf(model);
} else {
index = models.indexOf(item.型号);
}
if (index > -1) {
modelArr[index].push(item);
} else {
models.push(item.型号);
let arr = [];
arr.push(item);
modelArr.push(arr);
}
});
//specArr
let specArr = [];
modelArr.forEach((itemArr, index0) => {
specArr[index0] = [];
let specifica = []; //
let ind = 0;
//itemArr[{},{}]
itemArr.forEach((item1, index1) => {
//item1==>{}
if (item1.规格.indexOf("+") > -1) {
let spec = item1.规格.split("+")[1];
ind = specifica.indexOf(spec);
} else {
ind = specifica.indexOf(item1.规格);
}
if (ind > -1) {
specArr[index0][ind].push(item1);
} else {
specifica.push(item1.规格);
let arr = [];
arr.push(item1);
specArr[index0].push(arr);
}
});
});
//specArr
specArr.forEach((item3, index3) => {
item3.forEach((item4) => {
let obj = {
版型: "",
规格: "",
合格数: 0,
仓库库存: 0,
未退火: 0,
退火: 0,
库存: 0,
开槽: 0,
倒角: 0,
配棒: 0,
合计: 0,
};
item4.forEach((item5) => {
let key = "";
obj.版型 = item5.型号;
obj.规格 = item5.规格;
if (
item5.车间 == "10车间" &&
item5.工序 == "管料成型"
) {
key = "合格数";
} else if (!item5.车间 && item5.工序 == "管料成型") {
key = "仓库库存";
} else if (
item5.车间 == "8车间" &&
item5.工序 == "管料成型"
) {
key = "未退火";
} else if (
item5.车间 == "8车间" &&
item5.工序 == "管料退火"
) {
key = "退火";
} else if (
item5.车间 == "6车间" &&
item5.工序 == "管料成型"
) {
key = "库存";
} else if (
item5.车间 == "6车间" &&
item5.工序 == "开槽"
) {
key = "开槽";
} else if (
item5.车间 == "6车间" &&
item5.工序 == "倒角"
) {
key = "倒角";
} else if (
item5.车间 == "6车间" &&
item5.工序 == "配棒"
) {
key = "配棒";
}
obj[key] = item5.数量;
});
obj.合计 =
obj.合格数 +
obj.仓库库存 +
obj.未退火 +
obj.退火 +
obj.库存 +
obj.开槽 +
obj.倒角 +
obj.配棒;
that.tableData22.push(obj);
});
});
},
},
};
</script>
<style scoped></style>