From 9c3961f513cb548c129dd911c1eb92ec21bb703c Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Mon, 18 Mar 2024 15:01:38 +0800
Subject: [PATCH] fix: 分享详情页打开未登录跳转
---
pages/actionChange/workOrderDetails/index.vue | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 224 insertions(+), 0 deletions(-)
diff --git a/pages/actionChange/workOrderDetails/index.vue b/pages/actionChange/workOrderDetails/index.vue
new file mode 100644
index 0000000..8db8670
--- /dev/null
+++ b/pages/actionChange/workOrderDetails/index.vue
@@ -0,0 +1,224 @@
+<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') {
+ if (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 {
+ uni.showModal({
+ title: '���������',
+ content: '������������������������������������������',
+ showCancel: false,
+ confirmText: '������',
+ success: res => {
+ if (res.confirm) {
+ uni.reLaunch({
+ url: '/pages/login/login',
+ })
+ }
+ },
+ })
+ this.$isResolve()
+ }
+ } 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