fix:光芯质检统计表

This commit is contained in:
shijing 2025-05-09 12:22:09 +08:00
parent 17c3c6e452
commit 2f63f88f29
2 changed files with 224 additions and 165 deletions

View File

@ -162,6 +162,18 @@ export default {
padding: 0 20px 20px; padding: 0 20px 20px;
} }
.el-table thead.is-group th.el-table__cell.colorheader1{
background-color: rgb(255, 243, 202)!important;
}
.el-table thead.is-group th.el-table__cell.colorheader2{
background-color: rgb(227, 242, 217)!important;
}
.el-table thead.is-group th.el-table__cell.colorheader3{
background-color: rgb(250, 218, 222)!important;
}
.el-table thead.is-group th.el-table__cell.colorheader4{
background-color: rgb(168, 218, 228)!important;
}
// //
// .el-popper { // .el-popper {

View File

@ -2,47 +2,27 @@
<el-container> <el-container>
<el-header> <el-header>
<div class="right-panel"> <div class="right-panel">
<!-- 检验类型 --> <el-input v-model="query.batch__contains"
<el-select placeholder="批次号"
v-model="query.process_name" clearable
placeholder="检验类型" style="width: 200px;"
@change="processChange"> ></el-input>
<el-option
v-for="item in options"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
<!-- 检验人 -->
<!-- <el-select v-model="query.test_user"
placeholder="检验人">
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
<el-select v-model="query.shift"
placeholder="班次">
<el-option
v-for="item in shiftOptions"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select> -->
<el-date-picker <el-date-picker
v-model="query.start_date" v-model="query.last_time__gte"
type="date" type="datetime"
placeholder="查询日期" placeholder="变动时间起"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss"
style="width: 160px" clearable
style="width: 200px; margin: 5px"
>
</el-date-picker>
<el-date-picker
v-model="query.last_time__lte"
type="datetime"
placeholder="变动时间止"
value-format="YYYY-MM-DD HH:mm:ss"
clearable
style="width: 200px; margin:0"
> >
</el-date-picker> </el-date-picker>
<el-button <el-button
@ -50,150 +30,217 @@
icon="el-icon-search" icon="el-icon-search"
@click="handleQuery" @click="handleQuery"
></el-button> ></el-button>
<el-button
@click="handleExport"
class="tables"
type="primary"
>导出</el-button
>
</div> </div>
<el-button @click="handleExport" type="primary">导出</el-button>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
<scTable <scTable
:data="tableData" ref="table"
id="exportDiv" :apiObj="apiObj"
stripe :params="params"
hideDo :query="query"
hidePagination> id="exportDiv"
<el-table-column type="index" width="50" /> stripe
<el-table-column label="物料名称" prop="物料名"></el-table-column> >
<el-table-column label="规格" prop="规格"> </el-table-column> <el-table-column label="批次号" class-name="colorheader1" prop="batch">
<el-table-column label="型号" prop="型号"> </el-table-column> </el-table-column>
<el-table-column label="工序" prop="工序"> </el-table-column> <el-table-column label="尺寸检验" align="center" class-name="colorheader1">
<el-table-column label="检验时间"> <el-table-column label="日期" class-name="colorheader1">
<template #default="scope"> </el-table-column>
{{ scope.row. }}-{{ scope.row. }}-{{ scope.row. }} <el-table-column label="检验人" class-name="colorheader1">
</template> </el-table-column>
</el-table-column> <el-table-column label="检验数" class-name="colorheader1">
<el-table-column label="检验数" prop="检验数"></el-table-column> </el-table-column>
<el-table-column label="合格数" prop="合格数量"></el-table-column> <el-table-column label="黑圈内径" class-name="colorheader1">
<el-table-column label="不合格数" align="center" v-if="query.process_name == '一次超洗'"> </el-table-column>
<el-table-column label="黑圈内径" prop="黑圈内径"></el-table-column> <el-table-column label="比例" class-name="colorheader1">
<el-table-column label="黑圈内径圆度" prop="黑圈内径圆度"></el-table-column> </el-table-column>
<el-table-column label="黑圈外径" prop="黑圈外径"></el-table-column> <el-table-column label="黑圈外径" class-name="colorheader1">
<el-table-column label="黑圈外径圆度" prop="黑圈外径圆度"></el-table-column> </el-table-column>
<el-table-column label="产品外径" prop="产品外径"></el-table-column> <el-table-column label="比例" class-name="colorheader1">
<el-table-column label="产品圆度" prop="产品圆度"></el-table-column> </el-table-column>
<el-table-column label="产品同心度" prop="产品同心度"></el-table-column> <el-table-column label="产品同心度" class-name="colorheader1">
<el-table-column label="厚度" prop="厚度"></el-table-column> </el-table-column>
<el-table-column label="准合格" prop="准合格"></el-table-column> <el-table-column label="比例" class-name="colorheader1">
<el-table-column label="圆准" prop="圆准"></el-table-column> </el-table-column>
<el-table-column label="合计" prop="不合格数"></el-table-column> <el-table-column label="圆度" class-name="colorheader1">
</el-table-column> </el-table-column>
<el-table-column label="不合格数" align="center" v-else> <el-table-column label="比例" class-name="colorheader1">
<el-table-column label="脏" prop="脏"></el-table-column> </el-table-column>
<el-table-column label="气泡" prop="气泡"></el-table-column> <el-table-column label="产品外径小" class-name="colorheader1">
<el-table-column label="水纹" prop="水纹"></el-table-column> </el-table-column>
<el-table-column label="崩边" prop="崩边"></el-table-column> <el-table-column label="产品外径大(返修)" class-name="colorheader1">
<el-table-column label="棕边" prop="棕边"></el-table-column> </el-table-column>
<el-table-column label="棕圈" prop="棕圈"></el-table-column> <el-table-column label="黑圈缺口" class-name="colorheader1">
<el-table-column label="划伤" prop="划伤"></el-table-column> </el-table-column>
<el-table-column label="麻点" prop="麻点"></el-table-column> <el-table-column label="外径发货片(B)" class-name="colorheader1">
<el-table-column label="黑圈变形" prop="黑圈变形"></el-table-column> </el-table-column>
<el-table-column label="倒角" prop="倒角"></el-table-column> <el-table-column label="前道崩" class-name="colorheader1">
<el-table-column label="破损" prop="破损"></el-table-column> </el-table-column>
<el-table-column label="蓝圈" prop="蓝圈"></el-table-column> <el-table-column label="合格数" class-name="colorheader1">
<el-table-column label="合计" prop="不合格数"></el-table-column> </el-table-column>
</el-table-column> <el-table-column label="合格率" class-name="colorheader1">
</scTable> </el-table-column>
<el-table-column label="准合格" class-name="colorheader1">
</el-table-column>
<el-table-column label="圆度准合格" class-name="colorheader1">
</el-table-column>
<el-table-column label="总合格数" class-name="colorheader1">
</el-table-column>
<el-table-column label="总合格率" class-name="colorheader1">
</el-table-column>
</el-table-column>
<el-table-column label="外观检验" align="center" class-name="colorheader2">
<el-table-column label="日期" class-name="colorheader2">
</el-table-column>
<el-table-column label="检验人" class-name="colorheader2">
</el-table-column>
<el-table-column label="检验数" class-name="colorheader2">
</el-table-column>
<el-table-column label="合格数" class-name="colorheader2">
</el-table-column>
<el-table-column label="合格率" class-name="colorheader2">
</el-table-column>
<el-table-column label="划麻(返修)" class-name="colorheader2">
</el-table-column>
<el-table-column label="脏(返修)" class-name="colorheader2">
</el-table-column>
<el-table-column label="气泡" class-name="colorheader2">
</el-table-column>
<el-table-column label="浅气泡(B)" class-name="colorheader2">
</el-table-column>
<el-table-column label="黑圈变形" class-name="colorheader2">
</el-table-column>
<el-table-column label="黑圈缺口" class-name="colorheader2">
</el-table-column>
<el-table-column label="重水纹" class-name="colorheader2">
</el-table-column>
<el-table-column label="浅水纹(B)" class-name="colorheader2">
</el-table-column>
<el-table-column label="大崩" class-name="colorheader2">
</el-table-column>
<el-table-column label="小崩边(B)" class-name="colorheader2">
</el-table-column>
<el-table-column label="棕点" class-name="colorheader2">
</el-table-column>
<el-table-column label="浅划麻(B)" class-name="colorheader2">
</el-table-column>
<el-table-column label="双面划麻" class-name="colorheader2">
</el-table-column>
<el-table-column label="倒角" class-name="colorheader2">
</el-table-column>
<el-table-column label="棕圈" class-name="colorheader2">
</el-table-column>
<el-table-column label="蓝圈" class-name="colorheader2">
</el-table-column>
<el-table-column label="尺寸小" class-name="colorheader2">
</el-table-column>
<el-table-column label="破损" class-name="colorheader2">
</el-table-column>
<el-table-column label="黑圈有纹路" class-name="colorheader2">
</el-table-column>
<el-table-column label="发白" class-name="colorheader2">
</el-table-column>
<el-table-column label="漏光" class-name="colorheader2">
</el-table-column>
</el-table-column>
<el-table-column label="返修" align="center" class-name="colorheader3">
<el-table-column label="日期" class-name="colorheader3">
</el-table-column>
<el-table-column label="检验人" class-name="colorheader3">
</el-table-column>
<el-table-column label="返修数" class-name="colorheader3">
</el-table-column>
<el-table-column label="合格数" class-name="colorheader3">
</el-table-column>
<el-table-column label="划麻(返修)" class-name="colorheader3">
</el-table-column>
<el-table-column label="脏(返修)" class-name="colorheader3">
</el-table-column>
<el-table-column label="气泡" class-name="colorheader3">
</el-table-column>
<el-table-column label="浅气泡(B)" class-name="colorheader3">
</el-table-column>
<el-table-column label="黑圈变形" class-name="colorheader3">
</el-table-column>
<el-table-column label="黑圈缺口" class-name="colorheader3">
</el-table-column>
<el-table-column label="重水纹" class-name="colorheader3">
</el-table-column>
<el-table-column label="浅水纹(B)" class-name="colorheader3">
</el-table-column>
<el-table-column label="大崩" class-name="colorheader3">
</el-table-column>
<el-table-column label="小崩边(B)" class-name="colorheader3">
</el-table-column>
<el-table-column label="棕点" class-name="colorheader3">
</el-table-column>
<el-table-column label="浅划麻(B)" class-name="colorheader3">
</el-table-column>
<el-table-column label="双面划麻" class-name="colorheader3">
</el-table-column>
<el-table-column label="倒角" class-name="colorheader3">
</el-table-column>
<el-table-column label="棕圈" class-name="colorheader3">
</el-table-column>
<el-table-column label="蓝圈" class-name="colorheader3">
</el-table-column>
<el-table-column label="尺寸小" class-name="colorheader3">
</el-table-column>
<el-table-column label="破损" class-name="colorheader3">
</el-table-column>
<el-table-column label="黑圈有纹路" class-name="colorheader3">
</el-table-column>
<el-table-column label="发白" class-name="colorheader3">
</el-table-column>
<el-table-column label="漏光" class-name="colorheader3">
</el-table-column>
</el-table-column>
<el-table-column label="外观总合格数" class-name="colorheader4">
</el-table-column>
<el-table-column label="外观总合格率" class-name="colorheader4">
</el-table-column>
<el-table-column label="直通良率" class-name="colorheader4">
</el-table-column>
</scTable>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
export default { export default {
name: "chart", name: "chart",
data() { data() {
return { return {
query:{ params: {
fw_type:'prod', ordering:'-last_time',
end_date:'', batch__startswith__in:'ZJ2,G05',
start_date:'',
process_name:'一次超洗',
group_by_dept: ", dept.id",
group_by_user: ", suser.id",
group_by_shift: ", shift.id",
select_col_dept: ", dept.name as 部门",
select_col_user: ", suser.name as 检验人",
select_col_shift: ", shift.name as 班次"
}, },
currentDate: "", query:{
tableData: [], batch__contains:'',
options:[ last_time__gte:'',
{name:'外观',value:'一次超洗'}, last_time__lte:'',
{name:'尺寸',value:'二次超洗'} },
], apiObj: this.$API.wpm.batchst,
userOptions:[], options:[],
shiftOptions:[], tableData:[],
}; };
}, },
mounted() {
let that = this;
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
month = month < 10 ? "0" + month : month;
day = day < 10 ? "0" + day : day;
let queryDate = year + "-" + month + "-" + day;
that.query.start_date = that.query.end_date = that.currentDate = queryDate;
this.getData();
this.getUsers();
this.getShifts();
},
methods: { methods: {
getUsers(){ handleQuery(){
let that = this; this.$refs.table.queryData(this.query);
this.$API.system.user.list.req({ page: 0, posts__code__contains: "check" }).then((res) => {
that.userOptions = res;
});
},
getShifts(){
let that = this;
that.$API.mtm.shift.list.req({ page: 0 }).then((res) => {
that.shiftOptions = res;
});
},
getData() {
let that = this;
let obj = {};
obj.query = that.query;
that.tableData = [];
that.$API.bi.dataset.exec.req('ftestDay', obj).then((res) => {
that.tableData = res.data2.ds0;
console.log(that.tableData);
});
},
processChange(){
this.handleQuery();
},
handleQuery() {
if(this.query.start_date){
this.query.end_date = this.query.start_date;
}else{
this.query.start_date = this.query.end_date = this.currentDate;
}
this.getData();
},
handleExport() {
this.exportLoading = true;
this.$XLSX("#exportDiv", "成品检验统计");
this.exportLoading = false;
}, },
}, },
}; };
</script> </script>
<style scoped> <style scoped>
.tables {
position: absolute;
top: 4px;
right: 6px;
z-index: 10;
}
</style> </style>