Browse Source

数据录入

maxiaoxiao 1 month ago
parent
commit
256ce124ea

+ 184 - 0
src/components/tablePage.vue

@@ -0,0 +1,184 @@
+<template>
+  <div class="cont-table">
+    <!-- :image="nonedataImg"  -->
+    <el-empty description=" " v-if="table.data.length == 0" />
+    <el-table
+      :data="table.data"
+      v-else
+      style="width: 100%"
+      :height="height"
+      :show-overflow-tooltip="overtip"
+      header-row-class-name="datatable"
+      row-class-name="datarow"
+      fit
+      :tree-props="treeProps"
+      row-key="bsm"
+      @selection-change="selectionChange"
+    >
+      <el-table-column v-if="indexed" label="序号" width="70px" align="center">
+        <template #default="scope">{{ scope.$index + 1 }}</template>
+      </el-table-column>
+      <el-table-column type="selection" width="55" align="center">
+      </el-table-column>
+      <el-table-column
+        v-for="(item, index) in cloumn"
+        :prop="item.prop"
+        :label="item.label"
+        :key="index"
+        :width="item.width || null"
+        :fixed="item.fixed"
+        :align="item.align || 'left'"
+      >
+        <template #default="scope">
+          <slot
+            v-if="item.slot"
+            :name="item.slot ? item.slot : ''"
+            v-bind="scope"
+          ></slot>
+          <span v-else>{{ scope.row[item.prop] || "-" }}</span>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div
+      class="tabs-pagation pagination"
+      v-if="table.data.length && table.total"
+    >
+      <!-- <div class="font" v-if="showTotal">共{{ table.total }}条记录</div> -->
+      <!-- <el-pagination class="tabone-pagination" background layout="prev, pager, next" :current-page="pageNum"
+            :pager-count="5" :page-size="5" :total="table.total" @current-change="changePage" /> -->
+      <el-pagination
+        :current-page="pageNum"
+        :page-size="pageSize"
+        :small="false"
+        :disabled="false"
+        :background="true"
+        :layout="layout"
+        :page-sizes="[10, 15, 20, 30, 50]"
+        :total="table.total"
+        @size-change="handleSizeChange"
+        @current-change="changePage"
+      />
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  components: {},
+  props: {
+    indexed: {
+      type: Boolean,
+      default: true,
+    },
+    cloumn: {
+      type: Array,
+      default: [],
+    },
+    table: {
+      type: Object,
+    },
+    showTotal: {
+      type: Boolean,
+      default: true,
+    },
+    treeProps: {
+      type: Object,
+      default: () => {},
+    },
+    layout: {
+      type: String,
+      default: "total, sizes, prev, pager, next, jumper",
+    },
+    overtip: {
+      type: Boolean,
+      default: false,
+    },
+    height: {
+      type: String || Number,
+      default: undefined,
+    },
+    check: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  data() {
+    return {
+      pageNum: 1,
+      pageSize: 10,
+    };
+  },
+  mounted() {},
+  methods: {
+    // 搜索
+    searchFun() {
+      this.$emit("currentChange", {
+        pageIndex: this.pageNum,
+        size: this.pageSize,
+      });
+    },
+
+    // 修改当前页数
+    changePage(v) {
+      this.pageNum = v;
+      this.searchFun();
+    },
+    handleSizeChange(v) {
+      this.pageSize = v;
+      this.searchFun();
+    },
+    selectionChange(v) {
+      console.log(v);
+      this.$emit("selectChange", v);
+    },
+  },
+  beforeDestroy() {},
+  watch: {},
+};
+
+// searchFun()
+</script>
+<style lang="scss" scoped>
+.el-table {
+  height: calc(100% - 50px);
+}
+
+.tabs-pagation {
+  position: absolute;
+  right: 30px;
+}
+</style>
+<style lang="scss">
+.cont-table {
+  .el-pager li {
+    background-color: transparent !important;
+    // border: 1px solid #3ea6fe;
+    border-radius: 5px;
+  }
+
+  .el-pager li.active {
+    color: #3ea6fe !important;
+  }
+
+  .el-pagination button {
+    color: #dbdbdb;
+  }
+
+  .el-pagination .btn-prev,
+  .el-pagination .btn-next {
+    background-color: transparent;
+    // border: 1px solid #ebebeb;
+    border-radius: 5px;
+    line-height: 28px;
+  }
+
+  .el-pagination .btn-prev {
+    padding-right: 5px;
+  }
+
+  .el-pagination .btn-prev:hover {
+    color: #1890ff;
+  }
+}
+
+// @import url(./tabs.scss);
+</style>

