管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2022-11-24 8651d299aaf1ff75353ff6a6112c8ab9260d6b8c
src/views/datamanage/metadataManage.vue
@@ -9,7 +9,7 @@
    <el-divider />
    <div class="inquire">
      <el-form ref="queryForm" :model="queryForm" :inline="true">
        <el-form-item label="关键字" prop="name">
        <el-form-item :label="$t('dataManage.vmobj.keyword')" prop="name">
          <el-input
            v-model="queryForm.name"
            :placeholder="$t('common.pleaseInput')"
@@ -19,9 +19,9 @@
          <el-button
            @click="queryInfo()"
            icon="el-icon-search"
            type="primary"
            class="primary"
            size="small"
            >查询</el-button
            >{{ $t('common.iquery') }}</el-button
          >
        </el-form-item>
        <el-form-item>
@@ -30,89 +30,133 @@
            icon="el-icon-refresh"
            type="info"
            size="small"
            >重置</el-button
            >{{ $t('common.reset') }}</el-button
          >
        </el-form-item>
        <el-form-item v-if="btnStatus.insert">
        <!-- <el-form-item v-if="btnStatus.insert">
          <el-button
            type="success"
            size="small"
            @click="showAddDialog"
            icon="el-icon-plus"
            >{{ $t("common.append") }}</el-button
            >{{ $t('common.append') }}</el-button
          >
        </el-form-item>
        </el-form-item> -->
        <el-form-item v-if="btnStatus.delete">
          <el-button
            type="danger"
            size="small"
            @click="deleteMetaInfo"
            icon="el-icon-delete"
            >{{ $t("common.delete") }}</el-button
            >{{ $t('common.delete') }}</el-button
          >
        </el-form-item>
        <el-form-item v-if="btnStatus.download">
        <!-- <el-form-item v-if="btnStatus.download">
          <el-button
            @click="downFormData"
            icon="el-icon-download"
            type="success"
            size="small"
            >下载</el-button
            >{{ $t('common.download') }}</el-button
          >
        </el-form-item>
        </el-form-item> -->
      </el-form>
    </div>
    <div class="bottom">
      <div class="leftTree">
           <el-tree
          ref="tree"
          :props="defaultProps"
          node-key="id"
          :data="optionCount"
          :default-expanded-keys="[1]"
         :current-node-key="1"
          :expand-on-click-node="false"
          :default-expand-all="false"
          draggable
          @node-click="handleNodeClick"
        >
          </span>
        </el-tree>
        <!-- <ul>
          <li
            @click="getTableDesc(item)"
            v-for="item in optionCount"
            :class="{ active: activeName == item.tab }"
          >
            {{ item.tabDesc }}({{ item.tab }})
          </li>
        </ul> -->
      </div>
      <div class="rightTable">
        <div class="table_box">
          <el-table
            :data="tableData"
            border
            style="width: 100%"
            fit
            @selection-change="handleSelectionChange"
            height="99%"
          >
            <el-table-column type="selection" width="55" />
            <el-table-column min-width="150" prop="name" label="名称" />
            <el-table-column min-width="100" prop="format" label="格式" />
            <el-table-column min-width="100" prop="sizes" label="大小" />
            <el-table-column prop="name" :label="$t('dataManage.vmobj.name')" />
            <el-table-column
              min-width="100"
              prop="createUser"
              label="创建人员"
              prop="type"
              :label="$t('dataManage.vmobj.format')"
            />
            <el-table-column
              min-width="100"
              prop="sizes"
              :label="$t('dataManage.vmobj.size')"
              :formatter="stateFormatSizes"
            />
            <el-table-column
              prop="depName"
              :label="$t('dataManage.vmobj.depName')"
            />
             <el-table-column
              prop="dirName"
              :label="$t('dataManage.vmobj.dirName')"
            />
            <el-table-column
              prop="gather"
              :label="$t('dataManage.vmobj.gather')"
              :formatter="formatData"
            />
            <el-table-column
              prop="describe"
              :label="$t('dataManage.vmobj.describe')"
            />
            <el-table-column
              prop="uname"
              :label="$t('dataManage.vmobj.createonuser')"
            />
            <el-table-column
              prop="createTime"
              label="创建时间"
              :label="$t('dataManage.vmobj.createontime')"
              :formatter="formatData"
            />
            <el-table-column min-width="100" prop="cs" label="坐标系统" />
            <el-table-column min-width="100" prop="scale" label="比例尺" />
            <el-table-column min-width="100" prop="resolution" label="分辨率" />
            <el-table-column min-width="100" prop="descr" label="描述" />
            <el-table-column min-width="100" label="操作">
            <el-table-column min-width="100" :label="$t('common.operate')">
              <template slot-scope="scope">
                <el-link @click="showDetail(scope.row)">查看</el-link>
                <el-link @click="editInfo(scope.row)" style="margin-left: 10px"
                  >修改</el-link
                <el-link style="color: white" @click="showDetail(scope.row)">{{
                  $t('common.details')
                }}</el-link>
                <el-link
                  @click="editInfo(scope.row)"
                  style="margin-left: 10px; color: white"
                  >{{ $t('common.edit') }}</el-link
                >
              </template>
            </el-table-column>
          </el-table>
        </div>
        <div
          style="margin-top: 20px; margin-left: 400px"
          class="pagination_box"
        >
        <div style="margin-top: 10px" class="pagination_box">
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="currentPage"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="10"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count"
          >
