FunctionBtn.vue 5.75 KB
Newer Older
liuxin committed
1
<!-- 引用方法
潘际乾 committed
2
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash"
liuxin committed
3 4 5
></c-function-btn>
-->
<template>
fukai committed
6 7
  <div class="m-Btn-eContainer" v-if="!buttonHide && ((!isReview && !funcBtnHide) || showSetBtn)">
    <div class="m-funcBtn-eContainer" v-if="!isReview && !buttonHide && !funcBtnHide">
8
      <!-- 确认按钮暂时隐藏 -->
9 10 11
      <!-- <el-button type="primary" size="small" @click="confirm" :loading="$store.state.Status.loading.confirm">{{ $t('buttons.confirm') }}</el-button> -->
      <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>
潘际乾 committed
12 13
      <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>
fukai committed
14 15 16 17 18 19 20 21 22 23
    </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"
潘际乾 committed
24 25
        >
        {{ $t('buttons.unfold') }}
fukai committed
26 27 28 29 30 31 32 33 34
        <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"
潘际乾 committed
35 36
        >
        {{ $t('buttons.fold') }}
fukai committed
37 38 39 40 41 42 43
        <i class="el-icon-setting" size="mini"></i>
      </el-button>
      <div class="m-openleft-item" v-show="openflag">
        <slot></slot>
      </div>
    </div>
  </div>
liuxin committed
44 45 46 47
</template>
<script>
// 反洗钱组件引入

fukai committed
48
export default {
49
    inject: ["root"],
fukai committed
50
  // 如果需要制裁信息按钮则给组件传 showAml 方法,如果不需要则不传
jianglong committed
51
  props: ["handleSubmit", "handleCheck", "handleStash", "handleExit", "hideFuncBtn", "handleConfirm"],
fukai committed
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
  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;
84 85
    },

fukai committed
86 87 88
  },
  methods: {
    start: async function() {
89
      this.handleSubmit && (await this.handleSubmit());
fukai committed
90 91
    },
    check: async function() {
92
      this.handleCheck && (await this.handleCheck());
liuxin committed
93
    },
fukai committed
94
    save: async function() {
潘际乾 committed
95
      this.handleStash && (await this.handleStash());
liuxin committed
96
    },
jianglong committed
97 98 99
    confirm: async function() {
      this.handleConfirm && (await this.handleConfirm());
    },
fukai committed
100 101 102 103 104 105 106 107
    handleCancel: function() {
      this.$confirm("确认退出?", "", {
        confirmButtonText: "确认",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(res => {
          // this.$router.back();
潘际乾 committed
108
          this.$store.dispatch("TagsView/delView", this.$route)
fukai committed
109 110 111 112 113
          this.handleExit && this.handleExit()
          if (this.$route.query && this.$route.query.routeParams) {
            setTimeout(() => {
              this.$router.back()
            }, 500)
hulei committed
114 115
          } 
          else {
fukai committed
116
            setTimeout(() => {
潘际乾 committed
117
              this.$router.push('/home')
fukai committed
118 119 120 121 122 123 124 125 126 127
            }, 500)
          }
        })
        .catch(() => {});
    },
    open() {
      this.openflag = true;
    },
    close() {
      this.openflag = false;
liuxin committed
128 129
    }
  }
fukai committed
130 131
};
</script>
李少勇 committed
132
<style scoped>
fukai committed
133 134 135 136
.m-Btn-eContainer {
  display: flex; /*flex布局*/
  flex-direction: row;
  flex-wrap: nowrap;
Wuyuqiu committed
137
  justify-content: center;
fukai committed
138
  align-items: flex-start;
潘际乾 committed
139
  /* height: 24px; */
Wuyuqiu committed
140 141
  text-align: center;
  margin-right:10px;
fukai committed
142 143 144 145 146 147 148 149 150 151 152 153 154
}
.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 {
Wuyuqiu committed
155
  margin: 0px 10px 0px 0px;
fukai committed
156 157
}
.m-funcBtn-eContainer .el-button--default {
潘际乾 committed
158
  /* background-image: linear-gradient(#fff,#dedede); */
fukai committed
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
  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;
}
潘际乾 committed
178 179 180
.m-openleft-item .el-button+.el-button {
  margin: 0;
}
fukai committed
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
.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;
}
Wuyuqiu committed
197 198 199

/* ui美化 */
.m-Btn-eContainer .el-button--small,.m-Btn-eContainer .el-button--small.is-round {
200
  padding: 10px 30px !important;
Wuyuqiu committed
201 202 203 204
  font-size: 16px;
  height: 40px;
  font-weight:bold;
}
fukai committed
205
</style>