管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-07-24 42921b4aa15528bb032545349b41554764b37e83
发布管理,las 数据发布页面修改
已修改2个文件
154 ■■■■ 文件已修改
src/api/api.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/uploadmanage.vue 147 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -1167,6 +1167,13 @@
  return service.post('/publish/insertForPub', params);
}
//数据发布 => 查询Las文件坐标系ID
export function publish_selectLasCs(params) {
  return request.get('/publish/selectLasCs?' + params);
}
//综合展示 => 根据ID查询发布清单
export function comprehensive_selectPubById(params) {
  return service.get('/comprehensive/selectPubById', { params: params });
src/views/datamanage/uploadmanage.vue
@@ -583,7 +583,10 @@
        >
          <el-row :gutter="20">
            <el-col :span="10">
              <div style="height: 64px; display: flex; align-items: center;">
              <div
                class="contLable"
                style="height: 64px; display: flex; align-items: center;"
              >
                {{ item.name }}
              </div>
            </el-col>
@@ -628,22 +631,69 @@
    <el-dialog
      :title="$t('common.publish')"
      :visible.sync="insertOsgbVisible"
      width="25%"
      :close-on-click-modal="false"
      :show-close="false"
      width="35%"
    >
      <div style="width:100%; ">
        <el-form
          :model="osgbLasLayer"
          label-width="160px"
      <div>
        <div
          v-for="item in osgbLasOption"
          style="margin-top: 10px; display: flex; align-items: center; justify-content: space-around;  "
        >
          <el-form-item :label="$t('dataManage.vmobj.heightOffset')">
          <div
            class="contLable"
            style=" margin: 0px 10px;"
          >
            {{ item.name }}
          </div>
          <div>
            <div style="display: flex; align-items: center; margin: 0px 10px;">
              <label class="contLable">高度偏移量:</label>
              <el-input
                size="small"
                v-model="item.zs"
              >
                <i slot="suffix">m</i></el-input>
            </div>
          </div>
          <div v-show="formInline.type =='LAS'">
            <div style="display: flex;  align-items: center; margin: 0px 10px;">
              <label class="contLable">坐标系:</label>
              <el-select
                v-if="!item.lids"
                v-model="item.srids"
                style="width: 100%;"
                size="small"
              >
                <el-option
                  v-for="item in stridOption"
                  :key="item.id"
                  :label="item.coordinate"
                  :value="item.epsgcode"
                >
                </el-option>
              </el-select>
              <el-input
                v-if="item.lids"
                v-model="item.srids"
                size="small"
                disabled
              ></el-input>
            </div>
          </div>
        </div>
        <!-- <el-form-item :label="$t('dataManage.vmobj.heightOffset')">
            <el-input
              :placeholder="$t('dataManage.vmobj.label1')"
              v-model="osgbLasLayer.z"
            ></el-input>
          </el-form-item>
          <el-form-item
          </el-form-item> -->
        <!-- <el-form-item
            v-if="formInline.type == 'LAS'"
            :label="$t('dataManage.vmobj.coordinateSystemID')"
          >
@@ -660,8 +710,8 @@
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-form>
          </el-form-item> -->
        <div style="display: flex; justify-content: end;margin-top:10px;">
          <el-button
            size="small"
@@ -714,7 +764,8 @@
  publish_deletes,
  publish_update,
  publish_insert,
  dataUpload_selectCoords
  dataUpload_selectCoords,
  publish_selectLasCs
} from '../../api/api.js'
import { conditions } from '../Archive/Archive';
@@ -798,6 +849,7 @@
        strid: ''
      },
      stridOption: [],
      osgbLasOption: [],
    }
  },
  methods: {
@@ -811,17 +863,31 @@
    async setOsgbInsert() {
      var ids = [];
      for (var i in this.multipleSelection) {
        ids.push(this.multipleSelection[i].id)
      var zs = []
      for (var i in this.osgbLasOption) {
        ids.push(this.osgbLasOption[i].id)
        zs.push(this.osgbLasOption[i].zs)
      }
      var strid;
      var srids = [];
      var lerro = [];
      if (this.formInline.type == 'LAS') {
        if (!this.osgbLasLayer.strid) {
          return this.$message('请选择发布数据的坐标系');
        for (var i in this.osgbLasOption) {
          if (this.osgbLasOption[i].srids) {
            var epsg = this.osgbLasOption[i].srids.replace('EPSG:', '')
            srids.push(epsg)
        } else {
          strid = this.osgbLasLayer.strid.replace('EPSG:', '')
            lerro.push(this.osgbLasOption[i].name)
        }
        }
        if (lerro.length > 0) {
          return this.$message(lerro + '未选择发布数据的坐标系');
        }
        // if (!this.osgbLasLayer.strid) {
        //   return this.$message('请选择发布数据的坐标系');
        // } else {
        //   strid = this.osgbLasLayer.strid.replace('EPSG:', '')
        // }
      }
      var obj = {
        dircode: this.formInline.dirid,
@@ -833,8 +899,8 @@
        noData: null,
        ids: ids,
        models: null,
        srid: parseInt(strid),
        z: parseFloat(parseFloat(this.osgbLasLayer.z).toFixed(3))
        srids: srids,
        zx: zs
      }
      this.loadDialogVisible = true
      this.setOsgbCanel();
@@ -1002,6 +1068,7 @@
        this.$message("请选择要发布的数据")
        return
      }
      if (this.formInline.type == "DOM" || this.formInline.type == "DEM") {
        this.insertLayer.name = this.multipleSelection[0].name.split('.')[0];
@@ -1016,14 +1083,49 @@
        this.modelOptions = val;
        this.insertModelVisible = true;
      } else if (this.formInline.type == "OSGB") {
        var val = JSON.parse(JSON.stringify(this.multipleSelection))
        for (var i in val) {
          val[i].zs = 0;
          val[i].srids = null;
        }
        this.osgbLasOption = val;
        this.insertOsgbVisible = true;
      } else if (this.formInline.type == "LAS") {
        var lids = [];
        var val = JSON.parse(JSON.stringify(this.multipleSelection))
        for (var i in val) {
          val[i].zs = 0;
          val[i].srids = null;
          val[i].lids = false;
          lids.push('ids=' + val[i].id)
        }
        var url = lids.join('&')
        const data1 = await publish_selectLasCs(url);
        if (data1.code != 200) {
          this.$message('Las文件坐标系ID失败');
        } else {
          for (var i = 0; i < val.length; i++) {
            var coord = data1.result[i]
            if (coord > 0) {
              val[i].srids = "EPDG:" + coord;
              val[i].lids = true;
            }
          }
        }
        const data = await dataUpload_selectCoords();
        if (data.code != 200) {
          this.$message('坐标系数据获取失败');
        }
        this.stridOption = data.result;
        this.osgbLasOption = val;
        this.insertOsgbVisible = true;
      } else {
        var std = [];
@@ -1488,5 +1590,8 @@
  /deep/.el-dialog__header {
    padding: 10px !important;
  }
  .contLable {
    width: 160px;
  }
}
</style>