马宇豪
2023-12-19 d5f70e01396783b1d2b84b49344b6d2798eb1097
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<template>
    <el-dialog :visible.sync="editDialogVisible" :modal-append-to-body="false" :close-on-click-modal="false" title="批发企业盘库(单位:箱)" center
               width="30%">
        <el-form :model="stockInfo" label-width="140px" class="editForm">
            <el-form-item label="企业名称:"><el-input readonly v-model="stockInfo.enterpriseName"/></el-form-item>
            <el-form-item label="当前库区:"><el-input readonly v-model="stockInfo.reserveName"/></el-form-item>
            <el-form-item label="当前库房:"><el-input readonly v-model="stockInfo.storehouseName"/></el-form-item>
            <el-form-item label="当前总库存:"><el-input readonly v-model="stockInfo.totalInventory"/></el-form-item>
        </el-form>
        <el-divider></el-divider>
        <el-form ref="editForm" :rules="editFormRules" :model="editForm" label-width="140px" class="editForm">
            <el-form-item label="爆竹类:" prop="firecracker" class="numInput">
                <el-input type="number" v-model.number="editForm.firecracker"/>
            </el-form-item>
            <el-form-item label="喷花类:" prop="spray" class="numInput">
                <el-input type="number" v-model.number="editForm.spray"/>
            </el-form-item>
            <el-form-item label="旋转类:" prop="rotation" class="numInput">
                <el-input type="number" v-model.number="editForm.rotation"/>
            </el-form-item>
            <el-form-item label="吐珠类:" prop="bead" class="numInput">
                <el-input type="number" v-model.number="editForm.bead"/>
            </el-form-item>
            <el-form-item label="玩具类:" prop="toy" class="numInput">
                <el-input type="number" v-model.number="editForm.toy"/>
            </el-form-item>
            <el-form-item label="组合类:" prop="combined" class="numInput">
                <el-input type="number" v-model.number="editForm.combined"/>
            </el-form-item>
        </el-form>
        <span slot="footer" class="dialog-footer">
            <el-button @click="editDialogVisible = false">取 消</el-button>
            <el-button type="primary" @click="handleUpdate()">完 成</el-button>
        </span>
    </el-dialog>
</template>
 
<script>
    import {mapGetters} from "vuex";
    import {getStorehouseData, updateStorehouseData} from '../../../api/warehouse'
    export default {
        name: "editStock",
        data() {
            return {
                editDialogVisible: false,
                stockInfo:{
                    enterpriseName: '',
                    reserveName: '',
                    storehouseName: '',
                    totalInventory: null
                },
                editForm: {
                    id: null,
                    enterpriseId: null,
                    storehouseId: 0,
                    bead: 0,
                    combined: 0,
                    firecracker: 0,
                    rotation: 0,
                    spray: 0,
                    toy: 0
                },
                listLoading: false,
                editFormRules:{
                    firecracker:[{ required: true, message: '请填写数量', trigger: 'blur'}],
                    spray:[{ required: true, message: '请填写数量', trigger: 'blur'}],
                    rotation:[{ required: true, message: '请填写数量', trigger: 'blur'}],
                    bead:[{ required: true, message: '请填写数量', trigger: 'blur'}],
                    toy:[{ required: true, message: '请填写数量', trigger: 'blur'}],
                    combined:[{ required: true, message: '请填写数量', trigger: 'blur'}]
                }
            }
        },
        created() {
            const t = this
        },
        computed: {
            ...mapGetters([
                'userType',
                'username'
            ])
        },
        methods: {
            open(data){
                this.editDialogVisible = true
                this.stockInfo.enterpriseName = data.enterpriseName
                this.stockInfo.reserveName = data.reserveName
                this.stockInfo.storehouseName = data.storehouseName
                this.stockInfo.totalInventory = data.totalInventory
                getStorehouseData({id: data.id}).then((res)=>{
                    if(res.data.code == 200){
                        this.editForm = res.data.result
                        this.editForm['id'] = data.topId
                        this.editForm['enterpriseId'] = data.enterpriseUserId
                        this.editForm['storehouseId'] = data.id
                    }else{
                        this.$message.warning(res.data.message)
                    }
                }).catch(()=>{
                    this.$message.warning('数据获取失败')
                })
            },
            handleUpdate(){
                this.$refs.editForm.validate(async (valid) => {
                    if (valid) {
                        const res = await updateStorehouseData(this.editForm)
                        if(res.data.code == 200){
                            this.$message.success('盘库提交成功')
 
                        }else{
                            this.$message.warning(res.data.message)
                        }
                        this.editDialogVisible = false
                    }
                })
            }
        }
    }
</script>
 
<style lang="scss" scoped>
    .part-title{
        font-size: 16px;
        font-weight: bolder;
    }
    .selector{
        /deep/ .el-form-item__content{
            margin-left: 0 !important;
        }
    }
    .editForm{
        .el-form-item{
            display: flex !important;
        }
        /deep/ .el-form-item__content{
            width: 100%;
            margin-left: 0 !important;
        }
    }
 
    .numInput{
        /deep/ .el-input__inner{
            padding-right: 0;
        }
    }
</style>