管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-02-16 c2a1e5ca8c702739ac0753accd65004926867bed
src/views/datamanage/dataUpdata.vue
@@ -25,12 +25,14 @@
            class="demo-form-inline"
          >
            <!-- 入库类型 -->
            <el-form-item :label="$t('dataManage.dataUpObj.UploadType')">
            <el-form-item
              :label="$t('dataManage.dataUpObj.UploadType')"
              style="margin-right: 2%"
            >
              <el-select
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.uploadType"
                @change="uploadTypeChange"
                :popper-append-to-body="false"
                placeholder="请选择"
              >
@@ -44,24 +46,46 @@
            </el-form-item>
            <!-- 存储目录 -->
            <el-form-item
              style="margin-right: 2%"
              v-show="uploadFlag"
              :label="$t('dataManage.dataUpObj.storageDirectory')"
            >
              <el-cascader
              <el-select
                :popper-append-to-body="false"
                v-model="formInline.dirName"
                :disabled="tableData.length == 0 ? false : true"
              >
                <el-option
                  :value="formInline.dirid"
                  :label="formInline.dirName"
                  style=" height:auto"
                >
                  <el-tree
                    ref="tree"
                    :data="catalogOption"
                    node-key="id"
                    :props="cascader"
                    @node-click="catalogChange"
                  />
                </el-option>
              </el-select>
              <!-- <el-cascader
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.dirid"
                :options="catalogOption"
                @change="catalogChange"
                ref="selectcascader"
                :props="cascader"
              ></el-cascader>
              ></el-cascader>  -->
            </el-form-item>
            <!-- 项目名称 -->
            <el-form-item
              style="margin-right: 2%"
              v-show="!uploadFlag"
              :label="$t('dataManage.dataUpObj.entryName')"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.entryId"
                @change="entryNameChange"
@@ -76,8 +100,12 @@
              </el-select>
            </el-form-item>
            <!-- 数据版本 -->
            <el-form-item :label="$t('dataManage.dataUpObj.dataVersion')">
            <el-form-item
              :label="$t('dataManage.dataUpObj.dataVersion')"
              style="margin-right: 2%"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.verid"
                :placeholder="$t('common.choose')"
@@ -92,8 +120,12 @@
              </el-select>
            </el-form-item>
            <!-- 数据专业 -->
            <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')">
            <el-form-item
              :label="$t('dataManage.dataUpObj.dataSpecialty')"
              style="margin-right: 2%"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.specialtyId"
                :placeholder="$t('common.choose')"
@@ -108,8 +140,12 @@
              </el-select>
            </el-form-item>
            <!-- 坐标系 -->
            <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')">
            <el-form-item
              :label="$t('dataManage.dataUpObj.coordinateSystem')"
              style="margin-right: 3%"
            >
              <el-select
                :popper-append-to-body="false"
                :disabled="tableData.length == 0 ? false : true"
                v-model="formInline.coordinateId"
                :placeholder="$t('common.choose')"
@@ -153,7 +189,7 @@
              <el-input
                placeholder="请输入内容"
                v-model="formInline.specialtyData"
                style="width:350px;"
                style="width:210px;"
                disabled
              >
              </el-input>
@@ -183,11 +219,14 @@
                @change="handleMetaFileChange"
              ></input>
            </el-form-item>
            <el-form-item v-show="uploadFlag">
            <el-form-item
              v-show="uploadFlag"
              style="margin-left: 0.7%;"
            >
              <el-input
                placeholder="请输入内容"
                v-model="formInline.metaData"
                style="width:350px;"
                style="width:210px;"
                disabled
              >
              </el-input>
@@ -222,12 +261,12 @@
              <el-input
                placeholder="请选择WBS数据"
                v-model="formInline.wbsData"
                style="width:350px;"
                style="width:210px;"
                disabled
              >
              </el-input>
            </el-form-item>
            <el-form-item>
            <el-form-item style="float: right;">
              <!-- 上传 -->
              <el-button
                v-if="menuStatus.upload"
@@ -248,16 +287,6 @@
                @click="setFileDelete"
                type="danger"
              >{{ $t('common.delete') }}</el-button>
              <!-- 质检 -->
              <el-button
                v-if="menuStatus.insert"
                :disabled="multipleSelection.length == 0 ? true : false"
                type="info"
                size="small"
                icon="el-icon-folder-checked"
                @click="handleQuayTestClick()"
              >{{$t('common.quayTest')}}
              </el-button>
              <!-- 入库 -->
              <el-button
                v-if="menuStatus.insert"
