管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-02-09 731d894cf232d98b547df2bd006795de74fb16a7
src/views/datamanage/domainManage.vue
@@ -1,26 +1,33 @@
<template>
  <div class="domainBox">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.rangeManage')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="mainBox">
      <div class="leftTree">
        <el-tree
          :data="domainData"
          :props="defaultProps"
          :default-expand-all="true"
          @node-click="toggleTabs"
        ></el-tree>
      <div class="leftTree subpage_Div">
        <el-input v-model="filterInput"></el-input>
        <div style="width:450px">
          <el-tree
            :data="domainData"
            :props="defaultProps"
            :default-expand-all="true"
            @node-click="toggleTabs"
            :filter-node-method="filterNode"
            ref="tree"
          ></el-tree>
        </div>
      </div>
      <div class="right">
      <div class="right subpage_Div">
        <div class="inquire">
          <el-form ref="queryForm" :model="queryForm" :inline="true">
          <el-form
            ref="queryForm"
            :model="queryForm"
            :inline="true"
          >
            <el-form-item
              :label="$t('dataManage.domainManage.domCode')"
              :label="$t('dataManage.vmobj.keyword')"
              prop="name"
            >
              <el-input
@@ -34,31 +41,27 @@
                icon="el-icon-search"
                size="small"
                class="primary"
                >{{ $t('common.iquery') }}</el-button
              >
              >{{ $t('common.iquery') }}</el-button>
              <el-button
                @click="resetInfo('queryForm')"
                icon="el-icon-delete"
                size="small"
                type="info"
                >{{ $t('common.empty') }}</el-button
              >
              >{{ $t('common.empty') }}</el-button>
              <el-button
                v-if="btnStatus.insert"
                @click="showAddDialog"
                icon="el-icon-plus"
                size="small"
                type="success"
                >{{ $t('common.append') }}</el-button
              >
              >{{ $t('common.append') }}</el-button>
              <el-button
                v-if="btnStatus.delete"
                @click="deleteInfo"
                type="danger"
                size="small"
                icon="el-icon-delete"
                >{{ $t('common.delete') }}</el-button
              >
              >{{ $t('common.delete') }}</el-button>
            </el-form-item>
          </el-form>
        </div>
@@ -68,7 +71,10 @@
            @selection-change="handleSelectionChange"
            height="100%"
          >
            <el-table-column type="selection" width="50" />
            <el-table-column
              type="selection"
              width="50"
            />
            <el-table-column
              align="center"
              type="index"
@@ -116,26 +122,30 @@
              :label="$t('dataManage.domainManage.bak')"
            />
            <el-table-column min-width="150" :label="$t('common.operate')">
              <template slot-scope="scope"
                ><el-button
            <el-table-column
              min-width="150"
              :label="$t('common.operate')"
            >
              <template slot-scope="scope">
                <el-button
                  class="primary"
                  @click="showDetail(scope.row)"
                  size="small"
                  >{{ $t('common.details') }}</el-button
                >
                >{{ $t('common.details') }}</el-button>
                <el-button
                  v-if="btnStatus.update"
                  type="warning"
                  @click="handleEdit(scope.$index, scope.row)"
                  size="small"
                  >{{ $t('common.update') }}</el-button
                >
                >{{ $t('common.update') }}</el-button>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <div class="pagination_box" style="margin-top: 20px">
        <div
          class="pagination_box"
          style="margin-top: 20px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