@@ -123,84 +167,143 @@
    <div class="infoBox" v-show="showinfoBox">
      <el-card class="box-card">
        <div slot="header" class="clearfix">
          <span>详细信息</span>
          <span>{{ $t('common.details') }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial">
            <i class="el-icon-close"></i>
          </div>
        </div>
        <div class="contentBox">
          <p>数据名称:{{ itemdetail.name }}</p>
          <p>{{ $t('dataManage.vmobj.name') }}:{{ itemdetail.name }}</p>
          <el-divider></el-divider>
          <p>数据类型:{{ itemdetail.type }}</p>
          <p>{{ $t('dataManage.vmobj.format') }}:{{ itemdetail.type }}</p>
          <el-divider></el-divider>
          <p>数据格式:{{ itemdetail.format }}</p>
          <p>{{ $t('common.size') }}:{{ setInfoBoxSize(itemdetail.sizes) }}</p>
          <el-divider></el-divider>
          <p>创建时间:{{ itemdetail.createTime }}</p>
          <p>{{ $t('dataManage.vmobj.depName') }}:{{ itemdetail.depName }}</p>
          <el-divider></el-divider>
          <p>创建人员:{{ itemdetail.createUser }}</p>
          <p>
            {{ $t('dataManage.vmobj.gather') }}:{{
              setInfoBoxTime(itemdetail.gather)
            }}
          </p>
          <el-divider></el-divider>
          <p>更新时间:{{ itemdetail.updateTime }}</p>
          <p>
            {{ $t('dataManage.vmobj.describe') }}:{{ itemdetail.describe }}
          </p>
          <el-divider></el-divider>
          <p>更新人员:{{ itemdetail.updateUser }}</p>
          <p>
            {{ $t('dataManage.vmobj.createonuser') }}:{{ itemdetail.uname }}
          </p>
          <el-divider></el-divider>
          <p>坐标系统:{{ itemdetail.cs }}</p>
          <p>
            {{ $t('dataManage.vmobj.createontime') }}:{{
              setInfoBoxTime(itemdetail.createTime)
            }}
          </p>
          <el-divider></el-divider>
          <p>比例尺{{ itemdetail.scale }}</p>
          <p>
            {{ $t('dataManage.vmobj.updateonuser') }}:{{
              itemdetail.updateUser
            }}
          </p>
          <el-divider></el-divider>
          <p>分辨率{{ itemdetail.resolution }}</p>
          <el-divider></el-divider>
          <p>描述:{{ itemdetail.descr }}</p>
          <p>
            {{ $t('dataManage.vmobj.updateontime') }}:{{
              setInfoBoxTime(itemdetail.updateTime)
            }}
          </p>
        </div>
      </el-card>
    </div>
    <el-dialog
      width="510px"
      top="5vh"
      :title="behavior"
      :title="
        behavior == '新增用户'
          ? `${$t('common.append')}`
          : `${$t('common.update')}`
      "
      :visible.sync="dialogFormVisible"
      :before-close="handleClose"
    >
      <el-form :model="editForm" ref="editForm">
        <el-form-item label="数据名称" :label-width="formLabelWidth">
        <el-form-item
          :label="$t('dataManage.vmobj.name')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="数据类型" :label-width="formLabelWidth">
        <el-form-item
          :label="$t('dataManage.vmobj.format')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.type" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="数据格式" :label-width="formLabelWidth">
          <el-input v-model="editForm.format" autocomplete="off"></el-input>
        <el-form-item
          :label="$t('dataManage.vmobj.size')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.sizes" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="坐标系统" :label-width="formLabelWidth">
          <el-input v-model="editForm.cs" autocomplete="off"></el-input>
        <el-form-item
          :label="$t('dataManage.vmobj.depName')"
          :label-width="formLabelWidth"
        >
          <!-- <el-input v-model="editForm.depName" autocomplete="off"></el-input> -->
          <el-cascader
            v-model="editForm.depid"
            :options="companyOption"
            :props="cascader"
                 style="width:350px"
          ></el-cascader>
        </el-form-item>
        <el-form-item label="比例尺" :label-width="formLabelWidth">
          <el-input v-model="editForm.scale" autocomplete="off"></el-input>
          <el-form-item
          :label="$t('dataManage.vmobj.dirName')"
          :label-width="formLabelWidth"
        >
          <!-- <el-input v-model="editForm.depName" autocomplete="off"></el-input> -->
          <el-cascader
            v-model="editForm.dirid"
            :options="dirComPanyOption"
            :props="cascader"
            style="width:350px"
          ></el-cascader>
        </el-form-item>
        <el-form-item label="分辨率" :label-width="formLabelWidth">
          <el-input v-model="editForm.resolution" autocomplete="off"></el-input>
        <el-form-item
          :label="$t('dataManage.vmobj.describe')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.describe" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="描述" :label-width="formLabelWidth">
          <el-input v-model="editForm.descr" autocomplete="off"></el-input>
        </el-form-item>
        <!-- <el-form-item
          :label="$t('dataManage.vmobj.gather')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.gather" autocomplete="off"></el-input>
        </el-form-item> -->
      </el-form>
      <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer">
        <el-button size="medium" @click="cancelEdit()">重置</el-button>
        <el-button size="medium" @click="cancelEdit()">{{
          $t('common.reset')
        }}</el-button>
        <el-button
          size="medium"
          type="primary"
          @click="sendEdit('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >提交</el-button
          >{{ $t('common.submit') }}</el-button
        >
      </div>
      <div v-else slot="footer" class="dialog-footer">
        <el-button size="medium" @click="cancelAdd('editForm')">重置</el-button>
        <el-button size="medium" @click="cancelAdd('editForm')">{{
          $t('common.reset')
        }}</el-button>
        <el-button
          size="medium"
          type="primary"
          @click="sendAdd('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >提交</el-button
          >{{ $t('common.submit') }}</el-button
        >
      </div>
    </el-dialog>
@@ -239,45 +342,57 @@
  updateMeta,
  deleteMeta,
  insertMeta,
} from "../../api/api";
import MyBread from "../../components/MyBread.vue";
  selectDictTab,
  selectdirTab,
  queryDepTree,
} from '../../api/api';
import MyBread from '../../components/MyBread.vue';
export default {
  name: "metadataManage",
  name: 'metadataManage',
  components: { MyBread },
  data() {
    var repasswordValidator = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请再次输入密码"));
      if (value === '') {
        callback(new Error('请再次输入密码'));
      } else if (value !== this.codeForm.password) {
        callback(new Error("两次输入密码不一致!"));
        callback(new Error('两次输入密码不一致!'));
      } else {
        callback();
      }
    };
    return {
       defaultProps: {
        children: 'children',
        label: 'name',
      },
dirComPanyOption:[],
      companyOption: [],
      activeName: '',
      optionCount: [],
      showCodeBox: false,
      value: true,
      multipleSelection: [],
      formLabelWidth: "120px",
      formLabelWidth: '120px',
      dialogFormVisible: false,
      editForm: {},
      showinfoBox: false,
      fullscreenLoading: false,
      itemdetail: {},
      queryForm: {
        name: "",
        name: '',
      },
      behavior: "",
      initialForm: "",
      behavior: '',
      initialForm: '',
      codeForm: {
        password: "",
        repassword: "",
        password: '',
        repassword: '',
      },
      rules: {
        password: [{ required: true, message: "请输入密码", trigger: "blur" }],
        password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
        repassword: [
          { required: true, message: "请输入确认密码", trigger: "blur" },
          { validator: repasswordValidator, trigger: "blur" },
          { required: true, message: '请输入确认密码', trigger: 'blur' },
          { validator: repasswordValidator, trigger: 'blur' },
        ],
      },
      tableData: [],
@@ -293,16 +408,116 @@
        insert: false,
        update: false,
      },
      listData: {
        pageSize: 10,
        pageIndex: 1,
        name: null,
        dirid:null,
      },
      cascader: {
        label: 'name',
        value: 'id',
        children: 'children',
        checkStrictly: true,
        emitPath: false,
      },
    };
  },
  created() {
    this.getMetaData({
      pageIndex: 1,
      pageSize: 10,
    });
    this.getSelectDictTab();
    this.showPermsBtn();
    this.getQueryDepTree();
  },
  methods: {
    //单位列表获取
    async getQueryDepTree() {
      const res = await queryDepTree();
      if (res.code != 200) {
        this.$message.error('单位列表获取失败');
        return;
      }
      // this.formInline.depid = 1;
      this.companyOption = this.treeData(res.result);
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (data == null) {
        return data;
      }
      return this.format(data);
    },
    setInfoBoxTime(res) {
      if (res == null) {
        return res;
      }
      return this.format(res);
    },
    setInfoBoxSize(res) {
      if (res >= 1024) {
        return parseFloat(res / 1024).toFixed(3) + ' GB';
      } else {
        return res + ' MB';
      }
    },
    //格式化时间
    format(shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        s
      );
    },
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    //单位转换
    stateFormatSizes(row, column) {
      if (row.sizes >= 1024) {
        const val = parseFloat(row.sizes / 1024).toFixed(3);
        return val + ' GB';
      } else {
        return row.sizes + ' MB';
      }
    },
    //目录树获取
    async getSelectDictTab() {
      const res = await selectdirTab();
      if (res.code != 200) {
        this.$message.error('列表调用失败');
      }
      this.optionCount =this.treeData(res.result);
      this.dirComPanyOption= this.treeData(res.result);
      this.listData.dirid=this.optionCount[0].id;
       this.getMetaData();
    },
    handleNodeClick(data) {
      this.listData.pageSize=10;
      this.listData.pageIndex = 1;
      this.listData.dirid = data.id;
        this.getMetaData();
    },
    getTableDesc(res) {
      this.activeName = res.tab;
    },
    //显示权限按钮
    showPermsBtn() {
      let currentPerms = this.$store.state.currentPerms;
@@ -313,20 +528,20 @@
    },
    ShowWindowFly(res) {
      console.log(res);
      if (res == "") return;
      if (res.indexOf(".xls") != -1) {
      if (res == '') return;
      if (res.indexOf('.xls') != -1) {
        this.showMetadata(res, true);
      } else if (res.indexOf(".doc") != -1) {
      } else if (res.indexOf('.doc') != -1) {
        this.showMetadata(res, true);
      } else if (res.indexOf(".png") != -1) {
      } else if (res.indexOf('.png') != -1) {
        this.showMetadata(res, true);
      } else if (res.indexOf(".jpg") != -1) {
      } else if (res.indexOf('.jpg') != -1) {
        this.showMetadata(res, true);
      } else if (res.indexOf(".pdf") != -1) {
      } else if (res.indexOf('.pdf') != -1) {
        this.showMetadata(res, true);
      } else if (res.indexOf(".fly") != -1) {
      } else if (res.indexOf('.fly') != -1) {
        this.showMetadata(res, false);
      } else if (res.indexOf(".mpt") != -1) {
      } else if (res.indexOf('.mpt') != -1) {
        this.showMetadata(res, false);
      }
    },
@@ -335,48 +550,40 @@
      if (flag == true) {
        metaUrl = res;
      } else if (flag == false) {
        metaUrl = ifreamUrl + "/LFWeb/MetaPop.html?name=" + res;
        metaUrl = ifreamUrl + '/LFWeb/MetaPop.html?name=' + res;
      }
      window.open(
        metaUrl,
        "",
        "height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no"
        '',
        'height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'
      );
    },
    // 请求数据内容
    getMetaData(params) {
      select_meta_ByPageAndCount(params).then((res) => {
    getMetaData() {
      select_meta_ByPageAndCount(this.listData).then((res) => {
        debugger
        this.tableData = res.result;
        this.count = res.count;
      });
    },
    // 查询
    queryInfo() {
      let searchData = {
        name: this.queryForm.name.trim(),
        pageIndex: this.pageIndex,
        pageSize: this.pageSize,
      };
      select_meta_ByPageAndCount(searchData).then((res) => {
        if (res.code == 200) {
          this.tableData = res.result;
          this.count = res.count;
        } else {
          console.log("查询接口报错");
          this.$notify.error({
            title: res.code,
            message: res.result,
          });
        }
      });
      this.listData.name = this.queryForm.name.trim();
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.getMetaData();
    },
    // 重置查询
    resetInfo(formName) {
      this.$refs[formName].resetFields();
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.listData.name = null;
      this.getMetaData();
    },
    //新增按钮
    showAddDialog() {
      this.behavior = "新增用户";
      this.behavior = '新增用户';
      this.editForm = {};
      this.dialogFormVisible = true;
    },
@@ -394,10 +601,12 @@
              setTimeout(() => {
                this.fullscreenLoading = false;
                if (res.code == 200) {
                  this.getMetaData({ pageIndex: 1, pageSize: 10 });
                  this.listData.pageSize = 10;
                  this.listData.pageIndex = 1;
                  this.getMetaData();
                  this.$message({
                    message: "添加成功",
                    type: "success",
                    message: '添加成功',
                    type: 'success',
                  });
                  this.editForm = {};
                  this.dialogFormVisible = false;
@@ -405,11 +614,11 @@
              }, 500);
            })
            .catch((res) => {
              alert("修改失败,请重试!");
              alert('修改失败,请重试!');
              this.fullscreenLoading = false;
            });
        } else {
          console.log("error submit!!");
          console.log('error submit!!');
          return false;
        }
      });
