antd使用this.$confirm确认对话框让onOk函数loading显示

61 阅读1分钟
  openTipModal(nodeData) {
      this.backForm = nodeData
      this.$confirm({
        title: '提示',
        content: '作废会作废整张发票。',
        getContainer: () => this.$refs.billingPlan,
        okText: '确认',
        cancelText: '取消',
        onOk: () => {
          return new Promise(async (resolve, reject) => {
            this.fetchRefund(nodeData, resolve, reject)
          })
        },
        onCancel: () => {
          console.log('Cancel')
          //重新打开退票弹窗
          this.isShowRefund = true
        }
      })
    },
    //退票接口
    async fetchRefund(nodeData, resolve, reject) {
      let params = {
        id: this.selectedRowKeys[0],
        ...nodeData
      }
      const { success, message, info } = await refundBillingPlan(params)
      if (success) {
        this.$message.success(message)
        //关闭退票弹窗
        this.isShowRefund = false
        this.updateDataParent()
        resolve()
      } else {
        if (info) {
          this.$message.error(info)
        } else {
          this.$message.error(message)
        }
        reject()
      }
    },