+ 11 - 7
src/views/pageCode/dataEntry/config.js

@@ -37,13 +37,17 @@ export const FormConfig = [
 ]
 
 export const TableHeader = [
-  // 序号
-  { label: "实体名称", prop: "entityname", width: 150 },
-  { label: "实体ID", prop: "entityid" },
-  { label: "图元标识码", prop: "elementid" },
-  { label: "图元编码", prop: "elementcode" },
-  { label: "位置码", prop: "locationid" },
-  { label: "操作", slot: "action", width: 120 },
+  { label: "文件名称", prop: "name", align: 'center' },
+  { label: "区县名称", prop: "dkmj", align: 'center' },
+  { label: "图斑个数", prop: "dkmj", align: 'center' },
+  { label: "监测面积(亩)", prop: "dkmj", align: 'center' },
+  { label: "数据量", prop: "qlx", align: 'center' },
+  { label: "录入时间", prop: "createTime", align: 'center', },
+  { label: "上传失败数量", prop: "updateNumberCheckFull", align: 'center' },
+  { label: "上传成功数量", prop: "updateNumberCheckSuccess", align: 'center' },
+  { label: "更新失败数量", prop: "updateNumberFull", align: 'center' },
+  { label: "更新成功数量", prop: "updateNumberSuccess", align: 'center' },
+  { label: "操作", slot: "action", width: 140, align: 'center' },
 ]
 
 

+ 76 - 60
src/views/pageCode/dataEntry/index.vue

@@ -61,18 +61,52 @@
         @queryTable="getList"
       ></right-toolbar>
     </el-row>
-
+    <tablePage
+      class="tablePage"
+      v-loading="loading"
+      :cloumn="TableHeader"
+      :table="{ total, data: dkdbList }"
+      :indexed="false"
+      :check="true"
+      ref="tableDialogRef"
+      @selectChange="handleSelectionChange"
+      @currentChange="getList"
+    >
+      <!-- <template #state="{ row }">
+        </template> -->
+    </tablePage>
     <el-table
       v-loading="loading"
-      :data="dkjbxxList"
+      :data="dkdbList"
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="文件名称" align="center" prop="dkbh" />
+      <el-table-column label="文件名称" align="center" prop="name" />
       <el-table-column label="区县名称" align="center" prop="dkmj" />
+      <el-table-column label="图斑个数" align="center" prop="dkmj" />
       <el-table-column label="监测面积(亩)" align="center" prop="dkmj" />
       <el-table-column label="数据量" align="center" prop="qlx" />
-      <el-table-column label="录入时间" align="center" prop="hlx" />
+      <el-table-column label="录入时间" align="center" prop="createTime" />
+      <el-table-column
+        label="上传失败数量"
+        align="center"
+        prop="updateNumberCheckFull"
+      />
+      <el-table-column
+        label="上传成功数量"
+        align="center"
+        prop="updateNumberCheckSuccess"
+      />
+      <el-table-column
+        label="更新失败数量"
+        align="center"
+        prop="updateNumberFull"
+      />
+      <el-table-column
+        label="更新成功数量"
+        align="center"
+        prop="updateNumberSuccess"
+      />
       <el-table-column
         label="操作"
         align="center"
@@ -110,27 +144,28 @@
       @pagination="getList"
     />
 
-    <!-- 添加或修改地块基本信息(DKJBXX)对话框 -->
+    <!-- 添加或修改地块基本信息(DKdb)对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="dkjbxxRef" :model="form" :rules="rules" label-width="100px">
-        <el-form-item label="数据内容:" prop="shpJson">
-          <el-input
-            v-model="form.shpJson"
-            type="textarea"
-            placeholder="请输入内容"
-          />
+      <el-form ref="dkdbRef" :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="数据内容:" prop="radio1">
+          <el-radio-group v-model="form.radio1">
+            <el-radio label="1" size="large">监测图斑数据</el-radio>
+            <el-radio label="2" size="large">业务研判数据</el-radio>
+          </el-radio-group>
         </el-form-item>
-        <el-form-item label="数据内容:" prop="shpJson">
+        <el-form-item label="数据内容:" prop="shppath">
           <fileUpload
-            v-model="form.fileList"
+            v-model="form.shppath"
             :limit="1"
+            :fileSize="5000"
+            :fileType="['zip']"
             urltype="/v1"
           ></fileUpload>
         </el-form-item>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button type="primary" @click="submitForm">上 传</el-button>
           <el-button @click="cancel">取 消</el-button>
         </div>
       </template>