@@ -267,6 +296,17 @@
                icon="el-icon-folder-add"
                type="warning"
              >{{ $t('common.Warehousin') }}</el-button>
              <!-- 质检 -->
              <el-button
                style="margin-right:-9px"
                v-if="menuStatus.insert"
                :disabled="multipleSelection.length == 0 ? true : false"
                type="info"
                size="small"
                icon="el-icon-folder-checked"
                @click="handleQuayTestClick()"
              >{{$t('common.quayTest')}}
              </el-button>
            </el-form-item>
          </el-form>
@@ -275,6 +315,7 @@
        <!-- 上传数据列表 -->
        <div class="subpage_Content subpage_Div">
          <el-table
            style="min-height: 470px;"
            :data="tableData"
            @selection-change="handleSelectionChange"
          >
@@ -345,9 +386,17 @@
              <el-input
                v-model="formWarehousing.name"
                placeholder="请输入内容"
                style="width: 200px;"
              ></el-input>
            </el-form-item>
            <el-form-item>
            <el-form-item style="float: right;">
              <el-button
                v-if="menuStatus.delete"
                @click="setWarehouseDel"
                icon="el-icon-folder-delete"
                type="danger"
                size="small"
              >{{ $t('common.delete') }}</el-button>
              <el-button
                @click="setWarehouseSearch"
                icon="el-icon-upload"
@@ -362,116 +411,122 @@
                size="small"
                type="info"
              >{{ $t('common.reset') }}</el-button>
            </el-form-item>
            <el-form-item style="float: right;">
              <el-button
                v-if="menuStatus.delete"
                @click="setWarehouseDel"
                icon="el-icon-folder-delete"
                type="danger"
                v-if="menuStatus.upload"
                :disabled="multipleDelete.length == 0 ? true : false"
                @click="setEnclosure"
                icon="el-icon-folder-opened"
                type="success"
                size="small"
              >{{ $t('common.delete') }}</el-button>
              >{{ $t('common.enclosure') }}</el-button>
            </el-form-item>
          </el-form>
        </div>
        <div
          class="subpage_Content subpage_Div"
          style="min-height:330px"
        >
          <div class="contentTable">
            <el-table
              ref="multipleTable"
              :data="waretableData"
              tooltip-effect="dark"
              style="width: 100%"
              @selection-change="handleDelteChange"
            >
              <el-table-column
                type="selection"
                width="55"
        <!-- 入库 -->
        <div class="bottom">
          <div class="rightTable subpage_Div">
            <div class="table_box">
              <el-table
                ref="filterTable"
                :data="waretableData"
                style="width: 100%"
                height="99%"
                @selection-change="handleDelteChange"
              >
              </el-table-column>
              <el-table-column
                align="center"
                type="index"
                :label="$t('common.index')"
                width="70px"
              ></el-table-column>
              <el-table-column
                align="center"
                prop="name"
                :label="$t('common.name')"
                width="100"
              />
              <el-table-column
                align="center"
                prop="dirName"
                :label="$t('dataManage.dataUpObj.catalogue')"
                width="300"
              />
              <el-table-column
                align="center"
                prop="depName"
                :label="$t('dataManage.dataUpObj.company')"
                width="200"
              />
              <el-table-column
                align="center"
                prop="verName"
                :label="$t('dataManage.dataUpObj.versionNo')"
              />
              <el-table-column
                align="center"
                prop="type"
                :label="$t('common.type')"
              />
              <el-table-column
                align="center"
                prop="sizes"
                :label="$t('common.size')"
                :formatter="changeSizeFile"
              />
              <el-table-column
                align="center"
                :label="$t('dataManage.dataUpObj.tableName')"
                <el-table-column
                  type="selection"
                  width="55"
                >
                </el-table-column>
                <el-table-column
                  align="center"
                  type="index"
                  :label="$t('common.index')"
                  width="70px"
                ></el-table-column>
                <el-table-column
                  align="center"
                  prop="name"
                  :label="$t('common.name')"
                  width="100"
                />
                <el-table-column
                  align="center"
                  prop="dirName"
                  :label="$t('dataManage.dataUpObj.catalogue')"
                  width="300"
                />
                <el-table-column
                  align="center"
                  prop="depName"
                  :label="$t('dataManage.dataUpObj.company')"
                  width="200"
                />
                <el-table-column
                  align="center"
                  prop="verName"
                  :label="$t('dataManage.dataUpObj.versionNo')"
                />
                <el-table-column
                  align="center"
                  prop="type"
                  :label="$t('common.type')"
                />
                <el-table-column
                  align="center"
                  prop="sizes"
                  :label="$t('common.size')"
                  :formatter="changeSizeFile"
                />
                <el-table-column
                  align="center"
                  :label="$t('dataManage.dataUpObj.tableName')"
                >
                  <template slot-scope="scope">
                    <a
                      class="scopeRowColor"
                      @click="detail(scope.row)"
                    >{{ scope.row.tab }}</a>
                  </template>
                </el-table-column>
                <el-table-column
                  align="center"
                  prop="rows"
                  :label="$t('common.lineNuber')"
                />
                <el-table-column
                  align="center"
                  prop="desc"
                  :label="$t('dataManage.dataUpObj.describe')"
                />
                <el-table-column
                  align="center"
                  prop="uname"
                  :label="$t('dataManage.vmobj.createonuser')"
                />
                <el-table-column
                  align="center"
                  prop="createTime"
                  :label="$t('dataManage.vmobj.createontime')"
                  :formatter="changetimeFile"
                  width="100"
                />
              </el-table>
            </div>
            <div class="pagination_box">
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="listData.pageIndex"
                :page-sizes="[10, 20, 50, 100]"
                :page-size="listData.pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="count"
              >
                <template slot-scope="scope">
                  <a @click="detail(scope.row)">{{ scope.row.tab }}</a>
                </template>
              </el-table-column>
              <el-table-column
                align="center"
                prop="rows"
                :label="$t('common.lineNuber')"
              />
              <el-table-column
                align="center"
                prop="desc"
                :label="$t('dataManage.dataUpObj.describe')"
              />
              <el-table-column
                align="center"
                prop="uname"
                :label="$t('dataManage.vmobj.createonuser')"
              />
              <el-table-column
                align="center"
                prop="createTime"
                :label="$t('dataManage.vmobj.createontime')"
                :formatter="changetimeFile"
                width="100"
              />
            </el-table>
          </div>
          <div>
            <el-pagination
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="listData.pageIndex"
              :page-sizes="[10, 20, 30, 40]"
              :page-size="listData.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="count"
            >
            </el-pagination>
              </el-pagination>
            </div>
          </div>
        </div>
      </el-tab-pane>
