管道基础大数据平台系统开发-【前端】-新系統界面
liupengpeng
2023-02-15 449e7237c6a575fdfd8393187f2ffcaffb000801
src/views/datamanage/dictionaryManage.vue
@@ -1,61 +1,78 @@
<template>
  <div class="dictionaryBox">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.dictionaryManage')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div>
      <el-form :inline="true" :model="formInline" class="demo-form-inline">
        <el-form-item :label="$t('dataManage.vmobj.keyword')">
      <el-form
        :inline="true"
        :model="formInline"
        class="demo-form-inline"
      >
        <el-form-item :label="$t('dataManage.dictionaryManageObj.tableName')">
          <el-input
            v-model="formInline.tab"
            :placeholder="$t('common.pleaseInput')"
            style="width:200px"
          ></el-input>
        </el-form-item>
        <el-form-item>
        <el-form-item style="float:right">
          <el-button
            icon="el-icon-search"
            @click="getSelectDictTab"
            class="primary"
            >{{ $t('common.iquery') }}</el-button
          >
          <el-button
            icon="el-icon-refresh"
            @click="getRemoveForm"
            type="info"
            >{{ $t('common.reset') }}</el-button
          >
          <el-button
            v-if="btnStatus.insert"
            icon="el-icon-edit"
            size="small"
            @click="InsertFormdialog = true"
            type="success"
            >{{ $t('common.append') }}</el-button
          >
          <el-button icon="el-icon-delete" @click="DelFormData" type="danger">{{
          >{{ $t('common.append') }}</el-button>
          <el-button
            v-if="btnStatus.delete"
            icon="el-icon-delete"
            size="small"
            @click="DelFormData"
            type="danger"
          >{{
            $t('common.delete')
          }}</el-button>
          <el-button
            icon="el-icon-search"
            size="small"
            @click="getSelectDictTab"
            class="primary"
          >{{ $t('common.iquery') }}</el-button>
          <el-button
            icon="el-icon-refresh"
            size="small"
            @click="getRemoveForm"
            type="info"
          >{{ $t('common.reset') }}</el-button>
        </el-form-item>
      </el-form>
    </div>
    <div class="dictionaryContent">
      <div class="dictionary_leftTree">
      <div class="dictionary_leftTree subpage_Div">
        <ul>
          <li @click="getTableDesc(item)" v-for="item in optionCount">
            {{ item.tabDesc }}({{ item.tab }})
          <li
            @click="getTableDesc(item)"
            v-for="item in optionCount"
            :class="{ active: activeName == item.tab }"
          >
            {{ item.tabDesc }}
          </li>
        </ul>
      </div>
      <div class="dictionary_rightContent">
      <div class="dictionary_rightContent subpage_Div">
        <el-table
          :data="tableData"
          style="width: 100%"
          @selection-change="handleSelectionChange"
          height="93%"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column
            type="selection"
            width="55"
          />
          <el-table-column
            prop="orderNum"
            :label="$t('dataManage.dictionaryManageObj.number')"
@@ -125,25 +142,25 @@
            <template slot-scope="scope">
              <el-link
                v-if="btnStatus.select"
                style="color: white"
                @click="showDetail(scope.$index, scope.row)"
                >{{ $t('dataManage.dictionaryManageObj.lookOver') }}</el-link
              >
              >{{ $t('dataManage.dictionaryManageObj.lookOver') }}</el-link>
              <el-link
                v-if="btnStatus.update"
                @click="handleEdit(scope.$index, scope.row)"
                style="margin-left: 10px; color: white"
                >{{ $t('dataManage.dictionaryManageObj.revamp') }}</el-link
              >
                style="margin-left: 10px;  "
              >{{ $t('dataManage.dictionaryManageObj.revamp') }}</el-link>
            </template>
          </el-table-column>
        </el-table>
        <div class="pagination_box" style="margin-top: 10px">
        <div
          class="pagination_box"
          style="margin-top: 10px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 20, 30, 40]"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count"
@@ -152,90 +169,100 @@
        </div>
      </div>
    </div>
    <div class="infoBox" v-show="showinfoBox">
      <el-card class="box-card">
        <div slot="header" class="clearfix">
          <span>{{ $t('dataManage.dictionaryManageObj.particulars') }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial">
            <i class="el-icon-close"></i>
          </div>
    <div
      class="infoBox box_div "
      v-show="showinfoBox"
    >
      <div
        slot="header"
        class="clearfix"
      >
        <span>{{ $t('dataManage.dictionaryManageObj.particulars') }}</span>
        <div
          style="float: right; cursor: pointer"
          @click="closeDetial"
        >
          <i class="el-icon-close"></i>
        </div>
        <div class="contentBox">
          <p>
            {{ $t('dataManage.dictionaryManageObj.tableName') }}:{{
      </div>
      <el-divider></el-divider>
      <div class="contentBox">
        <p>
          {{ $t('dataManage.dictionaryManageObj.tableName') }}:{{
              itemdetail.tab
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.tableAliasName') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.tableAliasName') }}:{{
              itemdetail.tabDesc
            }}
          </p>
          <el-divider></el-divider>
        </p>
        <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.fieldName') }}:{{
        <p>
          {{ $t('dataManage.dictionaryManageObj.fieldName') }}:{{
              itemdetail.field
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.fieldAliasName') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.fieldAliasName') }}:{{
              itemdetail.alias
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.fieldType') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.fieldType') }}:{{
              itemdetail.type
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.fieldLength') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.fieldLength') }}:{{
              itemdetail.len
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.FieldPrecision') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.FieldPrecision') }}:{{
              itemdetail.precision
            }}
          </p>
          <el-divider></el-divider>
        </p>
        <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.remark') }}:{{
        <p>
          {{ $t('dataManage.dictionaryManageObj.remark') }}:{{
              itemdetail.bak
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.creationTime') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.creationTime') }}:{{
              itemdetail.createTime
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.createPersonnel') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.createPersonnel') }}:{{
              itemdetail.createUser
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.updateTime') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.updateTime') }}:{{
              itemdetail.updateTime
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.dictionaryManageObj.updatePersonnel') }}:{{
        </p>
        <el-divider></el-divider>
        <p>
          {{ $t('dataManage.dictionaryManageObj.updatePersonnel') }}:{{
              itemdetail.updateUser
            }}
          </p>
        </div>
      </el-card>
        </p>
      </div>
    </div>
    <el-dialog
      top="3vh"
@@ -248,64 +275,102 @@
          :label="$t('dataManage.dictionaryManageObj.number')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.orderNum" autocomplete="off"></el-input>
          <el-input
            v-model="upform.orderNum"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.tableName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.tab" autocomplete="off"></el-input>
          <el-input
            v-model="upform.tab"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.tableAliasName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.tabDesc" autocomplete="off"></el-input>
          <el-input
            v-model="upform.tabDesc"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.field" autocomplete="off"></el-input>
          <el-input
            v-model="upform.field"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldAliasName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.alias" autocomplete="off"></el-input>
          <el-input
            v-model="upform.alias"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldType')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.type" autocomplete="off"></el-input>
          <el-input
            v-model="upform.type"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldLength')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.len" autocomplete="off"></el-input>
          <el-input
            v-model="upform.len"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.FieldPrecision')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.precision" autocomplete="off"></el-input>
          <el-input
            v-model="upform.precision"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.remark')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.bak" autocomplete="off"></el-input>
          <el-input
            v-model="upform.bak"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="info"
          size="small"
          @click="dialogFormVisible = false"
        >{{
          $t('dataManage.dictionaryManageObj.cancel')
        }}</el-button>
        <el-button type="primary" @click="updateForm">{{
        <el-button
          class="primary"
          size="small"
          @click="updateForm"
        >{{
          $t('dataManage.dictionaryManageObj.confirm')
        }}</el-button>
      </div>
@@ -321,44 +386,65 @@
          :label="$t('dataManage.dictionaryManageObj.number')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.orderNum" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.orderNum"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.tableName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.tab" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.tab"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.tableAliasName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.tabDesc" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.tabDesc"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.field" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.field"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldAliasName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.alias" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.alias"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldType')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.type" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.type"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.fieldLength')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.len" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.len"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.dictionaryManageObj.FieldPrecision')"
@@ -374,14 +460,28 @@
          :label="$t('dataManage.dictionaryManageObj.remark')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.bak" autocomplete="off"></el-input>
          <el-input
            v-model="insertform.bak"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="InsertFormdialog = false">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="info"
          size="small"
          @click="InsertFormdialog = false"
        >{{
          $t('dataManage.dictionaryManageObj.cancel')
        }}</el-button>
        <el-button type="primary" @click="insertFromData">{{
        <el-button
          type="primary"
          size="small"
          @click="insertFromData"
        >{{
          $t('dataManage.dictionaryManageObj.confirm')
        }}</el-button>
      </div>
@@ -403,6 +503,7 @@
  components: { MyBread },
  data() {
    return {
      activeName: '',
      formInline: [],
      listData: {
        ns: '',
@@ -443,6 +544,7 @@
      if (data.code != 200) {
      }
      this.InsertFormdialog = false;
      this.insertform = {};
      this.startQueryNameData();
    },
@@ -459,7 +561,8 @@
    getTableDesc(res) {
      this.insertform.tab = res.tab;
      this.insertform.tabDesc = res.tabDesc;
      this.insertform.ns = res.ns;
      this.activeName = res.tab;
      this.listData.tab = res.tab;
      this.listData.ns = res.ns;
      this.startQueryNameData();
@@ -506,20 +609,34 @@
      this.upform = row;
    },
    //删除列表
    async DelFormData() {
    DelFormData() {
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
      const data = await deleteDicts({ ids: std.toString() });
      if (data.code != 200) {
        this.$message.error('删除失败');
      }
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      this.startQueryNameData();
      this.$confirm('此操作将永久删除该字段, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(async () => {
          const data = await deleteDicts({ ids: std.toString() });
          if (data.code != 200) {
            this.$message.error('删除失败');
          }
          this.listData.pageIndex = 1;
          this.listData.pageSize = 10;
          this.startQueryNameData();
          this.$message({
            type: 'success',
            message: '删除成功!'
          });
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          });
        });
    },
    showPermsBtn() {
@@ -563,7 +680,15 @@
      if (data.code != 200) {
        this.$message.error('下拉调用失败');
      }
      this.optionCount = data.result;
      this.insertform.tab = data.result[0].tab;
      this.insertform.tabDesc = data.result[0].tabDesc;
      this.insertform.ns = data.result[0].ns;
      this.listData.tab = data.result[0].tab;
      this.listData.ns = data.result[0].ns;
      this.activeName = data.result[0].tab;
      this.startQueryNameData();
    },
  },
};
@@ -571,10 +696,9 @@
<style lang="less" scoped>
//@import url(); 引入公共css类
.dictionaryBox {
  height: 81%;
  width: 97%;
  position: absolute;
  box-sizing: border-box;
  height: 98%;
  width: 98%;
  padding: 1%;
  .dictionaryContent {
    width: 100%;
    height: 92%;
@@ -582,26 +706,28 @@
    justify-content: space-between;
    .dictionary_leftTree {
      width: 15%;
      height: 85%;
      border: 1px solid white;
      height: 80%;
      border-radius: 5px;
      padding: 1%;
      max-height: 670px;
      overflow-y: auto;
      li {
        color: white;
        border-bottom: 1px solid white;
        border-bottom: 1px solid #dcdfe6;
        line-height: 30px;
        text-align: center;
      }
      li:hover {
        background: rgba(255, 255, 255, 0.3);
      }
      .active {
        color: #409eff;
      }
    }
    .dictionary_rightContent {
      width: 80%;
      height: 85%;
      border: 1px solid white;
      height: 80%;
      border-radius: 5px;
      padding: 1%;
      overflow-y: auto;
@@ -609,7 +735,7 @@
  }
  .infinite-list-item {
    background: rgba(255, 255, 255, 0.3);
    color: white;
    margin-top: 5%;
    padding: 1%;
    text-align: center;
@@ -617,158 +743,6 @@
  .eldivider {
    margin-top: 0px;
    margin-bottom: 10px;
  }
  .primary {
    background: #409eff;
    border: #409eff;
    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;
    }
  }
  .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;
    }
  }
  .infoBox {
    width: 500px;
    position: absolute;
    z-index: 100;
    background: #303030;
    top: 15%;
    right: 25%;
    .el-card {
      color: white;
      background-color: transparent;
      span {
        font-size: 16px;
        font-weight: 600;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 500px;
      overflow: auto;
      p {
        font-size: 14px;
      }
    }
  }
  /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;
  }
  /deep/.el-cascader .el-input__inner {
    border-color: #fff !important;
  }
}
</style>