管道基础大数据平台系统开发-【前端】-新系統界面
1
Surpriseplus
2022-12-21 ec3342e1b34dd02f33dae9bed2db16a14ae8096d
src/views/datamanage/dataLoader.vue
@@ -41,20 +41,32 @@
              </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"
              type="datetime"
              placeholder="请选择"
              value-format="yyyy-MM-dd HH:mm:ss"
            />
          </el-form-item>
          <el-form-item>
            <input id="uploadfile" @change= "handleFileChange" type="file"  name="file" multiple="multiple" accept=".xls,.xlsx,.mdb,.shp.zip,.gdb.zip"  style="display: none"></input>
            <el-button icon="el-icon-document-add" @click="fileSelect" class="primary">{{
            <!-- <el-button icon="el-icon-document-add" @click="fileSelect" class="primary">{{
              $t('common.file')
            }}</el-button>
            }}</el-button> -->
            <el-input v-model="formInline.fileName" disabled>
         <template slot="append">
             <el-button v-if="formInline.fileName == '未选择文件'"
              type="info"
                @click="fileSelect">
                   选择文件
             </el-button>
             <el-button
               v-else
                type="info"
                @click="clearFileSelect"
                >
                    重置
             </el-button>
         </template>
      </el-input>
          </el-form-item>
          <br />
          <el-form-item :label="$t('dataManage.dataUpObj.describe')">
@@ -155,6 +167,7 @@
 >
   <el-table-column
      type="selection"
      width="55">
    </el-table-column>
        <el-table-column
