Commit a954dfc7 authored by YLKCNK's avatar YLKCNK

出库信息验证、跳转保留数据

parent acf0aa86
......@@ -52,7 +52,7 @@ export function importExcel(data) {
})
}
// 下载文件
// 下载错误文件
export function uploadFalseFile(params) {
params = Qs.stringify(params)
return request({
......
......@@ -4,28 +4,44 @@
<span style="color:#333;font-weight: 700;font-size: 16px;">设备入库</span>
</div>
<div class="form">
<el-form ref="form" :model="form" label-width="80px">
<el-form ref="form" :model="form" :rules="rule" label-width="80px">
<el-row :gutter="40" style="padding-left: 8.6%;">
<el-col :span="12">
<el-form-item label="pn:" prop="pn">
<el-input ref="input1" v-model="form.pn" placeholder="请输入pn" class="input" :maxlength="100"
@keyup.enter.native="handelTab(1,$event)"/>
<el-input
ref="input1"
v-model="form.pn"
placeholder="请输入pn"
class="input"
:maxlength="100"
@keyup.enter.native="handelTab(1,$event)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="lot:" style="flex-basis: 50%;" prop="lot">
<el-input ref="input2" v-model="form.lot" placeholder="请输入lot"
class="input" :maxlength="100"
@keyup.enter.native="handelTab(2,$event)"/>
<el-input
ref="input2"
v-model="form.lot"
placeholder="请输入lot"
class="input"
:maxlength="100"
@keyup.enter.native="handelTab(2,$event)"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="40" style="padding-left: 8.6%;">
<el-col :span="12">
<el-form-item label="厚度:" style="flex-basis: 50%;" prop="phd">
<el-input ref="input3" v-model="form.phd" placeholder="请输入厚度"
class="input" :maxlength="10"
@keyup.enter.native="handelTab(3,$event)"/>
<el-input
ref="input3"
v-model="form.phd"
placeholder="请输入厚度"
class="input"
:maxlength="10"
@keyup.enter.native="handelTab(3,$event)"
/>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -38,7 +54,7 @@
</div>
<div class="table">
<el-table border :data="tableData" :gutter="40">
<el-table-column type="index" label="序号" width="50px"/>
<el-table-column type="index" label="序号" width="50px" />
<el-table-column label="pn" prop="businessId">
<template slot-scope="scope">
{{ scope.row.pn || '-' }}
......@@ -79,14 +95,22 @@
<el-row style="padding-left: 8.6%; padding-top: 1.5%">
<el-col :span="12">
<el-form-item label="位置:" style="flex-basis: 50%;" prop="plocation">
<el-input v-model="form.plocation" placeholder="请输入位置" :style="{ width: '400px', height: '30px' }"
:maxlength="100"/>
<el-input
v-model="form.plocation"
placeholder="请输入位置"
:style="{ width: '400px', height: '30px' }"
:maxlength="100"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="寿命:" style="flex-basis: 50%;" prop="psm">
<el-input v-model="form.psm" placeholder="请输入寿命" :style="{ width: '400px', height: '30px' }"
:maxlength="9"/>
<el-input
v-model="form.psm"
placeholder="请输入寿命"
:style="{ width: '400px', height: '30px' }"
:maxlength="9"
/>
</el-form-item>
</el-col>
</el-row>
......@@ -106,7 +130,7 @@
</div>
</template>
<script>
import {addBatch} from "@/api/magnagement";
import { addBatch } from '@/api/magnagement'
export default {
data() {
......@@ -121,80 +145,121 @@ export default {
pstatus: 0,
psm: undefined
},
tableData: []
rule: {
pn: [
{ required: true, message: '请输入pn', trigger: 'blur' },
{ pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change' },
{ max: 100, message: '输入长度不能超过100个字符', trigger: 'change' }
],
lot: [
{ required: true, message: '请输入lot', trigger: 'blur' },
{ pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change' },
{ max: 100, message: '输入长度不能超过100个字符', trigger: 'change' }
],
plocation: [
{ required: true, message: '请输入位置', trigger: 'blur' },
{ pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change' },
{ max: 100, message: '输入长度不能超过100个字符', trigger: 'change' }
],
psm: [
{ required: true, message: '请输入寿命', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '请输入正整数', trigger: 'blur' }
]
},
tableData: [],
/* 判断路由器跳转前是否有数据*/
existForm: false,
existTableData: false
}
},
// 路由跳转储存页面数据
beforeRouteLeave(to, from, next) {
sessionStorage.setItem('inComeForm', JSON.stringify(this.form))
sessionStorage.setItem('inComeTableData', JSON.stringify(this.tableData))
next()
},
created() {
sessionStorage.getItem('inComeForm') ? this.existForm = true : this.existForm = false
sessionStorage.getItem('inComeTableData') ? this.existTableData = true : this.existTableData = false
if (this.existForm) {
this.form = JSON.parse(sessionStorage.getItem('inComeForm'))
}
if (this.existTableData) {
this.tableData = JSON.parse(sessionStorage.getItem('inComeTableData'))
}
},
methods: {
handleConfirm() {
this.flag = false
const {pn, lot, phd} = this.form
if(!pn&&!lot){
this.$message.warning('pn或lot不能为空');
return;
const { pn, lot } = this.form
if (!pn && !lot) {
this.$message.warning('pn或lot不能为空')
return
}
if(this.form.index !==undefined){
if (this.form.index !== undefined) {
this.editRow()
}else{
} else {
this.addRow()
}
},
addRow(){
console.log("添加")
const { pn, lot, phd } = this.form;
addRow() {
console.log('添加')
const { pn, lot, phd } = this.form
// 重复的下标
const duplicateIndex = this.tableData.findIndex(item => item.pn === pn);
const duplicateIndex = this.tableData.findIndex(item => item.pn === pn)
if (duplicateIndex !== -1) {
this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`);
this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`)
} else if (phd % 1 !== 0) {
this.$message.warning('厚度要为整数');
this.$message.warning('厚度要为整数')
} else {
this.tableData.push({ pn, lot, phd });
this.resetForm();
this.tableData.push({ pn, lot, phd })
this.resetForm()
}
},
editRow(){
console.log("编辑")
const { pn, lot, phd, index } = this.form;
const duplicateIndex = this.tableData.findIndex((item, i) => i !== index && item.pn === pn);
editRow() {
console.log('编辑')
const { pn, lot, phd, index } = this.form
const duplicateIndex = this.tableData.findIndex((item, i) => i !== index && item.pn === pn)
if (duplicateIndex !== -1) {
this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`);
this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`)
} else if (phd % 1 !== 0) {
this.$message.warning('厚度要为整数');
this.$message.warning('厚度要为整数')
} else {
this.updateTableRow(index, pn, lot, phd);
this.updateTableRow(index, pn, lot, phd)
}
this.resetForm();
this.resetForm()
},
updateTableRow(index, pn, lot, phd) {
this.tableData[index].pn = pn;
this.tableData[index].lot = lot;
this.tableData[index].phd = phd;
this.tableData[index].pn = pn
this.tableData[index].lot = lot
this.tableData[index].phd = phd
},
resetForm() {
this.form.pn = '';
this.form.lot = '';
this.form.phd = '';
this.form.index = undefined;
this.form.pn = ''
this.form.lot = ''
this.form.phd = ''
this.form.index = undefined
},
handleUpdate(row){
handleUpdate(row) {
// 将点击的行数据填充到表单中
this.form = { ...row };
this.tableData.forEach((item,index)=>{
if(item.pn===row.pn){
this.form.index=index;
this.form = { ...row }
this.tableData.forEach((item, index) => {
if (item.pn === row.pn) {
this.form.index = index
}
})
},
handleDelete(row){
this.tableData=this.tableData.filter(item=>item !== row)
handleDelete(row) {
this.tableData = this.tableData.filter(item => item !== row)
},
submitForm(){
if(!this.form.plocation){
this.$message.warning('位置不能为空!');
submitForm() {
if (!this.form.plocation) {
this.$message.warning('位置不能为空!')
}
if(this.tableData.length===0){
this.$message.warning('表格数据不能为空!');
if (this.tableData.length === 0) {
this.$message.warning('表格数据不能为空!')
}
this.tableData.forEach(item => {
item.psm = this.form.psm
......@@ -210,7 +275,7 @@ export default {
}
})
},
resetQuery(){
resetQuery() {
this.form = {
pn: '',
lot: '',
......
......@@ -840,6 +840,7 @@ export default {
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
window.URL.revokeObjectURL(href)// 释放掉blob对象
// this.download(response.msg);
})
})
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment