管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2022-11-24 a7199e5a4f3e34b14d395e319a552c5c3b8b3a4d
数据上传,数据入库页面修改
已修改8个文件
1152 ■■■■ 文件已修改
src/api/api.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataLoader.vue 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 367 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/metadataManage.vue 341 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/styleManage.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/versionManage.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -512,6 +512,10 @@
export function dataUploadInsertFiles(params) {
  return request.post('/dataUpload/insertFiles', params);
}
//数据上传=分页查询上传数据并返回记录数
export function dataUpload_selectByPageForUpload(params) {
  return request.get('/dataUpload/selectByPageForUpload', { params: params });
}
//数据入库=>获取目录树
export function dataLoader_selectDirAll(params) {
@@ -541,6 +545,10 @@
export function dataLoader_SelectTabs(params) {
  return request.get('/dataLoader/selectTabs', { params: params });
}
//数据入库=>查询所有表
export function dataLoader_selectByPageForUpload(params) {
  return request.get('/dataLoader/selectByPageForUpload', { params: params });
}
// //数据入库=>查询文件
// export function dataLoader_selectDirAll(params) {
src/assets/lang/en.js
@@ -39,7 +39,11 @@
    size: 'size',
    versionName: 'version Name',
    type: 'type',
    quayTest: 'Auality testing',
    md5: 'MD5 Code',
    lineNuber: 'line Nuber',
  },
  dataManage: {
    dataManage: 'Data Manage',
    catalogueManage: 'catalogueManage',
@@ -57,6 +61,9 @@
      catalogRemarks: 'Catalog Remarks',
      newDirectory: 'New Directory',
      versionNo: 'Version No',
      tableName: 'table Name',
      uploaddata: 'Upload data',
      receiptdata: 'Receipt data',
    },
    metadataManage: 'metadataManage',
@@ -67,7 +74,7 @@
      keyword: 'Keyword',
      describe: 'Describe',
      index: 'Index',
      name: 'Name',
      catalogue: 'Catalogue',
      createontime: 'Creation Time',
      createonuser: 'Creation Personne',
@@ -79,6 +86,13 @@
      coordSystem: 'Coordinate system',
      scale: 'Scale',
      resolpower: 'resolpower',
      name: 'Name',
      format: 'Format',
      size: 'Size',
      gather: 'Acquisition time',
      depName: 'Company',
    },
    dictionaryManage: 'dictionaryManage',
    dictionaryManageObj: {
src/assets/lang/zh.js
@@ -32,15 +32,16 @@
    file: '文件',
    details: '详情',
    enclosure: '附件',
    attachinform: '附件信息',
    filePath: '文件路径',
    fileNme: '文件名称',
    format: '格式',
    size: '大小',
    versionName: '版本名称',
    type: '类型',
    quayTest: '质检',
    md5: 'MD5码',
    lineNuber: '行数',
  },
  dataManage: {
    dataManage: '数据管理',
@@ -57,11 +58,13 @@
      describe: '描述',
      directoryName: '目录名称',
      catalogDescription: '目录说明',
      uploaddata: '上传数据',
      catalogRemarks: '目录备注',
      newDirectory: '新增目录',
      versionNo: '版本号',
      tableName: '表名',
      receiptdata: '入库数据',
    },
    metadataManage: '元数据管理',
    dataLoading: '数据入库',
@@ -69,9 +72,9 @@
    versionManage: '版本管理',
    vmobj: {
      keyword: '关键字',
      describe: '描述',
      index: '序号',
      name: '名称',
      catalogue: '目录',
      createontime: '创建时间',
      createonuser: '创建人员',
@@ -82,8 +85,15 @@
      type: '类型',
      coordSystem: '坐标系统',
      scale: '比例尺',
      resolpower: '分辨率',
      name: '名称',
      format: '格式',
      size: '大小',
      gather: '采集时间',
      depName: '单位',
      describe: '描述',
    },
    dictionaryManage: '字典管理',
    dictionaryManageObj: {
src/views/datamanage/dataLoader.vue
@@ -10,7 +10,10 @@
    ></My-bread>
    <el-divider />
    <div class="updateContent">
      <div class="contentIquery">
       <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
@@ -79,6 +82,12 @@
              :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"
@@ -92,7 +101,6 @@
      <div class="contentTable">
         <el-table
     :data="tableData"
        border
        style="width: 100%"
        height="99%"
        @selection-change="handleSelectionChange">
@@ -110,9 +118,114 @@
          :label="$t('common.name')"
          fixed
        />
    </el-table>
      <!-- <div style="margin-top: 10px" class="pagination_box">
      </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">{{
              $t('common.iquery')
            }}</el-button>
            <el-button @click="setWarehouseReset"
              icon="el-icon-folder-add"
              type="info"
              >{{ $t('common.reset') }}</el-button
            >
          </el-form-item>
        </el-form>
      </div>
   <div class="contentTable" style="height:500px">
   <el-table
     :data="waretableData"
        style="width:99%"
        height="92%"
 >
        <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-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
@@ -123,8 +236,12 @@
          :total="count"
        >
        </el-pagination>
      </div> -->
      </div>
      </div>
    </el-tab-pane>
  </el-tabs>
    </div>
    <!--  -->
@@ -162,7 +279,7 @@
  </div>
  <span slot="footer" class="dialog-footer">
        <el-button  class="primary" @click="autoMatchWare">自动匹配</el-button>
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button @click="setInsrtWareTableClose ">取 消</el-button>
    <el-button class="primary" @click="setInsrtWareTable">确 定</el-button>
  </span>
</el-dialog>
@@ -182,7 +299,8 @@
  dataUploadDeleteFiles,
  dataUploadInsertFiles,
  dataLoader_selectMappers,
  dataLoader_SelectTabs
  dataLoader_SelectTabs,
  dataLoader_selectByPageForUpload
} from '../../api/api';
export default {
  name: 'dataUpdata',
@@ -191,6 +309,11 @@
  },
  data() {
    return {
          formWarehousing: {
          name:''
      },
waretableData:[],
      activeTabName:'first',
      wareStatus: false,
      dialogWarehousing: false,
      btnStatus: 0,
@@ -211,6 +334,7 @@
      listData: {
        pageIndex: 1,
        pageSize: 10,
        name:''
      },
      pickerOptions: {
        disabledDate(time) {
@@ -274,18 +398,103 @@
  },
  methods: {
      changetimeFile(res){
//shijianchuo是整数,否则要parseInt转换
      var time = new Date(res.createTime);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        s
      );
    },
      //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    setWarehouseSearch(){
   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();
    },
    handleTabClick(tab, event) {
        if(this.activeTabName =='second'){
            this.setWarehouseReset();
        }
    },
    handleSizeChange(val){
      this.listData.pageIndex= 1;
      this.listData.pageSize =val;
          this.getAllWareTable();
    },
handleCurrentChange(val){
  this.listData.pageIndex= val;
  this.getAllWareTable();
},
    //获取入库数据列表
   async getAllWareTable(){
      const res = await dataLoader_selectByPageForUpload(this.listData);
        if (res.code != 200) {
        this.$message.error('列表数据获取失败');
        return;
      }
      this.count = res.count;
 this.waretableData =res.result;
    },
    //大小值改變
    changeSizeFile(row, column, cellValue, index) {
      if (cellValue >= 1024) {
        return parseFloat(cellValue / 1204).toFixed(3) + "GB"
      } else {
        return cellValue + "MB"
      }
    },
    setInsrtWareTableClose(){
  this.dialogWarehousing = false;
        this.setClearAttartch();
    },
   async setInsrtWareTable(){
      var obj = {
                  metaEntity: this.formInline,
                  fileEntities: this.tableWareThree
                };
                debugger
            const res = await dataUploadInsertFiles(JSON.stringify(obj));
             if (res.code != 200) {
        this.$message.error('数据入库失败');
        return;
      }else{
        debugger
         this.$message({
          message: '数据入库成功',
          type: 'success'
@@ -406,7 +615,7 @@
        this.$message.error('数据请求失败');
        return;
      }
      debugger
      this.tableWareOne = data.result;
    },
    //数据删除
@@ -416,13 +625,14 @@
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
        this.$message.error('删除失败');
           this.handlerLoading(false);
        return;
      }
      this.getFileLength();
   this.handlerLoading(false);
      this.handlerLoading(false);
    },
    //数据入库
    async setFileWare() {
@@ -526,16 +736,16 @@
    },
    //分页控制
    handleSizeChange(res) {
      this.listData.pageIndex = 1;
      this.listData.pageSize = res;
      this.setViewTable();
    },
    handleCurrentChange(res) {
      this.listData.pageIndex = res;
      this.setViewTable();
    },
    // //分页控制
    // handleSizeChange(res) {
    //   this.listData.pageIndex = 1;
    //   this.listData.pageSize = res;
    //   this.setViewTable();
    // },
    // handleCurrentChange(res) {
    //   this.listData.pageIndex = res;
    //   this.setViewTable();
    // },
    //表格选中事件
    handleSelectionChange(res) {
      this.multipleSelection = res;
@@ -606,7 +816,7 @@
    async getselectVerByDirid() {
      this.verOption = [];
      this.formInline.verid = "";
      const res = await dataLoader_selectVerByDirid(this.formInline.dirid);
      const res = await dataLoader_selectVerByDirid({dirid:this.formInline.dirid});
      if (res.code != 200) {
        this.$message.error('版本列表获取失败');
@@ -662,8 +872,8 @@
      border-radius: 5px;
    }
    .contentTable {
      width: 98%;
      height: 72%;
      width: 97%;
      height: 400px;
      border: 1px solid white;
      padding: 1%;
      border-radius: 5px;
@@ -915,5 +1125,11 @@
      background-color: #216fe6;
    }
  }
   /deep/.el-tabs__active-bar {
    background: #409eff;
  }
    /deep/ .el-tabs__item {
    color: #409eff;
  }
}
</style>
src/views/datamanage/dataUpdata.vue
@@ -10,7 +10,9 @@
    ></My-bread>
    <el-divider />
    <div class="updateContent">
      <div class="contentIquery">
               <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
@@ -80,6 +82,12 @@
              :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"
@@ -91,10 +99,10 @@
        </el-form>
      </div>
      <div class="contentTable">
         <el-table
     :data="tableData"
        border
        style="width: 100%"
   <el-table
        :data="tableData"
        style="width: width:99%"
        height="99%"
        @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" />
@@ -105,15 +113,134 @@
          width="70px"
          fixed
        />
        <el-table-column
          <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 style="margin-top: 10px" class="pagination_box">
      </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">{{
              $t('common.iquery')
            }}</el-button>
            <el-button @click="setWarehouseReset"
              icon="el-icon-folder-add"
              type="info"
              >{{ $t('common.reset') }}</el-button
            >
          </el-form-item>
        </el-form>
      </div>
   <div class="contentTable" style="height:500px">
   <el-table
     :data="waretableData"
        style="width:99%"
        height="92%"
 >
        <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-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
