feat:光芯库存统计

This commit is contained in:
shijing 2024-08-27 10:27:10 +08:00
parent 7af7efad94
commit c86ab8411e
3 changed files with 674 additions and 4 deletions

View File

@ -244,10 +244,7 @@ export default {
</script>
<style scoped>
#bachart1,
#bachart2,
#bachart3,
#bachart4 {
#bachart1{
width: 100%;
height: 300px;
}

View File

@ -0,0 +1,252 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-select v-model="material__name">
<el-option
v-for="item in options"
:key="item"
:label="item"
:value="item"
>
</el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main id="elMain">
<el-row :gutter="10" id="elCol">
<el-col :lg="12">
<el-card shadow="never">
<div id="bachart1"></div>
<!-- <scEcharts height="500px" :option="option"></scEcharts> -->
</el-card>
</el-col>
<el-col :lg="12">
<el-card shadow="never" style="position: relative">
<el-button
@click="handleExport"
class="tables"
type="primary"
>导出</el-button
>
<el-table
:data="tableData1"
id="exportDiv7"
:height="tableHeight"
>
<el-table-column type="index" width="50" />
<el-table-column
label="任务编号"
prop="number"
min-width="100px"
>
</el-table-column>
<el-table-column label="计划数" prop="count">
</el-table-column>
<el-table-column label="完成数" prop="count_ok">
</el-table-column>
<el-table-column label="完成率" prop="rate">
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</el-main>
</el-container>
</template>
<script>
import * as echarts from "echarts";
import T from "@/components/scEcharts/echarts-theme-T.js";
echarts.registerTheme("T", T);
import scEcharts from "@/components/scEcharts";
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
export default {
name: "chart",
components: {
scEcharts,
},
data() {
return {
currentYear:'',
currentMonth:'',
start_date:'',
end_date:'',
queryDate:'',
option:{},
seriesData1:[],
seriesData2:[],
seriesData3:[],
material__name:'',
options:['白片','DDG片','一次抛','外协海富'],
basicOption: {
backgroundColor: "transparent",
title: {
text: "库存统计",
},
grid: {
top: "80px",
},
tooltip: {
trigger: "axis",
},
xAxis: {
type: "category",
data: ['库房','扫边车间','黑化车间','减薄车间','精雕车间','倒角车间','磨抛车间'],
},
yAxis: {
type: "value",
},
legend: {
top: "3",
right: "3%",
},
series: [
{
data: [0,0,0,0,0,0,0],
type: "bar",
name:'未处理',
barWidth: "15px",
},
{
data: [0,0,0,0,0,0,0],
type: "bar",
name:'处理中',
barWidth: "15px",
},
{
data: [0,0,0,0,0,0,0],
type: "bar",
name:'已处理',
barWidth: "15px",
},
],
},
};
},
mounted() {
let that = this;
that.getInmMaterial();
},
methods: {
getInmMaterial(){
let that = this;
let obj = {
name__contains:that.material__name,
page:0
};
this.$API.mtm.material.list.req(obj).then(res=>{
console.log('InmMaterial',res);
that.getWmaterial();
if(res.length>0){
res.forEach(item => {
that.seriesData3[0]+=item.count;
});
}
})
},
getWmaterial(){
let that = this;
let obj = {
material__name__contains:that.material__name,
page:0
};
this.$API.wpm.wmaterial.list.req(obj).then(res=>{
console.log('Wmaterial',res);
if(res.length>0){
res.forEach(item => {
if(item.belong_dept_name=="扫边车间"){
if(item.count_xtest==null){
seriesData3[1]+=item.count;
}else{
seriesData1[1]+=item.count;
}
}else if(item.belong_dept_name=="黑化车间"){
if(item.count_xtest==null){
seriesData3[2]+=item.count;
}else{
seriesData1[2]+=item.count;
}
}else if(item.belong_dept_name=="减薄车间"){
if(item.count_xtest==null){
seriesData3[3]+=item.count;
}else{
seriesData1[3]+=item.count;
}
}else if(item.belong_dept_name=="精雕车间"){
if(item.count_xtest==null){
seriesData3[4]+=item.count;
}else{
seriesData1[4]+=item.count;
}
}else if(item.belong_dept_name=="倒角车间"){
if(item.count_xtest==null){
seriesData3[5]+=item.count;
}else{
seriesData1[5]+=item.count;
}
}else if(item.belong_dept_name=="磨抛车间"){
if(item.count_xtest==null){
seriesData3[6]+=item.count;
}else{
seriesData1[6]+=item.count;
}
}
});
}
let option = deepCopy(that.basicOption);
that.setChart("bachart1", option);
})
},
handleQuery(){
this.getInmMaterial();
},
setChart(name, option = null) {
// name , optionoption
var myChart = echarts.getInstanceByDom(
document.getElementById(name)
);
if (myChart == undefined) {
myChart = echarts.init(document.getElementById(name), "T");
}
if (option == null) {
option = Object.assign({}, this.basicOption);
}
setTimeout(() => {
try {
myChart.setOption(option);
} catch (error) {}
}, 500);
},
},
};
</script>
<style scoped>
#bachart1{
width: 100%;
height: 500px;
}
.tables{
width:
}
.tableHead {
background:rgb(0,176,240);
height:40px;
}
.tableTh{
width:120px;
height:36px;
}
.tableTd{
width:120px;
height:36px;
}
</style>

View File

