Browse Source

监测图斑管理导入文件

lkk 7 months ago
parent
commit
5f2f7394e2

+ 13 - 1
src/api/ghss/hgxfx.js

@@ -10,7 +10,8 @@ const hgxfxApi = {
     ShapeUpload: '/file/upload/geom',
     ShapeUploadV1: '/file/upload/geom/v1',
     GetLog: '/apply/hgxfx/GetLog',
-    AddHgxfxV1:'/apply/hgxfx/AddHgxfxV1'
+    AddHgxfxV1:'/apply/hgxfx/AddHgxfxV1',
+    FileList:'/apply/gdbh/jctb/file/list'
 }
 
 /**
@@ -168,4 +169,15 @@ export function AddHgxfxV1(parameter) {
             'Content-Type': 'application/json;charset=UTF-8'
         }
     })
+}
+export function FileList(parameter) {
+    // parameter.scxs = parameter.scxs.toString();
+    return request({
+        url: hgxfxApi.FileList,
+        method: 'get',
+        params: parameter,
+        headers: {
+            'Content-Type': 'application/json;charset=UTF-8'
+        }
+    })
 }

+ 11 - 1
src/views/complianceAnalysis/ghzc.scss

@@ -568,7 +568,7 @@
 
     .el-pagination button:disabled {
         color: #fff;
-        background-color: rgba(75, 185, 250, 0.2);
+        background-color: rgba(75, 185, 250, 0.2) !important;
         cursor: not-allowed;
     }
 
@@ -584,4 +584,14 @@
     .el-pagination__jump {
         color: #fff;
     }
+
+    .btn-next {
+        background: rgba(75, 185, 250, 0.2);
+        color: #fff;
+    }
+
+    .btn-prev {
+        background: rgba(75, 185, 250, 0.2);
+        color: #fff;
+    }
 }

+ 185 - 0
src/views/farmlandProtection/components/exportFile.vue

@@ -0,0 +1,185 @@
+<template>
+  <div>
+    <div class="heaerCon">
+      <div class="miniBtn">
+        <!-- <el-button plain size="mini">导入监测数据包</el-button> -->
+        <!-- <el-button plain size="mini">导入核查</el-button> -->
+        <el-upload
+          class="upload-demo"
+          :on-change="handleChange"
+          :auto-upload="false"
+          :show-file-list="false"
+          :file-list="fileList"
+          :limit="1"
+          accept=".zip"
+        >
+          <el-button plain size="mini">导入监测数据包</el-button>
+        </el-upload>
+      </div>
+      <div class="showBtn">
+        <span @click="showPlin(false)" v-show="showExp">数据说明</span>
+        <span @click="showPlin(true)" v-show="!showExp" showExp="false"
+          >退出说明</span
+        >
+        <!-- <span>删除记录</span> -->
+      </div>
+    </div>
+    <div v-show="showExp" class="bodyCon">
+      <el-table
+        ref="singleTable"
+        :data="tableData"
+        highlight-current-row
+        @current-change="handleCurrentChange"
+        style="width: 100%"
+      >
+        <el-table-column type="index" label="序号" width="50">
+        </el-table-column>
+        <el-table-column
+          property="name"
+          label="导入数据包"
+          show-overflow-tooltip
+        >
+        </el-table-column>
+        <el-table-column property="uploadtime" label="导入时间">
+        </el-table-column>
+        <el-table-column property="uploaduser" label="操作人" width="120">
+        </el-table-column>
+        <el-table-column label="导入结果" width="120">
+          <template slot-scope="scope">
+            <span v-if="scope.row.readstatus == 0">导入成功</span>
+            <span v-else>导入失败</span>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="pageNum"
+        :page-size="pageSize"
+        layout="total, prev, pager, next, jumper"
+        :total="total"
+        class="pagination"
+      >
+      </el-pagination>
+    </div>
+    <div v-show="!showExp" class="expCon bodyCon">
+      <span
+        >&nbsp;&nbsp;&nbsp;&nbsp;监测批次数据包括监测图斑、前期影像、后期影像,其中:监测图斑命名规则为6位行政区代码+8位日期批次时间戳+“tb”;影像命名规则为图斑编号+“DDOM”或“QDOM”。
+      </span>
+      <br />
+      <span>
+        对数据要求说明:
+        <br />(1)数据格式支持.zip格式压缩包 <br />
+        (2)数据压缩包应按系统要求进行组织。 <br />
+        (3)数据压缩包中的数据坐标系为CGCS2000 <br />
+        (4)监测图斑Shp属性必须包含XZC(行政区名称)、JCBH(监测图斑编号)、QLX(前类型)、HLX(后类型)、LZB(中心点经度)、BZB(中心点维度)、JCMJ(监测面积(亩))、QSX(前时相)、HSX(后时相)。
+        选择数据后,对(1)(2)进行检查,通过(1)(2)检查,确定上传后,在界面实时显示上传进度
+      </span>
+    </div>
+  </div>
+</template>
+
+<script>
+import { ShapeUploadV1, FileList } from "@/api/ghss/hgxfx.js";
+export default {
+  components: {},
+  data() {
+    return {
+      pageNum: 1,
+      pageSize: 2,
+      total: 0,
+      showExp: true,
+      fileList: [], //文件
+      fileDataID: "", //存储上传文件获取到的id
+      tableData: [],
+    };
+  },
+  computed: {},
+  mounted() {
+    this.init();
+  },
+  methods: {
+    showPlin(val) {
+      this.showExp = val;
+    },
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.init();
+    },
+    handleCurrentChange(val) {
+      this.pageNum = val;
+      this.init();
+    },
+    init() {
+      FileList({
+        pageNum: this.pageNum,
+        pageSize: this.pageSize,
+      }).then((res) => {
+        this.tableData = res.rows;
+        this.total = res.total;
+      });
+    },
+    //上传文件
+    handleChange(file, fileList) {
+      this.fileDataID = "";
+      this.fileList = [];
+      if (fileList.length > 0) {
+        this.fileList = [fileList[fileList.length - 1]]; //这一步,是展示最后一次选择文件
+      }
+      const formdata = new FormData();
+      formdata.append("file", file.raw);
+      formdata.append("fromType", 2);
+      formdata.append("fromRoute", this.$route.path);
+      formdata.append("storeStats", "");
+      formdata.append("followup", 1);
+      ShapeUploadV1(formdata).then((res) => {
+        if (res.success) {
+          this.$message({
+            message: "导入文件成功!",
+            type: "success",
+          });
+          this.fileDataID = res.data.id;
+          this.init();
+        }
+      });
+    },
+  },
+  watch: {},
+  watch: {},
+  beforeDestroy() {},
+};
+</script>
+
+<style lang="less" scoped>
+.heaerCon {
+  display: flex;
+  justify-content: space-between;
+  margin: 5px 0;
+  .miniBtn {
+    /deep/ .el-button--mini {
+      background: #0f7ac8;
+      border: none;
+      border-radius: 0;
+      color: #fff;
+    }
+  }
+  .showBtn {
+    color: #169bd5;
+  }
+}
+/deep/.dialog-footer .el-button {
+  background-color: #3f94f53f;
+  border: 1px solid #3f93f5;
+}
+.expCon {
+  color: #fff;
+}
+.bodyCon {
+  height: 36vh;
+  /deep/ .el-pagination button:disabled {
+        color: #fff;
+        background-color: rgba(75, 185, 250, 0.2) !important;
+        cursor: not-allowed;
+    }
+}
+</style>

+ 36 - 2
src/views/farmlandProtection/jctb/index.vue

@@ -8,7 +8,7 @@
     >
       <h2 class="Pangetitle darg-div">
         <span class="pange_text">监测图斑管理</span>
-        <span class="exportBtn">导入</span>
+        <span class="exportBtn" @click="exportFile">导入</span>
       </h2>
       <div class="gdzl">
         <div class="el-col headerSelect">
@@ -122,6 +122,22 @@
         </el-carousel>
       </div>
     </div>
+    <el-dialog
+      title="选择图斑"
+      :visible.sync="dialogVisible"
+      width="40%"
+      :before-close="handleClose"
+      :modal-append-to-body="false"
+      :close-on-click-modal="false"
+    >
+      <div v-if="dialogVisible">
+        <exportFile></exportFile>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" dialogVisible="false">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -129,6 +145,7 @@
 import Jclxqk from "../components/jclxqk.vue";
 import Tbqd from "../components/tbqd.vue";
 import tbDetails from "../components/tbDetails.vue";
+import exportFile from "../components/exportFile.vue";
 import { GetXzqhTree } from "@/api/map";
 import { GetDateList, CodeList, JscQueryList } from "@/api/ghss/jctb.js";
 export default {
@@ -136,9 +153,11 @@ export default {
     Jclxqk,
     Tbqd,
     tbDetails,
+    exportFile,
   },
   data() {
     return {
+      dialogVisible: false,
       activeTabs: "tbzl",
       isShowTb: false,
       detailObj: {},
@@ -181,6 +200,12 @@ export default {
         // this.$refs.tbqd.initNew();
       }
     },
+    exportFile() {
+      this.dialogVisible = true;
+    },
+    handleClose() {
+      this.dialogVisible = false;
+    },
     keepDigitDecimal(num, n) {
       // 小于零,先转正数计算
       if (num < 0) {
@@ -274,7 +299,7 @@ export default {
       this.$refs.carousel.setActiveItem(val);
     },
     allShow(val) {
-      console.log(val,'====');
+      console.log(val, "====");
       // this.$refs.carousel.setActiveItem(val);
       this.$emit("updateParent", "isHeader", val);
     },
@@ -404,4 +429,13 @@ export default {
 .xz_box {
   padding-top: 0px;
 }
+/deep/ .el-dialog__header {
+  padding: 10px 20px 0px !important;
+}
+/deep/ .el-dialog__body {
+  padding: 0px 20px !important;
+}
+/deep/.el-dialog__headerbtn{
+  top: 8px;
+}
 </style>