优化追溯查询代码

This commit is contained in:
2025-07-05 17:33:40 +08:00
parent fbd405f8a9
commit d84c6b4f29

View File

@@ -2,21 +2,18 @@
<div class="app-container">
<!-- 搜索表单 -->
<el-form :model="queryParams" size="small" label-position="left" inline ref="queryForm" :label-width="labelWidth" v-show="showSearch" @submit.native.prevent>
<el-form-item label="零件号">
<el-input clearable v-model.trim="queryParams.partNumber"></el-input>
</el-form-item>
<div>
<el-form-item label="工单号">
<el-input clearable v-model.trim="queryParams.workOrder"></el-input>
</el-form-item>
<el-form-item label="产品条码">
<el-input clearable v-model.trim="queryParams.label"></el-input>
</el-form-item>
<!-- <el-form-item label="箱条码">
<el-input clearable v-model.trim="queryParams.packingCode"></el-input>
</el-form-item> -->
<!-- <el-form-item label="设备编号">
<el-input clearable v-model.trim="queryParams.machine"></el-input>
</el-form-item> -->
</div>
<div>
<el-form-item label="零件号">
<el-input clearable v-model.trim="queryParams.partNumber"></el-input>
</el-form-item>
<el-form-item label="开始时间">
<el-date-picker :style="{ width: 180 }" v-model="queryParams.startTime" type="datetime" placeholder="选择日期时间" align="right" :picker-options="pickerOptions">
</el-date-picker>
@@ -25,6 +22,14 @@
<el-date-picker :style="{ width: 180 }" v-model="queryParams.endTime" type="datetime" placeholder="选择日期时间" align="right" :picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</div>
<!-- <el-form-item label="箱条码">
<el-input clearable v-model.trim="queryParams.packingCode"></el-input>
</el-form-item> -->
<!-- <el-form-item label="设备编号">
<el-input clearable v-model.trim="queryParams.machine"></el-input>
</el-form-item> -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -62,10 +67,9 @@
<!-- <el-table-column prop="comNo" label="串口" align="center" /> -->
<el-table-column prop="remark" label="备注" align="center" />
<el-table-column prop="createTime" label="创建时间" align="center" min-width="160" />
<el-table-column label="操作" fixed="right" align="center" width="80">
<el-table-column label="操作" fixed="right" align="center" width="120">
<template slot-scope="scope">
<el-button size="mini" type="info" icon="el-icon-info" title="详情" @click="showDetail(scope.row)"></el-button>
<!-- 去掉删除按钮 -->
<el-button size="mini" type="info" icon="el-icon-info" @click="showDetail(scope.row)">标签详情</el-button>
</template>
</el-table-column>
</el-table>
@@ -175,8 +179,8 @@ export default {
packingCode: '',
label: '',
machine: '',
startTime: '',
endTime: '',
startTime: null,
endTime: null,
sort: undefined,
sortType: undefined,
},
@@ -216,42 +220,54 @@ export default {
//this.getList()
},
methods: {
// 格式化日期
formatDate(date) {
return date ? this.$dayjs(date).format('YYYY-MM-DD HH:mm:ss') : null
},
// 统一错误处理
handleError(loadingFlag) {
this[loadingFlag] = false
},
// 查询数据
getList() {
this.loading = true
queryPackingDataBackList(this.queryParams)
const params = { ...this.queryParams }
console.log(params)
params.startTime = this.formatDate(params.startTime)
params.endTime = this.formatDate(params.endTime)
queryPackingDataBackList(params)
.then((res) => {
if (res.code === 200) {
this.dataList = res.data
}
this.loading = false
})
.catch(() => {
this.loading = false
})
.catch(() => this.handleError('loading'))
},
// 自定义排序
sortChange(column) {
if (column.prop === null || column.order === null) {
this.queryParams.sort = undefined
this.queryParams.sortType = undefined
} else {
this.queryParams.sort = column.prop
this.queryParams.sortType = column.order
}
this.queryParams.sort = column.prop && column.order ? column.prop : undefined
this.queryParams.sortType = column.order || undefined
this.handleQuery()
},
/** 搜索按钮操作 */
handleQuery() {
this.getList()
},
// 重置查询操作
resetQuery() {
this.resetProperties(this.queryParams)
this.resetForm('queryForm')
this.handleQuery()
},
resetProperties(obj) {
for (let key in obj) {
if (typeof obj[key] === 'string') {
@@ -263,28 +279,40 @@ export default {
}
}
},
// 显示详情弹窗
showDetail(row) {
this.detailQueryParams.searchType = row.searchType
this.detailQueryParams.workOrder = row.workOrder
this.detailQueryParams.partNumber = row.partNumber
this.detailQueryParams.machine = row.machine
this.detailQueryParams.startTime = this.queryParams.startTime
this.detailQueryParams.endTime = this.queryParams.endTime
this.detailQueryParams.pageNum = 1
this.detailQueryParams = {
pageNum: 1,
pageSize: 30,
searchType: row.searchType,
workOrder: row.workOrder,
partNumber: row.partNumber,
machine: '',
fillType: -1,
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
}
// 重置筛选条件
this.resetDetailFilter()
this.getDetailList()
this.detailVisible = true
},
// 合并筛选参数
mergeDetailParams() {
return {
...this.detailQueryParams,
machine: this.detailFilterParams.machine,
packingCode: this.detailFilterParams.packingCode,
fillType: this.detailFilterParams.fillType,
}
},
// 获取详情列表数据
getDetailList() {
this.detailLoading = true
// 将筛选参数合并到详情查询参数中
this.detailQueryParams.machine = this.detailFilterParams.machine
this.detailQueryParams.packingCode = this.detailFilterParams.packingCode
this.detailQueryParams.fillType = this.detailFilterParams.fillType
queryPackingDataBackRecord(this.detailQueryParams)
const params = this.mergeDetailParams()
queryPackingDataBackRecord(params)
.then((res) => {
if (res.code === 200) {
this.detailDataList = res.data.result
@@ -292,29 +320,18 @@ export default {
}
this.detailLoading = false
})
.catch(() => {
this.detailLoading = false
})
.catch(() => this.handleError('detailLoading'))
},
// 重置详情筛选条件
resetDetailFilter() {
this.detailFilterParams = {
machine: '',
packingCode: '',
fillType: -1,
}
this.getDetailList()
},
// 移除前端筛选方法
// filterDetailData() {
// const { machine, fullMsg, serialNumber } = this.detailFilterParams
// this.filteredDetailDataList = this.detailDataList.filter((item) => {
// const machineMatch = machine === '' || item.machine === machine
// const fullMsgMatch = fullMsg === '' || item.fullMsg === fullMsg
// // 新增流水号匹配逻辑
// const serialNumberMatch = !serialNumber || (item.packageLabel && item.packageLabel.slice(-5).includes(serialNumber))
// return machineMatch && fullMsgMatch && serialNumberMatch
// })
// },
},
}
</script>