guoshilong
2022-10-14 d8e0af2ce345f3b40581ad05c596f965ae729c01
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
<template>
    <view class="container">
        <u-form :model="form" ref="uForm" :rules="rules">
            <u-form-item label-width="20%" label="申请材料:" prop="inventoryId">
                <u-input v-model="form.inventoryText" type="select" @click="showInventory = true" placeholder="请选择申请材料"/>
            </u-form-item>
            <u-action-sheet
                v-model="showInventory"
                :list="inventoryList"
                title="请选择事件类型"
                @click="inventorySelect"
            >
            </u-action-sheet>
            
            <u-form-item label-width="20%" label="申请数量:" prop="reqNum">
                <u-input v-model="form.reqNum" placeholder="请输入申请数量"/>
            </u-form-item>
            
            <u-form-item label-position="top" label="备注:">
                <u-input v-model="form.remark" type="textarea" />
            </u-form-item>
        </u-form>
        
        <view class="submitBtn">
            <u-button @click="submit">申请</u-button>
        </view>
            
    </view>
</template>
 
<script>
    import {getInvList} from "@/api/inventory/inventory.js"
    import {add} from "@/api/inventory/invreqRecord.js"
    export default {
        onReady() {
            //设置表单验证规则
            this.$refs.uForm.setRules(this.rules);
        },
        data(){
            return{
                form:{
                    inventoryText:"",
                    inventoryId:"",
                    reqNum:"",
                    remark:"",
                },
                rules:{
                    inventoryId:[{
                        required:true,
                        message:'请选择申请材料',
                        trigger:'blur'
                    }],
                    reqNum:[{
                        pattern:/^[1-9]\d*$/,
                        transform(value) {
                            return String(value);
                        },
                        required:true,
                        message:'请输入正确的申请数量',
                        trigger:'blur'
                    }],
                },
                showInventory:false,
                inventoryList:[],
            }
        },
        created() {
            this.getInventoryList()
        },
        methods:{
            getInventoryList(){
                getInvList().then(res=>{
                    if(res.code ==200){
                        res.data.forEach(e=>{
                            this.inventoryList.push({
                                text:e.name,
                                key:e.id
                            })
                        })
                    }
                })
            },
            inventorySelect(index){
                this.form.inventoryText = this.inventoryList[index].text
                this.form.inventoryId = this.inventoryList[index].key
            },
            submit(){
                this.$refs.uForm.validate(valid => {
                    if(valid){
                        add(this.form).then(res=>{
                            if(res.code == 200){
                                uni.navigateBack({
                                    delta:1
                                })
                            }
                        })
                    }
                })
            }
        }
    }
</script>
 
<style scoped>
    .container{
        padding: 20px;
    }
</style>