管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2022-12-30 a55625f79b5bea88a04dc5cebf264a61cd594547
管道分析,IE判斷,上传Loading
已添加3个文件
已修改10个文件
1872 ■■■■ 文件已修改
public/LfSKyline/imgs/Edge设置.png 补丁 | 查看 | 原始文档 | blame | 历史
public/LfSKyline/index.html 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/LfSKyline/js/detect.js 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/LfSKyline/js/index.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/config/config.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/LeftMenu.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/index.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/pipeLineAnaly.vue 863 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/queryinfo.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataLoader.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 725 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/LfSKyline/imgs/EdgeÉèÖÃ.png
public/LfSKyline/index.html
@@ -21,12 +21,38 @@
        }
        document.writeln("<link href='./layui-v2.6.8/css/layui.css?" + new Date().getTime() + "' rel='stylesheet' \/>");
        document.writeln("<link href='./css/index.css?" + new Date().getTime() + "' rel='stylesheet' \/>");
        document.writeln("<script src='./js/detect.js?" + new Date().getTime() + "'><\/script>");
        document.writeln("<script src='./js/index.js?" + new Date().getTime() + "'><\/script>");
    </script>
</head>
<body>
    <div class="mapView">
    <div id="download" style="display: none;">
        <p>
          <b style="font-size: 24px;">三维软件安装使用说明:</b>
        </p>
        <p>
          è¯´æ˜Ž1:如果您无法正确地看到三维地图,请下载  <a href="http://192.168.20.39/LFData/soft/TEv7.4.zip" class="a">TE v7.4.zip</a> å®‰è£…包。
        </p>
        <p>
          è¯´æ˜Ž2:安装时,请务必关闭浏览器后再安装!
        </p>
        <p>
          è¯´æ˜Ž3:当前仅支持含有 IE核心 çš„æµè§ˆå™¨ï¼Œå¦‚ IE、360、Edge æµè§ˆå™¨ã€‚
        </p>
        <p>
          è¯´æ˜Ž4:使用 360 æµè§ˆå™¨æ—¶ï¼Œè¯·åˆ‡æ¢è‡³å…¼å®¹æ¨¡å¼ã€‚
        </p>
        <p>
          è¯´æ˜Ž5:使用 Edge æµè§ˆå™¨æ—¶ï¼Œç‚¹å‡»å³ä¸Šè§’çš„ â€œ...” é€‰æ‹© â€œè®¾ç½®â€ï¼›<br />
          <span style="visibility: hidden;">说明5:</span>在左侧搜索里面输入:Internet;<br />
          <span style="visibility: hidden;">说明5:</span>点击 â€œInternet Explorer æ¨¡å¼ï¼ˆIE æ¨¡å¼ï¼‰æŒ‰é’®â€ï¼Œå°†å¼€å…³åˆ‡æ¢è‡³è“è‰²ï¼›<br />
          <span style="visibility: hidden;">说明5:</span>选择“让 Internet Explorer åœ¨ Microsoft Edge ä¸­æ‰“开网站”,切换至 â€œå§‹ç»ˆï¼ˆæŽ¨èï¼‰â€ï¼›<br />
          <span style="visibility: hidden;">说明5:</span>选择“允许 Internet Explorer æ¨¡å¼ä¸‹é‡æ–°åŠ è½½ç½‘ç«™ï¼ˆIE模式)”,切换至 â€œå…è®¸â€ã€‚<br />
          <span style="visibility: hidden;">说明5:</span><img src="./imgs/Edge设置.png" style="width: 630px; height: 480px;" title="Edge设置" alt="Edge设置" />
        </p>
      </div>
    <div id="mapView" class="mapView">
        <div class="top">
            <div class="top_left">
                <div class="Logo">
