From 66d2c8d8c97e19fdbd969f97dd3d6a28f27c415f Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 01 Nov 2023 16:07:03 +0800
Subject: [PATCH] fix:小程序分享功能和秒级数据

---
 pages/actionChange/workOrderDetails/index.vue |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 173 insertions(+), 0 deletions(-)

diff --git a/pages/actionChange/workOrderDetails/index.vue b/pages/actionChange/workOrderDetails/index.vue
new file mode 100644
index 0000000..3bfbe07
--- /dev/null
+++ b/pages/actionChange/workOrderDetails/index.vue
@@ -0,0 +1,173 @@
+<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>
+		<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: false
+			}
+		},
+		computed: {
+			pageState() {
+				return this.basicInfor.pageState
+			},
+		},
+		created() {
+			this.getUnitList()
+		},
+		onLoad: function(option) {
+			//option���object������������������������������������������������
+			this.basicInfor = JSON.parse(option.infor)
+			// let type = JSON.parse(option.type)
+			console.log('option', option)
+			this.userInfor = JSON.parse(uni.getStorageSync('userInfor') || 'null')
+			if (option.type === 'share' && this.userInfor) {
+				let params = {
+					allocationNum: this.basicInfor.allocationNum,
+					userId: this.userInfor.userId
+				}
+				this.$http.httpGet('/allocationApp/authority', params).then(res => {
+					res.data = false
+					if (!res.data) {
+						uni.showModal({
+							content: '���������������������������������������������',
+							showCancel: false,
+							confirmText: '������',
+							success: res => {
+								if (res.confirm) {
+									uni.reLaunch({
+										url: '/pages/index/index',
+									})
+								}
+							},
+						})
+					}
+				})
+			}
+			console.log('this.basicInfor ', this.basicInfor)
+		},
+		methods: {
+			closePop() {},
+			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>
\ No newline at end of file

--
Gitblit v1.8.0