管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-02-10 03e5e6dbf617b3557936b7ba80c625beea7f48af
src/views/Archive/index.vue
@@ -1,41 +1,44 @@
<template>
  <div class="archive box_div">
  <div
    class="archive box_div"
    v-loading="loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
  >
    <div class="top_header">
      <div class="top_left">
        <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread>
      </div>
    </div>
    <div class="box_item ">
        <div class="box_left">资料类别</div>
        <div class="box_cont">
          <div v-if="isShowFirstCheck">
            <el-checkbox-group v-model="checkedDataType">
              <el-checkbox
                @change="handleCheckedDataTypeChange(item)"
                v-for="(item, index)  in showList"
                :label="item.name"
                :key="index"
              >{{item.name}}</el-checkbox>
            </el-checkbox-group>
          </div>
          <div
            v-if="!isShowFirstCheck"
            class="menu_div"
            v-for="(item, index) in showList"
            :key="index"
            @click="changeListDataType(item)"
          >
      <div class="box_left">资料类别</div>
      <div class="box_cont">
            <div
              :class="{menuActive:dataTypeName == item.name}"
              style="margin-left: 5px"
            >{{ item.name }}</div>
          </div>
        <div v-if="isShowFirstCheck">
          <el-checkbox-group v-model="checkedDataType">
            <el-checkbox
              @change="handleCheckedDataTypeChange(item)"
              v-for="(item, index)  in showList"
              :label="item.name"
              :key="index"
            >{{item.name}}</el-checkbox>
          </el-checkbox-group>
        </div>
        <div
          v-if="!isShowFirstCheck"
          class="menu_div"
          v-for="(item, index) in showList"
          :key="index"
          @click="changeListDataType(item)"
        >
          <div
            :class="{menuActive:dataTypeName == item.name}"
            style="margin-left: 5px"
          >{{ item.name }}</div>
        </div>
      </div>
      <div class="box_right">
        <div
          class="menu_div subpage_Div"
@@ -265,14 +268,16 @@
      :title="dialogtitle"
      :visible.sync="dialogVisible"
      width="90%"
      top="5vh"
      top="10vh"
      :modal="false"
      style="z-index:999"
      :before-close="handleClose"
    >
      <!-- 条件-->
      <el-dialog
        width="37%"
        :visible.sync="conditionVisible"
        append-to-body
        :modal="false"
        title="查询条件"
        :before-close="handleconditionClose"
      >
@@ -283,6 +288,7 @@
        >
          <el-form-item>
            <el-select
              :popper-append-to-body="false"
              @change="fieldChange($event)"
              v-model="formSql.field"
            >
@@ -296,7 +302,10 @@
            </el-select>
          </el-form-item>
          <el-form-item>
            <el-select v-model="formSql.condition">
            <el-select
              :popper-append-to-body="false"
              v-model="formSql.condition"
            >
              <el-option
                v-for="item in condOption"
                :key="item.value"
@@ -334,7 +343,6 @@
      <el-dialog
        width="30%"
        :visible.sync="innerVisible"
        append-to-body
      >
        <div class="contentBox">
          <ul>
@@ -352,7 +360,7 @@
      <el-dialog
        width="30%"
        :visible.sync="outerVisible"
        append-to-body
        :modal="false"
      >
        <el-form
          :model="fromfile"
@@ -427,7 +435,7 @@
            </el-table>
          </el-form-item>
          <el-form-item>
          <!-- <el-form-item>
            <el-row :gutter="20">
              <el-col
@@ -444,6 +452,56 @@
                >取消</el-button>
              </el-col>
            </el-row>
          </el-form-item> -->
        </el-form>
      </el-dialog>
      <el-dialog
        :title="$t('common.passworld')"
        :visible.sync="downloadLogVisible"
        width="30%"
        top="10vh"
        :modal="false"
        :show-close="false"
        :before-close="handleCloseDown"
      >
        <el-form
          :model="codeForm"
          :rules="rules"
          ref="codeForm"
          label-width="100px"
          class="codeForm"
        >
          <el-form-item
            :label="$t('common.passworld')"
            prop="password"
          >
            <el-input
              type="password"
              v-model="codeForm.password"
              show-password
            ></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('common.SPassword')"
            prop="repassword"
          >
            <el-input
              type="password"
              v-model="codeForm.repassword"
              show-password
            ></el-input>
          </el-form-item>
          <el-form-item>
            <el-button
              class="primary"
              size="small"
              @click="download1('codeForm')"
            >{{$t('common.confirm')}}</el-button>
            <el-button
              type="info"
              size="small"
              @click="closeDown1('codeForm')"
            >{{$t('common.cancel')}}</el-button>
          </el-form-item>
        </el-form>
      </el-dialog>
