update - 2025报表需求更新

master
yinq 5 months ago
parent f5fdfadcff
commit f9efe05d64

@ -24,7 +24,7 @@
plain plain
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleBatchAdd"
v-hasPermi="['base:stationDefectRelation:add']" v-hasPermi="['base:stationDefectRelation:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
@ -186,6 +186,36 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="title" :visible.sync="batchOpen" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="质检工位" prop="stationCode">
<el-select v-model="form.stationCode" placeholder="请选择质检工位">
<el-option
v-for="item in productLineList"
:key="item.productLineCode"
:label="item.productLineName"
:value="item.productLineCode"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="缺陷描述" prop="defectCodeList">
<el-select v-model="form.defectCodeList" multiple filterable placeholder="请选择缺陷描述" style="width: 100%">
<el-option
v-for="item in defectList"
:key="item.qualityDefectCode"
:label="item.qualityDefectName"
:value="item.qualityDefectCode"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -217,6 +247,7 @@ export default {
title: "", title: "",
// //
open: false, open: false,
batchOpen: false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -230,7 +261,8 @@ export default {
createdBy: null, createdBy: null,
createdTime: null, createdTime: null,
updatedBy: null, updatedBy: null,
updatedTime: null updatedTime: null,
defectCodeList: [],
}, },
// //
form: {}, form: {},
@ -278,6 +310,7 @@ export default {
// //
cancel() { cancel() {
this.open = false; this.open = false;
this.batchOpen = false;
this.reset(); this.reset();
}, },
// //
@ -320,6 +353,12 @@ export default {
this.open = true; this.open = true;
this.title = "添加质检工位/缺陷维护"; this.title = "添加质检工位/缺陷维护";
}, },
handleBatchAdd() {
this.reset();
this.form.stationCode = this.queryParams.stationCode;
this.batchOpen = true;
this.title = "添加质检工位/缺陷维护";
},
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
@ -338,12 +377,14 @@ export default {
updateStationDefectRelation(this.form).then(response => { updateStationDefectRelation(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.batchOpen = false;
this.getList(); this.getList();
}); });
} else { } else {
addStationDefectRelation(this.form).then(response => { addStationDefectRelation(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.batchOpen = false;
this.getList(); this.getList();
}); });
} }

@ -43,6 +43,14 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="箱体型号" prop="BOX_NAME">
<el-input
v-model="queryParams.BOX_NAME"
placeholder="请输入箱体码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="壳胆绑定时间"> <el-form-item label="壳胆绑定时间">
<el-date-picker <el-date-picker
v-model="daterangeBeginTime" v-model="daterangeBeginTime"

@ -27,6 +27,14 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="产品型号" prop="materialModel">
<el-input
v-model="queryParams.materialModel"
placeholder="请输入产品型号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="记录时间"> <el-form-item label="记录时间">
<el-date-picker <el-date-picker
v-model="daterangeRecordTime" v-model="daterangeRecordTime"