@@ -938,7 +993,7 @@
            @size-change="handleLoaderSizeChange"
            @current-change="handleLoaderCurrentChange"
            :current-page="listLoader.pageIndex"
            :page-sizes="[10, 20, 30, 40]"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="listLoader.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count1"
@@ -967,6 +1022,35 @@
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('common.details')"
      :visible.sync="enclosureVisible"
      :show-close="false"
    >
      <span
        style="font-size:20px"
        class="scopeRowColor"
      >{{enclosureTitle}}不能上传附件是否继续</span>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button @click="enclosureVisible = false">取 消</el-button>
        <el-button
          type="primary"
          @click="uploadAnFiles"
        >继续</el-button>
      </span>
    </el-dialog>
    <input
      name="file1"
      :accept="'.zip'"
      type="file"
      id="editimageFile"
      multiple="multiple"
      style="display: none"
      @change="uploadAnFilesChange"
    />
  </div>
</template>
@@ -999,6 +1083,7 @@
  },
  data() {
    return {
      coordinateOption: [],
      disOptions: [{
        name: '崩塌治理',
@@ -1152,7 +1237,10 @@
      },
      jindutiao: 0,
      jindudialogVisible: false,
      jindutiaoname: []
      jindutiaoname: [],
      enclosureData: [],
      enclosureVisible: false,
      enclosureTitle: '',
    }
  },
@@ -1172,6 +1260,109 @@
  },
  methods: {
    //附件变化
    uploadAnFilesChange() {
      var formData = new FormData();
      var fs = document.getElementById("editimageFile");
      if (fs.files.length == 0) {
        this.$message.error('请选择要上传的文件');
        return;
      }
      for (var i = 0, c = fs.files.length; i < c; i++) {
        formData.append("file", fs.files[i]); // fs.files[i].name,file
      }
      for (var i in this.enclosureData) {
        formData.append('ids', this.enclosureData[i])
      }
      const that = this
      that.jindudialogVisible = true
      that.$set(this, 'jindutiaoname', "附件上传")
      that.$set(this, 'jindutiao', 0)
      this.loading = true;
      $.ajax(BASE_URL + "/dataUpload/uploadXlsAnnex?token=" + getToken() + "&path=" + this.formInline.path, {
        type: "post",
        data: formData,
        async: true,
        cache: false,
        processData: false,
        contentType: false,
        success: (rs) => {
          this.loading = false;
          if (rs.code != 200) {
            return this.$message.error('附件上传失败');
          }
          this.$set(this, 'jindutiao', 100)
          this.$message({
            message: '附件上传成功',
            type: 'success'
          });
        },
        error: (rs) => {
          this.loading = false;
          this.$message.error('附件上传失败');
        },
        xhr: function () {
          var myXhr = $.ajaxSettings.xhr();
          if (myXhr.upload) { //检查upload属性是否存在
            myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //绑定progress事件的回调函数
          }
          return myXhr; //xhr对象返回给jQuery使用
        }
      });
    },
    //选择上传附件的文件
    uploadAnFiles() {
      $('#editimageFile').click();
    },
    //上传附件
    uploadAnnex() {
    },
    //附件上传
    setEnclosure() {
      var enclosureData = [
        'bd.b_pac_hydrogeology',
        'bd.b_pac_frozensoil',
        'bd.b_pac_geologic_hazard',
        'bd.b_pac_marine_meteorological',
        'bd.b_pac_meteorological',
        'bs.m_equipment_nameplate',
        'bs.m_hydraulic_protection',
        'bs.m_marker',
        'bs.s_borehole'
      ];
      var std = [];
      this.enclosureData = [];
      this.enclosureTitle = "";
      for (var i in this.multipleDelete) {
        var row = this.multipleDelete[i];
        if (row.tab && row.rows && enclosureData.indexOf(row.tab) > -1) {
          this.enclosureData.push(row.id)
        } else {
          std.push(row.name)
        }
      }
      if (std.length != 0) {
        this.enclosureTitle = std.toString()
        this.enclosureVisible = true;
      } else {
        this.uploadAnFiles();
      }
    },
    //权限配置
    showPermsMenu(res) {
      switch (res.tag) {
@@ -1814,6 +2005,7 @@
        },
        xhr: function () {
          var myXhr = $.ajaxSettings.xhr();
          if (myXhr.upload) { //检查upload属性是否存在
            myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //绑定progress事件的回调函数
          }
@@ -1861,6 +2053,7 @@
      this.entryOption = data.result;
      this.formInline.entryId = this.entryOption[0].name;
      this.formInline.dirid = this.entryOption[0].id;
      this.getselectVerByDirid();
    },
    //获取所有坐标系
@@ -2169,6 +2362,7 @@
        return;
      }
      this.catalogOption = this.treeData(res.result);
      this.formInline.dirName = this.catalogOption[0].name
      this.getStartDirChecked(this.catalogOption);
      this.getselectVerByDirid()
    },
