月球大数据地理空间分析展示平台-【中台】
Surpriseplus
2023-08-15 234c2c52efe83fc867aa5164a90197432785492f
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>
@@ -67,6 +67,7 @@
          border
          height="calc(100% - 10px)"
          @selection-change="handleSelectionChange"
          @cell-dblclick="copyText"
        >
          <el-table-column
            type="selection"
@@ -81,15 +82,15 @@
          <el-table-column
            align="center"
            prop="cnName"
            :label="$t('dataManage.layerObj.layerName')"
            :label="$t('dataManage.layerObj.resourceName')"
            width="150"
          />
          <el-table-column
          <!-- <el-table-column
            align="center"
            prop="enName"
            :label="$t('dataManage.layerObj.englishName')"
            width="170"
          />
          /> -->
          <el-table-column
            align="center"
            prop="status"
@@ -100,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
@@ -140,6 +148,7 @@
            prop="proxy"
            :label="$t('dataManage.layerObj.proxyAddress')"
            width="300"
            :formatter="formatProxy"
          />
          <el-table-column
            align="center"
@@ -149,7 +158,7 @@
          />
          <el-table-column
            align="center"
            prop="createUser"
            prop="createName"
            :label="$t('dataManage.vmobj.createonuser')"
            width="200"
          />
@@ -162,7 +171,7 @@
          />
          <el-table-column
            align="center"
            prop="updateUser"
            prop="updateName"
            :label="$t('dataManage.vmobj.updateonuser')"
            width="200"
          />
@@ -231,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"
@@ -253,11 +256,28 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.dataType')">
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
            <el-select
              class="insertWidth"
              v-model="insertData.type"
              @change="setCategoryTypeChange"
              :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 :label="$t('dataManage.layerObj.dataType')">
            <el-select
              class="insertWidth"
              v-model="insertData.data"
              :disabled='insertDisabled'
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in dataType"
@@ -302,11 +322,15 @@
              <el-radio
                v-model="insertData.status"
                label="0"
              >{{$t('dataManage.layerObj.isStop')}}</el-radio>
              >{{$t('dataManage.layerObj.disable')}}</el-radio>
              <el-radio
                v-model="insertData.status"
                label="1"
              > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
              > {{$t('dataManage.layerObj.enableOriginalAddress')}}</el-radio>
              <el-radio
                v-model="insertData.status"
                label="2"
              > {{$t('dataManage.layerObj.enableProxy')}}</el-radio>
            </div>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.descr')">
@@ -361,14 +385,14 @@
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.englishName')">
          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
            <el-input
              v-model="editData.enName"
              :placeholder="$t('dataManage.layerObj.prompt14')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
          </el-form-item> -->
          <el-form-item :label="$t('dataManage.layerObj.firm')">
            <el-select
              class="insertWidth"
              v-model="editData.category"
@@ -383,11 +407,28 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.dataType')">
          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
            <el-select
              class="insertWidth"
              v-model="editData.type"
              @change="setEdtitTypeChange"
              :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 :label="$t('dataManage.layerObj.dataType')">
            <el-select
              class="insertWidth"
              v-model="editData.data"
              :placeholder="$t('dataManage.layerObj.prompt3')"
              :disabled="editDisabled"
            >
              <el-option
                v-for="item in dataType"
@@ -432,11 +473,15 @@
              <el-radio
                v-model="editData.status"
                label="0"
              >{{$t('dataManage.layerObj.isStop')}}</el-radio>
              >{{$t('dataManage.layerObj.disable')}}</el-radio>
              <el-radio
                v-model="editData.status"
                label="1"
              > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
              > {{$t('dataManage.layerObj.enableOriginalAddress')}}</el-radio>
              <el-radio
                v-model="editData.status"
                label="2"
              > {{$t('dataManage.layerObj.enableProxy')}}</el-radio>
            </div>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.descr')">