@ -0,0 +1,421 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-select v-model="queryType" @change="queryTypeChange">
<el-option
v-for="item in typeOptions"
:key="item"
:label="item"
:value="item"
>
</el-option>
</el-select>
<el-date-picker
v-if="queryType == '月'"
v-model="queryDate"
type="month"
placeholder="查询月期"
value-format="YYYY-MM"
>
</el-date-picker>
<el-date-picker
v-if="queryType == '年'"
v-model="queryDate"
type="year"
placeholder="查询年份"
value-format="YYYY"
>
</el-date-picker>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main id="elMain">
<el-row :gutter="15">
<table class="tables" border="1" cellspacing="0">
<tr>
<th class="tableTh tableHead" colspan="15">库存统计</th>
</tr>
<tr>
<th class="tableTh">生产</th>
<th class="tableTh" colspan="2">库房</th>
<th class="tableTh" colspan="2">道边车间</th>
<th class="tableTh" colspan="2">黑化车间</th>
<th class="tableTh" colspan="2">减薄车间</th>
<th class="tableTh" colspan="2">精雕车间</th>
<th class="tableTh" colspan="2">倒角车间</th>
<th class="tableTh" colspan="2">磨抛车间</th>
</tr>
<tr >
<td class="tableTd">原料片库存</td>
<td class="tableTd">大白片</td>
<td class="tableTd"></td>
<td class="tableTd">未处理大白片</td>
<td class="tableTd">3</td>
<td class="tableTd">2.5D白片待进炉</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd">原料片库存</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">2.5D炉内黑化数</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd">原料片库存</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">已处理白片</td>
<td class="tableTd"></td>
<td class="tableTd">2.5D炉内退火+待投</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd" rowspan="2">DDG片</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">水纹片待进炉</td>
<td class="tableTd"></td>
<td class="tableTd">已加工</td>
<td class="tableTd"></td>
<td class="tableTd">已加工</td>
<td class="tableTd"></td>
<td class="tableTd">已加工</td>
<td class="tableTd"></td>
<td class="tableTd">精雕片已抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">未加工</td>
<td class="tableTd"></td>
<td class="tableTd">未加工</td>
<td class="tableTd"></td>
<td class="tableTd">未加工</td>
<td class="tableTd"></td>
<td class="tableTd">精雕片未抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd" rowspan="2">外协百盛一次抛黑料</td>
<td class="tableTd">外协抛光</td>
<td class="tableTd">0</td>
<td class="tableTd">外协待扫边</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外协已抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外协已扫边</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外协未抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd" rowspan="2">外协海富</td>
<td class="tableTd">外协扫边</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外扫已抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外扫未抛光</td>
<td class="tableTd"></td>
</tr>
</table>
</el-row>
<el-row :gutter="15">
<table class="tables" border="1" cellspacing="0">
<tr>
<th class="tableTh tableHead" colspan="15">扫边车间数据汇总</th>
</tr>
<tr>
<th class="tableTh">扫边车间</th>
<th class="tableTh"></th>
<th class="tableTh"></th>
<th class="tableTh" colspan="4">8.20白班</th>
<th class="tableTh"></th>
<th class="tableTh" colspan="4">8.20夜班</th>
<th class="tableTh"></th>
<th class="tableTh"></th>
<th class="tableTh"></th>
</tr>
<tr >
<td class="tableTd">预处理片扫边A的产品</td>
<td class="tableTd">机器号</td>
<td class="tableTd">内置数</td>
<td class="tableTd">加工数</td>
<td class="tableTd">合格数</td>
<td class="tableTd">破损数</td>
<td class="tableTd">破损比</td>
<td class="tableTd">操作人</td>
<td class="tableTd">加工数</td>
<td class="tableTd">合格数</td>
<td class="tableTd">破损数</td>
<td class="tableTd">破损比</td>
<td class="tableTd">操作人</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
</tr>
<tr >
<td class="tableTd">原料片库存</td>
<td class="tableTd">2</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
<td class="tableTd">3</td>
</tr>
<tr >
<td class="tableTd" rowspan="2">DDG片</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
<td class="tableTd">已加工</td>
<td class="tableTd">3</td>
</tr>
<tr >
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
<td class="tableTd">未加工</td>
<td class="tableTd">3</td>
</tr>
<tr >
<td class="tableTd" rowspan="2">外协百盛一次抛黑料</td>
<td class="tableTd">外协抛光</td>
<td class="tableTd">0</td>
<td class="tableTd">外协待扫边</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外协已抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd">外协抛光</td>
<td class="tableTd">0</td>
<td class="tableTd">外协待扫边</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外协未抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd" rowspan="2">外协海富</td>
<td class="tableTd">外协扫边</td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外扫已抛光</td>
<td class="tableTd"></td>
</tr>
<tr >
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd"></td>
<td class="tableTd">外扫未抛光</td>
<td class="tableTd"></td>
</tr>
</table>
</el-row>
</el-main>
</el-container>
</template>
<script>
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
export default {
name: "chart",
data() {
return {
currentYear:'',
currentMonth:'',
start_date:'',
end_date:'',
queryDate:'',
};
},
mounted() {
let that = this;
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let days = new Date(year, month, 0).getDate();
that.currentYear = year;
that.currentMonth = month;
that.start_date = year + "-" + month + "-01";
that.end_date =
year + "-" + month + "-" + new Date(year, month, 0).getDate();
let month1 = month;
if (month1 < 10) {
month1 = "0" + month1;
}
that.queryDate = year + "-" + month1;
},
methods: {
},
};
</script>
<style scoped>
.tables{
width:
}
.tableHead {
background:rgb(0,176,240);
height:40px;
}
.tableTh{
width:120px;
height:36px;
}
.tableTd{
width:120px;
height:36px;
}
</style>