public/LfSKyline/js/detect.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
var Detect = {
    ieVer: 9.0,
    teVer: 7.4,
    sgVer: "66",
    detectIE: function () {
        var isIE = !!window.ActiveXObject || "ActiveXObject" in window;
        if (!isIE) {
            alert("请使用含有 IE核心 çš„æµè§ˆå™¨ï¼");
            return false;
        }
        var ieVer = this.getIEVer();
        if (ieVer < this.ieVer) {
            alert("请使用 IE " + this.ieVer + " æˆ– æ›´é«˜ç‰ˆæœ¬ï¼");
            return false;
        }
        var flag = this.detectTE();
        if (!flag) {
            return false;
        }
        return true;
    },
    getIEVer: function () {
        var agent = window.navigator.userAgent.toLowerCase();
        var msie = agent.indexOf("msie ");
        if (msie > -1) {
            return parseFloat(agent.substring(msie + 5, agent.indexOf(";", msie)));
        }
        return 11;
    },
    detectTE: function () {
        try {
            var sg = this.getSG();
            if (sg == null) {
                return false;
            }
            //var test = new ActiveXObject("TEDetect.TETest"); if (!test || test.Type == "NA") return false;
            var ver = parseFloat(sg.Version.Major + "." + sg.Version.Minor);
            if (ver < this.teVer) {
                alert("请使用 Skyline Globe " + this.teVer + " æˆ– æ›´é«˜ç‰ˆæœ¬ï¼");
                return false;
            }
            if (ver >= 7.4) {
                this.sgVer = "74";
            } else if (ver >= 7.1) {
                this.sgVer = "71";
            } else if (ver >= 7) {
                this.sgVer = "70";
            } else {
                this.sgVer = "66";
            }
            return true;
        } catch (e) {
            console.error(e);
        }
        return false;
    },
    getSG: function () {
        return TEWinEx.CreateInstance("TerraExplorerX.SGWorld" + this.sgVer);
    }
};
public/LfSKyline/js/index.js
@@ -4,7 +4,17 @@
    treePlay: 'PS\\全国管网专题图展示',
    objTypes: [19, 23, 26, 29, 34, 36, 38, 39, 40],
    init: function () {
        var flag = Detect.detectIE();
        if (!flag) {
            this.showDownload();
            return;
        }
        this.initSG();
    },
    // æ˜¾ç¤ºä¸‹è½½
    showDownload: function () {
        $("#mapView").hide();
        $("#download").show();
    },
    initSG: function () {
        SG = TEWinEx.CreateInstance("TerraExplorerX.SGWorld74"); // SGWorld74,SGWorld71,SGWorld66
@@ -17,9 +27,9 @@
        Index.getLayers("", layers);
        Index.ininTrees("layers", layers);
        // Index.flyToStart();
    },
    getLayers: function (pid, layers) {
        var next = SG.ProjectTree.GetNextItem(pid, 11);
        while (next) {
@@ -79,7 +89,7 @@
                SG.Command.Execute(1028, null)
                break;
            case 2:
                SG.Command.Execute(2314,0);
                SG.Command.Execute(2314, 0);
                break;
            case 3:
                var model_ID = SG.ProjectTree.FindItem(this.treePlay);
public/config/config.js
@@ -1,14 +1,17 @@
const BASE_URL = 'http://192.168.20.39:12316/server';
var ipConfig = '192.168.20.39';
const BASE_URL = 'http://"' + ipConfig + '":12316/server';
//webSocket æœåŠ¡åœ°å€
var socketUrl = 'ws://192.168.20.39:12316/server/ws/select';
var socketUrl = 'ws://' + ipConfig + ':12316/server/ws/select';
//数据库监控地址
var sql_Url = 'http://192.168.20.39:8081/admin/druid/sql.html';
var sql_Url = 'http://' + ipConfig + ':8081/admin/druid/sql.html';
//路径分析地址
var wnsUrl = 'http://192.168.20.39:9055/gisserver/wnsserver/beijingdaohang_wns';
var wnsUrl = 'http://' + ipConfig + ':9055/gisserver/wnsserver/beijingdaohang_wns';
//gisserver
var gisServerUrl = 'http://192.168.20.39:9055/gisserver';
var gisServerUrl = 'http://' + ipConfig + ':9055/gisserver';
//geoServerUrl
var geoserver = 'http://192.168.20.39:8088';
var geoserver = 'http://' + ipConfig + ':8088';
var geoServerURl = geoserver + '/geoserver/LF/wms';
var geoserverWFS =
  geoserver +
@@ -17,17 +20,17 @@
  geoserver +
  '/geoserver/LF/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=LF%3Am_pipeline&maxFeatures=50&outputFormat=application%2Fjson&cql_filter=projname=';
//模型加载地址
var modelUrl = 'http://192.168.20.39/LFData/tileset/SN/tileset.json';
var modelUrl = 'http://' + ipConfig + '/LFData/tileset/SN/tileset.json';
//DEM
var demLayer = 'http://192.168.20.39/LFData/dem'
var demLayer = 'http://' + ipConfig + '/LFData/dem'
//综合展示
window.sceneConfig = {
  // sdk许可
  licenseServer: 'http://192.168.20.39/LFServer',
  licenseServer: 'http://' + ipConfig + '/LFServer',
  // æœåŠ¡åœ°å€
  baseURL: 'http://183.162.245.49:8888/',
  positionBtn: [],
};
var gaoDeBaseUrl = [
  {
src/api/api.js
@@ -698,6 +698,22 @@
  return request.get('/apply/updateForResubmit', { params: params });
}
//管道分析=》查询管段
export function pipelines_selectSegNames(params) {
  return request.get('/pipeline/selectSegNames', { params: params });
}
//管道分析=》查询管段
export function pipeline_selectPipeAnalysis(params) {
  return request.post('/pipeline/selectPipeAnalysis', params);
}
//管道分析=》请求管道分析结果下载
export function pipeline_downloadReq(params) {
  return request.post('/pipeline/downloadReq', params);
}
//请求站场点内容
export function querySitePoint(size, index, name) {
  return service.get(
src/store/index.js
@@ -47,6 +47,8 @@
    download: false,
    showAllLayers: true,
    primitLayer:null,
    loading:false,
    pipelineEntity:[],
  },
  mutations: {
    //获取权限合集
src/views/Synthesis/LeftMenu.vue
@@ -14,6 +14,7 @@
    </div>
    <mapinfo ref="mapinfo" />
    <maplayer ref="maplayer" />
    <queryinfo ref="queryinfo" />
    <input
      type="file"
      accept=".kml"
@@ -27,9 +28,9 @@
import { transform } from 'ol/proj';
import mapinfo from '../Tools/mapinfo.vue';
import maplayer from '../Tools/maplayer.vue';
import queryinfo from '../Tools/queryinfo.vue'
export default {
  components: { mapinfo, maplayer },
  components: { mapinfo, maplayer, queryinfo },
  data() {
    return {
      showTwoMenuFlag: false,
@@ -364,7 +365,7 @@
          sgworld.Creator.SimpleGraphic.edit(true, { editProp: true });
          this.setPlot(res.id);
          break;
      }
    },
    setPlot(res) {
@@ -760,6 +761,19 @@
            }
          );
          break;
        case 'd9':
          this.$store.state.mapPopBoxFlag = '3';
          this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("管道空间分析", null, {
            close: () => {
              if (this.$store.state.pipelineEntity.length != 0) {
                for (var i in this.$store.state.pipelineEntity) {
                  var item = this.$store.state.pipelineEntity[i]
                  sgworld.Viewer.entities.remove(item);
                }
              }
            }
          });
          break;
        case 'd8':
          if (this.isContrastFlag == false) {
            this.isContrastFlag = true;
@@ -793,6 +807,7 @@
            );
          }
          break;
        case 'd11':
          if (window.Excavation) {
            window.Excavation.clear();
src/views/Synthesis/index.vue
@@ -1,19 +1,34 @@
<template>
  <div class="synthesis">
  <div
    class="synthesis"
    v-loading="$store.state.loading"
    element-loading-spinner="el-icon-loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
  >
    <div class="lefIcon">
      <ul>
        <li
          v-for="item in showMenuList"
          :class="{ lefMenuActive: showMenuFlag == item.id }"
        >
          <div class="menuDiv" :title="item.name" @click="setMenuChange(item)">
            <div class="menuImage" :class="item.class"></div>
          <div
            class="menuDiv"
            :title="item.name"
            @click="setMenuChange(item)"
          >
            <div
              class="menuImage"
              :class="item.class"
            ></div>
          </div>
        </li>
      </ul>
    </div>
    <div class="rightContent">
      <div class="left_main" :class="{ left_main_show: !openStatus }">
      <div
        class="left_main"
        :class="{ left_main_show: !openStatus }"
      >
        <div class="right_Map">
          <left-menu></left-menu>
        </div>
@@ -109,7 +124,7 @@
    };
  },
  watch: {},
  created() {},
  created() { },
  methods: {
    //左侧菜单滑动显隐
    setMenuChange(res) {
@@ -212,44 +227,44 @@
      }
      .menu_img1 {
        background: url('../../assets/img/synthesis/系统菜单.png') no-repeat
        background: url("../../assets/img/synthesis/系统菜单.png") no-repeat
          center;
      }
      .menu_img2 {
        background: url('../../assets/img/synthesis/矩形 8 æ‹·è´ 2.png')
        background: url("../../assets/img/synthesis/矩形 8 æ‹·è´ 2.png")
          no-repeat center;
      }
      .menu_img3 {
        background: url('../../assets/img/synthesis/图层 6 æ‹·è´.png') no-repeat
        background: url("../../assets/img/synthesis/图层 6 æ‹·è´.png") no-repeat
          center;
      }
      .menu_img4 {
        background: url('../../assets/img/synthesis/图层 8 æ‹·è´ 2.png')
        background: url("../../assets/img/synthesis/图层 8 æ‹·è´ 2.png")
          no-repeat center;
      }
      .menu_img5 {
        background: url('../../assets/img/synthesis/矢量智能对象 æ‹·è´ 3.png')
        background: url("../../assets/img/synthesis/矢量智能对象 æ‹·è´ 3.png")
          no-repeat center;
      }
      .menu_img6 {
        background: url('../../assets/img/synthesis/图层 9 æ‹·è´ 4.png')
        background: url("../../assets/img/synthesis/图层 9 æ‹·è´ 4.png")
          no-repeat center;
      }
      .menu_img7 {
        background: url('../../assets/img/synthesis/图层 7 æ‹·è´ 5.png')
        background: url("../../assets/img/synthesis/图层 7 æ‹·è´ 5.png")
          no-repeat center;
      }
      .menu_img8 {
        background: url('../../assets/img/synthesis/图层 5 æ‹·è´ 6.png')
        background: url("../../assets/img/synthesis/图层 5 æ‹·è´ 6.png")
          no-repeat center;
      }
      .menu_img9 {
        background: url('../../assets/img/synthesis/矩形 8 æ‹·è´ 11.png')
        background: url("../../assets/img/synthesis/矩形 8 æ‹·è´ 11.png")
          no-repeat center;
      }
      .menu_img10{
        background: url('../../assets/img/synthesis/场景打开1.png')
          no-repeat center;
      .menu_img10 {
        background: url("../../assets/img/synthesis/场景打开1.png") no-repeat
          center;
      }
    }
    // li {
@@ -307,7 +322,7 @@
    .active {
      width: 100%;
      height: 100%;
      background: url('../../assets/img/Layer/imgLayer2.png') no-repeat center;
      background: url("../../assets/img/Layer/imgLayer2.png") no-repeat center;
      position: absolute;
      background-size: 100% 100%;
      border-radius: 5px;
@@ -315,11 +330,14 @@
    .menuLayer {
      width: 100%;
      height: 100%;
      background: url('../../assets/img/Layer/imgLayer1.png') no-repeat center;
      background: url("../../assets/img/Layer/imgLayer1.png") no-repeat center;
      position: absolute;
      background-size: 100% 100%;
      border-radius: 5px;
    }
  }
  /deep/.el-loading-spinner i{
    color: #1890FF;
  }
}
</style>
src/views/Tools/pipeLineAnaly.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,863 @@
<template>
  <div class="pipeLineBox">
    <div class="headerBox">
      <div class="elFrom">
        <el-form
          ref="form"
          :model="ruleFrom"
          label-width="120px"
        >
          <el-form-item label="管道中心线">
            <el-select
              @change="selectChange"
              v-model="ruleFrom.value1"
              placeholder="请选择"
            >
              <el-option
                v-for="item in options1"
                :key="item.gid"
                :label="item.pipeName"
                :value="item.pipeName"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="选取管道">
            <el-select
              @change="selectChange1"
              v-model="ruleFrom.value2"
              placeholder="请选择"
            >
              <el-option
                v-for="item in options2"
                :key="item.gid"
                :label="item.segName"
                :value="item.segName"
                gid
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-form>
      </div>
      <div style="display:flex">
        <div class="transBox">
          <label>基础数据图层</label>
          <div class="checkBox">
            <ul>
              <li
                @click="checkLeft(item)"
                :class="{checkhover:checkedLeftflag == item.id}"
                v-for='(item,index) in cities'
                :label="item.label"
                :key="item.id"
              >{{item.label}}</li>
            </ul>
          </div>
        </div>
        <div class="transInfo">
          <div>
            <el-link
              @click="setTransRight"
              :underline="false"
            ><i
                style="color:white"
                class="el-icon-d-arrow-right"
              ></i></el-link>
            <br />
            <el-link
              @click="setTransLeft"
              :underline="false"
            ><i
                style="color:white"
                class="el-icon-d-arrow-left"
              ></i></el-link>
          </div>
        </div>
        <div class="transBox">
          <label>分析图层</label>
          <div class="checkBox">
            <ul>
              <li
                @click="checkRight(item)"
                :class="{checkhover:checkedRightflag == item.id}"
                v-for='(item,index) in citiyData'
                :label="item.label"
                :key="item.id"
              >{{item.label}}</li>
            </ul>
          </div>
        </div>
      </div>
      <div class="sureButton">
        <div class="suerBox">
          <el-button
            @click="setAnalysis"
            size="small"
          >分析</el-button>
          <el-button
            @click="clearAnalysis"
            size="small"
          >取消</el-button>
        </div>
      </div>
    </div>
    <div class="contentBox">
      <div class="contentRight">
        <ul>
          <li
            @click="setlistChange(item)"
            :class="{checkhover:listflag == item.id}"
            v-for="item in listData"
          >{{item.label}}</li>
        </ul>
      </div>
      <div class="contentLeft">
        <div style="float:right;padding:2px">
          <el-button
            @click="showDialogVivable()"
            size="mini"
            type="info"
          >下载</el-button>
          <!-- <el-button
            size="mini"
            type="info"
          >整表下载</el-button> -->
          <!-- <el-button
            size="mini"
            type="info"
          >删除</el-button> -->
        </div>
        <el-table
          :data="tableData"
          style="width: 100%"
          height="70%"
        >
          <el-table-column
            align="center"
            type="index"
            :label="$t('operatManage.ELM.index')"
            width="70px"
          />
          <el-table-column
            label="定位"
            width="100"
            align="center"
          >
            <template slot-scope="scope">
              <el-button
                icon="el-icon-map-location"
                size="mini"
                @click="spaceLocation(scope.$index, scope.row)"
              ></el-button>
            </template>
          </el-table-column>
          <el-table-column
            prop="acrossName"
            label="被穿越地物名称"
            width="180"
          >
          </el-table-column>
          <el-table-column
            prop="acrossLength"
            label="穿越长度"
            width="100"
          >
          </el-table-column>
          <el-table-column
            prop="pipeName"
            label="管线名称"
            width="180"
          >
          </el-table-column>
          <el-table-column
            prop="segName"
            label="管段名称"
            width="180"
          >
          </el-table-column>
          <el-table-column
            prop="remarks"
            label="备注"
            width="100"
          >
          </el-table-column>
        </el-table>
        <div
          class="pagination_box"
          style="margin-top:10px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="pageData.pageIndex"
            :page-sizes="[10, 20, 30, 40]"
            :page-size="pageData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="pageData.pageCount"
          >
          </el-pagination>
        </div>
      </div>
    </div>
    <el-dialog
      :title="$t('common.passworld')"
      :visible.sync="dialogVisible"
      width="30%"
      :before-close="handleClose"
      :modal="false"
      :show-close="false"
    >
      <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="download "
          >{{$t('common.confirm')}}</el-button>
          <el-button
            type="info"
            size="small"
            @click="closeDialog "
          >{{$t('common.cancel')}}</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <iframe
      id="Iframe1"
      src=""
      style="display: none; border: 0; padding: 0; height: 0; width: 0"
    ></iframe>
  </div>
</template>
<script>
import WKT from 'terraformer-wkt-parser'
import { getToken } from "@/utils/auth";
import { pipelines_selectSegNames, pipeline_selectPipeAnalysis, sign_getPublicKey, pipeline_downloadReq } from '../../api/api.js';
import $ from "jquery";
export default {
  data() {
    var repasswordValidator = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请再次输入密码'));
      } else if (value !== this.codeForm.password) {
        callback(new Error('两次输入密码不一致!'));
      } else {
        callback();
      }
    };
    var passwordValidator = (rule, value, callback) => {
      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(value)) {
        callback(
          new Error('密码必须由数字、字母、特殊字符组合,请输入13-20位')
        );
      } else {
        callback();
      }
    };
    return {
      rules: {
        password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }],
        repassword: [
          { required: true, message: '请输入确认密码', trigger: 'blur' },
          { validator: repasswordValidator, trigger: 'blur' },
        ],
      },
      dialogVisible: false,
      codeForm: {
        repassword: '', password: ''
      },
      ruleFrom: {
        value1: '',
        value2: ''
      },
      options1: [],
      options2: [],
      checkList: [],
      checkData: [{
        id: 1,
        label: '铁路(dlg_25w_lrrl)',
        tabs: 'dlg_25w_lrrl',
        tabdesc: '铁路',
        table: 'bd.dlg_25w_lrrl',
        checked: false,
      }, {
        id: 2,
        label: '公路(dlg_25w_lrdl)',
        tabs: 'dlg_25w_lrdl',
        tabdesc: '公路',
        table: 'bd.dlg_25w_lrdl',
        checked: false,
      }, {
        id: 3,
        label: '水系线(dlg_25w_hydl)',
        tabs: 'dlg_25w_hydl',
        tabdesc: '水系线',
        table: 'bd.dlg_25w_hydl',
        checked: false,
      }, {
        id: 4,
        label: '水系面(dlg_25w_hyda)',
        tabs: 'dlg_25w_hyda',
        tabdesc: '水系面',
        table: 'bd.dlg_25w_hyda',
        checked: false,
      }],
      citiyData: [],
      cities: [],
      checkedCities: [],
      tableData: [],
      leftChecked: null,
      rightChecked: null,
      checkedLeftflag: null,
      checkedRightflag: null,
      analyGid: null,
      listData: [],
      listflag: null,
      featureData: [],
      pageData: {
        pageIndex: 1,
        pageSize: 10,
        pageCount: 0
      },
      multipleSelection: [],
      featurTable: null,
    }
  },
  methods: {
    spaceLocation(index, row) {
      // var wkt = row.wkt;
      // var wkt = 'POINT(115.18478138905392 40.57482771162533)'
      // var wkt = 'MULTIPOINT(115.93358953162945 40.479862914876286,115.92324938088053 40.47513850651151)'
      //var wkt = 'LINESTRING(116.29963795744581 40.412471126263874,116.30084981880705 40.411513388032716)'
      var wkt = 'MULTILINESTRING((115.87321225794265 40.452276576555455,115.87744445061348 40.45421026272125),(115.87918147829747 40.45500390957606,115.87983275512077 40.455301477546435))'
      var geojson = WKT.parse(wkt);
      this.claerAll();
      switch (geojson.type) {
        case 'Point':
          this.setShowImagePoint(geojson.coordinates)
          break;
        case 'MultiPoint':
          for (var i in geojson.coordinates) {
            this.setShowImagePoint(geojson.coordinates[i])
          }
          break;
        case 'LineString':
          this.setShowImageLine(geojson.coordinates)
          break;
        case 'MultiLineString':
          for (var i in geojson.coordinates) {
            this.setShowImageLine(geojson.coordinates[i])
          }
          break;
      }
    },
    setShowImagePoint(res) {
      var obj = { X: res[0], Y: res[1], Altitude: 1000 }
      var imageLabel = sgworld.Creator.CreateImageLabel(obj, SmartEarthRootUrl + "Workers/image/mark.png", {}, 0, "管道空间分析");
      this.$store.state.pipelineEntity.push(imageLabel.item)
      sgworld.Navigate.flyToObj(imageLabel.item);
    },
    setShowImageLine(res) {
      var obj = [];
      for (var i in res) {
        obj.push({ x: res[i][0], y: res[i][1], z: 1000 })
      }
      var line = sgworld.Creator.createPolyline(obj, "#ffff00", 1, 0, "管道空间分析");
      this.$store.state.pipelineEntity.push(line.item)
      sgworld.Navigate.flyToObj(line.item);
    },
    claerAll() {
      for (var i in this.$store.state.pipelineEntity) {
        var item = this.$store.state.pipelineEntity[i]
        sgworld.Viewer.entities.remove(item);
      }
      this.$store.state.pipelineEntity = [];
    },
    async signGetPublicKey() {
      const res = await sign_getPublicKey();
      if (res && res.code == 200) {
        window.encrypt = new JSEncrypt();
        encrypt.setPublicKey(res.result);
      }
    },
    async download() {
      var std = [];
      for (var i in this.listData) {
        std.push(this.listData[i].table)
      }
      var obj = {
        pwd: encrypt.encrypt(this.codeForm.password),
        gid: this.analyGid,
        tabs: std
      };
      const data = await pipeline_downloadReq(obj);
      if (data.code != 200) {
        this.$message.error("下载请求失败");
        this.closeDialog();
        return;
      }
      this.closeDialog();
      var token = getToken();
      var url =
        BASE_URL +
        "/pipeline/downloadFile?token=" +
        token +
        "&guid=" +
        data.result +
        "&pwd=" +
        encodeURIComponent(obj.pwd);
      $("#Iframe1").attr("src", url).click();
      //  this.$store.state.loading = false;
    },
    showDialogVivable() {
      if (this.listData.length == 0) return
      this.dialogVisible = true
    },
    handleClose() {
      this.$confirm('确认关闭?')
        .then(_ => {
          this.closeDialog()
        })
        .catch(_ => { });
    },
    closeDialog() {
      this.dialogVisible = false
      this.codeForm = {
        repassword: '', password: ''
      }
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    setTransLeft() {
      if (this.rightChecked == null) return
      this.cities.push(this.rightChecked)
      this.citiyData.forEach((value, index, array) => {
        if (value.label == this.rightChecked.label) {
          array.splice(index, 1)
        }
      });
      this.checkedLeftflag = null;
      this.rightChecked = null
    },
    setTransRight() {
      if (this.leftChecked == null) return
      this.citiyData.push(this.leftChecked)
      this.cities.forEach((value, index, array) => {
        if (value.label == this.leftChecked.label) {
          array.splice(index, 1)
        }
      });
      this.checkedRightflag = null;
      this.leftChecked = null
    },
    checkLeft(res) {
      this.checkedLeftflag = res.id;
      this.leftChecked = res;
    },
    checkRight(res) {
      this.checkedRightflag = res.id;
      this.rightChecked = res;
    },
    selectChange(res) {
      this.changeSelect2(res)
    },
    selectChange1(res) {
      this.analyGid = res;
    },
    changeSelect2(res) {
      this.options2 = [];
      var value = this.options1;
      for (var i in value) {
        if (value[i].pipeName == res) {
          this.options2.push(value[i])
        }
      }
      this.ruleFrom.value2 = this.options2[0].segName;
      this.analyGid = this.options2[0].gid;
    },
    clearAnalysis() {
      this.tableData = [];
      this.listData = [];
      this.cities = [{
        id: 1,
        label: '铁路(dlg_25w_lrrl)',
        tabs: 'dlg_25w_lrrl',
        tabdesc: '铁路',
        table: 'bd.dlg_25w_lrrl',
        checked: false,
      }, {
        id: 2,
        label: '公路(dlg_25w_lrdl)',
        tabs: 'dlg_25w_lrdl',
        tabdesc: '公路',
        table: 'bd.dlg_25w_lrdl',
        checked: false,
      }, {
        id: 3,
        label: '水系线(dlg_25w_hydl)',
        tabs: 'dlg_25w_hydl',
        tabdesc: '水系线',
        table: 'bd.dlg_25w_hydl',
        checked: false,
      }, {
        id: 4,
        label: '水系面(dlg_25w_hyda)',
        tabs: 'dlg_25w_hyda',
        tabdesc: '水系面',
        table: 'bd.dlg_25w_hyda',
        checked: false,
      }];
      this.citiyData = [];
      this.getAllData();
      this.listflag = null;
      this.checkedRightflag = null;
      this.checkedLeftflag = null;
      this.pageData = {
        pageIndex: 1,
        pageSize: 10,
        pageCount: 0
      }
    },
    async setAnalysis() {
      if (this.citiyData.length == 0) {
        this.$message.error('请选择要分析的图层!');
      }
      var std = [];
      var listTable = [];
      for (var i in this.citiyData) {
        std.push(this.citiyData[i].table)
        listTable.push(this.citiyData[i])
      }
      this.listData = listTable;
      this.listflag = this.listData[0].id
      var obj = {
        gid: this.analyGid,
        tabs: std
      }
      const data = await pipeline_selectPipeAnalysis(obj);
      if (data.code != 200) {
        this.$message.error('列表调用失败');
      }
      this.featureData = data.result;
      this.featurTable = this.featureData[this.listData[0].table]
      this.pageData.pageCount = this.featurTable.length;
      this.pageData.pageIndex = 1;
      this.pageData.pageSize = 10;
      this.changePageData();
    },
    setlistChange(res) {
      this.listflag = res.id
      this.featurTable = this.featureData[res.table]
      this.pageData.pageCount = this.featurTable.length;
      this.pageData.pageIndex = 1;
      this.pageData.pageSize = 10;
      this.changePageData();
    },
    changePageData() {
      var start = (this.pageData.pageIndex) * this.pageData.pageSize;
      var end = start + this.pageData.pageSize;
      this.tableData = this.featurTable.slice(start, end);
    },
    handleSizeChange(val) {
      this.pageData.pageIndex = 1;
      this.pageData.pageSize = val;
      this.changePageData();
    },
    handleCurrentChange(val) {
      this.pageData.pageIndex = val;
      this.changePageData();
    },
    async getAllData() {
      const data = await pipelines_selectSegNames();
      if (data.code != 200) {
        this.$message.error('列表调用失败');
      }
      this.options1 = data.result;
      this.ruleFrom.value1 = this.options1[0].pipeName;
      this.changeSelect2(this.ruleFrom.value1)
    },
  },
  mounted() {
    this.cities = [{
      id: 1,
      label: '铁路(dlg_25w_lrrl)',
      tabs: 'dlg_25w_lrrl',
      tabdesc: '铁路',
      table: 'bd.dlg_25w_lrrl',
      checked: false,
    }, {
      id: 2,
      label: '公路(dlg_25w_lrdl)',
      tabs: 'dlg_25w_lrdl',
      tabdesc: '公路',
      table: 'bd.dlg_25w_lrdl',
      checked: false,
    }, {
      id: 3,
      label: '水系线(dlg_25w_hydl)',
      tabs: 'dlg_25w_hydl',
      tabdesc: '水系线',
      table: 'bd.dlg_25w_hydl',
      checked: false,
    }, {
      id: 4,
      label: '水系面(dlg_25w_hyda)',
      tabs: 'dlg_25w_hyda',
      tabdesc: '水系面',
      table: 'bd.dlg_25w_hyda',
      checked: false,
    }];
    this.getAllData();
    this.signGetPublicKey();
  }
}
</script>
<style scoped lang="less">
.pipeLineBox {
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
  .headerBox {
    width: 100%;
    height: 130px;
    display: flex;
    justify-content: space-around;
    .elFrom {
      width: 300px;
      height: 130%;
    }
    .transBox {
      width: 200px;
      height: 100%;
      .checkBox {
        width: 100%;
        height: 90px;
        border: 1px solid white;
        border-radius: 5px;
        overflow-y: auto;
      }
      label {
        color: white;
      }
    }
    .transInfo {
      padding: 5px;
      display: flex;
      align-items: center;
    }
    .sureButton {
      display: flex;
      align-items: center;
      height: 100%;
      .suerBox {
        width: 100%;
        height: 40px;
      }
    }
  }
  .contentBox {
    width: 100%;
    height: 266px;
    display: flex;
    .contentRight {
      width: 30%;
      height: 100%;
      border: 1px solid white;
      overflow: auto;
    }
    .contentLeft {
      width: 70%;
      height: 100%;
    }
  }
  .checkhover {
    color: #409eff;
  }
  /deep/ .el-select .el-input__inner {
    border-color: #fff !important;
  }
  /deep/.el-button {
    background: #303030;
    color: white;
  }
  /deep/.el-form-item__label {
    color: white;
  }
  // è®¾ç½®è¾“入框的背景色、字体颜色、边框属性设置;
  /deep/.el-input__inner {
    background-color: transparent !important ;
    color: #fff;
    border: 1px solid;
  }
  /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: 10px;
      /*滚动条高度*/
    }
    /*定义滚动条轨道 å†…阴影+圆角*/
    .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-checkbox__input.is-checked + .el-checkbox__label {
    color: #fff;
  }
  /deep/.el-checkbox__label {
    float: right;
  }
  .country-group {
    display: flex;
    justify-content: center;
    .country-group-item {
      margin: 4px 0;
    }
  }
  .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-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>
