管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-03-18 801f2d76b4b6f41247ebe33da59a0981c08bf63b
src/views/datamanage/uploadmanage.vue
@@ -37,7 +37,7 @@
        class="demo-form-inline"
      >
        <!-- 单位 -->
        <el-form-item>
        <el-form-item v-if="active == 'first'">
          <el-select
            size="small"
            v-model="formInline.depid"
@@ -58,7 +58,7 @@
          </el-select>
        </el-form-item>
        <!-- 目录 -->
        <el-form-item>
        <el-form-item v-if="active == 'first'">
          <el-select
            size="small"
            v-model="formInline.dirid"
@@ -79,7 +79,7 @@
          </el-select>
        </el-form-item>
        <!-- 版本 -->
        <el-form-item>
        <el-form-item v-if="active == 'first'">
          <el-select
            size="small"
            v-model="formInline.verid"
@@ -94,7 +94,7 @@
          </el-select>
        </el-form-item>
        <!-- 类型 -->
        <el-form-item>
        <el-form-item v-if="active == 'first'">
          <el-select
            size="small"
            v-model="formInline.type"
@@ -128,6 +128,13 @@
            size="small"
            icon="el-icon-s-promotion"
          >{{$t('common.publish')}}</el-button>
          <!-- 刪除 -->
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            @click="setPageDelete"
          >{{$t('common.delete')}}</el-button>
          <!-- 重置 -->
          <el-button
            type="info"
@@ -169,6 +176,7 @@
            align="center"
          />
          <el-table-column
            v-if="active == 'first'"
            prop="sizes"
            :label="$t('dataManage.vmobj.size')"
            :formatter="stateFormatSizes"
@@ -191,30 +199,57 @@
            align="center"
          />
          <el-table-column
            prop="layer"
            prop="url"
            :label="$t('common.publishAddress')"
            align="center"
          />
          <el-table-column
            v-if="active == 'first'"
            prop="uname"
            :label="$t('common.releaseTime')"
            :label="$t('common.rublisher')"
            align="center"
            :key="Math.random()"
          />
          <el-table-column
            v-if="active != 'first'"
            prop="createName"
            :label="$t('common.rublisher')"
            align="center"
            :key="Math.random()"
          />
          <el-table-column
            prop="createTime"
            :label="$t('common.rublisher')"
            :formatter="formatData"
            :label="$t('common.releaseTime')"
            align="center"
          />
          <el-table-column
            min-width="150"
            :label="$t('common.operate')"
          >
            <template slot-scope="scope">
              <el-button
                v-if="scope.row.layer"
                v-if="scope.row.url"
                size="small"
                type="success"
                plain
                @click="setPreviewLayer(scope.row)"
              >{{$t('common.preview')}}
              </el-button>
              <el-button
                v-if="scope.row.url"
                size="small"
                type="warning"
                plain
                @click="setPreviewLayer(scope.row)"
              >{{$t('common.preview')}}
              </el-button>
              <el-button
                v-if="scope.row.url"
                size="small"
                type="info"
                plain
                @click="setPreviewLayer(scope.row)"
              >{{$t('common.preview')}}
@@ -232,7 +267,7 @@
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="listData.pageIndex"
          :page-sizes="[100, 200, 500, 1000]"
          :page-sizes="showPageSize"
          :page-size="listData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="listData.count"
@@ -259,7 +294,14 @@
<script>
import mapview from '../../components/preview_map.vue'
import MyBread from "../../components/MyBread.vue"
import { selectdepTab, selectdirTab, meta_selectVerByDirid, publish_selectMetasByPage } from '../../api/api.js'
import {
  selectdepTab,
  selectdirTab,
  meta_selectVerByDirid,
  publish_selectMetasByPage,
  publish_selectByPage,
  publish_deletes
} from '../../api/api.js'
export default {
  components: { MyBread, mapview },
@@ -307,23 +349,43 @@
      },
      dialogVisible: false,
      showMapView: false,
      showPageSize: [],
    }
  },
  methods: {
    async setPageDelete() {
      if (this.multipleSelection.length == 0) {
        return this.$message.error("请选择要删除的数据")
      } else {
        var std = [];
        for (var i in this.multipleSelection) {
          std.push(this.multipleSelection[i].id);
        }
        const data = await publish_deletes(std);
        if (data.code != 200) {
          this.$message.error("单位列表获取失败")
          return
        } else {
          this.$message({
            message: '删除成功',
            type: 'success'
          });
          this.getTableData();
        }
      }
    },
    //预览弹窗打开
    setPreviewLayer(res) {
      this.$store.state.previewLayer = res;
      this.dialogVisible = true;
      this.showMapView = true;
    },
    //预览弹窗关闭
    handleClose() {
      this.dialogVisible = false;
      this.showMapView = false;
    },
    // 获取多选选中的对象
@@ -392,11 +454,22 @@
        name: "",
        type: ""
      }
      this.listData = {
        pageIndex: 1,
        pageSize: 100,
        count: 0
      if (this.active == "first") {
        this.listData = {
          pageIndex: 1,
          pageSize: 100,
          count: 0
        }
        this.showPageSize = [100, 200, 500, 1000]
      } else {
        this.listData = {
          pageIndex: 1,
          pageSize: 10,
          count: 0
        }
        this.showPageSize = [10, 20, 50, 100]
      }
      this.formInline.type = this.typeOption[0].value;
      this.getDepTreeList();
      this.getDirTreeList();
@@ -449,27 +522,61 @@
    },
    //获取Table表格数据
    async getTableData() {
      this.listData.depcode = this.formInline.depid;
      this.listData.dircode = this.formInline.dirid;
      this.listData.name = this.formInline.name;
      this.listData.type = this.formInline.type;
      this.listData.verid = this.formInline.verid;
      const data = await publish_selectMetasByPage(this.listData)
      if (data.code != 200) {
      this.tableData = [];
      this.listData.count = 0;
      if (this.active == "first") {
        this.listData.depcode = this.formInline.depid;
        this.listData.dircode = this.formInline.dirid;
        this.listData.name = this.formInline.name;
        this.listData.type = this.formInline.type;
        this.listData.verid = this.formInline.verid;
        const data = await publish_selectMetasByPage(this.listData)
        if (data.code != 200) {
        }
        if (data.result) {
          var that = this
          var val = data.result.filter((res) => {
            if (res.createTime) {
              res.createTime = that.format(res.createTime);
            }
            if (res.url) {
              res.url = res.url.replace("{host}", iisHost);
            }
            return res
          })
          this.tableData = val;
          this.listData.count = data.count;
        }
      }
      var that = this
      var val = data.result.filter((res) => {
        if (res.createTime) {
          res.createTime = that.format(res.createTime);
      else {
        if (this.formInline.name) {
          this.listData.name = this.formInline.name
        }
        if (res.layer) {
          res.layer = res.layer.replace("{host}", iisHost);
        const data = await publish_selectByPage(this.listData);
        debugger
        if (data.result) {
          var that = this
          var val = data.result.filter((res) => {
            if (res.createTime) {
              res.createTime = that.format(res.createTime);
            }
            if (res.url) {
              res.url = res.url.replace("{host}", iisHost);
            }
            return res
          })
          this.tableData = val;
          this.listData.count = data.count;
        }
        return res
      })
      this.tableData = val;
      this.listData.count = data.count;
      }
    },
    //格式化时间
    format(shijianchuo) {