feat(report): 更新质检记录管理页面功能

- 移除新增和修改按钮的权限控制
- 隐藏工序编号、工序名称、工位名称等列显示
- 在表格末尾添加操作列,包含修改和删除按钮
- 将表单标签宽度从80px调整为120px
- 隐藏工序编号表单项
- 添加质量缺陷名称下拉选择框,支持自动填充编码
- 将日期选择器类型从date改为datetime,格式化为完整时间
- 隐藏是否下静态线、班组编号等相关表单项
- 新增质检项列表加载和缺陷名称变更处理功能
- 添加selectBaseQualityInspectionItemList接口方法
master
zangch@mesnac.com 6 days ago
parent 1336ef3554
commit b0f1836a2c

@ -58,3 +58,14 @@ export function getQualityInspectionItemParent(){
method :'get'
})
}
// 查询质检项信息维护列表
export function selectBaseQualityInspectionItemList(query) {
return request({
url: '/base/qualityInspectionItem/selectBaseQualityInspectionItemList',
method: 'get',
params: query
})
}

@ -82,27 +82,46 @@
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['report:qualityInspection:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['report:qualityInspection:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['report:qualityInspection:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['report:qualityInspection:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@ -134,9 +153,9 @@
<el-table-column label="主键标识" align="center" prop="objId" v-if="columns[0].visible"/>
<el-table-column label="箱体码" align="center" prop="barCode" v-if="columns[1].visible" width="120"/>
<el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[2].visible" width="220"/>
<el-table-column label="工序编号" align="center" prop="processCode" v-if="columns[3].visible"/>
<el-table-column label="工序名称" align="center" prop="processName" v-if="columns[18].visible" width="140"/>
<el-table-column label="工位名称" align="center" prop="productLineName" v-if="columns[21].visible" width="120"/>
<!-- <el-table-column label="工序编号" align="center" prop="processCode" v-if="columns[3].visible"/>-->
<!-- <el-table-column label="工序名称" align="center" prop="processName" v-if="columns[18].visible" width="140"/>-->
<!-- <el-table-column label="工位名称" align="center" prop="productLineName" v-if="columns[21].visible" width="120"/>-->
<el-table-column label="检测项编号" align="center" prop="testItemCode" v-if="columns[4].visible"/>
<el-table-column label="质量缺陷编码" align="center" prop="qualityDefectCode" v-if="columns[5].visible" width="100"/>
<el-table-column label="质量缺陷名称" align="center" prop="qualityDefectName" v-if="columns[6].visible" width="120"/>
@ -146,15 +165,15 @@
</template>
</el-table-column>
<el-table-column label="处理结果" align="center" prop="processResult" v-if="columns[8].visible"/>
<el-table-column label="是否下静态线" align="center" prop="isLowerLine" v-if="columns[9].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isLowerLine"/>
</template>
</el-table-column>
<el-table-column label="班组编号" align="center" prop="groupCode" v-if="columns[10].visible"/>
<el-table-column label="班组名称" align="center" prop="groupName" v-if="columns[10].visible" width="120"/>
<el-table-column label="检测人员编号" align="center" prop="inspectorCode" v-if="columns[11].visible" width="100"/>
<el-table-column label="检测人员名称" align="center" prop="inspectorName" v-if="columns[20].visible" width="120"/>
<!-- <el-table-column label="是否下静态线" align="center" prop="isLowerLine" v-if="columns[9].visible">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isLowerLine"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="班组编号" align="center" prop="groupCode" v-if="columns[10].visible"/>-->
<!-- <el-table-column label="班组名称" align="center" prop="groupName" v-if="columns[10].visible" width="120"/>-->
<el-table-column label="检测人员" align="center" prop="inspectorCode" v-if="columns[11].visible" width="100"/>
<!-- <el-table-column label="检测人员名称" align="center" prop="inspectorName" v-if="columns[20].visible" width="120"/>-->
<el-table-column label="检测时间" align="center" prop="inspectorTime" width="180" v-if="columns[12].visible">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.inspectorTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -191,6 +210,24 @@
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
@ -203,24 +240,31 @@
<!-- 添加或修改质检记录管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="箱体码" prop="barCode">
<el-input v-model="form.barCode" placeholder="请输入箱体码"/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input v-model="form.materialName" placeholder="请输入物料名称"/>
</el-form-item>
<el-form-item label="工序编号" prop="processCode">
<el-input v-model="form.processCode" placeholder="请输入工序编号"/>
</el-form-item>
<!-- <el-form-item label="工序编号" prop="processCode">-->
<!-- <el-input v-model="form.processCode" placeholder="请输入工序编号"/>-->
<!-- </el-form-item>-->
<el-form-item label="检测项编号" prop="testItemCode">
<el-input v-model="form.testItemCode" placeholder="请输入检测项编号"/>
</el-form-item>
<el-form-item label="质量缺陷编码" prop="qualityDefectCode">
<el-input v-model="form.qualityDefectCode" placeholder="请输入质量缺陷编码"/>
</el-form-item>
<el-form-item label="质量缺陷名称" prop="qualityDefectName">
<el-input v-model="form.qualityDefectName" placeholder="请输入质量缺陷名称"/>
<el-select v-model="form.qualityDefectName" placeholder="请选择质量缺陷名称" clearable filterable @change="handleDefectChange">
<el-option
v-for="item in qualityInspectionItemList"
:key="item.qualityDefectCode"
:label="item.qualityDefectName"
:value="item.qualityDefectName"
/>
</el-select>
</el-form-item>
<el-form-item label="质量缺陷编码" prop="qualityDefectCode">
<el-input v-model="form.qualityDefectCode" placeholder="根据缺陷名称自动填充" disabled/>
</el-form-item>
<el-form-item label="处理措施" prop="treatmentMeasure">
<el-radio-group v-model="form.treatmentMeasure">
@ -235,27 +279,27 @@
<el-form-item label="处理结果" prop="processResult">
<el-input v-model="form.processResult" placeholder="请输入处理结果"/>
</el-form-item>
<el-form-item label="是否下静态线" prop="isLowerLine">
<el-radio-group v-model="form.isLowerLine">
<el-radio
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="班组编号" prop="groupCode">
<el-input v-model="form.groupCode" placeholder="请输入班组编号"/>
</el-form-item>
<!-- <el-form-item label="是否下静态线" prop="isLowerLine">-->
<!-- <el-radio-group v-model="form.isLowerLine">-->
<!-- <el-radio-->
<!-- v-for="dict in dict.type.sys_yes_no"-->
<!-- :key="dict.value"-->
<!-- :label="dict.value"-->
<!-- >{{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="班组编号" prop="groupCode">-->
<!-- <el-input v-model="form.groupCode" placeholder="请输入班组编号"/>-->
<!-- </el-form-item>-->
<el-form-item label="检测人员" prop="inspectorCode">
<el-input v-model="form.inspectorCode" placeholder="请输入检测人员"/>
</el-form-item>
<el-form-item label="检测时间" prop="inspectorTime">
<el-date-picker clearable
v-model="form.inspectorTime"
type="date"
value-format="yyyy-MM-dd"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择检测时间"
>
</el-date-picker>
@ -266,27 +310,27 @@
<el-form-item label="返修完成时间" prop="finishTime">
<el-date-picker clearable
v-model="form.finishTime"
type="date"
value-format="yyyy-MM-dd"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择返修完成时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="是否标识" prop="isFlag">
<el-input v-model="form.isFlag" placeholder="请输入是否标识"/>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input v-model="form.updatedBy" placeholder="请输入更新人"/>
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-date-picker clearable
v-model="form.updatedTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择更新时间"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="是否标识" prop="isFlag">-->
<!-- <el-input v-model="form.isFlag" placeholder="请输入是否标识"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="更新人" prop="updatedBy">-->
<!-- <el-input v-model="form.updatedBy" placeholder="请输入更新人"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="更新时间" prop="updatedTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.updatedTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择更新时间"-->
<!-- >-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -307,6 +351,7 @@ import {
import { parseTime } from '@//utils/ruoyi'
import { findProductLineList } from '@//api/base/productLine'
import { findRepairMeasuresList } from '@//api/report/repairMeasures'
import { selectBaseQualityInspectionItemList } from '@/api/base/qualityInspectionItem'
export default {
name: 'QualityInspection',
@ -351,7 +396,7 @@ export default {
inspectorTime: null,
reworkNumber: null,
finishTime: null,
isFlag: null,
isFlag: '1',
updatedBy: null,
updatedTime: null
},
@ -371,7 +416,7 @@ export default {
{ key: 8, label: `处理结果`, visible: true },
{ key: 9, label: `是否下静态线`, visible: false },
{ key: 10, label: `班组编号`, visible: false },
{ key: 11, label: `检测人员编号`, visible: false },
{ key: 11, label: `检测人员`, visible: true },
{ key: 12, label: `检测时间`, visible: true },
{ key: 13, label: `返修次数`, visible: true },
{ key: 14, label: `返修完成时间`, visible: true },
@ -380,11 +425,12 @@ export default {
{ key: 17, label: `更新时间`, visible: false },
{ key: 18, label: `工序名称`, visible: true },
{ key: 19, label: `班组名称`, visible: true },
{ key: 20, label: `检测人员名称`, visible: true },
{ key: 20, label: `检测人员`, visible: false },
{ key: 21, label: `工位名称`, visible: true }
],
productLineList: [],
repairMeasuresList: [],
qualityInspectionItemList: [],
}
},
created() {
@ -394,6 +440,7 @@ export default {
findRepairMeasuresList().then(response => {
this.repairMeasuresList = response.data
})
this.loadQualityInspectionItemList()
const nowDate = parseTime(new Date(), '{y}-{m}-{d}')
this.daterangeBeginTime[0] = nowDate + ' 00:00:00'
this.daterangeBeginTime[1] = nowDate + ' 23:59:59'
@ -439,7 +486,7 @@ export default {
inspectorTime: null,
reworkNumber: null,
finishTime: null,
isFlag: null,
isFlag: '1',
updatedBy: null,
updatedTime: null
}
@ -511,6 +558,23 @@ export default {
}).catch(() => {
})
},
/** 加载质检项列表 */
loadQualityInspectionItemList() {
selectBaseQualityInspectionItemList().then(response => {
this.qualityInspectionItemList = response.data || []
})
},
/** 质量缺陷名称下拉框变更,自动填充编码 */
handleDefectChange(val) {
if (val) {
const selected = this.qualityInspectionItemList.find(item => item.qualityDefectName === val)
if (selected) {
this.form.qualityDefectCode = selected.qualityDefectCode
}
} else {
this.form.qualityDefectCode = null
}
},
/** 导出按钮操作 */
handleExport() {
this.download('report/qualityInspection/export', {

Loading…
Cancel
Save