质量模块
This commit is contained in:
@@ -1,25 +1,37 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 修改缺陷数
|
||||
* @param {查询条件} data
|
||||
*/
|
||||
* 修改缺陷数
|
||||
* @param {查询条件} data
|
||||
*/
|
||||
export function UpdateDefectNum(query) {
|
||||
return request({
|
||||
url: 'mes/qualityManagement/FQC/QcFinishedproductDefect/update_defect_num',
|
||||
method: 'get',
|
||||
params: query,
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询指定工单下的缺陷
|
||||
* @param {查询条件} data
|
||||
*/
|
||||
* 查询指定工单下的缺陷
|
||||
* @param {查询条件} data
|
||||
*/
|
||||
export function SearchDefectList(query) {
|
||||
return request({
|
||||
url: 'mes/qualityManagement/FQC/QcFinishedproductDefect/search_defects',
|
||||
method: 'get',
|
||||
params: query,
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询缺陷统计
|
||||
* @param {查询条件} data
|
||||
*/
|
||||
export function SearchDefectStatisticsPage(data) {
|
||||
return request({
|
||||
url: 'mes/qualityManagement/FQC/QcFinishedproductDefect/search_defect_Statistics_page',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -4,17 +4,21 @@
|
||||
<el-form-item label="工单号" prop="workorder">
|
||||
<el-input v-model="queryParams.workorder" placeholder="请输入工单号" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="组别" prop="groupCode">
|
||||
<el-input v-model="queryParams.groupCode" placeholder="请输入组别" />
|
||||
<el-form-item label="主体品名" prop="productionName">
|
||||
<el-input v-model="queryParams.productionName" placeholder="请输入主体品名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="主体型号" prop="productionCode">
|
||||
<el-input v-model="queryParams.productionCode" placeholder="请输入主体型号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检查人" prop="checkName">
|
||||
<el-input v-model="queryParams.checkName" placeholder="请输入检查人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="缺陷项" prop="defectName">
|
||||
<el-input v-model="queryParams.defectName" placeholder="请输入缺陷项" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="线别" prop="lineCode">
|
||||
<el-input v-model="queryParams.lineCode" placeholder="请输入线别" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="筛选日期" prop="timeRange">
|
||||
<el-date-picker v-model="queryParams.timeRange" type="daterange" range-separator="到"
|
||||
<el-form-item label="筛选日期" prop="searchDateTime">
|
||||
<el-date-picker v-model="queryParams.searchDateTime" type="daterange" range-separator="到"
|
||||
start-placeholder="开始时间" end-placeholder="结束时间" placeholder="请选择日期区间" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -35,34 +39,17 @@
|
||||
<el-table :data="dataList" v-loading="loading" ref="table" border header-cell-class-name="el-table-header-cell"
|
||||
highlight-current-row @sort-change="sortChange">
|
||||
<el-table-column type="index" width="50" align="center" />
|
||||
<el-table-column prop="workorder" label="工单号" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('workorder')" />
|
||||
<el-table-column prop="lineCode" label="线别" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('lineCode')" />
|
||||
<el-table-column prop="groupCode" label="组别" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('groupCode')" />
|
||||
<el-table-column prop="dispatchNum" label="计划数量" align="center" v-if="columns.showColumn('dispatchNum')" />
|
||||
<el-table-column prop="finishedNum" label="实际数量" align="center" v-if="columns.showColumn('finishedNum')" />
|
||||
<el-table-column label="缺陷描述" width="100" align="center">
|
||||
<el-table-column prop="workorder" label="工单号" align="center" />
|
||||
<el-table-column prop="productionName" label="主体品名" />
|
||||
<el-table-column prop="productionCode" label="主体型号" />
|
||||
<el-table-column prop="finishedNum" label="检查数" align="center" />
|
||||
<el-table-column prop="qualifiedNum" label="检查合格数" align="center" />
|
||||
<el-table-column prop="defectAllNum" label="不良数" align="center" />
|
||||
<el-table-column label="不良详情" width="120" align="center">
|
||||
<template #default="scope">
|
||||
<el-button text bg type="success" size="small" @click="showDefectDialog(scope.row)">缺陷查看</el-button>
|
||||
<el-button text bg type="success" size="small" @click="showDefectDialog(scope.row)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="qualifiedNumber" label="合格数" align="center"
|
||||
v-if="columns.showColumn('qualifiedNumber')" />
|
||||
<el-table-column prop="unqualifiedNumber" label="不合格数" align="center"
|
||||
v-if="columns.showColumn('unqualifiedNumber')" />
|
||||
<el-table-column prop="reworkNumber" label="返工数" align="center" v-if="columns.showColumn('reworkNumber')" />
|
||||
<el-table-column prop="scrapNumber" label="报废数" align="center" v-if="columns.showColumn('scrapNumber')" />
|
||||
<el-table-column prop="remark" label="备注" align="center" v-if="columns.showColumn('remark')" />
|
||||
<el-table-column prop="createdBy" label="创建人" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('createdBy')" />
|
||||
<el-table-column prop="createdTime" label="创建时间" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('createdTime')" />
|
||||
<el-table-column prop="updatedBy" label="更新人" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('updatedBy')" />
|
||||
<el-table-column prop="updatedTime" label="更新时间" align="center" :show-overflow-tooltip="true"
|
||||
v-if="columns.showColumn('updatedTime')" />
|
||||
<!-- <el-table-column label="操作" width="200" align="center">
|
||||
<template #default="scope">
|
||||
<el-button type="success" size="small" icon="edit" title="编辑" v-hasPermi="['productManagement:proreportwork:edit']" @click="handleUpdate(scope.row)"></el-button>
|
||||
@@ -144,8 +131,9 @@
|
||||
<el-col :span="10">
|
||||
<div class="grid-content ep-bg-purple" />
|
||||
<el-table height="500px" v-loading="defectLoading" :data="defectList" border highlight-current-row>
|
||||
<el-table-column prop="name" label="缺陷项" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="defectName" label="缺陷项" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="number" label="缺陷数" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="checkName" label="检查人" align="center" :show-overflow-tooltip="true" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
@@ -156,17 +144,20 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="proreportwork">
|
||||
<script setup name="fqc">
|
||||
import { SearchDefectStatisticsPage } from '@/api/qualityManagement/FQC/QcFinishedproductDefect.js'
|
||||
import { listProReportwork, addProReportwork, delProReportwork, updateProReportwork, getProReportwork } from '@/api/productManagement/proreportwork.js'
|
||||
const { proxy } = getCurrentInstance()
|
||||
const ids = ref([])
|
||||
const loading = ref(false)
|
||||
const showSearch = ref(true)
|
||||
const queryParams = reactive({
|
||||
timeRange: [proxy.dayjs(), proxy.dayjs()],
|
||||
searchDateTime: [proxy.dayjs(), proxy.dayjs()],
|
||||
workorder: '',
|
||||
groupCode: '',
|
||||
lineCode: '',
|
||||
checkName: '',
|
||||
defectName: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
sort: '',
|
||||
@@ -199,7 +190,7 @@ var dictParams = []
|
||||
|
||||
function getList() {
|
||||
loading.value = true
|
||||
listProReportwork(queryParams).then((res) => {
|
||||
SearchDefectStatisticsPage(queryParams).then((res) => {
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
dataList.value = data.result
|
||||
@@ -428,7 +419,7 @@ function initPieChart() {
|
||||
function getDefectEchartsData(defectList) {
|
||||
const defectData = defectList.map((item) => {
|
||||
return {
|
||||
name: item.name,
|
||||
name: item.defectName,
|
||||
value: item.number
|
||||
}
|
||||
})
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<v-fade-transition>
|
||||
<v-tabs-window v-model="tab">
|
||||
<v-tabs-window-item value="1">
|
||||
<v-text-field class="bg-green-darken-2 mb-2" label="检查员"
|
||||
v-model="checkName"></v-text-field>
|
||||
<v-btn class="bg-green-darken-3 mb-2" size="x-large" @click="getFormDefectData()">
|
||||
刷新
|
||||
</v-btn>
|
||||
<v-btn class="bg-green-darken-3 mb-2 ml-2" size="x-large"
|
||||
<!-- <v-btn class="bg-green-darken-3 mb-2 ml-2" size="x-large"
|
||||
@click="getFormDefectData()">
|
||||
生成入库检查记录表
|
||||
</v-btn>
|
||||
</v-btn> -->
|
||||
<el-row :gutter="5">
|
||||
<el-col :span="24" v-for="(value, key) in qualityOptions" :key="key">
|
||||
|
||||
@@ -115,7 +117,7 @@
|
||||
</template>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
<!-- 工单报工 -->
|
||||
<!-- 修改缺陷项 -->
|
||||
<el-dialog class="dialogBox" v-model.sync="updateDialogShow" title="缺陷项修改" width="400px" append-to-body
|
||||
:close-on-click-modal="false">
|
||||
<el-form label-width="auto">
|
||||
@@ -206,7 +208,7 @@ function getFormDefectData(workorder) {
|
||||
|
||||
|
||||
/// ==================== 缺陷配置 =========================
|
||||
|
||||
const checkName = ref('')
|
||||
const qualityLoading = ref(false)
|
||||
const qualityOptionsClear = ref([])
|
||||
const qualityOptions = ref([])
|
||||
@@ -297,15 +299,23 @@ function clickQualityIte(item) {
|
||||
if (workOrder === null || workOrder === '') {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '工单提示'
|
||||
dialog.title = '工单未选择提示'
|
||||
dialog.text = '请先扫描工单!'
|
||||
return
|
||||
}
|
||||
if (checkName.value === null || checkName.value === '') {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '检查员未填写提示'
|
||||
dialog.text = '请先扫描检查员!'
|
||||
return
|
||||
}
|
||||
const newNum = getClickItemNum(item) + 1
|
||||
const params = {
|
||||
WorkOrder: formData.value.workorder,
|
||||
DefectCode: item.code,
|
||||
num: item.num ?? 0,
|
||||
checkName: checkName.value
|
||||
}
|
||||
FQCApi.AddDefectNum(params).then((res) => {
|
||||
if (res.code != 200) {
|
||||
@@ -329,6 +339,13 @@ function showUpdateDialog(item) {
|
||||
dialog.text = '请先扫描或选择工单!'
|
||||
return
|
||||
}
|
||||
if (checkName.value === null || checkName.value === '') {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '检查员未填写提示'
|
||||
dialog.text = '请先扫描检查员!'
|
||||
return
|
||||
}
|
||||
updateName.value = item.name
|
||||
updateCode.value = item.code
|
||||
updateNum.value = item.num ?? 0
|
||||
@@ -347,10 +364,18 @@ function updateDefectNum() {
|
||||
dialog.text = '请先扫描或选择工单!'
|
||||
return
|
||||
}
|
||||
if (checkName.value === null || checkName.value === '') {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '检查员未填写提示'
|
||||
dialog.text = '请先扫描检查员!'
|
||||
return
|
||||
}
|
||||
const params = {
|
||||
WorkOrder: formData.value.workorder,
|
||||
DefectCode: updateCode.value,
|
||||
num: updateNum.value,
|
||||
checkName: checkName.value
|
||||
}
|
||||
FQCApi.UpdateDefectNum(params).then((res) => {
|
||||
if (res.code === 200) {
|
||||
|
||||
Reference in New Issue
Block a user