quanyawei
2023-10-20 d8b41fff43a2cee6a8f714ffa807623b15803786
pages/actionChange/workOrderDetails/index.vue
New file
@@ -0,0 +1,106 @@
<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>
      </view>
   </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)
      },
      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()
            }
         })
      },
      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.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;
      .u-button {
         width: 288.46rpx;
      }
   }
</style>