vue项目的增删改查

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>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值