@@ -149,54 +159,64 @@
        </div>
      </div>
    </div>
    <div class="infoBox" v-show="showinfoBox">
      <el-card class="box-card">
        <div slot="header" class="clearfix">
          <span>{{ $t('common.details') }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial">
            <i class="el-icon-close"></i>
          </div>
    <div
      class="infoBox subpage_Div box_div"
      v-show="showinfoBox"
    >
      <div
        slot="header"
        class="clearfix"
      >
        <span>{{ $t('common.details') }}</span>
        <div
          style="float: right; cursor: pointer"
          @click="closeDetial"
        >
          <i class="el-icon-close"></i>
        </div>
        <div class="contentBox">
          <p>
            {{ $t('dataManage.domainManage.domName') }}:{{
      </div>
      <el-divider></el-divider>
      <div class="contentBox">
        <p>
          {{ $t('dataManage.domainManage.domName') }}:{{
              itemdetail.domName
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.domainManage.domDesc') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.domainManage.domDesc') }}:{{
              itemdetail.domDesc
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.domainManage.domCode') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.domainManage.domCode') }}:{{
              itemdetail.domCode
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.domainManage.codeDesc') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.domainManage.codeDesc') }}:{{
              itemdetail.codeDesc
            }}
          </p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.domainManage.bsm') }}:{{ itemdetail.bsm }}</p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.domainManage.level') }}:{{ itemdetail.level }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.domainManage.orderid') }}:{{
        </p>
        <el-divider></el-divider>
        <p>{{ $t('dataManage.domainManage.bsm') }}:{{ itemdetail.bsm }}</p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.domainManage.level') }}:{{ itemdetail.level }}
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.domainManage.orderid') }}:{{
              itemdetail.orderid
            }}
          </p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.domainManage.bak') }}:{{ itemdetail.bak }}</p>
        </div>
      </el-card>
        </p>
        <el-divider></el-divider>
        <p>{{ $t('dataManage.domainManage.bak') }}:{{ itemdetail.bak }}</p>
      </div>
    </div>
    <el-dialog
      width="510px"
