Commit e79f203f authored by YLKCNK's avatar YLKCNK

Merge remote-tracking branch 'origin/project2024-3-5' into project2024-3-5

# Conflicts:
#	src/views/equipment/inventoryManagement/index.vue
parents c0a7d946 cf526c0c
...@@ -108,6 +108,7 @@ export function add(data) { ...@@ -108,6 +108,7 @@ export function add(data) {
} }
}) })
} }
// 批量添加
export function addBatch(data) { export function addBatch(data) {
return request({ return request({
url: '/wbwarehouse-test/add-test', url: '/wbwarehouse-test/add-test',
...@@ -118,6 +119,13 @@ export function addBatch(data) { ...@@ -118,6 +119,13 @@ export function addBatch(data) {
} }
}) })
} }
//根据id删除库存
export function deleteWareHouse(id) {
return request({
url: '/wbwarehouse-test/deleteWareHouse/' + id,
method: 'delete'
})
}
// 再利用 // 再利用
export function recycle(data) { export function recycle(data) {
return request({ return request({
......
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
<span>{{ scope.row.updateDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span> <span>{{ scope.row.updateDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" width="110px"> <el-table-column label="操作" class-name="small-padding fixed-width" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="mini" @click="handleDetail(scope.row)"> <el-button type="text" size="mini" @click="handleDetail(scope.row)">
详情 详情
...@@ -102,6 +102,13 @@ ...@@ -102,6 +102,13 @@
type="text" type="text"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
>修改</el-button> >修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -246,7 +253,7 @@ import { ...@@ -246,7 +253,7 @@ import {
exportWarehouse, exportWarehouse,
importExcel, importExcel,
uploadFalseFile, uploadFalseFile,
importTemplate importTemplate, deleteWareHouse
} from '@/api/magnagement' } from '@/api/magnagement'
import { resetForm } from '@/utils/common' import { resetForm } from '@/utils/common'
...@@ -476,7 +483,22 @@ export default { ...@@ -476,7 +483,22 @@ export default {
} }
}) })
}, },
/* 弹窗*/ /** 删除按钮操作 */
handleDelete(row) {
const id = row.businessId
this.$confirm('是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(res => {
return deleteWareHouse(id).then(res => {
if (res.code === 200) {
this.$message.success('操作成功')
this.getList()
}
})
})
},
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
......
...@@ -489,6 +489,7 @@ export default { ...@@ -489,6 +489,7 @@ export default {
/** TODO:查询工序库的出入库记录列表 */ /** TODO:查询工序库的出入库记录列表 */
getList() { getList() {
this.loading = true this.loading = true
console.log(this.queryParams)
listLog(this.queryParams).then(response => { listLog(this.queryParams).then(response => {
this.inventoryRecordList = response.rows this.inventoryRecordList = response.rows
this.total = response.total this.total = response.total
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="title"> <div class="title">
<span style="color:#333;font-weight: 700;font-size: 16px;">设备入库</span> <span>设备入库</span>
</div> </div>
<div class="form"> <div class="form">
<el-form ref="form" :model="form" :rules="rule" label-width="80px"> <el-form ref="form" :model="form" :rules="rule" label-width="80px">
<el-row :gutter="40" style="padding-left: 8.6%;"> <el-row :gutter="40" class="el-row">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="pn:" prop="pn"> <el-form-item label="pn:" prop="pn">
<el-input <el-input
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="lot:" style="flex-basis: 50%;" prop="lot"> <el-form-item label="lot:" prop="lot">
<el-input <el-input
ref="input2" ref="input2"
v-model="form.lot" v-model="form.lot"
...@@ -31,9 +31,9 @@ ...@@ -31,9 +31,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" style="padding-left: 8.6%;"> <el-row :gutter="40" class="el-row">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="厚度:" style="flex-basis: 50%;" prop="phd"> <el-form-item label="厚度:" prop="phd">
<el-input <el-input
ref="input3" ref="input3"
v-model="form.phd" v-model="form.phd"
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item style="flex-basis: 50%;"> <el-form-item>
<el-button ref="input4" type="primary" @click="handleConfirm">确认</el-button> <el-button ref="input4" type="primary" @click="handleConfirm">确认</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</div> </div>
<div class="table"> <div class="table">
<el-table border :data="tableData" :gutter="40"> <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"> <el-table-column label="pn" prop="businessId">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.pn || '-' }} {{ scope.row.pn || '-' }}
...@@ -92,23 +92,23 @@ ...@@ -92,23 +92,23 @@
</div> </div>
<div class="form"> <div class="form">
<el-form ref="form" :model="form" :rules="rule" label-width="80px"> <el-form ref="form" :model="form" :rules="rule" label-width="80px">
<el-row style="padding-left: 8.6%; padding-top: 1.5%"> <el-row :gutter="40" class="el-row pad-top">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="位置:" style="flex-basis: 50%;" prop="plocation"> <el-form-item label="位置:" prop="plocation">
<el-input <el-input
v-model="form.plocation" v-model="form.plocation"
placeholder="请输入位置" placeholder="请输入位置"
:style="{ width: '400px', height: '30px' }" class="input"
:maxlength="100" :maxlength="100"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="寿命:" style="flex-basis: 50%;" prop="psm"> <el-form-item label="寿命:" prop="psm">
<el-input <el-input
v-model="form.psm" v-model="form.psm"
placeholder="请输入寿命" placeholder="请输入寿命"
:style="{ width: '400px', height: '30px' }" class="input"
:maxlength="9" :maxlength="9"
/> />
</el-form-item> </el-form-item>
...@@ -116,9 +116,9 @@ ...@@ -116,9 +116,9 @@
</el-row> </el-row>
</el-form> </el-form>
<el-form label-width="80px"> <el-form label-width="80px">
<el-row style="padding-left: 8.6%; padding-top: 1%"> <el-row class="el-row pad-top">
<el-col :span="12"> <el-col :span="12">
<el-form-item style="flex-basis: 50%;"> <el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button> <el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetQuery">重置</el-button> <el-button @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
</div> </div>
</template> </template>
<script> <script>
import { addBatch } from '@/api/magnagement' import {addBatch} from '@/api/magnagement'
export default { export default {
data() { data() {
...@@ -147,23 +147,23 @@ export default { ...@@ -147,23 +147,23 @@ export default {
}, },
rule: { rule: {
pn: [ pn: [
{ required: true, message: '请输入pn', trigger: 'blur' }, {required: true, message: '请输入pn', trigger: 'blur'},
{ pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change' }, {pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change'},
{ max: 100, message: '输入长度不能超过100个字符', trigger: 'change' } {max: 100, message: '输入长度不能超过100个字符', trigger: 'change'}
], ],
lot: [ lot: [
{ required: true, message: '请输入lot', trigger: 'blur' }, {required: true, message: '请输入lot', trigger: 'blur'},
{ pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change' }, {pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change'},
{ max: 100, message: '输入长度不能超过100个字符', trigger: 'change' } {max: 100, message: '输入长度不能超过100个字符', trigger: 'change'}
], ],
plocation: [ plocation: [
{ required: true, message: '请输入位置', trigger: 'blur' }, {required: true, message: '请输入位置', trigger: 'blur'},
{ pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change' }, {pattern: /^[^[\uD800-\uDFFF]+$/, message: '不能包含表情符号', trigger: 'change'},
{ max: 100, message: '输入长度不能超过100个字符', trigger: 'change' } {max: 100, message: '输入长度不能超过100个字符', trigger: 'change'}
], ],
psm: [ psm: [
{ required: true, message: '请输入寿命', trigger: 'blur' }, {required: true, message: '请输入寿命', trigger: 'blur'},
{ pattern: /^[1-9]\d*$/, message: '请输入正整数', trigger: 'blur' } {pattern: /^[1-9]\d*$/, message: '请输入正整数', trigger: 'blur'}
] ]
}, },
tableData: [], tableData: [],
...@@ -178,6 +178,11 @@ export default { ...@@ -178,6 +178,11 @@ export default {
sessionStorage.setItem('inComeTableData', JSON.stringify(this.tableData)) sessionStorage.setItem('inComeTableData', JSON.stringify(this.tableData))
next() next()
}, },
mounted() {
this.$nextTick(() => {
this.$refs.input1.$refs.input.focus()
})
},
created() { created() {
sessionStorage.getItem('inComeForm') ? this.existForm = true : this.existForm = false sessionStorage.getItem('inComeForm') ? this.existForm = true : this.existForm = false
sessionStorage.getItem('inComeTableData') ? this.existTableData = true : this.existTableData = false sessionStorage.getItem('inComeTableData') ? this.existTableData = true : this.existTableData = false
...@@ -187,40 +192,47 @@ export default { ...@@ -187,40 +192,47 @@ export default {
if (this.existTableData) { if (this.existTableData) {
this.tableData = JSON.parse(sessionStorage.getItem('inComeTableData')) this.tableData = JSON.parse(sessionStorage.getItem('inComeTableData'))
} }
}, },
methods: { methods: {
//点击提交,将库存信息加入列表
handleConfirm() { handleConfirm() {
this.flag = false this.flag = false
const { pn, lot } = this.form const {pn, lot} = this.form
if (!pn && !lot) { if (!pn && !lot) {
this.$message.warning('pn或lot不能为空') this.$message.warning('pn或lot不能为空')
return return
} }
//判断表单的 index 属性是否存在(是否为编辑模式)
if (this.form.index !== undefined) { if (this.form.index !== undefined) {
// 若存在 index,则调用 editRow 方法进行数据更新操作
this.editRow() this.editRow()
} else { } else {
// 若不存在 index,则调用 addRow 方法进行数据新增操作
this.addRow() this.addRow()
} }
}, },
//添加库存
addRow() { addRow() {
console.log('添加') const {pn, lot, phd} = this.form
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) { if (duplicateIndex !== -1) {
//有重复下标
this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`) this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`)
} else if (phd % 1 !== 0) { } else if (phd % 1 !== 0) {
this.$message.warning('厚度要为整数') this.$message.warning('厚度要为整数')
} else { } else {
this.tableData.push({ pn, lot, phd }) this.tableData.push({pn, lot, phd})
this.resetForm() this.resetForm()
} }
}, },
// 编辑库存信息
editRow() { editRow() {
console.log('编辑') const {pn, lot, phd, index} = this.form
const { pn, lot, phd, index } = this.form // 获取重复的下标
const duplicateIndex = this.tableData.findIndex((item, i) => i !== index && item.pn === pn) const duplicateIndex = this.tableData.findIndex((item, i) => i !== index && item.pn === pn)
if (duplicateIndex !== -1) { if (duplicateIndex !== -1) {
this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`) this.$message.warning(`与第 ${duplicateIndex + 1} 条pn值重复`)
...@@ -244,7 +256,7 @@ export default { ...@@ -244,7 +256,7 @@ export default {
}, },
handleUpdate(row) { handleUpdate(row) {
// 将点击的行数据填充到表单中 // 将点击的行数据填充到表单中
this.form = { ...row } this.form = {...row}
this.tableData.forEach((item, index) => { this.tableData.forEach((item, index) => {
if (item.pn === row.pn) { if (item.pn === row.pn) {
this.form.index = index this.form.index = index
...@@ -255,25 +267,34 @@ export default { ...@@ -255,25 +267,34 @@ export default {
this.tableData = this.tableData.filter(item => item !== row) this.tableData = this.tableData.filter(item => item !== row)
}, },
submitForm() { submitForm() {
if (!this.form.plocation) {
this.$message.warning('位置不能为空!')
}
if (this.tableData.length === 0) { if (this.tableData.length === 0) {
this.$message.warning('表格数据不能为空!') this.$message.warning('请先确定表格数据')
return
} }
this.tableData.forEach(item => { this.$refs.form.validate((valid) => {
item.psm = this.form.psm if (valid) {
item.plocation = this.form.plocation this.tableData.forEach(item => {
}) item.psm = this.form.psm
console.log(this.tableData) item.plocation = this.form.plocation
addBatch(this.tableData).then(res => { })
if (res.code === 200) { this.$confirm('是否确认提交库存信息?', '提示', {
this.$message.success('添加成功') confirmButtonText: '确定',
this.tableData = [] cancelButtonText: '取消',
this.form.plocation = '' type: 'warning'
this.form.psm = undefined }).then(function() {
return addBatch(this.tableData).then(res => {
if (res.code === 200) {
this.$message.success('添加成功')
this.tableData = []
this.form.plocation = ''
this.form.psm = undefined
}
})
})
} }
}) })
}, },
resetQuery() { resetQuery() {
this.form = { this.form = {
...@@ -303,6 +324,17 @@ export default { ...@@ -303,6 +324,17 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
span {
color: #333;
font-weight: 700;
font-size: 16px;
}
}
.el-row{
padding-left: 8.6%;
}
.pad-top{
padding-top: 1.5%
} }
.form { .form {
...@@ -313,7 +345,7 @@ export default { ...@@ -313,7 +345,7 @@ export default {
} }
.table { .table {
width: 91%; width: 85.7%;
margin-left: 92px; margin-left: 92px;
padding-left: 8.6%; padding-left: 8.6%;
} }
......
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