334 lines
13 KiB
Vue
334 lines
13 KiB
Vue
<template>
|
|
<el-container>
|
|
<el-header>
|
|
<div class="right-panel">
|
|
<el-input v-model="query.name__contains"
|
|
placeholder="产品名称"
|
|
clearable
|
|
style="width: 200px;"
|
|
></el-input>
|
|
<el-input v-model="query.batch__contains"
|
|
placeholder="批次号"
|
|
clearable
|
|
style="width: 200px;"
|
|
></el-input>
|
|
<el-button
|
|
type="primary"
|
|
icon="el-icon-search"
|
|
@click="handleQuery"
|
|
></el-button>
|
|
</div>
|
|
</el-header>
|
|
<el-main class="nopadding">
|
|
<scTable
|
|
ref="table"
|
|
:apiObj="apiObj"
|
|
:params="params"
|
|
:query="params"
|
|
id="exportDiv"
|
|
row-key="id"
|
|
:summary-method="getSummaries"
|
|
show-summary
|
|
stripe
|
|
>
|
|
<el-table-column type="index" width="50" fixed="left"/>
|
|
<el-table-column label="产品名称" prop="material_name" fixed="left" min-width="100">
|
|
</el-table-column>
|
|
<el-table-column label="批次号" fixed="left">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_批次号 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="板号" prop="number" fixed="left">
|
|
</el-table-column>
|
|
<el-table-column label="放大率¢2mm" align="center" class-name="colorheader1">
|
|
<el-table-column label="差值" class-name="colorheader1">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_检测项_放大率2mm }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="合格数" class-name="colorheader1">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢2mm不合格']?0:1 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="放大率¢16mm" align="center" class-name="colorheader2">
|
|
<el-table-column label="差值" class-name="colorheader2">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_检测项_放大率16mm }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="合格数" class-name="colorheader2">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢16mm不合格']?0:1 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="剪切¢18.3mm" align="center" class-name="colorheader3">
|
|
<el-table-column label="剪切" class-name="colorheader3">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_检测项_剪切18mm }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="剪切值" class-name="colorheader3">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_检测项_剪切值18mm }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="合格数" class-name="colorheader3">
|
|
<template #default="scope">
|
|
<span>{{ !scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']&&!scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="可加工" class-name="colorheader3">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="暗点" align="center" class-name="colorheader4">
|
|
<el-table-column label="内标合格" class-name="colorheader4">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_暗点合格?scope.row.data.毛坯检测_缺陷项_暗点合格:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="长点不合格" class-name="colorheader4">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_暗点不合格?scope.row.data.毛坯检测_缺陷项_暗点不合格:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="可加工" class-name="colorheader4">
|
|
<template #default="scope">
|
|
<span>{{ !scope.row.data.毛坯检测_缺陷项_暗点合格&&!scope.row.data.毛坯检测_缺陷项_暗点不合格?1:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="暗点重" align="center" class-name="colorheader5">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_暗点重?scope.row.data.毛坯检测_缺陷项_暗点重:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="花丝" align="center" class-name="colorheader6">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_花丝?scope.row.data.毛坯检测_缺陷项_花丝:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="网格" align="center" class-name="colorheader7">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_网格?scope.row.data.毛坯检测_缺陷项_网格:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="花朵" align="center" class-name="colorheader1">
|
|
<el-table-column label="轻" align="center" class-name="colorheader1">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_花朵?scope.row.data.毛坯检测_缺陷项_花朵:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="重" align="center" class-name="colorheader1">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_花朵重?scope.row.data.毛坯检测_缺陷项_花朵重:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="S畸变不合格" align="center" class-name="colorheader2">
|
|
<template #default="scope">
|
|
<span>{{scope.row.data.毛坯检测_缺陷项_S畸变不合格?scope.row.data.毛坯检测_缺陷项_S畸变不合格:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="弓形畸变不合格" align="center" class-name="colorheader3">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_弓形畸变不合格?scope.row.data.毛坯检测_缺陷项_弓形畸变不合格:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="炸废" align="center" class-name="colorheader4">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_炸废?scope.row.data.毛坯检测_缺陷项_炸废:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="角偏" align="center" class-name="colorheader5">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_角偏?scope.row.data.毛坯检测_缺陷项_角偏:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="色差" align="center" class-name="colorheader6">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_色差?scope.row.data.毛坯检测_缺陷项_色差:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="改实验" align="center" class-name="colorheader6">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_改实验?scope.row.data.毛坯检测_缺陷项_改实验:0 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="备注" align="center" class-name="colorheader7">
|
|
<template #default="scope">
|
|
<span>{{ scope.row.data.毛坯检测_缺陷项_备注 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
</scTable>
|
|
</el-main>
|
|
</el-container>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: "statistics_guan",
|
|
data() {
|
|
return {
|
|
params: {
|
|
ordering:'data__毛坯检测_批次号,-data__毛坯检测_小日期,number_prefix,number_suffix',
|
|
annotate_field_list:["number_prefix", "number_suffix"],
|
|
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]],
|
|
},
|
|
query:{
|
|
name__contains:'',
|
|
batch__contains:'',
|
|
last_time__gte:'',
|
|
last_time__lte:'',
|
|
},
|
|
apiObj: this.$API.wpm.wpr.query,
|
|
options:[],
|
|
tableData:[],
|
|
};
|
|
},
|
|
methods: {
|
|
handleQuery(){
|
|
let that = this;
|
|
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]];
|
|
let obj = {},obj1 = {},obj2 = {},obj3 = {};
|
|
obj.field = 'data__毛坯检测_批次号';
|
|
obj.value = that.query.batch__contains;
|
|
obj.compare = '';
|
|
|
|
obj1.field = 'last_time';
|
|
obj1.value = that.query.last_time__gte;
|
|
obj1.compare = 'gte';
|
|
|
|
obj2.field = 'last_time';
|
|
obj2.value = that.query.last_time__lte;
|
|
obj2.compare = 'lte';
|
|
|
|
obj3.field = 'material__name';
|
|
obj3.value = that.query.name__contains;
|
|
obj3.compare = 'contains';
|
|
|
|
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
|
|
querys[0].push(obj);
|
|
}
|
|
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
|
|
querys[0].push(obj1);
|
|
}
|
|
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
|
|
querys[0].push(obj2);
|
|
}
|
|
if(that.query.name__contains!==''&&that.query.name__contains!==null){
|
|
querys[0].push(obj3);
|
|
}
|
|
that.params.querys = querys;
|
|
this.$refs.table.queryData(that.params);
|
|
},
|
|
getCountQt(data,type){
|
|
let count_qt = 0,count = 0;
|
|
|
|
},
|
|
getSummaries({ columns, data }) {
|
|
const sums = [];
|
|
let total = data.length;
|
|
columns.forEach((column, index) => {
|
|
if (index === 0) {
|
|
sums[index] = <p class="count_row">合计<br /><br />比率<br /></p>
|
|
return;
|
|
}
|
|
let propert = '';
|
|
if(index == 5&&column.label=='合格数'){
|
|
propert= '毛坯检测_缺陷项_放大率¢2mm不合格';
|
|
}
|
|
if(index == 7&&column.label=='合格数'){
|
|
propert= '毛坯检测_缺陷项_放大率¢16mm不合格';
|
|
}
|
|
if(index == 10&&column.label=='合格数'){
|
|
propert= '毛坯检测_缺陷项_剪切¢18.3mm不合格';
|
|
}
|
|
if(index == 11&&column.label=='可加工'){
|
|
propert= '毛坯检测_缺陷项_剪切¢18.3mm可加工';
|
|
}
|
|
if(index == 12&&column.label=='内标合格'){
|
|
propert= '毛坯检测_缺陷项_暗点合格';
|
|
}
|
|
if(index == 13&&column.label=='长点不合格'){
|
|
propert= '毛坯检测_缺陷项_暗点不合格';
|
|
}
|
|
if(index == 14&&column.label=='可加工'){
|
|
propert= '毛坯检测_缺陷项_暗点合格';
|
|
}
|
|
if(index == 15&&column.label=='暗点重'){
|
|
propert= '毛坯检测_缺陷项_暗点重';
|
|
}
|
|
if(index == 16&&column.label=='花丝'){
|
|
propert= '毛坯检测_缺陷项_花丝';
|
|
}
|
|
if(index == 17&&column.label=='网格'){
|
|
propert= '毛坯检测_缺陷项_网格';
|
|
}
|
|
if(index == 18&&column.label=='轻'){
|
|
propert= '毛坯检测_缺陷项_花朵';
|
|
}
|
|
if(index == 19&&column.label=='重'){
|
|
propert= '毛坯检测_缺陷项_花朵重';
|
|
}
|
|
if(index == 20&&column.label=='S畸变不合格'){
|
|
propert= '毛坯检测_缺陷项_S畸变不合格';
|
|
}
|
|
if(index == 21&&column.label=='弓形畸变不合格'){
|
|
propert= '毛坯检测_缺陷项_弓形畸变不合格';
|
|
}
|
|
if(index == 22&&column.label=='炸废'){
|
|
propert= '毛坯检测_缺陷项_炸废';
|
|
}
|
|
if(index == 23&&column.label=='角偏'){
|
|
propert= '毛坯检测_缺陷项_角偏';
|
|
}
|
|
if(index == 24&&column.label=='色差'){
|
|
propert= '毛坯检测_缺陷项_色差';
|
|
}
|
|
if (propert!=='') {
|
|
let values = [];
|
|
if(index==5||index==7){
|
|
values = data.map((item) =>!item.data[propert]?1:0);
|
|
}else if(index==10){
|
|
values = data.map((item) =>!item.data[propert]&&!item.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0);
|
|
}else if(index==14){
|
|
values = data.map((item) =>!item.data[propert]&&!item.data['毛坯检测_缺陷项_暗点不合格']?1:0);
|
|
}else{
|
|
values = data.map((item) =>item.data[propert]&&item.data[propert]!==undefined?Number(item.data[propert]):0);
|
|
}
|
|
console.log('values',values);
|
|
if (!values.every((value) => Number.isNaN(value))) {
|
|
sums[index] = values.reduce((prev, curr) => {
|
|
let value = Number(curr);
|
|
let sum = 0;
|
|
sum = Number(Number(prev) + Number(curr));
|
|
if (!isNaN(value)) {
|
|
return sum;
|
|
} else {
|
|
return prev;
|
|
}
|
|
}, 0);
|
|
|
|
} else{
|
|
sums[index] = <p class="count_row"><div ref="borrowAmount1">0</div><br /><div ref="borrowAmount2">0</div></p>
|
|
}
|
|
sums[index] =
|
|
<p class="count_row"><div ref="borrowAmount1">{sums[index]}</div><br /><div ref="borrowAmount2">{Number(sums[index]/total*100).toFixed(2)}%</div></p>
|
|
}
|
|
});
|
|
return sums;
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
</style>
|