726 lines
31 KiB
Vue
726 lines
31 KiB
Vue
<template>
|
|
<el-container>
|
|
<el-header>
|
|
<div class="right-panel">
|
|
<el-input v-model="query.batch"
|
|
placeholder="批次号"
|
|
clearable
|
|
style="width: 200px;"
|
|
></el-input>
|
|
<el-select
|
|
v-model="query.shiftcc"
|
|
placeholder="尺寸班次"
|
|
style="width: 130px;"
|
|
:clearable="true"
|
|
>
|
|
<el-option
|
|
v-for="item in shiftOptions"
|
|
:label="item.name"
|
|
:value="item.name"
|
|
:key="item.id"
|
|
></el-option>
|
|
</el-select>
|
|
<el-select
|
|
v-model="query.shiftwg"
|
|
placeholder="外观班次"
|
|
style="width: 130px;"
|
|
:clearable="true"
|
|
>
|
|
<el-option
|
|
v-for="item in shiftOptions"
|
|
:label="item.name"
|
|
:value="item.name"
|
|
:key="item.id"
|
|
></el-option>
|
|
</el-select>
|
|
<el-date-picker
|
|
v-model="query.cc_data_start"
|
|
type="date"
|
|
placeholder="尺寸检验开始日期"
|
|
value-format="YYYY-MM-DD"
|
|
clearable
|
|
style="width: 130px; margin: 5px"
|
|
></el-date-picker>
|
|
<el-date-picker
|
|
v-model="query.cc_data_end"
|
|
type="date"
|
|
placeholder="尺寸检验结束日期"
|
|
value-format="YYYY-MM-DD"
|
|
clearable
|
|
style="width: 130px; margin:0"
|
|
></el-date-picker>
|
|
<el-date-picker
|
|
v-model="query.wg_data_start"
|
|
type="date"
|
|
placeholder="外观检验开始日期"
|
|
value-format="YYYY-MM-DD"
|
|
clearable
|
|
style="width: 130px; margin: 5px"
|
|
></el-date-picker>
|
|
<el-date-picker
|
|
v-model="query.wg_data_end"
|
|
type="date"
|
|
placeholder="外观检验结束日期"
|
|
value-format="YYYY-MM-DD"
|
|
clearable
|
|
style="width: 130px; margin:0"
|
|
></el-date-picker>
|
|
<el-date-picker
|
|
v-model="query.fx_data_start"
|
|
type="date"
|
|
placeholder="返修开始日期"
|
|
value-format="YYYY-MM-DD"
|
|
clearable
|
|
style="width: 130px; margin: 5px"
|
|
></el-date-picker>
|
|
<el-date-picker
|
|
v-model="query.fx_data_end"
|
|
type="date"
|
|
placeholder="返修结束日期"
|
|
value-format="YYYY-MM-DD"
|
|
clearable
|
|
style="width: 130px; margin:0"
|
|
></el-date-picker>
|
|
<el-button
|
|
type="primary"
|
|
icon="el-icon-search"
|
|
@click="handleQuery"
|
|
></el-button>
|
|
<el-button
|
|
@click="handleExport"
|
|
class="tables"
|
|
type="primary"
|
|
>导出</el-button>
|
|
</div>
|
|
</el-header>
|
|
<el-main class="nopadding">
|
|
<el-table
|
|
ref="table"
|
|
:data="tableData"
|
|
id="exportDiv"
|
|
stripe
|
|
class="totalFooterTable"
|
|
style="height: 100%;"
|
|
:summary-method="getSummaries"
|
|
show-summary
|
|
>
|
|
<el-table-column label="批次号" prop="batch" min-width="240" fixed="left">
|
|
<template #default="scope"><span>{{ scope.row.data.批次号 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="工艺" prop="gongyi" fixed="left">
|
|
</el-table-column>
|
|
<el-table-column label="尺寸检验" align="center" class-name="colorheader1">
|
|
<el-table-column label="日期" class-name="colorheader1" width="90">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_日期 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="班次" class-name="colorheader1" width="60">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_班次 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="检验人" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_操作人 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="检验数" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_count_real }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈内径" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_黑圈内径 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_黑圈内径_比例 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈外径" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_黑圈外径 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_黑圈外径_比例 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="产品同心度" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_产品同心度 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_产品同心度_比例 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="圆度" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_圆度 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_圆度_比例 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="产品外径小" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_产品外径小 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="产品外径大(返修)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data['尺寸检验_缺陷_产品外径大(返修)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈缺口" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_黑圈缺口 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="外径发货片(B)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data['尺寸检验_缺陷_外径发货片(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="前道崩" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_缺陷_前道崩 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="合格数" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_count_ok_full }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="合格率(%)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_完全合格率 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="准合格(B)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data['尺寸检验_缺陷_准合格(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="圆度准合格" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data['尺寸检验_缺陷_圆准(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="总合格数" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_count_ok }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="总合格率(%)" class-name="colorheader1">
|
|
<template #default="scope"><span>{{ scope.row.data.尺寸检验_合格率 }}</span></template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="外观检验" align="center" class-name="colorheader2">
|
|
<el-table-column label="日期" class-name="colorheader2" width="90">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_日期 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="班次" class-name="colorheader2" width="60">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_班次 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="检验人" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_操作人 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="检验数" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_count_real }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="合格数" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_count_ok_full }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="合格率(%)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_完全合格率 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="划麻(返修)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_划麻(返修)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_划麻(返修)_比例'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="脏(返修)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_脏(返修) ']}}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_脏(返修)_比例'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="气泡" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_气泡 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_气泡_比例 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="浅气泡(B)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_浅气泡(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈变形" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_黑圈变形 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈缺口" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_黑圈缺口 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="重水纹" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_重水纹 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="浅水纹(B)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_浅水纹(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="大崩" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_大崩 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="小崩边(B)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_小崩边(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="比例(%)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_小崩边(B)_比例'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="棕点" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_棕点 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="浅划麻(B)" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_缺陷_浅划麻(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="双面划麻" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_双面划麻 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="倒角" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_倒角 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="棕圈" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_棕圈 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="蓝圈" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_蓝圈 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="尺寸小" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_尺寸小 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="破损" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_破损 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="发白" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_发白 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="漏光" class-name="colorheader2">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_缺陷_漏光 }}</span></template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="返修" align="center" class-name="colorheader3">
|
|
<el-table-column label="日期" class-name="colorheader3" width="90">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_日期 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="检验人" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_操作人 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="返修数" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_count_real }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="合格数" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_count_ok_full }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈变形" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_黑圈变形 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="气泡" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_气泡 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="浅气泡(B)" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_返修_缺陷_浅气泡(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="浅划麻(B)" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_返修_缺陷_浅划麻(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="双面划麻" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_双面划麻 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="浅水纹(B)" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_返修_缺陷_浅水纹(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="重水纹" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_重水纹 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="大崩" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_大崩 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="小崩边(B)" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data['外观检验_返修_缺陷_小崩边(B)'] }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="倒角" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_倒角 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="棕点" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_棕点 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="漏光" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_漏光 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="黑圈缺口" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_黑圈缺口 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="破损" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_破损 }}</span></template>
|
|
</el-table-column>
|
|
<el-table-column label="尺寸小" class-name="colorheader3">
|
|
<template #default="scope"><span>{{ scope.row.data.外观检验_返修_缺陷_尺寸小 }}</span></template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="外观总合格数" class-name="colorheader4">
|
|
<template #default="scope">
|
|
<span v-if="scope.row.data.外观检验_完全总合格数==0&&scope.row.data.外观检验_count_ok_full">{{ scope.row.data.外观检验_count_ok_full }}</span>
|
|
<span v-else>{{ scope.row.data.外观检验_完全总合格数 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="外观总合格率(%)" class-name="colorheader5">
|
|
<template #default="scope">
|
|
<span v-if="scope.row.data.外观检验_完全总合格率">{{ scope.row.data.外观检验_完全总合格率 }}</span>
|
|
<span v-else-if="scope.row.data.外观检验_完全合格率">{{ scope.row.data.外观检验_完全合格率 }}</span>
|
|
<span v-else>0</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="直通良率(%)" class-name="colorheader6">
|
|
<template #default="scope">
|
|
<span v-if="scope.row.data.外观检验_完全直通合格率">{{ scope.row.data.外观检验_完全直通合格率 }}</span>
|
|
<span v-else-if="scope.row.data.尺寸检验_合格率">{{ scope.row.data.尺寸检验_合格率 }}</span>
|
|
<span v-else-if="scope.row.data.外观检验_完全总合格率">{{ scope.row.data.外观检验_完全总合格率 }}</span>
|
|
<span v-else>0</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-main>
|
|
<el-footer>
|
|
<el-pagination
|
|
background
|
|
:small="true"
|
|
:total="dataTotal"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:page-size="params.page_size"
|
|
:page-sizes="[20, 50, 100, 200]"
|
|
:current-page="params.page"
|
|
@current-change="getList"
|
|
@update:page-size="getList2"
|
|
></el-pagination>
|
|
</el-footer>
|
|
</el-container>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: "chart",
|
|
data() {
|
|
return {
|
|
query:{
|
|
batch:'',
|
|
cc_data_start:'',
|
|
cc_data_end:'',
|
|
wg_data_start:'',
|
|
wg_data_end:'',
|
|
fx_data_start:'',
|
|
fx_data_end:'',
|
|
shiftcc:'',
|
|
shiftwg:'',
|
|
},
|
|
params: {
|
|
page:1,
|
|
page_size:20,
|
|
with_source_near:'yes',
|
|
ordering:"-last_time",
|
|
querys:[
|
|
[{field:"data__has_key",compare:"",value:"尺寸检验_日期"}],
|
|
[{field:"data__has_key",compare:"",value:"外观检验_日期"}],
|
|
[{field:"data__has_key",compare:"",value:"外观检验_返修_日期"}]
|
|
],
|
|
},
|
|
apiObj: this.$API.wpm.batchst,
|
|
dataTotal:0,
|
|
options:[],
|
|
tableData:[],
|
|
shiftOptions:[],
|
|
};
|
|
},
|
|
mounted() {
|
|
let that = this;
|
|
that.getList();
|
|
that.getShift();
|
|
},
|
|
methods: {
|
|
getShift(){
|
|
let that = this;
|
|
that.$API.mtm.shift.list.req({page:0}).then((res) => {
|
|
that.shiftOptions = res;
|
|
});
|
|
},
|
|
getList(val){
|
|
let that = this;
|
|
that.params.page = val?val:1;
|
|
that.$API.wpm.batchstquery.req(that.params).then((res) => {
|
|
if (res.count > 0) {
|
|
res.results.forEach(item=>{
|
|
item.gongyi = '';
|
|
if(item.source_near&&item.source_near[0]){
|
|
let data = item.source_near[0].data;
|
|
let gongyi = '';
|
|
for(let key in data){
|
|
if(key.indexOf('外扫')>-1){
|
|
gongyi = '外扫';
|
|
}else if(key.indexOf('外协一次抛')>-1){
|
|
gongyi = '外抛';
|
|
}else{
|
|
gongyi = '自家';
|
|
}
|
|
}
|
|
item.gongyi = gongyi;
|
|
}
|
|
})
|
|
that.tableData = res.results;
|
|
that.dataTotal = res.count;
|
|
}else{
|
|
that.tableData = [];
|
|
that.dataTotal = 0;
|
|
}
|
|
});
|
|
},
|
|
getList2(val){
|
|
let that = this;
|
|
that.params.page = 1;
|
|
that.params.page_size = val;
|
|
that.params.querys=[
|
|
[{field:"data__has_key",compare:"",value:"尺寸检验_日期"}],
|
|
[{field:"data__has_key",compare:"",value:"外观检验_日期"}],
|
|
[{field:"data__has_key",compare:"",value:"外观检验_返修_日期"}]
|
|
];
|
|
that.getList(1);
|
|
},
|
|
handleQuery(){
|
|
let that = this;
|
|
that.params.page = 1;
|
|
that.params.querys=[];
|
|
let arrays = {};
|
|
if(that.query.batch != "" && that.query.batch != null && that.query.batch != undefined&&that.query.batch.indexOf(' ')){
|
|
let arrs = that.query.batch.split(' ');
|
|
arrs.forEach((item, index) => {
|
|
let obj = {};
|
|
obj.value = item;
|
|
obj.field = "batch";
|
|
obj.compare = "contains";
|
|
let newArrayName1 = 'arr1' + index;
|
|
let newArrayName2 = 'arr2' + index;
|
|
let newArrayName3 = 'arr3' + index;
|
|
arrays[newArrayName1] = [{field:"data__has_key",compare:"",value:"尺寸检验_日期"},obj];
|
|
arrays[newArrayName2] = [{field:"data__has_key",compare:"",value:"外观检验_日期"},obj];
|
|
arrays[newArrayName3] = [{field:"data__has_key",compare:"",value:"外观检验_返修_日期"},obj];
|
|
});
|
|
}else{
|
|
let obj = {};
|
|
obj.value =that.query.batch;
|
|
obj.field = "batch";
|
|
obj.compare = "contains";
|
|
arrays.arr1=[{field:"data__has_key",compare:"",value:"尺寸检验_日期"},obj];
|
|
arrays.arr2=[{field:"data__has_key",compare:"",value:"外观检验_日期"},obj];
|
|
arrays.arr3=[{field:"data__has_key",compare:"",value:"外观检验_返修_日期"},obj];
|
|
}
|
|
for(let key in that.query){
|
|
if(that.query[key] != ""&&that.query[key] != null&&that.query[key] != undefined&&key!='batch'){
|
|
let obj = {};
|
|
obj.value = that.query[key];
|
|
if(key=='cc_data_start'){
|
|
obj.compare = "gte";
|
|
obj.field = "data__尺寸检验_日期";
|
|
}
|
|
if(key=='cc_data_end'){
|
|
obj.compare = "lte";
|
|
obj.field = "data__尺寸检验_日期";
|
|
}
|
|
if(key=='shiftcc'){
|
|
obj.compare = "";
|
|
obj.field = "data__尺寸检验_班次";
|
|
}
|
|
if(key=='wg_data_start'){
|
|
obj.compare = "gte";
|
|
obj.field = "data__外观检验_日期";
|
|
}
|
|
if(key=='wg_data_end'){
|
|
obj.compare = "lte";
|
|
obj.field = "data__外观检验_日期";
|
|
}
|
|
if(key=='shiftwg'){
|
|
obj.compare = "";
|
|
obj.field = "data__外观检验_班次";
|
|
}
|
|
if(key=='fx_data_start'){
|
|
obj.compare = "gte";
|
|
obj.field = "data__外观检验_返修_日期";
|
|
}
|
|
if(key=='fx_data_end'){
|
|
obj.compare = "lte";
|
|
obj.field = "data__外观检验_返修_日期";
|
|
}
|
|
if(that.query.batch.indexOf(' ')>-1){
|
|
let arrs = that.query.batch.split(' ');
|
|
arrs.forEach((item,index)=>{
|
|
let newArrayName1 = 'arr1' + index;
|
|
let newArrayName2 = 'arr2' + index;
|
|
let newArrayName3 = 'arr3' + index;
|
|
arrays[newArrayName1].push(obj);
|
|
arrays[newArrayName2].push(obj);
|
|
arrays[newArrayName3].push(obj);
|
|
|
|
});
|
|
}else{
|
|
arrays.arr1.push(obj);
|
|
arrays.arr2.push(obj);
|
|
arrays.arr3.push(obj);
|
|
}
|
|
}
|
|
}
|
|
for(let key in arrays){
|
|
that.params.querys.push(arrays[key]);
|
|
}
|
|
this.getList();
|
|
},
|
|
getSummaries({ columns, data }) {
|
|
const sums = [];
|
|
columns.forEach((column, index) => {
|
|
if (index === 0) {
|
|
sums[index] = "合计";
|
|
return;
|
|
}
|
|
let propert = '';
|
|
//尺寸检验
|
|
if(index == 5&&column.label=='检验数'){
|
|
propert = '尺寸检验_count_real';
|
|
}else if(column.label=='黑圈内径'){
|
|
propert = '尺寸检验_缺陷_黑圈内径';
|
|
}else if(column.label=='黑圈外径'){
|
|
propert = '尺寸检验_缺陷_黑圈外径';
|
|
}else if(column.label=='产品同心度'){
|
|
propert = '尺寸检验_缺陷_产品同心度';
|
|
}else if(column.label=='圆度'){
|
|
propert = '尺寸检验_缺陷_圆度';
|
|
}else if(column.label=='产品外径小'){
|
|
propert = '尺寸检验_缺陷_产品外径小';
|
|
}else if(column.label=='产品外径大(返修)'){
|
|
propert = '尺寸检验_缺陷_产品外径大(返修)';
|
|
}else if(index == 16&&column.label=='黑圈缺口'){
|
|
propert = '尺寸检验_缺陷_黑圈缺口';
|
|
}else if(column.label=='外径发货片(B)'){
|
|
propert = '尺寸检验_缺陷_外径发货片(B)';
|
|
}else if(column.label=='前道崩'){
|
|
propert = '尺寸检验_缺陷_前道崩';
|
|
}else if(index==19&&column.label=='合格数'){
|
|
propert = '尺寸检验_count_ok_full';
|
|
}else if(column.label=='准合格(B)'){
|
|
propert = '尺寸检验_缺陷_准合格(B)';
|
|
}else if(column.label=='圆度准合格'){
|
|
propert = '尺寸检验_缺陷_圆准(B)';
|
|
}else if(column.label=='总合格数'){
|
|
propert = '尺寸检验_count_ok';
|
|
}else if(index == 28&&column.label=='检验数'){
|
|
propert = '外观检验_count_real';
|
|
}else if(index==29&&column.label=='合格数'){
|
|
propert = '外观检验_count_ok_full';
|
|
}else if(index==31&&column.label=='划麻(返修)'){
|
|
propert = '外观检验_缺陷_划麻(返修)';
|
|
}else if(index==33&&column.label=='脏(返修)'){
|
|
propert = '外观检验_缺陷_脏(返修)';
|
|
}else if(index==35&&column.label=='气泡'){
|
|
propert = '外观检验_缺陷_气泡';
|
|
}else if(index==37&&column.label=='浅气泡(B)'){
|
|
propert = '外观检验_缺陷_浅气泡(B)';
|
|
}else if(index==38&&column.label=='黑圈变形'){
|
|
propert = '外观检验_缺陷_黑圈变形';
|
|
}else if(index==39&&column.label=='黑圈缺口'){
|
|
propert = '外观检验_缺陷_黑圈缺口';
|
|
}else if(index==40&&column.label=='重水纹'){
|
|
propert = '外观检验_缺陷_重水纹';
|
|
}else if(index==41&&column.label=='浅水纹(B)'){
|
|
propert = '外观检验_缺陷_浅水纹(B)';
|
|
}else if(index==42&&column.label=='大崩'){
|
|
propert = '外观检验_缺陷_大崩';
|
|
}else if(index==43&&column.label=='小崩边(B)'){
|
|
propert = '外观检验_缺陷_小崩边(B)';
|
|
}else if(index==45&&column.label=='棕点'){
|
|
propert = '外观检验_缺陷_棕点';
|
|
}else if(index==46&&column.label=='浅划麻(B)'){
|
|
propert = '外观检验_缺陷_浅划麻(B)';
|
|
}else if(index==47&&column.label=='双面划麻'){
|
|
propert = '外观检验_缺陷_双面划麻';
|
|
}else if(index==48&&column.label=='倒角'){
|
|
propert = '外观检验_缺陷_倒角';
|
|
}else if(index==49&&column.label=='棕圈'){
|
|
propert = '外观检验_缺陷_棕圈';
|
|
}else if(index==50&&column.label=='蓝圈'){
|
|
propert = '外观检验_缺陷_蓝圈';
|
|
}else if(index==51&&column.label=='尺寸小'){
|
|
propert = '外观检验_缺陷_尺寸小';
|
|
}else if(index==52&&column.label=='破损'){
|
|
propert = '外观检验_缺陷_破损';
|
|
}else if(index==53&&column.label=='发白'){
|
|
propert = '外观检验_缺陷_发白';
|
|
}else if(index==54&&column.label=='漏光'){
|
|
propert = '外观检验_缺陷_漏光';
|
|
}else if(index == 57&&column.label=='返修数'){
|
|
propert = '外观检验_返修_count_real';
|
|
}else if(index==58&&column.label=='合格数'){
|
|
propert = '外观检验_返修_count_ok_full';
|
|
}else if(index==59&&column.label=='黑圈变形'){
|
|
propert = '外观检验_返修_缺陷_黑圈变形';
|
|
}else if(index==60&&column.label=='气泡'){
|
|
propert = '外观检验_返修_缺陷_气泡';
|
|
}else if(index==61&&column.label=='浅气泡(B)'){
|
|
propert = '外观检验_返修_缺陷_浅气泡(B)';
|
|
}else if(index==62&&column.label=='浅划麻(B)'){
|
|
propert = '外观检验_返修_缺陷_浅划麻(B)';
|
|
}else if(index==63&&column.label=='双面划麻'){
|
|
propert = '外观检验_返修_缺陷_双面划麻';
|
|
}else if(index==64&&column.label=='浅水纹(B)'){
|
|
propert = '外观检验_返修_缺陷_浅水纹(B)';
|
|
}else if(index==65&&column.label=='重水纹'){
|
|
propert = '外观检验_返修_缺陷_重水纹';
|
|
}else if(index==66&&column.label=='大崩'){
|
|
propert = '外观检验_返修_缺陷_大崩';
|
|
}else if(index==67&&column.label=='小崩边(B)'){
|
|
propert = '外观检验_返修_缺陷_小崩边(B)';
|
|
}else if(index==68&&column.label=='倒角'){
|
|
propert = '外观检验_返修_缺陷_倒角';
|
|
}else if(index==69&&column.label=='棕点'){
|
|
propert = '外观检验_返修_缺陷_棕点';
|
|
}else if(index==70&&column.label=='漏光'){
|
|
propert = '外观检验_返修_缺陷_漏光';
|
|
}else if(index==71&&column.label=='黑圈缺口'){
|
|
propert = '外观检验_返修_缺陷_黑圈缺口';
|
|
}else if(index==72&&column.label=='破损'){
|
|
propert = '外观检验_返修_缺陷_破损';
|
|
}else if(index==73&&column.label=='尺寸小'){
|
|
propert = '外观检验_返修_缺陷_尺寸小';
|
|
}else if(column.label=='外观总合格数'){
|
|
propert = '外观检验_完全总合格数';
|
|
}
|
|
if (propert!=='') {
|
|
const values = data.map((item) =>
|
|
Number(item.data[propert])
|
|
);
|
|
if (!values.every((value) => Number.isNaN(value))) {
|
|
sums[index] = values.reduce((prev, curr) => {
|
|
const value = Number(curr);
|
|
let sum = Number(Number(prev) + Number(curr));
|
|
if (!isNaN(value)) {
|
|
return sum;
|
|
} else {
|
|
return prev;
|
|
}
|
|
}, 0);
|
|
}
|
|
|
|
}
|
|
if(index==7||index==9||index==11||index==13||index==20||index==24){
|
|
if(sums[index-1]){
|
|
sums[index] = ((sums[index-1]/sums[5])*100).toFixed(4);
|
|
}
|
|
}
|
|
if(index==30||index==32||index==34||index==36||index==44){
|
|
if(sums[index-1]){
|
|
sums[index] = ((sums[index-1]/sums[28])*100).toFixed(4);
|
|
}
|
|
}
|
|
if(index==74){
|
|
let sum = 0;
|
|
if(sums[29]){
|
|
sum += sums[29];
|
|
}
|
|
if(sums[58]){
|
|
sum += sums[58];
|
|
}
|
|
sums[index] = sum;
|
|
}
|
|
if(index==75){
|
|
if(sums[74]&&sums[28]){
|
|
sums[index] = ((sums[74]/sums[28])*100).toFixed(2);
|
|
}
|
|
}
|
|
if(index==76){
|
|
if(sums[75]&&sums[24]){
|
|
sums[index] = ((sums[75]*sums[24])/100).toFixed(2);
|
|
}
|
|
}
|
|
});
|
|
return sums;
|
|
},
|
|
handleExport() {
|
|
this.exportLoading = true;
|
|
this.$XLSX("#exportDiv", "过程检验统计");
|
|
this.exportLoading = false;
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
</style>
|