src/views/Tools/queryinfo.vue
@@ -4,21 +4,20 @@
      ref="pop"
      v-for="(data, index) in PopupData"
      :key="data.id"
       :title="data.title || '提示'"
       maxHeight="360px"
      :title="data.title || '提示'"
      maxHeight="400"
      @close="close(data.id)"
      left="calc(100% - 960px)"
      top="calc(100% - 430px) "
      top="calc(100% - 470px) "
    >
   <div>
    <div style="width:940px;height:358px;">
      <div>
        <div style="width:940px;height:400px;">
  <map-menu-pop v-if="$store.state.mapPopBoxFlag == '1'" />
        <map-space-pop v-if="$store.state.mapPopBoxFlag == '2'" />
    </div>
   </div>
          <map-menu-pop v-if="$store.state.mapPopBoxFlag == '1'" />
          <map-space-pop v-if="$store.state.mapPopBoxFlag == '2'" />
          <pipe-line-analy v-if="$store.state.mapPopBoxFlag == '3'" />
        </div>
      </div>
    </Popup>
  </div>
</template>
@@ -27,13 +26,15 @@
import Popup from './Popup.vue';
import mapMenuPop from '../../components/MapView/mapMenuPop.vue';
import mapSpacePop from '../../components/MapView/mapSpacePop.vue';
import pipeLineAnaly from './pipeLineAnaly.vue'
export default {
  name: 'queryinfo',
  components: {
    Popup,
 mapMenuPop,
 mapSpacePop
    mapMenuPop,
    mapSpacePop,
    pipeLineAnaly
  },
  data() {
    return {
src/views/datamanage/dataLoader.vue
@@ -855,7 +855,7 @@
    },
    //文件上传
    setFileUpload() {
      this.handlerLoading(true);
      this.fullscreenLoading = true;
      var token = getToken();
      var formData = new FormData();
@@ -874,22 +874,24 @@
        processData: false,
        contentType: false,
        success: (rs) => {
          this.getFileLength();
          this.$message({
this.fullscreenLoading = false;
   this.$message({
            message: '数据上传成功',
            type: 'success'
          });
          this.getFileLength();
      this.clearFileSelect();
        },
        error: (rs) => {
          this.fullscreenLoading = false;
          this.$message.error('数据上传失败');
           this.clearFileSelect();
        }
      });
      this.handlerLoading(false);
    },
    //获取文件上传数据
    async getFileLength() {
@@ -977,7 +979,7 @@
    //Loading显隐
    handlerLoading(res) {
      this.fullscreenLoading = res;
    },
    //目录切换
    catalogChange(value) {
@@ -1328,3 +1330,8 @@
  }
}
</style>
<style>
.el-loading-spinner i {
  color: #1890ff !important;
}
</style>
src/views/datamanage/dataUpdata.vue
@@ -1,46 +1,61 @@
<template>
  <div class="authorityManagement_box"    v-loading.fullscreen.lock="fullscreenLoading"
                element-loading-spinner="el-icon-loading"
                 element-loading-background="rgba(0, 0, 0, 0.8)">
    <My-bread
      :list="[
  <div
    class="authorityManagement_box"
    v-loading.fullscreen.lock="fullscreenLoading"
    element-loading-spinner="el-icon-loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
  >
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.dataUpdata')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="updateContent">
               <el-tabs v-model="activeTabName" @tab-click="handleTabClick">
    <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first">
            <div class="contentIquery">
        <el-form :inline="true" :model="formInline" class="demo-form-inline">
          <el-form-item :label="$t('dataManage.dataUpObj.catalogue')">
            <el-cascader
              v-model="formInline.dirid"
              :options="catalogOption"
              @change="catalogChange"
              :props="cascader"
            ></el-cascader>
          </el-form-item>
          <el-form-item :label="$t('dataManage.dataUpObj.company')">
            <el-cascader
              v-model="formInline.depid"
              :options="companyOption"
              @change="companyChange"
              :props="cascader"
            ></el-cascader>
          </el-form-item>
          <el-form-item :label="$t('dataManage.dataUpObj.versionNo')">
              <el-select v-model="formInline.verid" :placeholder="$t('common.choose')">
              <el-option
                v-for="item in verOption"
                :key="item.id"
                :label="item.name"
                :value="item.id">
              </el-option>
              </el-select>
          </el-form-item>
          <!-- <el-form-item :label="$t('dataManage.dataUpObj.entryTime')">
      <el-tabs
        v-model="activeTabName"
        @tab-click="handleTabClick"
      >
        <el-tab-pane
          :label="$t('dataManage.dataUpObj.uploaddata')"
          name="first"
        >
          <div class="contentIquery">
            <el-form
              :inline="true"
              :model="formInline"
              class="demo-form-inline"
            >
              <el-form-item :label="$t('dataManage.dataUpObj.catalogue')">
                <el-cascader
                  v-model="formInline.dirid"
                  :options="catalogOption"
                  @change="catalogChange"
                  :props="cascader"
                ></el-cascader>
              </el-form-item>
              <el-form-item :label="$t('dataManage.dataUpObj.company')">
                <el-cascader
                  v-model="formInline.depid"
                  :options="companyOption"
                  @change="companyChange"
                  :props="cascader"
                ></el-cascader>
              </el-form-item>
              <el-form-item :label="$t('dataManage.dataUpObj.versionNo')">
                <el-select
                  v-model="formInline.verid"
                  :placeholder="$t('common.choose')"
                >
                  <el-option
                    v-for="item in verOption"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <!-- <el-form-item :label="$t('dataManage.dataUpObj.entryTime')">
            <el-date-picker
              v-model.trim="formInline.gather"
              :picker-options="pickerOptions"
@@ -49,248 +64,279 @@
              value-format="yyyy-MM-dd HH:mm:ss"
            />
          </el-form-item> -->
            <el-form-item  >
            <el-input
              <el-input
              type="textarea"
              v-model="formInline.fileName"
              <el-form-item>
                <el-input
                  <el-input
                  type="textarea"
                  v-model="formInline.fileName"
                  class="nm-skin-pretty"
                  show-word-limit
                  :rows="2"
                  resize='none'
                  style="width: 600px;"
                ></el-input>
                ></el-input>
              </el-form-item>
              <el-form-item>
                <input
                  id="uploadfile"
                  @change="handleFileChange"
                  type="file"
                  name="file"
                  multiple="multiple"
                  style="display: none"
                ></input>
              class="nm-skin-pretty"
              show-word-limit
              :rows="2"  resize='none'
              style="width: 600px;"
            ></el-input>
            ></el-input>
          </el-form-item>
          <el-form-item>
            <input id="uploadfile" @change= "handleFileChange" type="file"  name="file" multiple="multiple"  style="display: none"></input>
             <el-button v-if="formInline.fileName == '未选择文件'"
              type="info"
                @click="fileSelect">
                   é€‰æ‹©æ–‡ä»¶
             </el-button>
             <el-button
               v-else
                type="info"
                @click="clearFileSelect"
                <el-button
                  v-if="formInline.fileName == '未选择文件'"
                  type="info"
                  @click="fileSelect"
                >
                    é‡ç½®
             </el-button>
                  é€‰æ‹©æ–‡ä»¶
                </el-button>
                <el-button
                  v-else
                  type="info"
                  @click="clearFileSelect"
                >
                  é‡ç½®
                </el-button>
          </el-form-item>
          <br />
          <el-form-item :label="$t('dataManage.dataUpObj.describe')">
            <el-input
              type="textarea"
              v-model="formInline.descr"
              maxlength="50"
              class="nm-skin-pretty"
              show-word-limit
              :rows="2"  resize='none'
              style="width: 460px"
            ></el-input>
          </el-form-item>
          <el-form-item>
            <el-button icon="el-icon-upload" @click="setFileUpload"
             type="success">{{
              </el-form-item>
              <br />
              <el-form-item :label="$t('dataManage.dataUpObj.describe')">
                <el-input
                  type="textarea"
                  v-model="formInline.descr"
                  maxlength="50"
                  class="nm-skin-pretty"
                  show-word-limit
                  :rows="2"
                  resize='none'
                  style="width: 460px"
                ></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  icon="el-icon-upload"
                  @click="setFileUpload"
                  type="success"
                >{{
              $t('common.upload')
            }}</el-button>
            <el-button
              icon="el-icon-delete"
              type="danger"
              @click="setFileDelete"
                <el-button
                  icon="el-icon-delete"
                  type="danger"
                  @click="setFileDelete"
                  :disabled="tableData.length == 0 ? true : false"
                >{{ $t('common.delete') }}</el-button>
                <el-button
                  icon="el-icon-data-line"
                  type="info"
                  disabled
                >{{ $t('common.quayTest') }}</el-button>
                <el-button
                  icon="el-icon-folder-add"
                  type="warning"
                  @click="setFileWare"
                  :disabled="tableData.length == 0 ? true : false"
                >{{ $t('common.Warehousin') }}</el-button>
              </el-form-item>
            </el-form>
          </div>
          <div class="contentTable">
              :disabled="tableData.length == 0 ? true : false"
              >{{ $t('common.delete') }}</el-button
            <el-table
              :data="tableData"
              style="width: width:99%"
              height="99%"
              @selection-change="handleSelectionChange"
            >
             <el-button
              icon="el-icon-data-line"
              type="info"
               disabled
              >{{ $t('common.quayTest') }}</el-button
            >
            <el-button
              icon="el-icon-folder-add"
              type="warning"
                @click="setFileWare"
              :disabled="tableData.length == 0 ? true : false"
              >{{ $t('common.Warehousin') }}</el-button
            >
          </el-form-item>
        </el-form>
      </div>
      <div class="contentTable">
   <el-table
        :data="tableData"
        style="width: width:99%"
        height="99%"
        @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" />
        <el-table-column
          align="center"
          type="index"
          :label="$t('common.index')"
          width="70px"
          fixed
        />
          <el-table-column
          align="center"
          prop="name"
          :label="$t('common.name')"
          fixed
        />
         <el-table-column
          align="center"
          prop="sizes"
          :label="$t('common.size')"
          fixed
         :formatter="changeSizeFile"
        />
         <!-- <el-table-column
              <el-table-column
                type="selection"
                width="55"
              />
              <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
                fixed
              />
              <el-table-column
                align="center"
                prop="name"
                :label="$t('common.name')"
                fixed
              />
              <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                fixed
                :formatter="changeSizeFile"
              />
              <!-- <el-table-column
          align="center"
          prop="guid"
          :label="$t('common.md5')"
          fixed
        /> -->
    </el-table>
      </div>
            </el-table>
          </div>
      </el-tab-pane>
    <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second">
<div class="contentIquery" style="padding-bottom: 0% !important;">
        <el-form :inline="true" :model="formWarehousing" class="demo-form-inline">
          <el-form-item :label="$t('dataManage.dataUpObj.describe')">
<el-input v-model="formWarehousing.name" placeholder="请输入内容"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button icon="el-icon-upload" @click="setWarehouseSearch"
           class="primary">{{
        </el-tab-pane>
        <el-tab-pane
          :label="$t('dataManage.dataUpObj.receiptdata')"
          name="second"
        >
          <div
            class="contentIquery"
            style="padding-bottom: 0% !important;"
          >
            <el-form
              :inline="true"
              :model="formWarehousing"
              class="demo-form-inline"
            >
              <el-form-item :label="$t('dataManage.dataUpObj.describe')">
                <el-input
                  v-model="formWarehousing.name"
                  placeholder="请输入内容"
                ></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
                  icon="el-icon-upload"
                  @click="setWarehouseSearch"
                  class="primary"
                >{{
              $t('common.iquery')
            }}</el-button>
            <el-button @click="setWarehouseReset"
              icon="el-icon-folder-add"
              type="info"
              >{{ $t('common.reset') }}</el-button
                <el-button
                  @click="setWarehouseReset"
                  icon="el-icon-folder-add"
                  type="info"
                >{{ $t('common.reset') }}</el-button>
                <el-button
                  @click="setWarehouseDel"
                  icon="el-icon-folder-delete"
                  type="danger"
                >{{ $t('common.delete') }}</el-button>
              </el-form-item>
            </el-form>
          </div>
          <div
            class="contentTable"
            style="height:500px"
          >
            <el-table
              :data="waretableData"
              @selection-change="handleDelteChange"
              style="width:99%"
              height="92%"
            >
             <el-button @click="setWarehouseDel"
              icon="el-icon-folder-delete"
              type="danger"
              >{{ $t('common.delete') }}</el-button
              <el-table-column
                type="selection"
                width="55"
              />
              <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
                fixed
              />
              <el-table-column
                align="center"
                prop="name"
                :label="$t('common.name')"
                fixed
              />
              <el-table-column
                align="center"
                prop="dirName"
                :label="$t('dataManage.dataUpObj.catalogue')"
                fixed
              />
              <el-table-column
                align="center"
                prop="depName"
                :label="$t('dataManage.dataUpObj.company')"
                fixed
              />
              <el-table-column
                align="center"
                prop="verName"
                :label="$t('dataManage.dataUpObj.versionNo')"
                fixed
              />
              <el-table-column
                align="center"
                prop="type"
                :label="$t('common.type')"
                fixed
              />
              <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                fixed
                :formatter="changeSizeFile"
              />
              <el-table-column
                align="center"
                prop="tab"
                :label="$t('dataManage.dataUpObj.tableName')"
                fixed
              />
              <el-table-column
                align="center"
                prop="rows"
                :label="$t('common.lineNuber')"
                fixed
              />
              <el-table-column
                align="center"
                prop="desc"
                :label="$t('dataManage.dataUpObj.describe')"
                fixed
              />
              <el-table-column
                align="center"
                prop="uname"
                :label="$t('dataManage.vmobj.createonuser')"
                fixed
              />
              <el-table-column
                align="center"
                prop="createTime"
                :label="$t('dataManage.vmobj.createontime')"
                fixed
                :formatter="changetimeFile"
              />
            </el-table>
            <div
              style="margin-top: 10px"
              class="pagination_box"
            >
          </el-form-item>
        </el-form>
      </div>
   <div class="contentTable" style="height:500px">
   <el-table
     :data="waretableData"
   @selection-change="handleDelteChange"
        style="width:99%"
        height="92%"
 >
    <el-table-column
      type="selection"
      width="55"/>
        <el-table-column
          align="center"
          type="index"
          :label="$t('common.index')"
          width="70px"
          fixed
        />
          <el-table-column
          align="center"
          prop="name"
          :label="$t('common.name')"
          fixed
        />
         <el-table-column
          align="center"
          prop="dirName"
          :label="$t('dataManage.dataUpObj.catalogue')"
          fixed
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="listData.pageIndex"
                :page-sizes="[10, 20, 30, 40]"
                :page-size="listData.pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="count"
              >
              </el-pagination>
            </div>
          </div>
        </el-tab-pane>
        />
         <el-table-column
          align="center"
          prop="depName"
          :label="$t('dataManage.dataUpObj.company')"
          fixed
        />
             <el-table-column
          align="center"
          prop="verName"
          :label="$t('dataManage.dataUpObj.versionNo')"
          fixed
        />
             <el-table-column
          align="center"
          prop="type"
          :label="$t('common.type')"
          fixed
        />
        <el-table-column
          align="center"
          prop="sizes"
          :label="$t('common.size')"
          fixed
          :formatter="changeSizeFile"
        />
         <el-table-column
          align="center"
          prop="tab"
          :label="$t('dataManage.dataUpObj.tableName')"
          fixed
        />
         <el-table-column
          align="center"
          prop="rows"
          :label="$t('common.lineNuber')"
          fixed
        />
         <el-table-column
          align="center"
          prop="desc"
          :label="$t('dataManage.dataUpObj.describe')"
          fixed
        />
        <el-table-column
          align="center"
          prop="uname"
          :label="$t('dataManage.vmobj.createonuser')"
          fixed
        />
         <el-table-column
          align="center"
          prop="createTime"
          :label="$t('dataManage.vmobj.createontime')"
          fixed
              :formatter="changetimeFile"
        />
    </el-table>
      <div style="margin-top: 10px" class="pagination_box">
    <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="listData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="listData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="count"
        >
        </el-pagination>
      </div>
      </div>
    </el-tab-pane>
  </el-tabs>
      </el-tabs>
    </div>
  </div>
@@ -300,8 +346,10 @@
import $ from 'jquery';
import MyBread from '../../components/MyBread.vue';
import { getToken } from '@/utils/auth';
import { selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles,
dataUpload_selectByPageForUpload,dataUpload_deleteMetas} from '../../api/api';
import {
  selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles,
  dataUpload_selectByPageForUpload, dataUpload_deleteMetas
} from '../../api/api';
export default {
  name: 'dataUpdata',
  components: {
@@ -315,22 +363,22 @@
      formInline: {
        verid: '',
        gather: '',
        fileName:'未选择文件'
        fileName: '未选择文件'
      },
      formWarehousing: {
          name:''
        name: ''
      },
      catalogOption: [],
      companyOption: [],
      tableData: [],
      waretableData:[],
      waretableData: [],
      listTable: [],
      multipleSelection: [],
      fullscreenLoading: false,
      listData: {
        pageIndex: 1,
        pageSize: 10,
       name: null,
        name: null,
      },
      pickerOptions: {
        disabledDate(time) {
@@ -383,37 +431,37 @@
      },
      deep: true,
      immediate: true,
      multipleDelete:[]
      multipleDelete: []
    },
  },
  methods: {
  async setWarehouseDel(){
          var std = [];
          for (var i in this.multipleDelete) {
            std.push(this.multipleDelete[i].id);
          }
          const res = await dataUpload_deleteMetas({ids: std.toString() })
          if(res.code != 200){
            this.$message.error('删除失败');
          }else{
               this.$message({
    async setWarehouseDel() {
      var std = [];
      for (var i in this.multipleDelete) {
        std.push(this.multipleDelete[i].id);
      }
      const res = await dataUpload_deleteMetas({ ids: std.toString() })
      if (res.code != 200) {
        this.$message.error('删除失败');
      } else {
        this.$message({
          message: '删除成功',
          type: 'success'
        });
        this.listData.pageIndex=1;
        this.listData.pageIndex = 1;
        this.listData.pageSize = 10;
           this.getAllWareTable();
          }
        this.getAllWareTable();
      }
    },
    handleDelteChange(val){
    this.multipleDelete = val;
    handleDelteChange(val) {
      this.multipleDelete = val;
    },
    changetimeFile(res){
    changetimeFile(res) {
//shijianchuo是整数,否则要parseInt转换
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(res.createTime);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
@@ -435,53 +483,53 @@
        s
      );
    },
      //格式化时间
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    setWarehouseSearch(){
    setWarehouseSearch() {
   this.listData={
              pageIndex:1,
              pageSize:10,
              name:this.formWarehousing.name,
            }
            this.getAllWareTable();
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        name: this.formWarehousing.name,
      }
      this.getAllWareTable();
    },
    setWarehouseReset(){
     this.formWarehousing.name='';
   this.listData={
              pageIndex:1,
              pageSize:10,
              name:null,
            }
            this.getAllWareTable();
    setWarehouseReset() {
      this.formWarehousing.name = '';
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        name: null,
      }
      this.getAllWareTable();
    },
    handleTabClick(tab, event) {
        if(this.activeTabName =='second'){
            this.setWarehouseReset();
        }
      if (this.activeTabName == 'second') {
        this.setWarehouseReset();
      }
    },
    handleSizeChange(val){
      this.listData.pageIndex= 1;
      this.listData.pageSize =val;
          this.getAllWareTable();
    handleSizeChange(val) {
      this.listData.pageIndex = 1;
      this.listData.pageSize = val;
      this.getAllWareTable();
    },
handleCurrentChange(val){
  this.listData.pageIndex= val;
  this.getAllWareTable();
},
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getAllWareTable();
    },
    //获取入库数据列表
   async getAllWareTable(){
    async getAllWareTable() {
      const res = await  dataUpload_selectByPageForUpload(this.listData);
        if (res.code != 200) {
      const res = await dataUpload_selectByPageForUpload(this.listData);
      if (res.code != 200) {
        this.$message.error('列表数据获取失败');
        return;
      }
      this.count = res.count;
 this.waretableData =res.result;
      this.waretableData = res.result;
    },
    //大小值改變
    changeSizeFile(row, column, cellValue, index) {
@@ -494,7 +542,7 @@
    },
    //数据删除
    async setFileDelete() {
      this.handlerLoading(true);
      var data = JSON.stringify(this.multipleSelection);
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
@@ -502,10 +550,6 @@
        return;
      }
      this.getFileLength();
      this.handlerLoading(false);
    },
    //数据入库
    async setFileWare() {
@@ -543,13 +587,13 @@
    },
    //文件上传
    setFileUpload() {
      this.handlerLoading(true);
      this.fullscreenLoading = true;
      var token = getToken();
      var formData = new FormData();
      var fs = document.getElementById("uploadfile");
      if (fs.files.length == 0) {
        this.handlerLoading(false);
        return this.$message.error('请选择需要上传的文件');
      }
      for (var i = 0, c = fs.files.length; i < c; i++) {
@@ -565,20 +609,26 @@
        contentType: false,
        success: (rs) => {
          this.getFileLength();
          this.fullscreenLoading = false;
          this.$message({
            message: '上传成功',
            type: 'success'
          });
this.clearFileSelect();
          this.clearFileSelect();
        },
        error: (rs) => {
          alert("上传文件失败!");
          this.fullscreenLoading = false;
            this.$message.error('数据上传失败');
          this.clearFileSelect();
        }
      });
      this.handlerLoading(false);
    },
    progressHandle(e) {
      var percent = (e.loaded / e.total * 100).toFixed(2);
      console.log(percent)
    },
    //获取文件上传数据
    async getFileLength() {
@@ -620,19 +670,19 @@
      $("#uploadfile").click();
    },
    handleFileChange(event) {
      var std =[];
      var std = [];
      var len = event.currentTarget.files.length;
      for(var i = 0;i<len;i++){
var f = event.currentTarget.files[i];
std.push(f.name)
      for (var i = 0; i < len; i++) {
        var f = event.currentTarget.files[i];
        std.push(f.name)
      }
        this.formInline.fileName =std.toString() ;
      this.formInline.fileName = std.toString();
    },
    clearFileSelect(){
   this.formInline.fileName="未选择文件";
    document.getElementById("uploadfile").value = "";
    clearFileSelect() {
      this.formInline.fileName = "未选择文件";
      document.getElementById("uploadfile").value = "";
    },
    //当前时间获取
    timeDefault() {
@@ -891,3 +941,8 @@
  }
}
</style>
<style>
.el-loading-spinner i {
  color: #1890ff !important;
}
</style>