@ -21,6 +21,14 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="产品型号" prop="MATERIAL_MODEL">
<el-input
v-model="form.MATERIAL_MODEL"
placeholder="请输入产品型号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="下线日期" > <el-form-item label="下线日期" >
<el-date-picker <el-date-picker
v-model="form.date" v-model="form.date"
@ -98,6 +106,7 @@ export default {
pageSize: 10, pageSize: 10,
FACTORY_CODE: '1301', FACTORY_CODE: '1301',
productionLine: 'CX_02', productionLine: 'CX_02',
MATERIAL_MODEL: '',
date: [] date: []
}, },
tableData: [], tableData: [],
@ -123,7 +132,7 @@ export default {
getList() { getList() {
highFaultList({ highFaultList({
beginBeginTime: this.form?.date?.[0], endBeginTime: this.form?.date?.[1] beginBeginTime: this.form?.date?.[0], endBeginTime: this.form?.date?.[1]
, FACTORY_CODE: this.form.factory, PRODUCT_LINE_CODE: this.form.productionLine , FACTORY_CODE: this.form.factory, PRODUCT_LINE_CODE: this.form.productionLine, MATERIAL_MODEL: this.form.MATERIAL_MODEL
}).then(response => { }).then(response => {
// //
this.total = response?.total || 0 this.total = response?.total || 0

@ -82,6 +82,7 @@
<el-table-column label="质检工位编号" align="center" prop="STATION_CODE" v-if="columns[4].visible"/> <el-table-column label="质检工位编号" align="center" prop="STATION_CODE" v-if="columns[4].visible"/>
<el-table-column label="质检工位名称" align="center" prop="STATION_NAME" v-if="columns[5].visible"/> <el-table-column label="质检工位名称" align="center" prop="STATION_NAME" v-if="columns[5].visible"/>
<el-table-column label="检测数不合格数" align="center" prop="REWORK_NUMBER" v-if="columns[6].visible"/> <el-table-column label="检测数不合格数" align="center" prop="REWORK_NUMBER" v-if="columns[6].visible"/>
<el-table-column label="合计数量" align="center" prop="INSPECTION_NUMBER" v-if="columns[8].visible"/>
<el-table-column label="合格率(%)" align="center" prop="RATE" v-if="columns[7].visible"/> <el-table-column label="合格率(%)" align="center" prop="RATE" v-if="columns[7].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
@ -128,13 +129,15 @@
<el-table :data="qualityDefectstList" ref="detailElectricalinspection" <el-table :data="qualityDefectstList" ref="detailElectricalinspection"
> >
<el-table-column type="selection" width="50" align="center"/> <el-table-column type="selection" width="50" align="center"/>
<el-table-column label="序号" prop="SEQ" width="150"> <el-table-column label="序号" align="center" prop="SEQ" width="50">
</el-table-column> </el-table-column>
<el-table-column label="缺陷名称" prop="QUALITY_DEFECT_NAME" width="150"> <el-table-column label="箱体型号" align="center" prop="MATERIAL_MODEL" width="150">
</el-table-column> </el-table-column>
<el-table-column label="数量" prop="DEFECT_NUMBER" width="150"> <el-table-column label="缺陷名称" align="center" prop="QUALITY_DEFECT_NAME" width="150">
</el-table-column> </el-table-column>
<el-table-column label="比例" prop="RATE" width="150"> <el-table-column label="数量" align="center" prop="DEFECT_NUMBER" width="80">
</el-table-column>
<el-table-column label="比例" align="center" prop="RATE" width="80">
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-col> </el-col>
@ -222,7 +225,8 @@ export default {
{key: 4, label: `质检工位编号`, visible: false}, {key: 4, label: `质检工位编号`, visible: false},
{key: 5, label: `质检工位名称`, visible: true}, {key: 5, label: `质检工位名称`, visible: true},
{key: 6, label: `检测数不合格数`, visible: true}, {key: 6, label: `检测数不合格数`, visible: true},
{key: 7, label: `合格率(%)`, visible: true} {key: 7, label: `合格率(%)`, visible: true},
{key: 8, label: `合计数量`, visible: true},
], ],
// 线 // 线
productLineList: [], productLineList: [],
@ -317,6 +321,16 @@ export default {
endBeginTime: this.queryParams.endBeginTime endBeginTime: this.queryParams.endBeginTime
}).then(response => { }).then(response => {
this.qualityDefectstList = response.data this.qualityDefectstList = response.data
const resultList = Object.values(response.data.reduce((acc, item) => {
const defectName = item.QUALITY_DEFECT_NAME;
acc[defectName] = acc[defectName] || {
QUALITY_DEFECT_NAME: defectName,
DEFECT_NUMBER: 0
};
acc[defectName].DEFECT_NUMBER += item.DEFECT_NUMBER;
return acc;
}, {}));
this.form.PRODUCT_LINE_NAME = row.PRODUCT_LINE_NAME this.form.PRODUCT_LINE_NAME = row.PRODUCT_LINE_NAME
this.form.STATION_NAME = row.STATION_NAME this.form.STATION_NAME = row.STATION_NAME
this.open = true this.open = true
@ -338,7 +352,7 @@ export default {
// xAxis: [ // xAxis: [
// { // {
// type: 'category', // type: 'category',
// data: response.data.map(val => val.QUALITY_DEFECT_NAME), // data: resultList.map(val => val.QUALITY_DEFECT_NAME),
// axisTick: { // axisTick: {
// alignWithLabel: true, // alignWithLabel: true,
// }, // },
@ -392,7 +406,7 @@ export default {
// ]), // ]),
// }, // },
// }, // },
// data: response.data.map(val => val.DEFECT_NUMBER), // data: resultList.map(val => val.DEFECT_NUMBER),
// } // }
// ] // ]
// }) // })
@ -405,7 +419,7 @@ export default {
name: '缺陷名称', name: '缺陷名称',
type: 'pie', type: 'pie',
radius: '60%', radius: '60%',
data: response.data.map(e=>{ data: resultList.map(e=>{
return { return {
name:e.QUALITY_DEFECT_NAME, name:e.QUALITY_DEFECT_NAME,
value:e.DEFECT_NUMBER value:e.DEFECT_NUMBER

Loading…
Cancel
Save