<template>
|
<view class="mainContent">
|
<basicInfor :basic-infor="basicInfor" v-if="isShow" />
|
<rectificationInfor ref="rectificationInfor" :basic-infor="basicInfor"
|
v-if="!(pageState === 'view' && basicInfor.state === 20)&&isShow" />
|
<approvalnfor ref="approvalnfor" v-if="basicInfor.state >= 30 && basicInfor.stateName!=='待完成' && isShow"
|
:basic-infor="basicInfor" />
|
<view class="bunts" v-if="isShow">
|
<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>
|
<u-overlay :show="show" :mask-click-able='false' opacity='0.8'>
|
</u-overlay>
|
</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: {},
|
unitListL: [],
|
userInfor: null,
|
show: true,
|
isShow: false,
|
option: {}
|
}
|
},
|
computed: {
|
pageState() {
|
return this.basicInfor.pageState
|
},
|
},
|
created() {
|
this.getUnitList()
|
},
|
onLoad(option) {
|
//option为object类型,会序列化上个页面传递的参数
|
this.basicInfor = JSON.parse(option.infor)
|
// let type = JSON.parse(option.type)
|
console.log('option', option)
|
this.option = option
|
},
|
async mounted() {
|
await this.$onLaunched
|
//等待登录成功
|
this.userInfor = JSON.parse(uni.getStorageSync('userInfor') || 'null')
|
console.log('详情页的用户信息', this.userInfor)
|
if (this.option.type === 'share' && this.userInfor) {
|
let params = {
|
allocationNum: this.basicInfor.allocationNum,
|
userId: this.userInfor.userId
|
}
|
this.$http.httpGet('/allocationApp/authority', params).then(res => {
|
console.log('权限控制参数', res)
|
if (res.data.code === 3) {
|
uni.showModal({
|
content: '您暂无操作权限,请联系管理员!',
|
showCancel: false,
|
confirmText: '确定',
|
success: res => {
|
if (res.confirm) {
|
uni.reLaunch({
|
url: '/pages/index/index',
|
})
|
}
|
},
|
})
|
} else if (res.data.code === 1) {
|
// 可以编辑
|
this.basicInfor.pageState = 'edit'
|
this.basicInfor.stateName = res.data.name
|
this.getData()
|
} else if (res.data.code === 2) {
|
// 可以看
|
this.basicInfor.pageState = 'view'
|
this.basicInfor.stateName = res.data.name
|
this.getData()
|
}
|
}).catch(errors => {
|
console.log('获取失败的信息', errors)
|
console.log('获取失败的信息params', params)
|
})
|
} else {
|
this.isShow = true
|
this.getData()
|
}
|
console.log('this.basicInfor123', this.basicInfor)
|
},
|
methods: {
|
getData() {
|
this.$http.httpGet('/allocation/detail', {
|
id: this.basicInfor.allocationId
|
}).then(res => {
|
this.isShow = true
|
this.show = false
|
this.basicInfor = {
|
...this.basicInfor,
|
...res.data
|
}
|
})
|
},
|
getUnitList() {
|
this.$http.httpGet('/allocation/unit').then(res => {
|
this.unitList = res.data
|
let data = ''
|
if (this.basicInfor.unitId && this.unitList.length > 0) {
|
data = this.unitList && this.unitList.find(a => Number(a.unitId) === Number(this.basicInfor
|
.unitId)).unitName
|
let time = this.basicInfor.time.slice(5)
|
this.share.title = `${data}-${time}的交办单`
|
}
|
})
|
},
|
radioGroupChange(e) {
|
console.log('radioGroupe,e', this.workForme.isChange)
|
},
|
close() {
|
uni.$emit('currIndex', {
|
data: {
|
index: '0',
|
showTabBar: true
|
}
|
})
|
uni.redirectTo({
|
url: '/pages/index/index',
|
})
|
},
|
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>
|