@@ -138,20 +173,20 @@
   </div>
 </template>
   
-  <script setup name="Dkjbxx">
+  <script setup name="Dkdb">
 import {
-  listDkjbxx,
-  getDkjbxx,
-  delDkjbxx,
-  addDkjbxx,
-  updateDkjbxx,
-} from "@/api/rsmonitoring/dkjbxx";
-import { listRole } from "@/api/system/role";
+  listDkdb,
+  getDkdb,
+  delDkdb,
+  adddb,
+  updateDkdb,
+} from "@/api/rsmonitoring/dataEntry";
 import customForm from "@/components/custom-form.vue";
+import tablePage from "@/components/tablePage.vue";
 const { proxy } = getCurrentInstance();
-import { FormConfig } from "./config";
+import { FormConfig, TableHeader } from "./config";
 
-const dkjbxxList = ref([]);
+const dkdbList = ref([]);
 const open = ref(false);
 const loading = ref(true);
 const showSearch = ref(true);
@@ -162,7 +197,7 @@ const total = ref(0);
 const title = ref("");
 
 const data = reactive({
-  form: {},
+  form: { radio1: "1", shppath: "" },
   queryParams: {
     pageNum: 1,
     pageSize: 10,
@@ -174,11 +209,11 @@ const data = reactive({
 
 const { queryParams, form, rules } = toRefs(data);
 
-/** 查询地块基本信息(DKJBXX)列表 */
+/** 查询地块基本信息(DKdb)列表 */
 function getList() {
   loading.value = true;
-  listRole(queryParams.value).then((response) => {
-    dkjbxxList.value = response.rows;
+  listDkdb(queryParams.value).then((response) => {
+    dkdbList.value = response.rows;
     total.value = response.total;
     loading.value = false;
   });
@@ -193,29 +228,10 @@ function cancel() {
 // 表单重置
 function reset() {
   form.value = {
-    id: null,
-    dkbh: null,
-    dkmj: null,
-    xzqdm: null,
-    xmc: null,
-    qlx: null,
-    hlx: null,
-    qsx: null,
-    hsx: null,
-    lzb: null,
-    bzb: null,
-    shpJson: null,
-    createBy: null,
-    createTime: null,
-    updateBy: null,
-    updateTime: null,
-    auditflow: null,
-    pcsjid: null,
-    geom: null,
-    qsxtif: null,
-    hsxtif: null,
+    radio1: "1",
+    shppath: "",
   };
-  proxy.resetForm("dkjbxxRef");
+  proxy.resetForm("dkdbRef");
 }
 
 /** 搜索按钮操作 */
@@ -248,25 +264,25 @@ function handleAdd() {
 function handleUpdate(row) {
   reset();
   const _id = row.id || ids.value;
-  getDkjbxx(_id).then((response) => {
+  getDkdb(_id).then((response) => {
     form.value = response.data;
     open.value = true;
-    title.value = "修改地块基本信息(DKJBXX)";
+    title.value = "修改地块基本信息(DKdb)";
   });
 }
 
 /** 提交按钮 */
 function submitForm() {
-  proxy.$refs["dkjbxxRef"].validate((valid) => {
+  proxy.$refs["dkdbRef"].validate((valid) => {
     if (valid) {
       if (form.value.id != null) {
-        updateDkjbxx(form.value).then((response) => {
+        updateDkdb(form.value).then((response) => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addDkjbxx(form.value).then((response) => {
+        adddb(form.value).then((response) => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();
@@ -280,9 +296,9 @@ function submitForm() {
 function handleDelete(row) {
   const _ids = row.id || ids.value;
   proxy.$modal
-    .confirm('是否确认删除地块基本信息(DKJBXX)编号为"' + _ids + '"的数据项?')
+    .confirm('是否确认删除地块基本信息(DKdb)编号为"' + _ids + '"的数据项?')
     .then(function () {
-      return delDkjbxx(_ids);
+      return delDkdb(_ids);
     })
     .then(() => {
       getList();
@@ -294,11 +310,11 @@ function handleDelete(row) {
 /** 导出按钮操作 */
 function handleExport() {
   proxy.download(
-    "rsmonitoring/dkjbxx/export",
+    "rsmonitoring/dkdb/export",
     {
       ...queryParams.value,
     },
-    `dkjbxx_${new Date().getTime()}.xlsx`
+    `dkdb_${new Date().getTime()}.xlsx`
   );
 }