yuxc
2025-01-15 2bea732496b4f5051233ed94e206160992351596
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
@@ -6,10 +6,9 @@
    :visible.sync="visible"
    append-to-body="true"
    class="avue-dialog"
    style="text-align: center"
    width="50%"
    width="800px"
    @close="dialogClose">
    <div style="margin-bottom: 20px;" v-if="topMethodsObj !== {} && topMethodsObj">
    <div style="height: 42px;line-height: 30px;margin-top: -5px;" v-if="topMethodsObj !== {} && topMethodsObj">
      <div>
        <span>导出方式:</span>
        <el-radio-group v-model="radio">
@@ -18,24 +17,28 @@
          <el-radio :label="2" v-if="topMethodsObj.page">页码</el-radio>
        </el-radio-group>
        <span v-if="radio === 2" style="margin-left: 20px;color: #F56C6C; ">
          <el-input v-model="pageExport" style="width: 150px"></el-input> (输入页码或者页面范围,如:1-10)</span>
          <el-input v-model="pageExport" style="width: 150px" size="mini"></el-input> (输入页码或者页面范围,如:1-10)</span>
      </div>
    </div>
    <el-transfer
      v-model="rightRoleData"
      v-loading="loading"
      :data="data"
      :filter-method="filterMethod"
      :render-content="renderFunc"
      :titles="transferTitle"
      filter-placeholder="关键词搜索"
      filterable
      style="text-align: left; display: inline-block;">
    </el-transfer>
    <div style="text-align: center">
      <el-transfer
        v-model="rightRoleData"
        v-loading="loading"
        :data="data"
        :filter-method="filterMethod"
        :render-content="renderFunc"
        @change="handleChange"
        :titles="transferTitle"
        filter-placeholder="关键词搜索"
        filterable
        style="text-align:left;display: inline-block;">
      </el-transfer>
    </div>
    <div slot="footer" class="dialog-footer">
      <div v-if="bottomValue" class="valueInfo">已设置的值为:[{{ bottomValue }}]</div>
      <el-button size="small" @click="visible = false">取 消</el-button>
      <el-button size="small" type="primary" @click="sendHandler">确 定</el-button>
      <el-button size="small" @click="visible = false">取 消</el-button>
    </div>
  </el-dialog>
</template>
@@ -80,8 +83,9 @@
          this.data = [];
          newval.forEach((item) => {
            this.data.push({
              ...item,
              label: item.name,
              key: item.oid,
              key: item.oid
            });
          });
          this.loading = false;
@@ -95,8 +99,8 @@
  methods: {
    dialogClose() {
      this.visible = false;
      this.data = [];
      this.leftRoleData = [];
      //this.data = [];
      //this.rightRoleData = [];
    },
    sendHandler() {
      if (func.isEmptyObject(this.topMethodsObj)) {
@@ -115,6 +119,8 @@
      this.visible = false;
    },
    handleChange(value, direction, movedKeys) {
    }
  }
}
</script>
@@ -122,13 +128,23 @@
<style lang="scss" scoped>
/deep/ .el-transfer-panel {
  height: 450px; /* 左右两个穿梭框的高度和宽度 */
  width: 300px;
  width: 322px;
}
/deep/ .el-transfer-panel__list.is-filterable {
  height: 323px; /* 穿梭框列表高度 */
}
/deep/ .el-transfer__buttons .el-button{
  display: block;
  margin: 30px 0;
  padding: 8px 15px;
}
/deep/ .el-transfer__button:first-child{
  transform: translateY(200%);
}
/deep/ .el-transfer__button:nth-child(2){
  transform: translateY(-200%);
}
.valueInfo {
  float: left;
  border: 1px solid #E9E7E7;