<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>
|