quanyawei
2023-10-27 52d463e03c1f074099ed8e8a6b7c3ddde52d2708
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
<template>
    <view class="mainContent">
        <basicInfor :basic-infor="basicInfor" />
        <rectificationInfor ref="rectificationInfor" :basic-infor="basicInfor"
            v-if="!(pageState === 'view' && basicInfor.state === 20)" />
        <approvalnfor ref="approvalnfor" v-if="basicInfor.state >= 30" :basic-infor="basicInfor" />
        <view class="bunts">
            <view class="but butRight">
                <u-button shape="square" @click="refuse" type="error"
                    v-if="pageState==='edit'&& basicInfor.state >= 30">拒绝</u-button>
                <u-button shape=" square" @click="close" v-else>关闭</u-button>
            </view>
            <view class="but butleft" v-if="pageState==='edit'">
                <u-button shape="square" type="primary" @click="submit"> 提交 </u-button>
            </view>
        </view>
    </view>
</template>
<script>
    import basicInfor from '../components/basicInfor.vue'
    import rectificationInfor from '../components/rectificationInfor.vue'
    import approvalnfor from '../components/approvalnfor.vue'
    export default {
        components: {
            basicInfor,
            rectificationInfor,
            approvalnfor,
        },
        data() {
            return {
                basicInfor: {}
            }
        },
        computed: {
            pageState() {
                return this.basicInfor.pageState
            }
        },
        onLoad: function(option) {
            console.log('option', option)
            //option为object类型,会序列化上个页面传递的参数
            this.basicInfor = JSON.parse(option.infor)
        },
        onBackPress(e) {
            uni.navigateBack({
                delta: 1, //返回上上一级注意这里要设置为2
            })
            return false
        },
        methods: {
            radioGroupChange(e) {
                console.log('radioGroupe,e', this.workForme.isChange)
            },
            close() {
                uni.$emit('currIndex', {
                    data: {
                        index: '0',
                        showTabBar: true
                    }
                })
                uni.navigateBack({
                    delta: 1, //返回上上一级注意这里要设置为2
                })
            },
            refuse() {
                Promise.all([this.$refs.rectificationInfor && this.$refs.rectificationInfor.formVali(), this.$refs
                        .approvalnfor && this.$refs.approvalnfor.formVali()
                    ]) //
                    .then(() => {
                        let api = this.basicInfor.state >= 30 ? '/allocation/check' : '/allocation/change' //审批
                        let form = this.basicInfor.state >= 30 ? this.$refs.approvalnfor.form : this.$refs
                            .rectificationInfor.form
                        let data = {
                            allocationId: this.basicInfor.allocationId,
                            ...form,
                            state: 50,
                        }
                        this.$http.httpPost(api, data).then(res => {
                            this.close()
                        })
                    }).catch(err => {
                        console.log('拒绝失败:', err)
                    })
            },
            submit() {
                Promise.all([this.$refs.rectificationInfor && this.$refs.rectificationInfor.formVali(), this.$refs
                        .approvalnfor && this.$refs.approvalnfor.formVali()
                    ]) //
                    .then(() => {
                        let api = this.basicInfor.state >= 30 ? '/allocation/check' : '/allocation/change' //审批
                        let form = this.basicInfor.state >= 30 ? this.$refs.approvalnfor.form : this.$refs
                            .rectificationInfor.form
                        let data = {
                            allocationId: this.basicInfor.allocationId,
                            ...form,
                            state: this.basicInfor.state === 20 ? 30 : 40,
                        }
                        this.$http.httpPost(api, data).then(res => {
                            this.close()
                        })
                    }).catch(err => {
                        console.log('提交失败:', err)
                    })
            }
        },
    }
</script>
<style scoped lang="scss">
    .mainContent {
        padding-bottom: 38.46rpx;
    }
 
    .bunts {
        display: flex;
        margin-top: 20px;
        margin-bottom: 96.15rpx;
        padding: 0 20px;
        justify-content: center;
 
        .but {
            width: 50%;
        }
 
        .butRight {
            padding-right: 20px;
        }
 
        .butleft {
            padding-left: 20px;
        }
    }
</style>