This commit is contained in:
TianyangZhang 2026-01-28 10:30:12 +08:00
commit 74daa6094b
2 changed files with 181 additions and 32 deletions

View File

@ -0,0 +1,149 @@
<template>
<el-container>
<el-header>
<div class="left-panel"></div>
<div class="right-panel">
<el-date-picker
v-model="query.start_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.end_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:data="tableData"
id="exportDiv"
row-key="id"
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="设备编号" prop="设备编号">
</el-table-column>
<el-table-column label="总数">
<template #default="scope">
<span v-if="scope.row.总切片数" @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总切片数 }}</span>
<span v-else @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总生产数 }}</span>
</template>
</el-table-column>
<el-table-column label="长点">
<template #default="scope">
<span v-if="scope.row.暗点不合格">{{scope.row.暗点不合格.含}}</span>
<span v-else>0</span>
</template>
</el-table-column>
<el-table-column label="长点率">
<template #default="scope">
<span v-if="scope.row.暗点不合格">{{((scope.row.暗点不合格.含/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>0%</span>
</template>
</el-table-column>
<el-table-column label="放大率不合格">
<template #default="scope">
<span v-if="scope.row['放大率¢16mm不合格']">{{scope.row['放大率16mm不合格'].含}}</span>
<span v-else>0</span>
</template>
</el-table-column>
<el-table-column label="放大率不合格占比">
<template #default="scope">
<span v-if="scope.row['放大率¢16mm不合格']">{{((scope.row['放大率16mm不合格'].含/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>0%</span>
</template>
</el-table-column>
</scTable>
<el-drawer v-model="visible" :title="userName+'板段列表'" size="50%" direction="rtl" append-to-body destroy-on-close>
<el-card shadow="never">
<div v-for="(item,index) in detailRow" :key="item" style="height:22px;border-bottom: 1px solid #efefef;">
<span style="margin-right:10px;width: 18px;display: inline-block;">{{ index+1 }} </span>
{{ item }}
</div>
</el-card>
</el-drawer>
</el-main>
</el-container>
</template>
<script>
export default {
name: "workerTimes",
data() {
return {
visible:false,
userName:'',
query:{
end_date:'',
start_date:'',
// select_cols: ",ls.,ls."
},
tableData:[],
detailRow:[],
nameFilters:[],
};
},
mounted() {
let that = this;
let date = new Date();
that.query.end_date = that.$TOOL.dateFormat2(date);
that.query.start_date = that.query.end_date.split('-')[0] + '-' + that.query.end_date.split('-')[1] + '-01';
that.getData();
},
methods: {
getData(){
let that = this;
let params = {};
params.query = that.query;
that.$API.bi.dataset.exec.req('product_defect_equip_bdgy', params).then((res) => {
let data = res.data2.ds0;
data.forEach(item=>{
if(item.缺陷分布!==null){
let defect = JSON.parse(item.缺陷分布);
for(let key in defect){
item[key]=defect[key];
}
}
})
that.$nextTick(() => {
that.tableData = data;
})
});
},
deptChange(){
this.getData();
},
filterName(value, row) {
return row.物料名 == value;
},
handleClick(row){
let that = this;
that.userName = row.员工;
that.visible = true;
that.detailRow = row.切片编号列表;
},
handleQuery(){
let that = this;
console.log('that.query',that.query)
that.getData();
},
},
};
</script>
<style scoped>
</style>

View File

@ -43,97 +43,97 @@
</el-table-column> </el-table-column>
<el-table-column label="炉号" prop="number" fixed="left"> <el-table-column label="炉号" prop="number" fixed="left">
</el-table-column> </el-table-column>
<el-table-column label="放大率¢16mm" align="center" class-name="colorheader4"> <el-table-column label="放大率¢16mm" align="center" class-name="colorheader1">
<el-table-column label="差值" class-name="colorheader2"> <el-table-column label="差值" class-name="colorheader1">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.毛坯检测_检测项_放大率16mm }}</span> <span>{{ scope.row.data.毛坯检测_检测项_放大率16mm }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="合格数" class-name="colorheader2"> <el-table-column label="合格数" class-name="colorheader1">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢16mm不合格']?0:1 }}</span> <span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢16mm不合格']?0:1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="剪切¢18.3mm" align="center" class-name="colorheader5"> <el-table-column label="剪切¢18.3mm" align="center" class-name="colorheader2">
<el-table-column label="剪切" class-name="colorheader3"> <el-table-column label="剪切" class-name="colorheader2">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.毛坯检测_检测项_剪切18mm }}</span> <span>{{ scope.row.data.毛坯检测_检测项_剪切18mm }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="剪切值" class-name="colorheader3"> <el-table-column label="剪切值" class-name="colorheader2">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.毛坯检测_检测项_剪切值18mm }}</span> <span>{{ scope.row.data.毛坯检测_检测项_剪切值18mm }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="合格数" class-name="colorheader3"> <el-table-column label="合格数" class-name="colorheader2">
<template #default="scope"> <template #default="scope">
<span>{{ !scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']&&!scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span> <span>{{ !scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']&&!scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="可加工" class-name="colorheader3"> <el-table-column label="可加工" class-name="colorheader2">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span> <span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="暗点" align="center" class-name="colorheader6"> <el-table-column label="暗点" align="center" class-name="colorheader3">
<el-table-column label="内标合格" class-name="colorheader4"> <el-table-column label="内标合格" class-name="colorheader3">
<template #default="scope"> <template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_暗点合格?scope.row.data.毛坯检测_缺陷项_暗点合格:0 }}</span> <span>{{scope.row.data.毛坯检测_缺陷项_暗点合格?scope.row.data.毛坯检测_缺陷项_暗点合格:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="长点不合格" class-name="colorheader4"> <el-table-column label="长点不合格" class-name="colorheader3">
<template #default="scope"> <template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_暗点不合格?scope.row.data.毛坯检测_缺陷项_暗点不合格:0 }}</span> <span>{{scope.row.data.毛坯检测_缺陷项_暗点不合格?scope.row.data.毛坯检测_缺陷项_暗点不合格:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="崩炸" align="center" class-name="colorheader7"> <el-table-column label="崩炸" align="center" class-name="colorheader4">
<el-table-column label="轻" align="center" class-name="colorheader1"> <el-table-column label="轻" align="center" class-name="colorheader4">
<template #default="scope"> <template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_花朵?scope.row.data.毛坯检测_缺陷项_花朵:0 }}</span> <span>{{scope.row.data.毛坯检测_缺陷项_花朵?scope.row.data.毛坯检测_缺陷项_花朵:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="重" align="center" class-name="colorheader1"> <el-table-column label="重" align="center" class-name="colorheader4">
<template #default="scope"> <template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_花朵重?scope.row.data.毛坯检测_缺陷项_花朵重:0 }}</span> <span>{{scope.row.data.毛坯检测_缺陷项_花朵重?scope.row.data.毛坯检测_缺陷项_花朵重:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="扭后内质" align="center" class-name="colorheader1"> <el-table-column label="扭后内质" align="center" class-name="colorheader5">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.排板_检测项_对边==undefined?scope.row.data.排板_检测项_对边:'' }}</span> <span>{{ scope.row.data.排板_检测项_对边==undefined?scope.row.data.排板_检测项_对边:'' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="黑网" align="center" class-name="colorheader2"> <el-table-column label="黑网" align="center" class-name="colorheader6">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span> <span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="白网" align="center" class-name="colorheader3"> <el-table-column label="白网" align="center" class-name="colorheader7">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span> <span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="板号" prop="number" fixed="left"> <el-table-column label="板号" prop="number" class-name="colorheader1">
</el-table-column> </el-table-column>
<el-table-column label="丝高" align="center" class-name="colorheader4"> <el-table-column label="丝高" align="center" class-name="colorheader2">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span> <span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="丝长" align="center" class-name="colorheader4"> <el-table-column label="丝长" align="center" class-name="colorheader3">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span> <span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="对模具人" align="center" class-name="colorheader3"> <el-table-column label="对模具人" align="center" class-name="colorheader4">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span> <span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="日期" align="center" class-name="colorheader7"> <el-table-column label="日期" align="center" class-name="colorheader5">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_压板出炉_日期?scope.row.data.装炉压板出炉_压板出炉_日期:0 }}</span> <span>{{ scope.row.data.装炉压板出炉_压板出炉_日期?scope.row.data.装炉压板出炉_压板出炉_日期:0 }}</span>
</template> </template>
@ -148,22 +148,22 @@
<span>{{ scope.row.data.装炉压板出炉_操作项_压板用时?scope.row.data.装炉压板出炉_操作项_压板用时:0 }}</span> <span>{{ scope.row.data.装炉压板出炉_操作项_压板用时?scope.row.data.装炉压板出炉_操作项_压板用时:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="压板人" align="center" class-name="colorheader7"> <el-table-column label="压板人" align="center" class-name="colorheader1">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_压板出炉_操作人?scope.row.data.装炉压板出炉_压板出炉_操作人:0 }}</span> <span>{{ scope.row.data.装炉压板出炉_压板出炉_操作人?scope.row.data.装炉压板出炉_压板出炉_操作人:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="炉号" align="center" class-name="colorheader5"> <el-table-column label="炉号" align="center" class-name="colorheader2">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_设备编号?scope.row.data.装炉压板出炉_设备编号:0 }}</span> <span>{{ scope.row.data.装炉压板出炉_设备编号?scope.row.data.装炉压板出炉_设备编号:0 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="模具号" align="center" class-name="colorheader2"> <el-table-column label="模具号" align="center" class-name="colorheader3">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span> <span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader1"> <el-table-column label="备注" align="center" class-name="colorheader4">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_备注 }}</span> <span>{{ scope.row.data.装炉压板出炉_备注 }}</span>
</template> </template>
@ -179,8 +179,8 @@ export default {
data() { data() {
return { return {
params: { params: {
ordering:'data__成品尺寸检测_批次号', ordering:'data__装炉压板出炉_批次号',
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]], querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"装炉压板出炉_批次号"}]],
}, },
query:{ query:{
number_contains:'', number_contains:'',
@ -195,17 +195,17 @@ export default {
methods: { methods: {
handleQuery(){ handleQuery(){
let that = this; let that = this;
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]]; let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"装炉压板出炉_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {}; let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品尺寸检测_批次号'; obj.field = 'data__装炉压板出炉_批次号';
obj.value = that.query.batch__contains; obj.value = that.query.batch__contains;
obj.compare = ''; obj.compare = '';
obj1.field = 'data__成品尺寸检测_日期'; obj1.field = 'data__装炉压板出炉_日期';
obj1.value = that.query.last_time__gte; obj1.value = that.query.last_time__gte;
obj1.compare = 'gte'; obj1.compare = 'gte';
obj2.field = 'data__成品尺寸检测_日期'; obj2.field = 'data__装炉压板出炉_日期';
obj2.value = that.query.last_time__lte; obj2.value = that.query.last_time__lte;
obj2.compare = 'lte'; obj2.compare = 'lte';