@@ -162,50 +175,50 @@
          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"
          :label="$t('dataManage.dataUpObj.tableName')"
          fixed
        >
         <template slot-scope="scope">
      <a @click="detail(scope.row)"  >{{
@@ -236,8 +249,7 @@
          align="center"
          prop="createTime"
          :label="$t('dataManage.vmobj.createontime')"
              :formatter="changetimeFile"
          :formatter="changetimeFile"
        />
    </el-table>
@@ -264,7 +276,7 @@
   <el-dialog
  :title="$t('dataManage.datawarehousing')"
  :visible.sync="dialogWarehousing"
  width="50%"
  width="70%"
  :before-close="handleWareClose"
  >
  <div  class="dialogBox">
@@ -280,7 +292,7 @@
  </div>
  <div class="transFarBox">
 <ul>
      <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo"  :class="{ active: activeName2 == item.entity }">{{item.tabDesc}} (  {{item.tab}})</li>
      <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo"  :class="{ active: activeName2 == item.entity }">{{item.tabDesc}} ( {{item.ns}}.{{item.tab}})</li>
    </ul>
  </div>
   <div class="tarnsbtton">
@@ -289,7 +301,7 @@
   </div>
   <div class="transFarBox">
     <ul>
      <li @click="singleElection3(i)" v-for="(item, i) in tableWareThree"  :class="{ active: activeName3 ==( item.tab+i)}">{{item.tab}} ( {{item.tabDesc}}:{{item.entity}} )</li>
      <li @click="singleElection3(i)" v-for="(item, i) in tableWareThree"  :class="{ active: activeName3 ==( item.tab+i)}">{{item.tab}} ( {{item.tabDesc}}  {{item.ns}}.{{item.tabs}} )</li>
    </ul>
   </div>
  </div>
@@ -357,9 +369,9 @@
  dataLoader_selectMappers,
  dataLoader_SelectTabs,
  dataLoader_selectByPageForUpload,
dataLoader_deleteMetas,
dataLoader_selectFields,
dataLoader_selectDbData
  dataLoader_deleteMetas,
  dataLoader_selectFields,
  dataLoader_selectDbData
} from '../../api/api';
export default {
  name: 'dataUpdata',
@@ -368,11 +380,13 @@
  },
  data() {
    return {
          formWarehousing: {
          name:''
      formWarehousing: {
        name: '',
      },
waretableData:[],
      activeTabName:'first',
      waretableData: [],
      activeTabName: 'first',
      wareStatus: false,
      dialogWarehousing: false,
      btnStatus: 0,
@@ -380,6 +394,7 @@
      formInline: {
        verid: '',
        gather: '',
          fileName:'未选择文件'
      },
      tableWareOne: [],
      tableWareTwo: [],
@@ -393,7 +408,7 @@
      listData: {
        pageIndex: 1,
        pageSize: 10,
        name:''
        name: ''
      },
      pickerOptions: {
        disabledDate(time) {
@@ -416,16 +431,16 @@
      activeName2: '',
      activeName3: '',
      wareTableFlag: null,
      multipleDelete:[],
      dialogVisible:false,
      attributeData:[],
        listLoader:{
        id:null,
        pageSize:1,
        pageSize:10,
      multipleDelete: [],
      dialogVisible: false,
      attributeData: [],
      listLoader: {
        id: null,
        pageSize: 1,
        pageSize: 10,
      },
      count1:0,
      dbTableData:[],
      count1: 0,
      dbTableData: [],
    };
  },
@@ -468,51 +483,68 @@
  },
  methods: {
  async detail(res){
    async detail(res) {
      var val = res.tab.split(".");
      const data = await dataLoader_selectFields({
        ns:val[0],
        tab:val[1]
        ns: val[0],
        tab: val[1]
      })
      if(data.code != 200){
          this.$message.error('字段列表调用失败');
      if (data.code != 200) {
        this.$message.error('字段列表调用失败');
        return
      }
      var val_data= data.result;
      for(var i in val_data){
        if(val_data[i].alias.indexOf('ID') != -1){
         val_data[i].alias = val_data[i].alias.replace('ID','')
        }
      }
      this.dialogVisible = true;
      this.attributeData =data.result;
      this.listLoader={
        id:res.id,
        pageIndex:1,
        pageSize:10,
      this.attributeData = val_data;
      this.listLoader = {
        id: res.id,
        pageIndex: 1,
        pageSize: 10,
      }
      this.getDataLoaderSelectDbData();
    },
  async getDataLoaderSelectDbData (){
       const data1 = await dataLoader_selectDbData(this.listLoader);
     if(data1.code != 200){
          this.$message.error('字段列表调用失败');
    async getDataLoaderSelectDbData() {
      const data1 = await dataLoader_selectDbData(this.listLoader);
      if (data1.code != 200) {
        this.$message.error('字段列表调用失败');
        return
      }
 this.dbTableData =data1.result;
 this.count1 = data1.count;
      var val = data1.result;
      for(var i in val){
       val[i].createuser = val[i].createName;
       val[i].depid= val[i].depName;
       val[i].dirid= val[i].dirName;
       val[i].verid= val[i].verName;
       val[i].updateuser= val[i].updateName;
       if(val[i].createtime != null){
          val[i].createtime= this.changetimeLayer(val[i].createtime )
       }
       if(val[i].updatetime != null){
          val[i].updatetime= this.changetimeLayer(val[i].updatetime )
       }
      }
      this.dbTableData = data1.result;
      this.count1 = data1.count;
    },
       handleLoaderSizeChange(val){
      this.listLoader.pageIndex= 1;
      this.listLoader.pageSize =val;
            this.getDataLoaderSelectDbData();
    handleLoaderSizeChange(val) {
      this.listLoader.pageIndex = 1;
      this.listLoader.pageSize = val;
      this.getDataLoaderSelectDbData();
    },
handleLoaderCurrentChange(val){
  this.listLoader.pageIndex= val;
   this.getDataLoaderSelectDbData();
},
    handleLoaderCurrentChange(val) {
      this.listLoader.pageIndex = val;
      this.getDataLoaderSelectDbData();
    },
      changetimeFile(res){
//shijianchuo是整数,否则要parseInt转换
      var time = new Date(res.createTime);
      var y = time.getFullYear();
changetimeLayer(res){
      var time = new Date(res );
     var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
@@ -531,75 +563,79 @@
        ':' +
        s
      );
},
    changetimeFile(res) {
     return this.changetimeLayer(res.createTime)
    },
      //格式化时间
    //格式化时间
    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();
    },
   async setWarehouseDel(){
var std = [];
          for (var i in this.multipleDelete) {
            std.push(this.multipleDelete[i].id);
          }
          const res = await dataLoader_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 dataLoader_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;
    },
    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 dataLoader_selectByPageForUpload(this.listData);
        if (res.code != 200) {
      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) {
@@ -610,24 +646,24 @@
        return cellValue + "MB"
      }
    },
    setInsrtWareTableClose(){
  this.dialogWarehousing = false;
        this.setClearAttartch();
    setInsrtWareTableClose() {
      this.dialogWarehousing = false;
      this.setClearAttartch();
    },
   async setInsrtWareTable(){
    async setInsrtWareTable() {
      var obj = {
                  metaEntity: this.formInline,
                      fileEntities: this.tableData,
                  tabEntities: this.tableWareThree
                };
            const res = await dataLoader_InsertFiles(JSON.stringify(obj));
        metaEntity: this.formInline,
        fileEntities: this.tableData,
        tabEntities: this.tableWareThree
      };
      const res = await dataLoader_InsertFiles(JSON.stringify(obj));
             if (res.code != 200) {
      if (res.code != 200) {
        this.$message.error('数据入库失败');
        return;
      }else{
      } else {
         this.$message({
        this.$message({
          message: '数据入库成功',
          type: 'success'
        });
@@ -637,13 +673,13 @@
      }
    },
    setClearAttartch(){
       this.activeName = '';
    setClearAttartch() {
      this.activeName = '';
      this.activeName2 = '';
      this.activeName3 = '';
      this.tableWareThree =[];
      this.tableWareTwo=[];
      this.tableWareOne=[];
      this.tableWareThree = [];
      this.tableWareTwo = [];
      this.tableWareOne = [];
    },
    autoMatchWare() {
      var val1 = this.tableWareOne;
@@ -656,24 +692,27 @@
          if (val2[j].tab == stdTab) {
            std.push(val1[i].tab)
            val1[i].entity = val2[j].entity;
            val1[i].tabDesc= val2[j].tabDesc;
            val1[i].tabDesc = val2[j].tabDesc;
              val1[i].tabs=val2[j].tab;
               val1[i].ns=val2[j].ns;
            this.tableWareThree.push(val1[i]);
          }
        }
      }
 std.forEach(item => {
          this.tableWareOne = this.tableWareOne.filter(items => items.tab!== item);
        });
      std.forEach(item => {
        this.tableWareOne = this.tableWareOne.filter(items => items.tab !== item);
      });
    },
    setSplitWare(res) {
      if (res.indexOf(".shp") != -1) {
        return res.split(".shp").join("");
      }else if (res.indexOf(".mdb") != -1){
 return res.split(".mdb").join("");
      }else if (res.indexOf(".gdb") != -1){
 return res.split(".gdb").join("");
      }else{
      } else if (res.indexOf(".mdb") != -1) {
        return res.split(".mdb").join("");
      } else if (res.indexOf(".gdb") != -1) {
        return res.split(".gdb").join("");
      } else {
        return res;
      }
    },
@@ -689,35 +728,35 @@
      var res = this.wareTableFlag;
      var value1 = this.tableWareThree[res];
      value1.entity = null;
        value1.tabDesc= null;
        if(this.tableWareOne.indexOf(value1)!=-1 ){
      value1.tabDesc = null;
      if (this.tableWareOne.indexOf(value1) != -1) {
        }else{
            this.tableWareOne.push(value1);
      this.tableWareThree.splice(res, 1)
      this.activeName = '';
      this.activeName2 = '';
      this.activeName3 = '';
        }
      } else {
        this.tableWareOne.push(value1);
        this.tableWareThree.splice(res, 1)
        this.activeName = '';
        this.activeName2 = '';
        this.activeName3 = '';
      }
    },
    setWareTableChangeRight() {
      this.wareSelectOne.entity = this.wareSelectTwo.entity;
          this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc;
  if(this.tableWareThree.indexOf(this.wareSelectOne) != -1){
      this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc;
      if (this.tableWareThree.indexOf(this.wareSelectOne) != -1) {
  }else{
 this.tableWareThree.push(this.wareSelectOne)
      this.tableWareOne.forEach((value, index, array) => {
        if (value.tab == this.wareSelectOne.tab) {
          this.tableWareOne.splice(index, 1)
        }
      })
   this.activeName = '';
      this.activeName2 = '';
      this.activeName3 = '';
  }
      } else {
        this.tableWareThree.push(this.wareSelectOne)
        this.tableWareOne.forEach((value, index, array) => {
          if (value.tab == this.wareSelectOne.tab) {
            this.tableWareOne.splice(index, 1)
          }
        })
        this.activeName = '';
        this.activeName2 = '';
        this.activeName3 = '';
      }
    },
    singleElection(row) {
      this.wareSelectOne = row;
@@ -763,11 +802,11 @@
      const res = await dataUploadDeleteFiles(data);
      if (res.code != 200) {
        this.$message.error('删除失败');
           this.handlerLoading(false);
        this.handlerLoading(false);
        return;
      }
      this.getFileLength();
   this.handlerLoading(false);
      this.handlerLoading(false);
@@ -836,14 +875,15 @@
          this.getFileLength();
           this.$message({
          message: '数据上传成功',
          type: 'success'
        });
          this.$message({
            message: '数据上传成功',
            type: 'success'
          });
      this.clearFileSelect();
        },
        error: (rs) => {
          this.$message.error('数据上传失败');
           this.clearFileSelect();
        }
      });
@@ -895,9 +935,16 @@
    fileSelect() {
      $("#uploadfile").click();
    },
    handleFileChange() {
      var fs = document.getElementById("uploadfile");
    handleFileChange(event) {
      // var fs = document.getElementById("uploadfile");
      var f = event.currentTarget.files[0]
      this.formInline.fileName = f.name;
    },
    clearFileSelect(){
   this.formInline.fileName="未选择文件";
    document.getElementById("uploadfile").value = "";
    },
    //当前时间获取
    timeDefault() {
@@ -957,7 +1004,7 @@
    async getselectVerByDirid() {
      this.verOption = [];
      this.formInline.verid = "";
      const res = await dataLoader_selectVerByDirid({dirid:this.formInline.dirid});
      const res = await dataLoader_selectVerByDirid({ dirid: this.formInline.dirid });
      if (res.code != 200) {
        this.$message.error('版本列表获取失败');
@@ -1077,7 +1124,6 @@
          background-color: #216fe6;
        }
      }
    }
    .primary {
      background: #409eff;
@@ -1231,47 +1277,47 @@
      background-color: #216fe6;
    }
  }
   /deep/.el-tabs__active-bar {
  /deep/.el-tabs__active-bar {
    background: #409eff;
  }
    /deep/ .el-tabs__item {
  /deep/ .el-tabs__item {
    color: #409eff;
  }
     .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;
        }
      }
  .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;
    }
  }
}
</style>