@@ -486,7 +531,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';
@@ -520,11 +565,19 @@
      multipleSelection: [],
      editData: {},
      copyData: null,
      insertData: {},
      insertData: {
        status: "2",
        category: null,
        type: null,
        data: null
      },
      editDialog: false,
      insertDialog: false,
      dataType: [],
      serviceType: []
      serviceType: [],
      categoryType: [],
      insertDisabled: false,
      editDisabled: false,
    };
  },
  watch: {
@@ -569,6 +622,37 @@
      this.formInline.name = ""
      this.setListDataStart()
    },
    setInsertTableData() {
      this.insertData.category = this.serviceType[0].value
      this.insertData.type = this.categoryType[0].value
      this.insertDialog = true;
      this.setinsertDisabled();
    },
    setinsertDisabled() {
      var val = [0, 4, 5]
      if (val.indexOf(this.insertData.type) > -1) {
        this.insertDisabled = true
        this.insertData.data = this.dataType[0].value;
      } else {
        this.insertDisabled = false
      }
    },
    setCategoryTypeChange(item) {
      this.setinsertDisabled()
    },
    setEdtitTypeChange(item) {
      this.setEditDisabled()
    },
    setEditDisabled() {
      var val = [0, 4, 5]
      if (val.indexOf(this.editData.type) > -1) {
        this.editDisabled = true
        this.editData.data = this.dataType[0].value;
      } else {
        this.editDisabled = false
      }
    },
    async setDelTableData() {
      if (this.multipleSelection.length <= 0) {
        return this.$message('请选择要删除的资源数据');
@@ -590,7 +674,9 @@
    },
    closeInsertDialog() {
      this.insertDialog = false;
      this.insertData = {}
      this.insertData = {
        status: '2'
      }
    },
    setInsertCannel() {
      var that = this;
@@ -601,6 +687,7 @@
        .catch(_ => { });
    },
    async setInsertConfirm() {
      this.insertData.status = parseInt(this.insertData.status)
      const data = await res_insert(this.insertData);
      if (data.code == 200) {
        this.$message({
@@ -619,6 +706,7 @@
    optionsStart() {
      var std = [];
      var ste = [];
      var str = [];
      for (var i in serve_type) {
        ste.push({
          value: serve_type[i].value,
@@ -626,20 +714,54 @@
        })
      }
      this.serviceType = std;
      for (var i in data_type) {
      for (var i in category_type) {
        std.push({
          value: category_type[i].value,
          label: category_type[i].name,
        })
      }
      this.categoryType = ste;
      for (var i in data_type) {
        str.push({
          value: data_type[i].value,
          label: data_type[i].name,
        })
      }
      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.setEditDisabled()
      this.editDialog = true
    },
    formatProxy(row, column) {
      var token = getToken()
      if (row.proxy && row.proxy.indexOf('{token}') > -1) {
        var val = row.proxy.replaceAll('{token}', token)
        return BASE_URL + val
      }
    },
    copyText(row, column, cell, event) {
      // 双击复制
      let save = function (e) {
        e.clipboardData.setData('text/plain', event.target.innerText);
        e.preventDefault();  //阻止默认行为
      }
      document.addEventListener('copy', save);//添加一个copy事件
      document.execCommand("copy");//执行copy方法
      this.$message({ message: '复制成功', type: 'success' })//提示
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
@@ -701,6 +823,22 @@
          break;
      }
    },
    setResData(row, column) {
      switch (row.data) {
        case 0:
          return "URL"
          break;
        case 1:
          return "DOM"
          break;
        case 2:
          return "DEM"
          break;
        default:
          return ""
          break;
      }
    },
    setResCategory(row, column) {
      switch (row.category) {
        case 0:
@@ -721,15 +859,16 @@
      }
    },
    setResStatus(row, column) {
      switch (row.status) {
        case 0:
          return "停用"
          return "禁用"
          break;
        case 1:
          return "启用"
          return "启用原始地址"
          break;
        case 2:
          return "启用代理"
          return "启用代理地址"
          break;
        default:
          return ""
@@ -745,6 +884,7 @@
          type: "warning",
        });
      }
      this.tableData = data.result;
      this.listData.count = data.count;
    },