@@ -487,6 +545,13 @@
              icon="el-icon-search"
            >{{$t('common.reset')}}</el-button>
          </el-form-item>
          <el-form-item>
            <el-button
              type="info"
              @click="downloadForm()"
              icon="el-icon-download"
            >{{$t('common.download')}}</el-button>
          </el-form-item>
        </el-form>
        <el-divider class="eldivider" />
        <div style="width:100%;height:400px;">
@@ -520,7 +585,7 @@
            ></el-table-column>
            <el-table-column
              v-if="isMenuActive"
              min-width="80"
              min-width="120"
              align="center"
              :label="$t('common.operate')"
            >
@@ -874,6 +939,8 @@
      }
    };
    return {
      loading: false,
      downloadLogVisible: false,
      downloadListVisible: false,
      data_type: [],
      project_name: [],
@@ -1025,12 +1092,67 @@
    },
  },
  methods: {
    downloadMap(index, rows) {
      //     var token = '?token=' + getToken();
      //
      //  var url = BASE_URL + '/dataLib/downloadFile' + token + '&guid=' + rows.guid+ '&pwd='+  rows.pwd
      var token = getToken()
    handleCloseDown() {
    },
    download1() {
      if (this.codeForm.password == '' || this.codeForm.repassword == '') {
        return this.$message.error('密码不能为空');
      }
      if (this.codeForm.password != this.codeForm.repassword) {
        return;
      }
      var passwordreg =
        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
      if (!passwordreg.test(this.codeForm.password)) {
        return;
      }
      this.downloadLogVisible = false;
      var obj = {
        entities: [this.listTypeData.name], // bpachydrogeology,bhydrogeologyattach
        filter: this.listTypeData.filter,
        pwd: encrypt.encrypt(this.codeForm.password)
      };
      this.loading = true;
      var that = this;
      $.ajax({
        url: BASE_URL + "/dataLib/downloadEntityReq?token=" + getToken(),
        type: "POST",
        data: JSON.stringify(obj),
        dataType: 'json', // html、json、jsonp、script、text
        contentType: "application/json", // "application/x-www-form-urlencoded"
        success: (data) => {
          if (data.code == 200) {
            that.downloadflie(data, this.codeForm.password)
          }
        },
        error: function (e) {
        }
      });
    },
    downloadflie(data, pwd) {
      this.codeForm = {
        password: '',
        repassword: '',
      }
      var token = getToken()
      var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + encrypt.encrypt(pwd);
      $("#downFrame").attr("src", url).click();
      this.loading = false;
    },
    closeDown1() {
      this.codeForm = {
        password: '',
        repassword: '',
      }
      this.downloadLogVisible = false;
    },
    downloadForm() {
      this.downloadLogVisible = true;
    },
    downloadMap(index, rows) {
      var token = getToken()
      var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + rows.guid + "&pwd=" + rows.pwd;
      $("#downFrame").attr("src", url).click();
    },
@@ -1062,7 +1184,7 @@
      }
      this.downloadTableData = data.result;
      console.log(this.downloadTableData, data.result.length, this.downloadPage)
      this.downloadPage.count = data.count;
    },
    handleCheckedEntryNameChange(res) {
@@ -1434,6 +1556,7 @@
      this.getCollapseTable(this.filedsLayer);
    },
    async showDetail2(res) {
      var val = res.tab.split(".");
      const data = await dataLib_selectTabFields({
@@ -1948,7 +2071,7 @@
    width: calc(100% - 60px);
    height: auto;
    margin: 5px 30px;
    padding-bottom:5px ;
    padding-bottom: 5px;
    border-bottom: 1px solid #dcdfe6;
    align-items: center;
    display: flex;
@@ -2067,14 +2190,8 @@
    border-radius: 10px;
  }
}
.contentBox {
  height: 60vh;
  overflow: auto;
}
.downloadBox {
  z-index: 999;
  /deeep/.el-form-item {
    margin-bottom: 0px;
  }
}
</style>