popUpComponent.vue 3.78 KB
<template>
  <view>
    <u-popup :show="show" mode="bottom" @open="open" :customStyle="{width:'100vw'}" round="6" safeAreaInsetBottom>
      <view class="popCss">
        <view class="padding-top text-lg text-center">
          {{title}}
        </view>
        <view class="padding">
          <u-textarea v-model="textarea" placeholder="请简单描述原因"></u-textarea>
        </view>
        <view class="flex justify-between">
          <view class="w50" @click="close">
            <u-button>取消</u-button>
          </view>
          <view class="w50" @click="confirm">
            <u-button :customStyle="{color:'#CF000D'}">确定</u-button>
          </view>
        </view>
      </view>
    </u-popup>
  </view>
</template>

<script>
  import {
    submitAuditOne,
    submitAuditTwo,
    submitModificationOne,
    submitModificationTwo
  } from '@/api/charge.js'
  export default {
    name: "popUpComponent",
    props: {
      title: {
        type: String,
        default: "同意"
      },
      publishID: {
        type: Number,
      },
      publishStatus: {
        type: String,
        default: ""
      },
      modificationStatus: {
        type: String,
        default: ""
      }
    },
    data() {
      return {
        textarea: "",
        show: false,
      };
    },
    methods: {
      open() {
        this.show = true;
      },
      close() {
        this.show = false;
      },
      async confirm() {
        let that = this;
        let data = {
          "id": this.publishID,
          "status": this.title === '同意' ? 'Y' : 'N',
          "remarks": this.textarea
        }
        console.log("审批状态", this.publishStatus);
        if (this.publishStatus === 'PENDING_LEVEL_1_AUDIT') {
          const result = await submitAuditOne(data);
          if (result.code === 200) {
            that.$emit('getList');
            uni.$u.toast(`${this.title}成功`)
          } else {
            uni.$u.toast(result.msg)
          }
        }

        if (this.publishStatus === 'PENDING_LEVEL_2_AUDIT') {
          const result = await submitAuditTwo(data);
          if (result.code === 200) {
            that.$emit('getList');
            uni.$u.toast(`${this.title}成功`)
          } else {
            uni.$u.toast(result.msg)
          }
        }

        if (this.publishStatus === 'PENDING_LEVEL_1_AUDIT') {
          const result = await submitAuditOne(data);
          if (result.code === 200) {
            that.$emit('getList');
            uni.$u.toast(`${this.title}成功`)
          } else {
            uni.$u.toast(result.msg)
          }
        }

        if (this.publishStatus === 'PENDING_LEVEL_2_AUDIT') {
          const result = await submitAuditTwo(data);
          if (result.code === 200) {
            that.$emit('getList');
            uni.$u.toast(`${this.title}成功`)
          } else {
            uni.$u.toast(result.msg)
          }
        }

        if (this.publishStatus === 'APPROVED' && this.modificationStatus === 'PENDING_LEVEL_1_AUDIT') {
          const result = await submitModificationOne(data);
          if (result.code === 200) {
            that.$emit('getList');
            uni.$u.toast(`${this.title}成功`)
          } else {
            uni.$u.toast(result.msg)
          }
        }

        if (this.publishStatus === 'APPROVED' && this.modificationStatus === 'PENDING_LEVEL_2_AUDIT') {
          const result = await submitModificationTwo(data);
          if (result.code === 200) {
            that.$emit('getList');
            uni.$u.toast(`${this.title}成功`)
          } else {
            uni.$u.toast(result.msg)
          }
        }
        console.log("审批data", data);
        this.show = false;
        this.textarea = "";
      }
    }
  }
</script>

<style lang="scss">
  .popCss {
    // text-align: center;
  }
</style>