From 105d1e8d9225c1000c53b924bd9a3ae076f64d09 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Thu, 16 Nov 2023 15:55:53 +0800 Subject: [PATCH] fix:添加已作废 --- pages/actionChange/workOrderDetails/index.vue | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 207 insertions(+), 0 deletions(-) diff --git a/pages/actionChange/workOrderDetails/index.vue b/pages/actionChange/workOrderDetails/index.vue new file mode 100644 index 0000000..81737b1 --- /dev/null +++ b/pages/actionChange/workOrderDetails/index.vue @@ -0,0 +1,207 @@ +<template> + <view class="mainContent"> + <u-sticky> + <u-alert v-if="basicInfor.invalidReason" :title="`���������:${basicInfor.invalidReason}`" type="warning" + :description="description"></u-alert> + </u-sticky> + <basicInfor :basic-infor="basicInfor" v-if="basicInfor.unitId" /> + <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() {}, + 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() + } + }, + methods: { + getData() { + this.$http.httpGet('/allocation/detail', { + id: this.basicInfor.allocationId + }).then(res => { + this.basicInfor = { + ...this.basicInfor, + ...res.data + } + console.log('this.basicInfor123', this.basicInfor) + let time = this.basicInfor.time.slice(5) + this.share.title = `${this.basicInfor.escalationUnitName}-${time}������������` + this.show = false + this.isShow = true + }) + }, + radioGroupChange(e) { + console.log('radioGroupe���e', this.workForme.isChange) + }, + close() { + uni.$emit('currIndex', { + data: { + index: '0', + showTabBar: true + } + }) + if (this.option.type === 'share') { + uni.redirectTo({ + url: '/pages/index/index', + }) + } else { + 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> \ No newline at end of file -- Gitblit v1.8.0