@@ -209,78 +229,130 @@
      :visible.sync="dialogFormVisible"
      :before-close="handleClose"
    >
      <el-form :model="editForm" ref="editForm">
      <el-form
        :model="editForm"
        ref="editForm"
      >
        <el-form-item
          :label="$t('dataManage.domainManage.domName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.domName" autocomplete="off"></el-input>
          <el-select
            :popper-append-to-body="false"
            style="width:100%"
            v-model="editForm.domName"
            placeholder="请选择"
          >
            <el-option
              v-for="item in domainOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
          <!-- <el-input v-model="editForm.domName" autocomplete="off"></el-input> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.domDesc')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.domDesc" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.domDesc"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.domCode')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.domCode" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.domCode"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.codeDesc')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.codeDesc" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.codeDesc"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.bsm')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.bsm" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.bsm"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.level')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.level" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.level"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.orderid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.orderid" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.orderid"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.domainManage.bak')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.bak" autocomplete="off"></el-input>
          <el-input
            v-model="editForm.bak"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
      <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer">
        <el-button @click="cancelEdit()">{{ $t('common.reset') }}</el-button>
      <div
        v-if="behavior == '修改信息'"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="medium"
          size="small"
          @click="cancelEdit()"
        >{{ $t('common.reset') }}</el-button>
        <el-button
          size="small"
          class="primary"
          type="info"
          @click="sendEdit('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >{{ $t('common.confirm') }}</el-button
        >
        >{{ $t('common.confirm') }}</el-button>
      </div>
      <div v-else slot="footer" class="dialog-footer">
        <el-button type="info" @click="cancelAdd('editForm')">{{
      <div
        v-else
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="info"
          size="small"
          @click="cancelAdd('editForm')"
        >{{
          $t('common.reset')
        }}</el-button>
        <el-button
          size="medium"
          size="small"
          class="primary"
          @click="sendAdd('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >{{ $t('common.confirm') }}</el-button
        >
        >{{ $t('common.confirm') }}</el-button>
      </div>
    </el-dialog>
  </div>
@@ -293,6 +365,7 @@
  insertDomain,
  deleteDomain,
  updateDomain,
  domain_selectDomainNames,
} from '../../api/api';
import MyBread from '../../components/MyBread.vue';
export default {
@@ -300,6 +373,8 @@
  components: { MyBread },
  data() {
    return {
      filterInput: '',
      domainOptions: [],
      multipleSelection: [],
      behavior: '',
      formLabelWidth: '100px',
@@ -307,7 +382,9 @@
      showinfoBox: false,
      fullscreenLoading: false,
      itemdetail: {},
      editForm: {},
      editForm: {
        domName: '',
      },
      queryForm: {
        code: '',
      },
@@ -356,11 +433,32 @@
      return this.$store.state.cataNode.id;
    },
  },
  methods: {
    toggleTabs(data) {
    filterNode(value, data) {
      if (!value) return true;
      return data.val.indexOf(value) !== -1;
    },
    async toggleTabs(data) {
      this.fullscreenLoading = true;
      this.listData.ns = data.ns;
      this.listData.tab = data.tab;
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      const res = await domain_selectDomainNames(data);
      if (res.code != 200) {
        this.$message.error('domain调用失败');
      }
      var std = [];
      for (var i = 0; i < res.result.length; i++) {
        std.push({
          value: res.result[i],
          label: res.result[i],
        });
      }
      this.domainOptions = std;
      this.editForm.domName = res.result[0];
      getSingleTab(this.listData).then((res) => {
        setTimeout(() => {
@@ -388,10 +486,12 @@
        let bdres = res.result.filter((item) => item.ns == 'bd');
        let bsres = res.result.filter((item) => item.ns == 'bs');
        for (var i in bdres) {
          bdres[i].val = bdres[i].tabDesc + '(' + bdres[i].tab + ')';
          // bdres[i].val = bdres[i].tabDesc + '(' + bdres[i].tab + ')';
          bdres[i].val = bdres[i].tabDesc;
        }
        for (var i in bsres) {
          bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')';
          // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')';
          bsres[i].val = bsres[i].tabDesc;
        }
        this.domainData[0].children = bdres;
        this.domainData[1].children = bsres;
@@ -403,7 +503,7 @@
    queryInfo() {
      let searchData = {
        code: this.queryForm.code,
        name: this.queryForm.code,
        ns: this.listData.ns,
        tab: this.listData.tab,
        pageIndex: this.listData.pageIndex,
@@ -415,7 +515,6 @@
          this.tableData = res.result;
          this.count = res.count;
        } else {
          console.log('查询接口报错');
          this.$notify.error({
            title: res.code,
            message: res.result,
@@ -427,7 +526,9 @@
      this.queryForm = {};
      this.$store.state.verCateNode = {};
      this.$bus.$emit('clearTressLabel', true);
      this.getAllTabelData();
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      this.queryInfo();
    },
    // 删除多条
    deleteInfo() {
@@ -484,6 +585,7 @@
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.fullscreenLoading = true;
          insertDomain(this.editForm)
            .then((res) => {
              setTimeout(() => {
@@ -521,7 +623,7 @@
          this.editForm = {};
          done();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    // 查看界面
    showDetail(row) {
@@ -615,17 +717,20 @@
  watch: {
    pathId: {
      immediate: true,
      handler(val) {},
      handler(val) { },
    },
    filterInput(val) {
      this.$refs.tree.filter(val);
    }
  },
};
</script>
<style lang="less" scoped>
//@import url(); 引入公共css类
// @import url(); 引入公共css类
.domainBox {
  height: 80%;
  width: 97%;
  position: absolute;
  height: 98%;
  width: 98%;
  padding: 1%;
  .mainBox {
    width: 100%;
    height: 92%;
@@ -633,8 +738,8 @@
    justify-content: space-between;
    .leftTree {
      width: 15%;
      height: 96%;
      border: 1px solid white;
      height: 91%;
      border-radius: 5px;
      padding: 1%;
      max-height: 670px;
@@ -642,8 +747,8 @@
    }
    .right {
      width: 80%;
      height: 96%;
      border: 1px solid white;
      height: 91%;
      border-radius: 5px;
      padding: 1%;
      max-height: 670px;
@@ -676,176 +781,6 @@
        }
      }
    }
  }
  .infoBox {
    width: 500px;
    position: absolute;
    z-index: 100;
    top: 15%;
    right: 25%;
    color: white;
    background-color: #303030;
    .el-card {
      background-color: transparent;
      color: white;
      span {
        font-size: 16px;
        font-weight: 600;
        color: white;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 500px;
      overflow: auto;
      color: white;
      overflow-y: auto;
      p {
        color: white;
        font-size: 14px;
      }
    }
  }
  .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;
    }
  }
  /deep/.el-form-item__label {
    color: white;
  }
  // 设置输入框的背景色、字体颜色、边框属性设置;
  /deep/.el-input__inner {
    background-color: transparent !important ;
    color: #fff;
    border: 1px solid;
  }
  /*修改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-dialog {
    width: 620px !important;
    margin-top: 10vh !important;
  }
  /deep/ .el-select .el-input__inner {
    border-color: #fff !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: 600px;
    display: flex;
    margin: 0 auto;
    justify-content: center;
  }
  .primary {
    background: #409eff;
    border: #409eff;
    color: white;
  }
  /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;
  }
}
</style>