@@ -420,10 +629,10 @@
    },
    // 删除多条
    deleteMetaInfo() {
      this.$confirm("确定是否删除所选内容?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      this.$confirm('确定是否删除所选内容?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          var std = [];
@@ -433,19 +642,21 @@
          deleteMeta({ ids: std.toString() }).then((res) => {
            if (res.code == 200) {
              this.$message({
                type: "success",
                message: "删除成功!",
                type: 'success',
                message: '删除成功!',
              });
              this.multipleSelection = [];
              this.getMetaData({ pageIndex: 1, pageSize: 10 });
              this.listData.pageSize = 10;
              this.listData.pageIndex = 1;
              this.getMetaData();
            } else {
              this.$message.error("删除失败");
              this.$message.error('删除失败');
              this.multipleSelection = [];
            }
          });
        })
        .catch(() => {
          this.$message("已取消删除");
          this.$message('已取消删除');
        });
    },
@@ -468,12 +679,12 @@
      delete row.updateUser;
      delete row.updateUser;
      this.initialForm = JSON.stringify(row); //备份
      this.behavior = "修改信息";
      this.behavior = '修改信息';
      this.editForm = JSON.parse(JSON.stringify(row));
      this.dialogFormVisible = true;
    },
    handleClose(done) {
      this.$confirm("确认关闭?")
      this.$confirm('确认关闭?')
        .then((_) => {
          this.editForm = {};
          done();
@@ -483,10 +694,10 @@
    // 提交修改
    sendEdit() {
      this.$confirm("是否确定编辑?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      this.$confirm('是否确定编辑?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          this.dialogFormVisible = false;
@@ -494,10 +705,12 @@
            setTimeout(() => {
              this.fullscreenLoading = false;
              if (res.code == 200) {
                this.getMetaData({ pageIndex: 1, pageSize: 10 });
                this.listData.pageSize = 10;
                this.listData.pageIndex = 1;
                this.getMetaData();
                this.$message({
                  message: "修改成功",
                  type: "success",
                  message: '修改成功',
                  type: 'success',
                });
                this.editForm = {};
                this.dialogFormVisible = false;
@@ -506,7 +719,7 @@
          });
        })
        .catch(() => {
          alert("修改失败,请重试!");
          alert('修改失败,请重试!');
          this.fullscreenLoading = false;
        });
    },
@@ -518,43 +731,35 @@
    download() {},
    closeDown() {
      this.showCodeBox = false;
      this.codeForm.password = "";
      this.codeForm.repassword = "";
      this.codeForm.password = '';
      this.codeForm.repassword = '';
    },
    downFormData() {
      if (this.multipleSelection.length == 0) {
        alert("请先选择要下载的文件");
        alert('请先选择要下载的文件');
        return;
      }
      this.showCodeBox = true;
      // this.$prompt("请输入密码", "提示", {
      //   confirmButtonText: "确定",
      //   cancelButtonText: "取消",
      //   inputType: "password",
      //   inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/,
      //   inputErrorMessage: "输入不能为空",
      // })
      //   .then(() => {
      //     let ids = "";
      //     this.multipleSelection.forEach((e) => {
      //       ids += `id=${e.id}&`;
      //     });
      //     let res = ids.substring(0, ids.length - 1);
      //     console.log(res);
      //     let url = "http://192.168.20.106/LFServer/Meta/Downloads?" + res;
      //     window.open(url);
      //   })
      //   .catch(() => {});
    },
    handleSizeChange(val) {
      this.pageSize = val;
      this.queryInfo();
      this.listData.pageSize = val;
      this.listData.pageIndex = 1;
      this.getMetaData();
    },
    handleCurrentChange(val) {
      this.pageIndex = val;
      this.currentPage = val;
      this.queryInfo();
      this.listData.pageIndex = val;
      this.getMetaData();
    },
    //树列表生成
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值
        return father.pid == 0; // 返回一级菜单
      });
    },
  },
};
@@ -562,108 +767,84 @@
<style lang="less" scoped>
//@import url(); 引入公共css类
.authorityManagement_box {
  background: rgb(240, 242, 245);
  border-radius: 10px;
  height: 100%;
  padding: 10px;
  height: 81%;
  width: 97%;
  position: absolute;
  box-sizing: border-box;
  .inquire {
    position: relative;
    height: 50px;
    overflow: auto;
    padding: 8px;
    margin-top: 20px;
    background: #fff;
    padding-bottom: 8px;
    border: 1px solid white;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    margin-bottom: 20px;
    padding: 1%;
    .el-form-item {
      margin: 5px;
    }
  }
  .bottom {
    width: 100%;
    height: 83%;
    .rightTable {
    margin-top: 1%;
    height: 74%;
    display: flex;
    justify-content: space-between;
    .leftTree {
      width: 15%;
      height: 100%;
      width: 100%;
      border: 1px solid white;
      border-radius: 5px;
      padding: 1%;
      max-height: 670px;
      overflow-y: auto;
      li {
        color: white;
        border-bottom: 1px solid white;
        line-height: 30px;
        text-align: center;
      }
      li:hover {
        background: rgba(255, 255, 255, 0.3);
      }
      .active {
        color: #409eff;
      }
    }
    .rightTable {
      width: 80%;
      height: 100%;
      border: 1px solid white;
      border-radius: 5px;
      padding: 1%;
      .table_box {
        width: 100%;
        height: 93%;
        margin: 0 auto;
        overflow: auto;
        background: #fff;
        .el-table {
          height: 100%;
          // overflow: auto;
        }
        .el-table /deep/ .el-table__header-wrapper tr th {
          background-color: rgb(255, 255, 255) !important;
          color: rgb(0, 0, 0);
        }
        // 修改每行样式:
        .el-table /deep/ .el-table__row {
          background-color: rgba(255, 255, 255) !important;
          color: rgb(0, 0, 0);
        }
        .el-table /deep/ .el-table__body tr.current-row > td {
          background-color: rgb(211, 211, 211) !important;
        }
        .el-table /deep/ .el-table__body tr:hover > td {
          background-color: rgb(211, 211, 211) !important;
        }
        // 修改表格每行边框的样式:
        .el-table /deep/ td,
        .el-table /deep/ th.is-leaf {
          border-bottom: 1px solid #eee;
          border-right: 1px solid #eee;
        }
        .el-table /deep/ .el-table__cell {
          padding: 0;
        }
        // 设置表格每行的高度:
        .el-table /deep/ .el-table__header tr,
        .el-table /deep/ .el-table__header th {
          height: 40px;
        }
        .el-table__body tr,
        .el-table__body td {
          height: 40px;
          padding: 0;
        }
        // 设置表格边框颜色:
        .el-table--border::after,
        .el-table--group::after {
          width: 0;
        }
        .el-table::before {
          height: 0;
        }
        //   a {
        //     color: #000;
        //   }
      }
    }
  }
  .infoBox {
    width: 500px;
    border: 1px solid #eee;
    position: absolute;
    z-index: 100;
    top: 15%;
    top: 10%;
    right: 25%;
    background-color: #fff;
    background: #303030;
    color: #fff;
    .el-card {
      background-color: transparent;
      color: #fff;
      span {
        color: #fff;
        font-size: 16px;
        font-weight: 600;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 600px;
      height: 500px;
      overflow: auto;
      p {
        // background-color: #bfa;
@@ -672,24 +853,7 @@
      }
    }
  }
  /deep/ .el-dialog {
    // width: 500px !important;
    // margin-top: 10vh !important;
  }
  /deep/.el-dialog .el-input__inner {
    width: 300px;
  }
  /deep/ .el-dialog__body {
    padding: 0px 30px;
  }
  /deep/ .el-dialog__footer {
    padding-top: 0 !important;
    width: 200px;
    display: flex;
    margin: 0 auto;
    justify-content: center;
  }
  .dotClass {
    width: 10px;
    height: 10px;
@@ -702,10 +866,132 @@
    top: 20%;
    left: 50%;
    padding: 20px;
    background-color: #fff;
    width: 20%;
    border: 1px solid #000;
    border-radius: 10px;
  }
  /*修改table 表体的背景颜色和文字颜色*/
  /deep/ .el-table {
    background-color: transparent;
    th,
    td {
      background-color: transparent;
    }
    .el-table__expanded-cell {
      background-color: transparent !important;
    }
    // 表头背景色
    th.el-table__cell {
      background-color: #303030;
      color: #fff;
    }
    tr > td {
      background-color: #303030;
      color: #fff;
    }
    // hover效果
    tr:hover > td {
      background-color: rgba(255, 255, 255, 0.3) !important;
    }
    tbody tr:hover {
      background-color: rgba(255, 255, 255, 0.3) !important;
      // text-align: center;
    }
    // 滚动条宽高
    .el-table__body-wrapper::-webkit-scrollbar {
      width: 5px;
      height: 5px;
    }
    .el-table__body-wrapper::-webkit-scrollbar {
      width: 5px;
      /*滚动条宽度*/
      height: 5px;
      /*滚动条高度*/
    }
    /*定义滚动条轨道 内阴影+圆角*/
    .el-table__body-wrapper::-webkit-scrollbar-track {
      box-shadow: 0px 1px 3px #216fe6 inset;
      /*滚动条的背景区域的内阴影*/
      border-radius: 10px;
    }
    /*定义滑块 内阴影+圆角*/
    .el-table__body-wrapper::-webkit-scrollbar-thumb {
      box-shadow: 0px 1px 3px #216fe6 inset;
      border-radius: 6px;
      background-color: #216fe6;
    }
  }
  /deep/.el-form-item__label {
    color: white;
  }
  // 设置输入框的背景色、字体颜色、边框属性设置;
  /deep/.el-input__inner {
    background-color: transparent !important ;
    color: #fff;
    border: 1px solid;
  }
  /deep/ .el-dialog {
    background: #303030;
  }
  /deep/.el-range-editor.is-active,
  .el-range-editor.is-active:hover,
  .el-select .el-input.is-focus .el-input__inner {
    border: 1px solid;
  }
  /deep/.el-dialog__title {
    color: white;
  }
  /deep/ .el-select .el-input__inner {
    border-color: #fff !important;
  }
  .pagination_box {
    margin-top: 20px;
    /deep/.el-input__inner {
      background-color: transparent !important;
      border: 1px solid;
      color: white;
    }
    /deep/.el-pagination__total {
      color: white;
    }
    /deep/.el-pagination__jump {
      color: white;
    }
    /deep/.el-pager li.active {
      color: #409eff;
    }
    /deep/.el-pager li {
      color: white;
      background: transparent;
    }
    /deep/.el-pager li {
      color: white;
    }
    /deep/.btn-prev {
      background: transparent;
    }
    /deep/.btn-next {
      background: transparent;
    }
    /deep/.btn-next i {
      color: white;
    }
    /deep/.btn-prev i {
      color: white;
    }
  }
  .primary {
    background: #409eff;
    border: #409eff;
    color: white;
  }
}
</style>