@@ -2213,12 +2407,12 @@
        }
    },
    //目录切换
    catalogChange(res) {
    catalogChange(data, node, nodeData) {
      this.startQuayTestForms();
      this.$refs['selectcascader'].dropDownVisible = false
      var value = this.$refs['selectcascader'].getCheckedNodes();
      // this.$refs['selectcascader'].dropDownVisible = false
      // var value = this.$refs['selectcascader'].getCheckedNodes();
      var bak = value[0].data.bak;
      var bak = node.data.bak;
      this.pathBak = bak;
      if (bak != null) {
        for (var key in this.quayTestShow) {
@@ -2227,12 +2421,13 @@
          }
        }
      }
      var fileType = value[0].data.code;
      var fileType = node.data.code;
      if (fileType == null) {
        fileType = "*.*"
      }
      this.formInline.selectFileType = fileType;
      this.formInline.dirid = res;
      this.formInline.dirid = node.data.id;
      this.formInline.dirName = node.data.name
      this.getselectVerByDirid();
    },
    //Tabsq切换
@@ -2254,4 +2449,27 @@
  }
};
</script>
<style lang="less" scoped>
.bottom {
  width: 100%;
  margin-top: 1%;
  // height: 74%;
  height: 570px;
  display: flex;
  justify-content: space-between;
  .rightTable {
    width: 98%;
    height: 92%;
    border-radius: 5px;
    padding: 1%;
    .table_box {
      width: 100%;
      height: 93%;
      margin: 0 auto;
      overflow: auto;
    }
  }
}
</style>