标签追溯改动
This commit is contained in:
320
src/views/productManagement/printLabelDataBackV1.vue
Normal file
320
src/views/productManagement/printLabelDataBackV1.vue
Normal file
@@ -0,0 +1,320 @@
|
||||
<template>
|
||||
<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>
|
||||
<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> -->
|
||||
<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>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间">
|
||||
<el-date-picker :style="{ width: 180 }" v-model="queryParams.endTime" type="datetime" placeholder="选择日期时间" align="right" :picker-options="pickerOptions">
|
||||
</el-date-picker>
|
||||
</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>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 工具区域 -->
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<!-- 去掉新增按钮 -->
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 去掉修改按钮 -->
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 去掉删除按钮 -->
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<!-- 数据区域 -->
|
||||
<el-table :data="dataList" v-loading="loading" ref="table" border highlight-current-row @sort-change="sortChange">
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<!-- <el-table-column prop="id" label="主键" align="center" /> -->
|
||||
<el-table-column prop="module" label="模块" align="center" />
|
||||
<!-- <el-table-column prop="searchType" label="标签搜索类型" align="center" /> -->
|
||||
<!-- <el-table-column prop="machine" label="设备名称" align="center" /> -->
|
||||
<el-table-column prop="workOrder" label="工单号" align="center" min-width="120" />
|
||||
<el-table-column prop="partNumber" label="零件号" align="center" min-width="120" />
|
||||
<el-table-column prop="description" label="零件描述" align="center" />
|
||||
<el-table-column prop="packageLabel" label="箱条码" align="center" min-width="140" />
|
||||
<el-table-column prop="innerLabel" label="内标签条码" align="center" min-width="140" />
|
||||
<!-- <el-table-column prop="fullMsg" label="是否满箱标签" align="center" /> -->
|
||||
<!-- <el-table-column prop="team" label="班组" align="center" /> -->
|
||||
<!-- <el-table-column prop="siteNo" label="站点" align="center" /> -->
|
||||
<!-- <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">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="info" icon="el-icon-info" title="详情" @click="showDetail(scope.row)"></el-button>
|
||||
<!-- 去掉删除按钮 -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 详情弹窗 -->
|
||||
<el-dialog width="80%" append-to-body :title="detailTitle" :lock-scroll="false" :visible.sync="detailVisible">
|
||||
<!-- 新增筛选区域 -->
|
||||
<el-form :inline="true" :model="detailFilterParams" class="mb8">
|
||||
<el-form-item label="设备号">
|
||||
<el-select v-model="detailFilterParams.machine" placeholder="请选择设备号">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="0" value="0"></el-option>
|
||||
<el-option label="1" value="1"></el-option>
|
||||
<el-option label="2" value="2"></el-option>
|
||||
<el-option label="3" value="3"></el-option>
|
||||
<el-option label="4" value="4"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="满箱">
|
||||
<el-select v-model="detailFilterParams.fillType">
|
||||
<el-option label="全部" :value="-1"></el-option>
|
||||
<el-option label="满箱" :value="1"></el-option>
|
||||
<el-option label="零头箱" :value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="流水号(箱条码)">
|
||||
<el-input clearable v-model.trim="detailFilterParams.packingCode" placeholder="请输入流水号(箱条码)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getDetailList">筛选</el-button>
|
||||
<el-button @click="resetDetailFilter">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table :data="detailDataList" v-loading="detailLoading" border highlight-current-row>
|
||||
<!-- <el-table-column prop="id" label="主键" align="center" /> -->
|
||||
<el-table-column prop="machine" label="设备名称" align="center" />
|
||||
<el-table-column prop="workOrder" label="工单号" align="center" min-width="120" />
|
||||
<el-table-column prop="partNumber" label="零件号" align="center" min-width="120" />
|
||||
<el-table-column prop="description" label="零件描述" align="center" />
|
||||
<el-table-column prop="packageLabel" label="箱条码" align="center" min-width="140" />
|
||||
<el-table-column prop="innerLabel" label="内标签条码" align="center" min-width="140" />
|
||||
<el-table-column prop="fullMsg" label="是否满箱标签" align="center" />
|
||||
<el-table-column prop="team" label="班组" align="center" />
|
||||
<el-table-column prop="siteNo" label="站点" align="center" />
|
||||
<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>
|
||||
<pagination class="mt10" background :total="detailTotal" :page.sync="detailQueryParams.pageNum" :limit.sync="detailQueryParams.pageSize" @pagination="getDetailList" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="detailVisible = false">关闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { queryPackingDataBackList, queryPackingDataBackRecord } from '@/api/productManagement/proPackingDataBack.js'
|
||||
|
||||
export default {
|
||||
name: 'printlabel',
|
||||
data() {
|
||||
return {
|
||||
labelWidth: '100px',
|
||||
pickerOptions: {
|
||||
shortcuts: [
|
||||
{
|
||||
text: '今天',
|
||||
onClick(picker) {
|
||||
picker.$emit('pick', new Date())
|
||||
},
|
||||
},
|
||||
{
|
||||
text: '昨天',
|
||||
onClick(picker) {
|
||||
const date = new Date()
|
||||
date.setTime(date.getTime() - 3600 * 1000 * 24)
|
||||
picker.$emit('pick', date)
|
||||
},
|
||||
},
|
||||
{
|
||||
text: '一周前',
|
||||
onClick(picker) {
|
||||
const date = new Date()
|
||||
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
|
||||
picker.$emit('pick', date)
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
formLabelWidth: '100px',
|
||||
// 选中id数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
workOrder: '',
|
||||
partNumber: '',
|
||||
packingCode: '',
|
||||
label: '',
|
||||
machine: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
sort: undefined,
|
||||
sortType: undefined,
|
||||
},
|
||||
// 数据列表
|
||||
dataList: [],
|
||||
// 总记录数
|
||||
total: 0,
|
||||
// 详情弹窗相关
|
||||
detailVisible: false,
|
||||
detailTitle: '详情',
|
||||
detailDataList: [],
|
||||
detailTotal: 0,
|
||||
detailLoading: false,
|
||||
detailQueryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 30,
|
||||
searchType: 0,
|
||||
workOrder: '',
|
||||
partNumber: '',
|
||||
machine: '',
|
||||
fillType: -1,
|
||||
startTime: null,
|
||||
endTime: null,
|
||||
},
|
||||
// 详情弹窗筛选参数
|
||||
detailFilterParams: {
|
||||
machine: '',
|
||||
packingCode: '',
|
||||
fillType: -1,
|
||||
},
|
||||
// 筛选后的详情数据列表
|
||||
filteredDetailDataList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 列表数据查询
|
||||
//this.getList()
|
||||
},
|
||||
methods: {
|
||||
// 查询数据
|
||||
getList() {
|
||||
this.loading = true
|
||||
queryPackingDataBackList(this.queryParams)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.dataList = res.data
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 自定义排序
|
||||
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.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') {
|
||||
obj[key] = ''
|
||||
} else if (typeof obj[key] === 'number') {
|
||||
obj[key] = 0
|
||||
} else if (obj[key] instanceof Date) {
|
||||
obj[key] = null
|
||||
}
|
||||
}
|
||||
},
|
||||
// 显示详情弹窗
|
||||
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.resetDetailFilter()
|
||||
this.getDetailList()
|
||||
this.detailVisible = true
|
||||
},
|
||||
// 获取详情列表数据
|
||||
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)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.detailDataList = res.data.result
|
||||
this.detailTotal = res.data.totalNum
|
||||
}
|
||||
this.detailLoading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.detailLoading = false
|
||||
})
|
||||
},
|
||||
// 重置详情筛选条件
|
||||
resetDetailFilter() {
|
||||
this.detailFilterParams = {
|
||||
machine: '',
|
||||
packingCode: '',
|
||||
}
|
||||
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>
|
||||
Reference in New Issue
Block a user