<!-- 引用方法
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash"
></c-function-btn>
-->
<template>
  <div class="m-Btn-eContainer" v-if="!buttonHide && ((!isReview && !funcBtnHide) || showSetBtn)">
    <div class="m-funcBtn-eContainer" v-if="!isReview && !buttonHide && !funcBtnHide">
      <el-button type="primary" size="small" @click="start" :loading="$store.state.Status.loading.submit">{{ $t('buttons.submit') }}</el-button>
      <el-button size="small" @click="check" :loading="$store.state.Status.loading.check">{{ $t('buttons.check') }}</el-button>
      <el-button size="small" @click="save" :loading="$store.state.Status.loading.stash">{{ $t('buttons.stash') }}</el-button>
      <el-button size="small" @click="handleCancel">{{ $t('buttons.quit') }}</el-button>
    </div>
    <div class="m-zhanWei-forfuncBtn" v-if="!buttonHide && showSetBtn && (funcBtnHide || isReview)"></div>
    <div class="m-openleft" v-if="!buttonHide && showSetBtn">
      <el-button
        type="primary"
        icon="el-icon-arrow-left"
        size="mini"
        class="m-setting-btn"
        v-show="!openflag"
        @click="open"
        >
        {{ $t('buttons.unfold') }}
        <i class="el-icon-setting" size="mini"></i>
      </el-button>
      <el-button
        type="primary"
        icon="el-icon-arrow-right"
        size="mini"
        class="m-setting-btn"
        v-show="openflag"
        @click="close"
        >
        {{ $t('buttons.fold') }}
        <i class="el-icon-setting" size="mini"></i>
      </el-button>
      <div class="m-openleft-item" v-show="openflag">
        <slot></slot>
      </div>
    </div>
  </div>
</template>
<script>
// 反洗钱组件引入

export default {
  // 如果需要制裁信息按钮则给组件传 showAml 方法，如果不需要则不传
  props: ["handleSubmit", "handleCheck", "handleStash", "handleExit", "hideFuncBtn"],
  data: function() {
    return {
      isReview: false,
      openflag: true,
      funcBtnHide: false
    };
  },
  created() {
    if (this.$route.path.indexOf("review") !== -1) {
      this.isReview = true;
    } else {
      this.isReview = false;
    }
    if (this.hideFuncBtn) {
      this.funcBtnHide = true;
    }
    // console.log("functionbtn标志isReview:", this.isReview)
    // console.log("functionbtn标志funcBtnHide:", this.funcBtnHide)
    // console.log("functionbtn标志buttonHide:", this.buttonHide)
    // console.log("functionbtn标志showSetBtn:", this.showSetBtn)
    // console.log("functionbtn标志mode:", this.mode)
    // console.log("functionbtn标志zhanwei:", !this.buttonHide && this.showSetBtn && (this.funcBtnHide || this.isReview))
  },
  computed: {
    showSetBtn() {
      return this.$slots.default !== undefined;
    },
    mode() {
      return this.$store.state.Status.mode;
    },
    buttonHide() {
      return this.$route.path.indexOf("display") !== -1;
    }
  },
  methods: {
    start: async function() {
      this.handleSubmit && (await this.handleSubmit());
    },
    check: async function() {
      this.handleCheck && (await this.handleCheck());
    },
    save: async function() {
      this.handleStash && (await this.handleStash());
    },
    handleCancel: function() {
      this.$confirm("确认退出？", "", {
        confirmButtonText: "确认",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(res => {
          // this.$router.back();
          this.$store.dispatch("TagsView/delView", this.$route)
          this.handleExit && this.handleExit()
          if (this.$route.query && this.$route.query.routeParams) {
            setTimeout(() => {
              this.$router.back()
            }, 500)
          } 
          else {
            setTimeout(() => {
              this.$router.push('/home')
            }, 500)
          }
        })
        .catch(() => {});
    },
    open() {
      this.openflag = true;
    },
    close() {
      this.openflag = false;
    }
  }
};
</script>
<style>
.m-Btn-eContainer {
  display: flex; /*flex布局*/
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  height: 24px;
  margin-bottom: 5px;
}
.m-funcBtn-eContainer {
  order: 1;
}
.m-zhanWei-forfuncBtn{
  order: 2;
}
.m-openleft {
  order: 3;
}

.m-funcBtn-eContainer button,
.m-funcBtn-eContainer .el-button + .el-button {
  margin: 0px 0px 0px 0px;
}
.m-funcBtn-eContainer .el-button--default {
  background-image: linear-gradient(#fff,#dedede);
  border: 1px solid #ccc;
}
.m-funcBtn-eContainer .el-button--primary {
  border: 1px solid #0D4FBD;
}
.m-openleft-item {
  display: inline-block;
  padding: 0px;
}

.m-setting-btn {
  padding: 0px 10px 0px 8px;
  font-size: 12px;
  line-height: 22px;
}

.m-openleft-item > span {
  display: inline-block;
}
.m-openleft-item .el-button+.el-button {
  margin: 0;
}
.m-openleft-item > button,
.m-openleft-item > span > button,
.m-openleft-item > span > div > button {
  color: #606266;
  background-color: #fff;
  border: 1px #ccc solid;
  padding: 0px 7px;
  background-image: linear-gradient(#fff,#dedede);
}

.m-openleft-item > button:hover,
.m-openleft-item > span > button:hover,
.m-openleft-item > span > div > button:hover {
  background-color: #b3d8ff;
  color: #606266;
}
</style>
