月球大数据地理空间分析展示平台-【中台】
Surpriseplus
2023-08-16 6b86f9d19525393d0d71ef81b17325671fa2aecf
src/views/datamanage/resourceManagement.vue
@@ -34,7 +34,7 @@
              v-if="menuStatus.insert"
              icon="el-icon-edit"
              type="success"
              @click="insertDialog = true"
              @click="setInsertTableData"
              size="small"
            >{{ $t('common.append') }}
            </el-button>
@@ -101,15 +101,22 @@
          <el-table-column
            align="center"
            prop="category"
            :label="$t('dataManage.layerObj.serviceType')"
            :label="$t('dataManage.layerObj.firm')"
            :formatter="setResCategory"
            width="150"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('dataManage.layerObj.dataType')"
            :label="$t('dataManage.layerObj.serviceType')"
            :formatter="setResType"
            width="150"
          />
          <el-table-column
            align="center"
            prop="data"
            :label="$t('dataManage.layerObj.dataType')"
            :formatter="setResData"
            width="150"
          />
          <el-table-column
@@ -233,14 +240,8 @@
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
            <el-input
              v-model="insertData.enName"
              :placeholder="$t('dataManage.layerObj.prompt14')"
              class="insertWidth"
            ></el-input>
          </el-form-item> -->
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
          <el-form-item :label="$t('dataManage.layerObj.firm')">
            <el-select
              class="insertWidth"
              v-model="insertData.category"
@@ -258,8 +259,9 @@
          <el-form-item :label="$t('dataManage.layerObj.dataType')">
            <el-select
              class="insertWidth"
              v-model="insertData.type"
              :placeholder="$t('dataManage.layerObj.prompt8')"
              v-model="insertData.data"
              @change="setCategoryTypeChange"
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in dataType"
@@ -271,11 +273,30 @@
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.tableName')">
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
            <el-select
              class="insertWidth"
              v-model="insertData.type"
              :placeholder="$t('dataManage.layerObj.prompt8')"
            >
              <el-option
                v-for="item in categoryType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item
            v-if="insertData.category == 2"
            :label="$t('dataManage.layerObj.layerName')"
          >
            <el-input
              v-model="insertData.tab"
              class="insertWidth"
              :placeholder="$t('dataManage.layerObj.prompt12')"
              :placeholder="$t('dataManage.layerObj.prompt1')"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceAddress')">
@@ -374,7 +395,7 @@
              class="insertWidth"
            ></el-input>
          </el-form-item> -->
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
          <el-form-item :label="$t('dataManage.layerObj.firm')">
            <el-select
              class="insertWidth"
              v-model="editData.category"
@@ -392,11 +413,27 @@
          <el-form-item :label="$t('dataManage.layerObj.dataType')">
            <el-select
              class="insertWidth"
              v-model="editData.data"
              @change="setEdtitTypeChange"
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in dataType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
            <el-select
              class="insertWidth"
              v-model="editData.type"
              :placeholder="$t('dataManage.layerObj.prompt8')"
            >
              <el-option
                v-for="item in dataType"
                v-for="item in categoryType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
