From 5f8cd55f32939d15c6224d491f89743421cab0f9 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Mon, 20 Nov 2023 13:12:42 +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..6071eca
--- /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.unitName}-${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