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 | 263 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 182 insertions(+), 81 deletions(-)
diff --git a/pages/actionChange/workOrderDetails/index.vue b/pages/actionChange/workOrderDetails/index.vue
index 1e79165..6071eca 100644
--- a/pages/actionChange/workOrderDetails/index.vue
+++ b/pages/actionChange/workOrderDetails/index.vue
@@ -1,93 +1,185 @@
<template>
<view class="mainContent">
- <basicInfor :basic-infor="basicInfor" />
- <rectificationInfor ref="rectificationInfor" :basic-infor="basicInfor" />
- <approvalnfor ref="approvalnfor" v-if="basicInfor.state >= 30" :basic-infor="basicInfor" />
- <view class="bunts">
- <u-button shape="square" @click="close">������</u-button>
- <u-button
- v-if="pageState==='edit'"
- shape="square"
- type="primary"
- @click="submit"
- >
- ������
- </u-button>
+ <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: {}
- }
- },
- computed: {
- pageState() {
- return this.basicInfor.pageState
- }
- },
- onLoad: function(option) {
- console.log('option', option)
- //option���object������������������������������������������������
- this.basicInfor = JSON.parse(option.infor)
-
- },
- onBackPress(e) {
- uni.navigateTo({
- url: '/pages/actionChange/agencyPage/index',
- })
- return false
- },
- methods: {
- radioGroupChange(e) {
- console.log('radioGroupe���e', this.workForme.isChange)
+ import basicInfor from '../components/basicInfor.vue'
+ import rectificationInfor from '../components/rectificationInfor.vue'
+ import approvalnfor from '../components/approvalnfor.vue'
+ export default {
+ components: {
+ basicInfor,
+ rectificationInfor,
+ approvalnfor,
},
- close() {
- let pages = getCurrentPages() // ������������
- let beforePage = pages[pages.length - 3] // ������������
- //beforePage.$vm.reFresh = Math.random()//������������������������
- uni.navigateBack({
- delta: 1, //������������������������������������������2
- success: function() {
- // beforePage.$vm.reFresh()
+ 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
}
- })
- },
- 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,
+ 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()
}
- this.$http.httpPost(api, data).then((res)=> {
- this.close()
+ }).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',
})
- })
- .catch(err=> {
- console.log('���������������������', err)
- })
-
- }
- },
-}
+ } 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;
@@ -98,9 +190,18 @@
margin-top: 20px;
margin-bottom: 96.15rpx;
padding: 0 20px;
+ justify-content: center;
- .u-button {
- width: 288.46rpx;
+ .but {
+ width: 50%;
+ }
+
+ .butRight {
+ padding-right: 20px;
+ }
+
+ .butleft {
+ padding-left: 20px;
}
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0