@@ -124,8 +251,11 @@
          :total="count"
        >
        </el-pagination>
      </div> -->
      </div>
      </div>
    </el-tab-pane>
  </el-tabs>
    </div>
  </div>
@@ -135,7 +265,8 @@
import $ from 'jquery';
import MyBread from '../../components/MyBread.vue';
import { getToken } from '@/utils/auth';
import { selectdirTab, queryDepTree,dataUploadSelectVerByDirid,dataUploadSelectPath,dataUploadSelectFiles,dataUploadDeleteFiles,dataUploadInsertFiles} from '../../api/api';
import { selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles,
dataUpload_selectByPageForUpload} from '../../api/api';
export default {
  name: 'dataUpdata',
  components: {
@@ -143,21 +274,27 @@
  },
  data() {
    return {
      activeTabName: 'first',
      btnStatus: 0,
      count: 0,
      formInline: {
        verid:'',
        verid: '',
        gather: '',
      },
      formWarehousing: {
          name:''
      },
      catalogOption: [],
      companyOption: [],
      tableData: [],
      waretableData:[],
      listTable: [],
      multipleSelection: [],
      fullscreenLoading: false,
      listData: {
        pageIndex: 1,
        pageSize: 10,
       name: null,
      },
      pickerOptions: {
        disabledDate(time) {
@@ -214,39 +351,120 @@
  },
  methods: {
    changetimeFile(res){
    //数据删除
  async setFileDelete() {
      this.handlerLoading(true);
    var data = JSON.stringify(this.multipleSelection);
    const res = await dataUploadDeleteFiles(data);
 if (res.code != 200) {
       this.$message.error('删除失败');
//shijianchuo是整数,否则要parseInt转换
      var time = new Date(res.createTime);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        s
      );
    },
      //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    setWarehouseSearch(){
   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();
    },
    handleTabClick(tab, event) {
        if(this.activeTabName =='second'){
            this.setWarehouseReset();
        }
    },
    handleSizeChange(val){
      this.listData.pageIndex= 1;
      this.listData.pageSize =val;
          this.getAllWareTable();
    },
handleCurrentChange(val){
  this.listData.pageIndex= val;
  this.getAllWareTable();
},
    //获取入库数据列表
   async getAllWareTable(){
      const res = await  dataUpload_selectByPageForUpload(this.listData);
        if (res.code != 200) {
        this.$message.error('列表数据获取失败');
        return;
      }
  this.getFileLength();
      debugger
      this.count = res.count;
 this.waretableData =res.result;
    },
    //大小值改變
    changeSizeFile(row, column, cellValue, index) {
      if (cellValue >= 1024) {
        return parseFloat(cellValue / 1204).toFixed(3) + "GB"
      } else {
        return cellValue + "MB"
      }
    },
    //数据删除
    async setFileDelete() {
      this.handlerLoading(true);
      var data = JSON.stringify(this.multipleSelection);
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
        this.$message.error('删除失败');
        return;
      }
      this.getFileLength();
      this.handlerLoading(false);
    },
    //数据入库
 async setFileWare() {
      if(this.multipleSelection.length==0){
       this.$message.error('请选择要入库的数据');
    async setFileWare() {
      if (this.multipleSelection.length == 0) {
        this.$message.error('请选择要入库的数据');
        return
      }
        var obj = {
              metaEntity: this.formInline,
              fileEntities: this.multipleSelection
            };
        const res = await dataUploadInsertFiles(JSON.stringify(obj));
         if (res.code != 200) {
      var obj = {
        metaEntity: this.formInline,
        fileEntities: this.multipleSelection
      };
      const res = await dataUploadInsertFiles(JSON.stringify(obj));
      if (res.code != 200) {
        this.$message.error('文件上传数据获取失败');
        return;
      }
  this.getFileLength();
      this.getFileLength();
    },
@@ -265,73 +483,73 @@
    },
    //文件上传
    setFileUpload() {
       this.handlerLoading(true);
      this.handlerLoading(true);
      var token = getToken();
 var formData = new FormData();
      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++) {
        formData.append(fs.files[i].name, fs.files[i]); // fs.files[i].name,file
      }
 $.ajax(BASE_URL+"/dataUpload/uploadFiles?token="+token + "&path=" + this.formInline.path, {
      $.ajax(BASE_URL + "/dataUpload/uploadFiles?token=" + token + "&path=" + this.formInline.path, {
        type: "post",
        data: formData,
        async: true,
        cache: false,
        processData: false,
        contentType: false,
        success:(rs)=> {
                 this.getFileLength();
        success: (rs) => {
          this.getFileLength();
          alert("code = " + rs.code + ", msg = " + rs.msg + ", result = " + rs.result);
          this.$message({
            message: '上传成功',
            type: 'success'
          });
        },
        error:(rs)=> {
        error: (rs) => {
          alert("上传文件失败!");
        }
      });
            this.handlerLoading(false);
      document.getElementById("uploadfile").value = "";
      this.handlerLoading(false);
    },
    //获取文件上传数据
   async getFileLength() {
    async getFileLength() {
      const res = await dataUploadSelectFiles(this.formInline.path);
      if (res.code != 200) {
        this.$message.error('文件上传数据获取失败');
        return;
      }
      if(res.result == null){
     this.count =0;
      if (res.result == null) {
        this.count = 0;
        this.setClearTableData();
      }else{
      } else {
        this.count = res.result.length;
        this.tableData = res.result;
      }
      // this.listData.pageIndex = 1;
      // this.listData.pageSize = 10;
      // this.setViewTable();
    },
    //清除表格信息
    setClearTableData() {
      this.tableData = [];
      this.listTable = [];
    },
    //分页控制
    handleSizeChange(res) {
      this.listData.pageIndex = 1;
      this.listData.pageSize = res;
      this.setViewTable();
    },
    handleCurrentChange(res) {
      this.listData.pageIndex = res;
      this.setViewTable();
    },
    // //分页控制
    // handleSizeChange(res) {
    //   this.listData.pageIndex = 1;
    //   this.listData.pageSize = res;
    //   this.setViewTable();
    // },
    // handleCurrentChange(res) {
    //   this.listData.pageIndex = res;
    //   this.setViewTable();
    // },
    //表格选中事件
    handleSelectionChange(res) {
      this.multipleSelection = res;
@@ -341,7 +559,7 @@
      $("#uploadfile").click();
    },
    handleFileChange() {
  var fs = document.getElementById("uploadfile");
      var fs = document.getElementById("uploadfile");
    },
    //当前时间获取
@@ -379,10 +597,10 @@
    companyChange(value) {
      this.formInline.depid = value;
    },
 //获取文件上传路径
   async getFilePath() {
    //获取文件上传路径
    async getFilePath() {
      const res = await dataUploadSelectPath();
    if (res.code != 200) {
      if (res.code != 200) {
        this.$message.error('单位列表获取失败');
        return;
      }
@@ -400,10 +618,9 @@
    },
    //版本号获取
    async getselectVerByDirid() {
      this.verOption=[];
      this.formInline.verid ="";
      const res =  await dataUploadSelectVerByDirid(this.formInline.dirid);
      this.verOption = [];
      this.formInline.verid = "";
      const res = await dataUploadSelectVerByDirid({ dirid: this.formInline.dirid });
      if (res.code != 200) {
        this.$message.error('版本列表获取失败');
        return;
@@ -411,8 +628,6 @@
      this.verOption = res.result;
      this.formInline.verid = res.result[0].id;
    },
    //目录列表获取
    async getSelectdirTab() {
      const res = await selectdirTab();
@@ -451,15 +666,15 @@
    position: relative;
    .contentIquery {
      width: 98%;
      width: 97%;
      height: 16%;
      border: 1px solid white;
      padding: 1%;
      border-radius: 5px;
    }
    .contentTable {
      width: 98%;
      height: 72%;
      width: 97%;
      height: 400px;
      border: 1px solid white;
      padding: 1%;
      border-radius: 5px;
@@ -596,5 +811,11 @@
  /deep/.el-loading-spinner i {
    color: #1890ff !important;
  }
  /deep/.el-tabs__active-bar {
    background: #409eff;
  }
  /deep/ .el-tabs__item {
    color: #409eff;
  }
}
</style>
src/views/datamanage/metadataManage.vue
@@ -64,6 +64,17 @@
      </el-form>
    </div>
    <div class="bottom">
      <div class="leftTree">
        <ul>
          <li
            @click="getTableDesc(item)"
            v-for="item in optionCount"
            :class="{ active: activeName == item.tab }"
          >
            {{ item.tabDesc }}({{ item.tab }})
          </li>
        </ul>
      </div>
      <div class="rightTable">
        <div class="table_box">
          <el-table
@@ -73,34 +84,39 @@
            height="99%"
          >
            <el-table-column type="selection" width="55" />
            <el-table-column prop="name" :label="$t('common.name')" />
            <el-table-column prop="format" :label="$t('common.format')" />
            <el-table-column prop="sizes" :label="$t('common.size')" />
            <el-table-column prop="name" :label="$t('dataManage.vmobj.name')" />
            <el-table-column
              prop="createUser"
              prop="type"
              :label="$t('dataManage.vmobj.format')"
            />
            <el-table-column
              prop="sizes"
              :label="$t('dataManage.vmobj.size')"
              :formatter="stateFormatSizes"
            />
            <el-table-column
              prop="depName"
              :label="$t('dataManage.vmobj.depName')"
            />
            <el-table-column
              prop="gather"
              :label="$t('dataManage.vmobj.gather')"
              :formatter="formatData"
            />
            <el-table-column
              prop="describe"
              :label="$t('dataManage.vmobj.describe')"
            />
            <el-table-column
              prop="uname"
              :label="$t('dataManage.vmobj.createonuser')"
            />
            <el-table-column
              prop="createTime"
              :label="$t('dataManage.vmobj.createontime')"
            />
            <el-table-column
              prop="cs"
              :label="$t('dataManage.vmobj.coordSystem')"
            />
            <el-table-column
              prop="scale"
              :label="$t('dataManage.vmobj.scale')"
            />
            <el-table-column
              prop="resolution"
              :label="$t('dataManage.vmobj.resolpower')"
              :formatter="formatData"
            />
            <el-table-column
              prop="descr"
              :label="$t('dataManage.vmobj.describe')"
            />
            <el-table-column min-width="100" :label="$t('common.operate')">
              <template slot-scope="scope">
                <el-link style="color: white" @click="showDetail(scope.row)">{{
@@ -119,9 +135,9 @@
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="currentPage"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="10"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count"
          >
@@ -140,25 +156,29 @@
        <div class="contentBox">
          <p>{{ $t('dataManage.vmobj.name') }}:{{ itemdetail.name }}</p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.vmobj.type') }}:{{ itemdetail.type }}</p>
          <p>{{ $t('dataManage.vmobj.format') }}:{{ itemdetail.type }}</p>
          <el-divider></el-divider>
          <p>{{ $t('common.format') }}:{{ itemdetail.format }}</p>
          <p>{{ $t('common.size') }}:{{ setInfoBoxSize(itemdetail.sizes) }}</p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.vmobj.depName') }}:{{ itemdetail.depName }}</p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.gather') }}:{{
              setInfoBoxTime(itemdetail.gather)
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.describe') }}:{{ itemdetail.describe }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.createonuser') }}:{{ itemdetail.uname }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.createontime') }}:{{
              itemdetail.createTime
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.createonuser') }}:{{
              itemdetail.createUser
            }}
          </p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.updateontime') }}:{{
              itemdetail.updateTime
              setInfoBoxTime(itemdetail.createTime)
            }}
          </p>
          <el-divider></el-divider>
@@ -168,15 +188,11 @@
            }}
          </p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.vmobj.coordSystem') }}:{{ itemdetail.cs }}</p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.vmobj.scale') }}:{{ itemdetail.scale }}</p>
          <el-divider></el-divider>
          <p>
            {{ $t('dataManage.vmobj.resolpower') }}:{{ itemdetail.resolution }}
            {{ $t('dataManage.vmobj.updateontime') }}:{{
              setInfoBoxTime(itemdetail.updateTime)
            }}
          </p>
          <el-divider></el-divider>
          <p>{{ $t('dataManage.vmobj.describe') }}:{{ itemdetail.descr }}</p>
        </div>
      </el-card>
    </div>
@@ -199,41 +215,41 @@
          <el-input v-model="editForm.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.type')"
          :label="$t('dataManage.vmobj.format')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.type" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('common.format')"
          :label="$t('dataManage.vmobj.size')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.format" autocomplete="off"></el-input>
          <el-input v-model="editForm.sizes" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.coordSystem')"
          :label="$t('dataManage.vmobj.depName')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.cs" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.scale')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.scale" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.resolpower')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.resolution" autocomplete="off"></el-input>
          <!-- <el-input v-model="editForm.depName" autocomplete="off"></el-input> -->
          <el-cascader
            v-model="editForm.depid"
            :options="companyOption"
            @change="companyChange"
            :props="cascader"
          ></el-cascader>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.vmobj.describe')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.descr" autocomplete="off"></el-input>
          <el-input v-model="editForm.describe" autocomplete="off"></el-input>
        </el-form-item>
        <!-- <el-form-item
          :label="$t('dataManage.vmobj.gather')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="editForm.gather" autocomplete="off"></el-input>
        </el-form-item> -->
      </el-form>
      <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer">
        <el-button size="medium" @click="cancelEdit()">{{
@@ -295,6 +311,8 @@
  updateMeta,
  deleteMeta,
  insertMeta,
  selectDictTab,
  queryDepTree,
} from '../../api/api';
import MyBread from '../../components/MyBread.vue';
export default {
@@ -311,6 +329,9 @@
      }
    };
    return {
      companyOption: [],
      activeName: '',
      optionCount: [],
      showCodeBox: false,
      value: true,
      multipleSelection: [],
@@ -349,16 +370,107 @@
        insert: false,
        update: false,
      },
      listData: {
        pageSize: 10,
        pageIndex: 1,
        name: null,
      },
      cascader: {
        label: 'name',
        value: 'id',
        children: 'children',
        checkStrictly: true,
        emitPath: false,
      },
    };
  },
  created() {
    this.getMetaData({
      pageIndex: 1,
      pageSize: 10,
    });
    this.getMetaData();
    this.getSelectDictTab();
    this.showPermsBtn();
    this.getQueryDepTree();
  },
  methods: {
    //单位列表获取
    async getQueryDepTree() {
      const res = await queryDepTree();
      if (res.code != 200) {
        this.$message.error('单位列表获取失败');
        return;
      }
      // this.formInline.depid = 1;
      this.companyOption = this.treeData(res.result);
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (data == null) {
        return data;
      }
      return this.format(data);
    },
    setInfoBoxTime(res) {
      if (res == null) {
        return res;
      }
      return this.format(res);
    },
    setInfoBoxSize(res) {
      if (res >= 1024) {
        return parseFloat(res / 1024).toFixed(3) + ' GB';
      } else {
        return res + ' MB';
      }
    },
    //格式化时间
    format(shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        s
      );
    },
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    //单位转换
    stateFormatSizes(row, column) {
      if (row.sizes >= 1024) {
        const val = parseFloat(row.sizes / 1024).toFixed(3);
        return val + ' GB';
      } else {
        return row.sizes + ' MB';
      }
    },
    //目录树获取
    async getSelectDictTab() {
      const data = await selectDictTab();
      if (data.code != 200) {
        this.$message.error('下拉调用失败');
      }
      this.optionCount = data.result;
      this.activeName = data.result[0].tab;
    },
    getTableDesc(res) {
      this.activeName = res.tab;
    },
    //显示权限按钮
    showPermsBtn() {
      let currentPerms = this.$store.state.currentPerms;
@@ -400,35 +512,26 @@
      );
    },
    // 请求数据内容
    getMetaData(params) {
      select_meta_ByPageAndCount(params).then((res) => {
    getMetaData() {
      select_meta_ByPageAndCount(this.listData).then((res) => {
        this.tableData = res.result;
        this.count = res.count;
      });
    },
    // 查询
    queryInfo() {
      let searchData = {
        name: this.queryForm.name.trim(),
        pageIndex: this.pageIndex,
        pageSize: this.pageSize,
      };
      select_meta_ByPageAndCount(searchData).then((res) => {
        if (res.code == 200) {
          this.tableData = res.result;
          this.count = res.count;
        } else {
          console.log('查询接口报错');
          this.$notify.error({
            title: res.code,
            message: res.result,
          });
        }
      });
      this.listData.name = this.queryForm.name.trim();
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.getMetaData();
    },
    // 重置查询
    resetInfo(formName) {
      this.$refs[formName].resetFields();
      this.listData.pageSize = 10;
      this.listData.pageIndex = 1;
      this.listData.name = null;
      this.getMetaData();
    },
    //新增按钮
    showAddDialog() {
@@ -450,7 +553,9 @@
              setTimeout(() => {
                this.fullscreenLoading = false;
                if (res.code == 200) {
                  this.getMetaData({ pageIndex: 1, pageSize: 10 });
                  this.listData.pageSize = 10;
                  this.listData.pageIndex = 1;
                  this.getMetaData();
                  this.$message({
                    message: '添加成功',
                    type: 'success',
@@ -493,7 +598,9 @@
                message: '删除成功!',
              });
              this.multipleSelection = [];
              this.getMetaData({ pageIndex: 1, pageSize: 10 });
              this.listData.pageSize = 10;
              this.listData.pageIndex = 1;
              this.getMetaData();
            } else {
              this.$message.error('删除失败');
              this.multipleSelection = [];
@@ -550,7 +657,9 @@
            setTimeout(() => {
              this.fullscreenLoading = false;
              if (res.code == 200) {
                this.getMetaData({ pageIndex: 1, pageSize: 10 });
                this.listData.pageSize = 10;
                this.listData.pageIndex = 1;
                this.getMetaData();
                this.$message({
                  message: '修改成功',
                  type: 'success',
@@ -586,13 +695,23 @@
    },
    handleSizeChange(val) {
      this.pageSize = val;
      this.queryInfo();
      this.listData.pageSize = val;
      this.listData.pageIndex = 1;
      this.getMetaData();
    },
    handleCurrentChange(val) {
      this.pageIndex = val;
      this.currentPage = val;
      this.queryInfo();
      this.listData.pageIndex = val;
      this.getMetaData();
    },
    //树列表生成
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值
        return father.pid == 0; // 返回一级菜单
      });
    },
  },
};
@@ -617,15 +736,39 @@
    }
  }
  .bottom {
    width: 98%;
    width: 100%;
    margin-top: 1%;
    height: 74%;
    padding: 1%;
    border: 1px solid white;
    border-radius: 5px;
    .rightTable {
    display: flex;
    justify-content: space-between;
    .leftTree {
      width: 15%;
      height: 100%;
      width: 100%;
      border: 1px solid white;
      border-radius: 5px;
      padding: 1%;
      max-height: 670px;
      overflow-y: auto;
      li {
        color: white;
        border-bottom: 1px solid white;
        line-height: 30px;
        text-align: center;
      }
      li:hover {
        background: rgba(255, 255, 255, 0.3);
      }
      .active {
        color: #409eff;
      }
    }
    .rightTable {
      width: 80%;
      height: 100%;
      border: 1px solid white;
      border-radius: 5px;
      padding: 1%;
      .table_box {
        width: 100%;
        height: 93%;
src/views/datamanage/styleManage.vue
@@ -31,7 +31,7 @@
            >{{ $t('common.empty') }}</el-button
          >
          <el-button  v-if="btnStatus.insert"
            @click="InsertFormdialog = true"
            @click="setInsertShow()"
            icon="el-icon-edit"
            type="success"
            size="small"
@@ -258,7 +258,13 @@
          :label="$t('dataManage.styleObj.dirid')"
          :label-width="formLabelWidth"
        >
          <el-input
         <el-cascader
              v-model="upform.dirid"
              :options="editcatalogOption"
              @change="catalogChange"
              :props="cascader" style="width:730px"
            ></el-cascader>
          <!-- <el-input
            v-model="upform.dirValue"
            disabled
            autocomplete="off"
@@ -268,13 +274,20 @@
            @click="showDirTree(1)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
          ></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.depid')"
          :label-width="formLabelWidth"
        >
          <el-input
          <el-cascader
              v-model="upform.depid"
              :options="editCompanyOption"
              @change="editcompanyChange"
              :props="cascader"
              style="width:730px"
            ></el-cascader>
          <!-- <el-input
            v-model="upform.depValue"
            disabled
            autocomplete="off"
@@ -284,7 +297,7 @@
            @click="showDepTree(1)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
          ></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.ver')"
@@ -417,7 +430,14 @@
          :label="$t('dataManage.styleObj.dirid')"
          :label-width="formLabelWidth"
        >
          <el-input
        <el-cascader
              v-model="insertform.dirid"
              :options="catalogOption"
              @change="catalogChange"
              :props="cascader"
              style="width:730px"
            ></el-cascader>
          <!-- <el-input
            v-model="insertform.dirValue"
            disabled
            autocomplete="off"
@@ -427,13 +447,20 @@
            @click="showDirTree(0)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
          ></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.depid')"
          :label-width="formLabelWidth"
        >
          <el-input
          <el-cascader
              v-model="insertform.depid"
              :options="companyOption"
              @change="companyChange"
              :props="cascader"
              style="width:730px"
            ></el-cascader>
          <!-- <el-input
            v-model="insertform.depValue"
            disabled
            autocomplete="off"
@@ -443,7 +470,7 @@
            @click="showDepTree(0)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
          ></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.ver')"
@@ -595,6 +622,8 @@
  deleteStyles,
  updateStyle,
  upload_style,
  queryDepTree,
  selectdirTab
} from "../../api/api";
export default {
  name: "styleManage",
@@ -641,11 +670,24 @@
        insert: false,
        update: false,
      },
      companyOption:[],
      catalogOption:[],
      editCompanyOption:[],
      editcatalogOption:[],
       cascader: {
        label: 'name',
        value: 'id',
        children: 'children',
        checkStrictly: true,
        emitPath: false,
      },
    };
  },
  created() {
    this.getRoleTabelData();
    this.showPermsBtn();
     this.getQueryDepTree();this.getSelectdirTab();
  },
  methods: {
    showPermsBtn() {
@@ -1092,7 +1134,7 @@
      this.upflag = false;
      this.dialogFormVisible = false;
      this.upform = {};
      this.filesReset();
      // this.filesReset();
    },
    submitForm(formName) {
      this.getRoleTabelData();
@@ -1129,6 +1171,7 @@
    },
    handleEdit(index, row) {
      this.upflag = true;
      this.dialogFormVisible = true;
      this.upform = row;
@@ -1161,6 +1204,56 @@
        "height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no"
      );
    },
     catalogChange(res) {
      this.insertform.dirid = res;
      this.upform.dirid =res;
    },
    editcompanyChange(res){
this.upform.depid = res;
    },
    companyChange(res){
        this.insertform.depid = res;
    },
    //新增数据
    setInsertShow(){
this.InsertFormdialog = true;
    },
    //目录列表获取
    async getSelectdirTab() {
      const res = await selectdirTab();
      if (res.code != 200) {
        this.$message.error('目录列表获取失败');
        return;
      }
      this.insertform.dirid = 1;
      this.upform.dirid = 1;
 this.catalogOption = this.treeData(res.result);
 this.editcatalogOption= this.treeData(res.result);
    },
      //单位列表获取
    async getQueryDepTree() {
      const res = await queryDepTree();
      if (res.code != 200) {
        this.$message.error('单位列表获取失败');
        return;
      }
      this.insertform.depid = 1;
            this.upform.depid = 1;
      this.companyOption = this.treeData(res.result);
      this.editCompanyOption= this.treeData(res.result);
    },
    //树列表生成
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值
        return father.pid == 0; // 返回一级菜单
      });
    },
  },
};
</script>
src/views/datamanage/versionManage.vue
@@ -95,7 +95,10 @@
              <template slot-scope="scope">
                <el-button
                  v-if="btnStatus.update"
                  @click="handleEdit(scope.$index, scope.row)"
                  @click="
                    handleEdit(scope.$index, scope.row);
                    getSelectdirTab();
                  "
                  type="warning"
                  size="small"
                  >{{ $t('common.update') }}</el-button
@@ -146,7 +149,7 @@
          <el-cascader
            style="width: 300px"
            v-model="upform.dirid"
            :options="catalogOption"
            :options="editcatalogOption"
            @change="upCatalogChange"
            :props="cascader"
          ></el-cascader>
@@ -380,10 +383,24 @@
        this.$message.error('目录列表获取失败');
        return;
      }
      this.insertform.name = this.getYMD();
      this.insertform.path = 1;
      this.insertform.dirid = 1;
      this.upform.dirid == 1;
      this.catalogOption = this.treeData(res.result);
      this.editcatalogOption = this.treeData(res.result);
    },
    getYMD() {
      let myDate = new Date();
      let myYear = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
      let myMonth = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
      let myToday = myDate.getDate(); //获取当前日(1-31)
      myMonth = myMonth > 9 ? myMonth : '0' + myMonth;
      myToday = myToday > 9 ? myToday : '0' + myToday;
      let nowDate = 'V' + myYear + myMonth + myToday;
      return nowDate;
    },
    //树列表生成
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