@@ -496,7 +533,7 @@
} from "../../api/api";
import $ from 'jquery'
import { getToken } from '../../utils/auth';
import { serve_type, data_type } from './js/layerManage.js'
import { serve_type, data_type, category_type } from './js/layerManage.js'
import { json } from "body-parser";
import { flatten } from '@turf/turf';
@@ -531,12 +568,18 @@
      editData: {},
      copyData: null,
      insertData: {
        status: "2"
        status: "2",
        category: null,
        type: null,
        data: null
      },
      editDialog: false,
      insertDialog: false,
      dataType: [],
      serviceType: []
      serviceType: [],
      categoryType: [],
      insertDisabled: false,
      editDisabled: false,
    };
  },
  watch: {
@@ -581,6 +624,64 @@
      this.formInline.name = ""
      this.setListDataStart()
    },
    setInsertTableData() {
      this.insertData.category = this.serviceType[0].value
      this.insertData.data = this.dataType[0].value
      this.setServeTypeChange(this.dataType[0].children)
      this.insertDialog = true;
    },
    setServeTypeChange(res) {
      var std = [];
      for (var i in res) {
        for (var j in serve_type) {
          if (serve_type[j].value == res[i]) {
            std.push({
              value: serve_type[j].value,
              label: serve_type[j].name,
            })
          }
        }
      }
      this.categoryType = std
      this.insertData.type = this.categoryType[0].value
    },
    setCategoryTypeChange(item) {
      var filter = this.dataType.filter(res => {
        if (res.value == item) {
          return res
        }
      })
      this.setServeTypeChange(filter[0].children)
    },
    setEdtitTypeChange(item) {
      var filter = this.dataType.filter(res => {
        if (res.value == item) {
          return res
        }
      })
      this.setEditServeTypeChange(filter[0].children)
    },
    setEditServeTypeChange(res) {
      var std = [];
      for (var i in res) {
        for (var j in serve_type) {
          if (serve_type[j].value == res[i]) {
            std.push({
              value: serve_type[j].value,
              label: serve_type[j].name,
            })
          }
        }
      }
      this.categoryType = std
      this.editData.type = this.categoryType[0].value
    },
    async setDelTableData() {
      if (this.multipleSelection.length <= 0) {
        return this.$message('请选择要删除的资源数据');
@@ -615,6 +716,7 @@
        .catch(_ => { });
    },
    async setInsertConfirm() {
      this.insertData.status = parseInt(this.insertData.status)
      const data = await res_insert(this.insertData);
      if (data.code == 200) {
        this.$message({
@@ -633,31 +735,42 @@
    optionsStart() {
      var std = [];
      var ste = [];
      for (var i in serve_type) {
      var str = [];
      for (var i in category_type) {
        ste.push({
          value: serve_type[i].value,
          label: serve_type[i].name,
          value: category_type[i].value,
          label: category_type[i].name,
        })
      }
      this.serviceType = std;
      this.serviceType = ste;
      for (var i in data_type) {
        std.push({
        str.push({
          value: data_type[i].value,
          label: data_type[i].name,
          children: data_type[i].children
        })
      }
      this.dataType = ste;
      this.dataType = str;
    },
    setScopeEdit(row) {
      this.copyData = JSON.parse(JSON.stringify(row));
      this.editData = JSON.parse(JSON.stringify(row));
      this.editData.status = this.editData.status.toString()
      this.editData.category = parseInt(this.editData.category)
      this.editData.type = parseInt(this.editData.type)
      if (this.editData.data) {
        this.editData.data = parseInt(this.editData.data)
      }
      this.editDialog = true
    },
    formatProxy(row, column) {
      var token = getToken()
      var val = row.proxy.replaceAll('{token}', token)
      return BASE_URL + val
      if (row.proxy && row.proxy.indexOf('{token}') > -1) {
        var val = row.proxy.replaceAll('{token}', token)
        return BASE_URL + val
      }
    },
    copyText(row, column, cell, event) {
      // 双击复制
@@ -731,6 +844,37 @@
          break;
      }
    },
    setResData(row, column) {
      switch (row.data) {
        case 1:
          return "数字正射影像图"
          break;
        case 2:
          return "场景地形数据"
          break;
        case 3:
          return "数字高程模型(晕渲图)"
          break;
        case 4:
          return "单波段栅格数据"
          break;
        case 5:
          return "多光谱栅格数据"
          break;
        case 6:
          return "高光谱栅格数据"
          break;
        case 7:
          return "矢量图层"
          break;
        case 8:
          return "三维模型"
          break;
        default:
          return ""
          break;
      }
    },
    setResCategory(row, column) {
      switch (row.category) {
        case 0: