vue项目的增删改查
增加
data(){
return {
addForm: {
inWarehouseNumber:this.$route.query.inWarehouseNumber,
contractNumber:'',
rawSerial:'',
rawName:'',
rawSpecification:'',
rawUnit:'',
rawShouldAccount:'',
rawArrivedAccount:'',
warehouseName:'',
contractDetailPrice:'',
inWarehouseDetailBatch:'',
inWarehouseDetailId:''
},
}
}
methods:{
//新增取消按钮
cancelBtn(){
this.addFormVisible = false;
this.$refs.addForm.resetFields();
},
//新增(新增弹出框中的确认按钮)
addSureBtn(){
this.$axios.post(this.$api.InventoryManagement.addCaigouDetailTableData,this.addForm).then((res)=>{
if (res.data.code == 200){
this.getCaigouDetailTableData();
this.$nextTick(()=>{
this.$refs.addForm.resetFields();
});
this.addFormVisible = false;
this.$message({
message:res.data.msg,
type:'success'
})
}else {
this.$message.error('新增失败!');
}
})
},
}
修改
data(){
return {
//修改表单
editFormVisible: false,
editForm: {
inWarehouseDetailId:'',
contractNumber:'',
rawSerial:'',
rawName:'',
rawSpecification:'',
rawUnit:'',
rawShouldAccount:'',
rawArrivedAccount:'',
warehouseName:'',
contractDetailPrice:'',
inWarehouseNumber:'',
inWarehouseDetailBatch:''
},
}
}
methods:{
//修改(将表格行的数据获取到修改表单中)
editBtn(obj){
this.editFormVisible = true;
this.editForm.inWarehouseDetailId = obj.inWarehouseDetailId;
this.editForm.contractNumber = obj.contractNumber;
this.editForm.rawSerial = obj.rawSerial;
this.editForm.rawName = obj.rawName;
this.editForm.rawSpecification = obj.rawSpecification;
this.editForm.rawUnit = obj.rawUnit;
this.editForm.rawShouldAccount = obj.rawShouldAccount;
this.editForm.rawArrivedAccount = obj.rawArrivedAccount
},
//修改弹出框中的确认按钮
editSureBtn(){
this.$axios.post(this.$api.InventoryManagement.editCaigouDetailTableData,this.editForm).then((res)=>{
if (res.data.code == 200){
this.getCaigouDetailTableData();
this.editFormVisible = false;
this.$message({
message:res.data.msg,
type:'success'
})
}else {
this.$message.error('修改失败!');
}
})
},
}
删除和查询
//删除
delBtn(id){
this.$axios.post(this.$api.InventoryManagement.delCaigouDetailTableData,this.$qs.stringify({id:id})).then((res)=>{
if (res.data.code == 200){
this.$message({
message:res.data.message,
type:'success'
});
this.getCaigouDetailTableData()
}else {
this.$message.error('删除失败!')
}
})
},
//查询
queryBtn(){
this.$axios.get(this.$api.InventoryManagement.queryCaigouDetailTableData,{
params:{
limit:this.limit,
page:this.currentPage,
rawSerial:this.searchForm.rawSerial,
rawName:this.searchForm.rawName,
inWarehouseNumber:this.$route.query.inWarehouseNumber,
}
}).then((res)=>{
if (res.data.code == 200){
this.tableData = res.data.data;
}else {
this.$message(res.data.msg);
}
})
},
所有代码
<template>
<div class="myContainer">
<!-- 查询栏-->
<div class="searchBox">
<!-- 手动输入的input统一放在第一排
下拉框、时间选择器在第二排-->
<el-form :model="searchForm" :inline="true" ref="searchForm">
<el-form-item prop="rawSerial">
<input type="text" placeholder="请输入物资编号" v-model="searchForm.rawSerial">
</el-form-item>
<el-form-item prop="rawName">
<input type="text" placeholder="请输入品名" v-model="searchForm.rawName">
</el-form-item>
</el-form>
<div class="btnBox">
<button type="button" class="searchBtn" @click="queryBtn"><i class="el-icon-search"></i>搜索</button>
<button type="button" class="resetBtn" @click="resetBtn('searchForm')"><i class="el-icon-refresh-right"></i>重置</button>
</div>
</div>
<!-- 表格-->
<el-card>
<!-- 表格名称-->
<div slot="header" class="Title">
<span>采购入库明细表</span>
</div>
<!-- 工具栏-->
<div class="tools">
<button type="button" class="batchDelBtn">批量删除</button>
<button type="button" class="addBtn" @click="addFormVisible = true"><i class="el-icon-plus"></i>新增</button>
<div class="backBtn" @click="goBack"><i class="el-icon-back"></i></div>
</div>
<!-- 表格-->
<el-table
:data="tableData"
border
style="width: 100%">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同号"
width="150">
</el-table-column>
<el-table-column
prop="rawSerial"
label="物资编号"
width="120">
</el-table-column>
<el-table-column
prop="rawName"
label="品名"
width="120">
</el-table-column>
<el-table-column
prop="rawSpecification"
label="规格"
width="120">
</el-table-column>
<el-table-column
prop="rawUnit"
label="单位"
width="120">
</el-table-column>
<el-table-column
prop="rawShouldAccount"
label="应到数量"
width="120">
</el-table-column>
<el-table-column
prop="rawArrivedAccount"
label="实到数量"
width="120">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="120">
<template slot-scope="scope">
<span class="editBtn" @click="editBtn(scope.row)"><i class="el-icon-edit"></i>修改</span>
<span class="delBtn" @click="delBtn(scope.row.inWarehouseDetailId)"><i class="el-icon-delete"></i>删除</span>
</template>
</el-table-column>
</el-table>
<!-- 分页-->
<div class="pageBox">
<el-pagination
background
@next-click="nextPage"
@prev-click="prevPage"
@current-change="handleCurrentChange"
:current-page=currentPage
:page-size=limit
layout="total, prev, pager, next, jumper"
:total=totalSize>
</el-pagination>
</div>
</el-card>
<!-- 弹出框-->
<!-- 增加弹出框-->
<el-dialog title="新增信息" :visible.sync="addFormVisible" width="60%">
<el-form :model="addForm" :rules="rules" ref="addForm" :inline="true">
<el-form-item label="合同号" :label-width="addFormLabelWidth" prop="contractNumber">
<el-input v-model="addForm.contractNumber" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="物资编号" :label-width="addFormLabelWidth" prop="rawSerial">
<el-input v-model="addForm.rawSerial" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="品名" :label-width="addFormLabelWidth" prop="rawName">
<el-input v-model="addForm.rawName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="规格" :label-width="addFormLabelWidth" prop="rawSpecification">
<el-input v-model="addForm.rawSpecification" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="单位" :label-width="addFormLabelWidth" prop="rawUnit">
<el-input v-model="addForm.rawUnit" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="应到数量" :label-width="addFormLabelWidth" prop="rawShouldAccount">
<el-input v-model="addForm.rawShouldAccount" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="实到数量" :label-width="addFormLabelWidth" prop="rawArrivedAccount">
<el-input v-model="addForm.rawArrivedAccount" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelBtn">取 消</el-button>
<el-button type="primary" @click="addSureBtn">确 定</el-button>
</div>
</el-dialog>
<!-- 修改弹出框-->
<el-dialog title="修改信息" :visible.sync="editFormVisible" width="60%">
<el-form :model="editForm" :inline="true">
<el-form-item label="合同号" :label-width="editFormLabelWidth" prop="ContractNo">
<el-input v-model="editForm.contractNumber" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="物资编号" :label-width="editFormLabelWidth" prop="rawSerial">
<el-input v-model="editForm.rawSerial" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="品名" :label-width="editFormLabelWidth">
<el-select v-model="editForm.rawName" placeholder="请选择商品名称">
<el-option label="电路板" value="电路板"></el-option>
<el-option label="螺丝" value="螺丝"></el-option>
</el-select>
</el-form-item>
<el-form-item label="规格" :label-width="editFormLabelWidth">
<el-input v-model="editForm.rawSpecification" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="单位" :label-width="editFormLabelWidth">
<el-select v-model="editForm.rawUnit" placeholder="请选择商品单位">
<el-option label="块" value="块"></el-option>
<el-option label="个" value="个"></el-option>
</el-select>
</el-form-item>
<el-form-item label="应到数量" :label-width="editFormLabelWidth">
<el-input v-model="editForm.rawShouldAccount" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="实到数量" :label-width="editFormLabelWidth">
<el-input v-model="editForm.rawArrivedAccount" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editFormVisible = false">取 消</el-button>
<el-button type="primary" @click="editSureBtn">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "CaigouDetailTable",
data(){
return {
//接收采购入库表的入库单号
inWarehouseNumber:this.$route.query.inWarehouseNumber,
tableData: [],
rules:{
contractNumber:[{required:true, message:'请输入合同号', trigger:'blur'}],
rawSerial:[{required:true, message:'请输入物资编号', trigger:'blur'}],
rawName:[{required:true, message:'请输入品名', trigger:'blur'}],
rawSpecification:[{required:true, message:'请输入规格', trigger:'blur'}],
rawUnit:[{required:true, message:'请输入单位', trigger:'blur'}],
rawShouldAccount:[{required:true, message:'请输入应到数量', trigger:'blur'}],
rawArrivedAccount:[{required:true, message:'请输入实到数量', trigger:'blur'}]
},
//分页
currentPage:1,
limit:5,
totalSize:0,
//搜索表单
searchForm:{
// contractNumber:'',
rawSerial:'',
rawName:'',
},
searchFormLabelWidth:'120px',
//增加表单
addFormVisible: false,
addForm: {
inWarehouseNumber:this.$route.query.inWarehouseNumber,
contractNumber:'',
rawSerial:'',
rawName:'',
rawSpecification:'',
rawUnit:'',
rawShouldAccount:'',
rawArrivedAccount:'',
warehouseName:'',
contractDetailPrice:'',
inWarehouseDetailBatch:'',
inWarehouseDetailId:''
},
addFormLabelWidth: '120px',
//修改表单
editFormVisible: false,
editForm: {
inWarehouseDetailId:'',
contractNumber:'',
rawSerial:'',
rawName:'',
rawSpecification:'',
rawUnit:'',
rawShouldAccount:'',
rawArrivedAccount:'',
warehouseName:'',
contractDetailPrice:'',
inWarehouseNumber:'',
inWarehouseDetailBatch:''
},
editFormLabelWidth: '120px',
}
},
created(){
this.getCaigouDetailTableData()
},
methods:{
//下一页
nextPage(){
this.currentPage++
},
//上一页
prevPage(){
this.currentPage--
},
handleCurrentChange(val){
this.currentPage=val;
this.getCaigouDetailTableData();
},
//获取采购入库明细表的数据
getCaigouDetailTableData(){
this.$axios.get(this.$api.InventoryManagement.getCaigouDetailTableData,{
params:{
inWarehouseNumber:this.$route.query.inWarehouseNumber,
limit:this.limit,
page:this.currentPage,
}
}).then((res)=>{
if(res.data.code == 200){
this.tableData = res.data.data;
this.totalSize = res.data.count;
}else {
this.$message(res.data.msg);
}
}).catch((res)=>{
this.$message.error('数据库出错!');
})
},
//删除按钮
delBtn(id){
this.$axios.post(this.$api.InventoryManagement.delCaigouDetailTableData,this.$qs.stringify({id:id})).then((res)=>{
if (res.data.code == 200){
this.$message({
message:res.data.message,
type:'success'
});
this.getCaigouDetailTableData()
}else {
this.$message.error('删除失败!')
}
})
},
//新增取消按钮
cancelBtn(){
this.addFormVisible = false;
this.$refs.addForm.resetFields();
},
//新增(新增弹出框中的确认按钮)
addSureBtn(){
this.$axios.post(this.$api.InventoryManagement.addCaigouDetailTableData,this.addForm).then((res)=>{
if (res.data.code == 200){
this.getCaigouDetailTableData();
this.$nextTick(()=>{
this.$refs.addForm.resetFields();
});
this.addFormVisible = false;
this.$message({
message:res.data.msg,
type:'success'
})
}else {
this.$message.error('新增失败!');
}
})
},
//修改(将表格行的数据获取到修改表单中)
editBtn(obj){
this.editFormVisible = true;
this.editForm.inWarehouseDetailId = obj.inWarehouseDetailId;
this.editForm.contractNumber = obj.contractNumber;
this.editForm.rawSerial = obj.rawSerial;
this.editForm.rawName = obj.rawName;
this.editForm.rawSpecification = obj.rawSpecification;
this.editForm.rawUnit = obj.rawUnit;
this.editForm.rawShouldAccount = obj.rawShouldAccount;
this.editForm.rawArrivedAccount = obj.rawArrivedAccount
},
//修改弹出框中的确认按钮
editSureBtn(){
this.$axios.post(this.$api.InventoryManagement.editCaigouDetailTableData,this.editForm).then((res)=>{
if (res.data.code == 200){
this.getCaigouDetailTableData();
this.editFormVisible = false;
this.$message({
message:res.data.msg,
type:'success'
})
}else {
this.$message.error('修改失败!');
}
})
},
//查询
queryBtn(){
this.$axios.get(this.$api.InventoryManagement.queryCaigouDetailTableData,{
params:{
limit:this.limit,
page:this.currentPage,
rawSerial:this.searchForm.rawSerial,
rawName:this.searchForm.rawName,
inWarehouseNumber:this.$route.query.inWarehouseNumber,
}
}).then((res)=>{
if (res.data.code == 200){
this.tableData = res.data.data;
}else {
this.$message(res.data.msg);
}
})
},
//重置
resetBtn(searchForm){
this.$refs[searchForm].resetFields();
this.getCaigouDetailTableData();
},
goBack(){
this.$router.push('/home/CaiGouReceiptTable')
}
}
}
</script>
<style scoped>
.fanhui{
float: right;
background-color: #7A8CFE;
}
.fanhui i{
color: white;
}
</style>