Prechádzať zdrojové kódy

汇总数据获取和对应数据处理

maxiaoxiao 1 mesiac pred
rodič
commit
a188b76f86
2 zmenil súbory, kde vykonal 250 pridanie a 210 odobranie
  1. 65 15
      src/api/rsmonitoring/dkjbxx.js
  2. 185 195
      src/views/pageCode/checkLand/index.vue

+ 65 - 15
src/api/rsmonitoring/dkjbxx.js

@@ -8,11 +8,11 @@ export function listDkjbxx(query) {
     params: query
   })
 }
-export function getDkcount(query) {
+export function getDkcount(data) {
   return request({
     url: '/rsmonitoring/dkjbxx/hctb/count',
-    method: 'get',
-    params: query
+    method: 'POST',
+    data
   })
 }
 
@@ -24,28 +24,78 @@ export function getDkjbxx(id) {
   })
 }
 
-// 新增地块基本信息(DKJBXX)
-export function addDkjbxx(data) {
+// 核查流程记录
+export function getAuditflow(params) {
+  return request({
+    url: '/rsmonitoring/auditflow/record/list/business',
+    method: 'get',
+    params
+  })
+}
+
+// 分发
+export function field(data) {
   return request({
-    url: '/rsmonitoring/dkjbxx',
+    url: '/rsmonitoring/dkjbxx/fieldwork/adds',
     method: 'post',
-    data: data
+    data
+  })
+}
+export function removeField(data) {
+  return request({
+    url: '/rsmonitoring/dkjbxx/fieldwork/removes',
+    method: 'post',
+    data
   })
 }
 
-// 修改地块基本信息(DKJBXX)
-export function updateDkjbxx(data) {
+// 地块县级操作
+export function hgxDkjbxx(data) {
   return request({
-    url: '/rsmonitoring/dkjbxx',
-    method: 'put',
+    url: '/rsmonitoring/dkjbxx/hgx',
+    method: 'post',
     data: data
   })
 }
+export function hgxinfo(params) {
+  return request({
+    url: '/rsmonitoring/dkjbxx/hgx/info',
+    method: 'get',
+    params
+  })
+}
 
-// 删除地块基本信息(DKJBXX)
-export function delDkjbxx(id) {
+// 地块市级审核操作
+export function scDkjbxx(data) {
   return request({
-    url: '/rsmonitoring/dkjbxx/' + id,
-    method: 'delete'
+    url: '/rsmonitoring/dkjbxx/sc',
+    method: 'post',
+    data: data
+  })
+}
+export function scinfo(params) {
+  return request({
+    url: '/rsmonitoring/dkjbxx/sc/info',
+    method: 'get',
+    params
+  })
+}
+// 地块省级提交操作
+export function tjDkjbxx(data) {
+  return request({
+    url: '/rsmonitoring/dkjbxx/tj',
+    method: 'post',
+    data: data
+  })
+}
+export function tjinfo(params) {
+  return request({
+    url: '/rsmonitoring/dkjbxx/tj/info',
+    method: 'get',
+    params
   })
 }
+
+
+
+

+ 185 - 195
src/views/pageCode/checkLand/index.vue

@@ -1,130 +1,96 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryRef"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
-      <el-form-item>
+    <customForm ref="formRef" :model="queryParams" :config="FormConfig">
+      <template #tbmj>
+        <!-- clearable -->
+        <el-select
+          v-model="queryParams.query_links"
+          style="width: 100px; margin-right: 20px"
+        >
+          <el-option
+            v-for="item in linkList"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+        <el-input
+          v-model="queryParams.input"
+          style="width: 200px"
+          placeholder="数据"
+        />
+      </template>
+      <template #action>
         <el-button type="primary" icon="Search" @click="handleQuery"
           >搜索</el-button
         >
         <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
+      </template>
+    </customForm>
+    <div class="pointlist" @click="handleBrowse({})"></div>
+    <numCard :sddata="countData" :sdlist="sdlist[route.query.type]"></numCard>
 
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="Plus"
-          @click="handleAdd"
-          v-hasPermi="['rsmonitoring:dkjbxx:add']"
-          >新增</el-button
-        >
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="Edit"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['rsmonitoring:dkjbxx:edit']"
-          >修改</el-button
-        >
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="Delete"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['rsmonitoring:dkjbxx:remove']"
-          >删除</el-button
-        >
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="Download"
-          @click="handleExport"
-          v-hasPermi="['rsmonitoring:dkjbxx:export']"
-          >导出</el-button
-        >
-      </el-col>
-      <!-- <right-toolbar
-        :showSearch="showSearch"
-        @queryTable="getList"
-      ></right-toolbar> -->
-      <div class="pointlist" @click="handleBrowse({})"></div>
-    </el-row>
-    <numCard :sdlist="sdlist"></numCard>
-    <el-table
+    <tablePage
+      class="tablePage"
       v-loading="loading"
-      :data="dkjbxxList"
-      @selection-change="handleSelectionChange"
+      :cloumn="TableHeader"
+      :table="{ total, data: dkjbxxList }"
+      :indexed="false"
+      :check="true"
+      ref="tableDialogRef"
+      v-model:pageNum="queryParams.pageNum"
+      v-model:pageSize="queryParams.pageSize"
+      @selectChange="handleSelectionChange"
+      @currentChange="getList"
     >
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="地块编号" align="center" prop="dkbh" />
-      <el-table-column label="行政区名称" align="center" prop="xmc" />
-      <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="qsx" />
-      <el-table-column label="后时相" align="center" prop="hsx" />
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
-        <template #default="{ row }">
-          <el-button link type="primary" @click="handleBrowse(row)"
-            >查看
-          </el-button>
-          <!-- <el-button
-            link
-            type="primary"
-            icon="Edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['rsmonitoring:dkjbxx:edit']"
-            >修改</el-button
-          >
-          <el-button
-            link
-            type="primary"
-            icon="Delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['rsmonitoring:dkjbxx:remove']"
-            >删除</el-button
-          > -->
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      v-model:page="queryParams.pageNum"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
+      <template #action="{ row, $index }">
+        <el-button link type="primary" @click="handleBrowse(row, $index)"
+          >查看
+        </el-button>
+        <el-button
+          v-if="row.status == '0'"
+          link
+          type="primary"
+          @click="Issued(row)"
+          >下发
+        </el-button>
+      </template>
+    </tablePage>
+    <div class="bottom">
+      <div class="selected">已选{{ ids.length }}条</div>
+      <el-button type="primary" @click="fieldwork(true)">分发至外业</el-button>
+      <el-button type="primary" @click="fieldwork(false)"
+        >取消外业任务
+      </el-button>
+      <el-button @click="handleDownload">下载</el-button>
+    </div>
 
     <!-- 添加或修改地块基本信息(DKJBXX)对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="dkjbxxRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="shp属性json" prop="shpJson">
+      <el-form ref="dkjbxxRef" :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="监测编号:" prop="dkjdxxIds">
+          {{ form.dkjdxxIds.join(";") }}
+        </el-form-item>
+        <el-form-item label="截止时间:" prop="endTime" v-if="isfield">
+          <el-date-picker
+            v-model="form.endTime"
+            type="date"
+            value-format="YYYY-MM-DD HH:mm:ss"
+            placeholder="选择截止时间"
+          />
+        </el-form-item>
+        <el-form-item label="核查人员:" prop="fieldworkBy" v-if="isfield">
+          <el-input v-model="form.fieldworkBy" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="举证说明:" prop="notes">
           <el-input
-            v-model="form.shpJson"
+            v-model="form.notes"
             type="textarea"
             placeholder="请输入内容"
           />
         </el-form-item>
+        {{ isfield ? "说明:对于已分发的图斑系统将自动跳过,不再分发。" : "" }}
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -140,24 +106,30 @@
 import {
   getDkcount,
   listDkjbxx,
-  getDkjbxx,
-  delDkjbxx,
-  addDkjbxx,
-  updateDkjbxx,
+  field,
+  removeField,
 } from "@/api/rsmonitoring/dkjbxx";
 import numCard from "@/components/numCard";
+import { FormConfig, TableHeader } from "./config";
 const { proxy } = getCurrentInstance();
+const route = useRoute();
 const router = useRouter();
 
 const dkjbxxList = ref([]);
 const open = ref(false);
 const loading = ref(true);
-const showSearch = ref(true);
 const ids = ref([]);
-const single = ref(true);
-const multiple = ref(true);
 const total = ref(0);
+const isfield = ref(true);
 const title = ref("");
+const linkList = ref([
+  { value: 0, label: "大于" },
+  { value: 1, label: "大于等于" },
+  { value: 2, label: "小于" },
+  { value: 3, label: "小于等于" },
+  { value: 4, label: "介于" },
+  { value: 5, label: "等于" },
+]);
 
 const data = reactive({
   form: {},
@@ -168,23 +140,53 @@ const data = reactive({
     dkmj: null,
     xzqdm: null,
   },
-  sdlist: [
-    { name: "核查图斑", pronum: "155", promj: "151.12", ctype: "blue" },
-    {
-      name: "未分发图斑",
-      pronum: "155",
-      promj: "151.12",
-      children: [{ name: "未分发图斑", pronum: "155", promj: "151.12" }],
-    },
-    { name: "举证中图斑", pronum: "155", promj: "151.12" },
-    { name: "已举证图斑", pronum: "155", promj: "151.12" },
-    { name: "外业退回图斑", pronum: "155", promj: "151.12", ctype: "red" },
-    { name: "县级审核退回图斑", pronum: "155", promj: "151.12", ctype: "red" },
-  ],
+  countData: {},
+  sdlist: {
+    normal: [
+      { name: "核查图斑", pro: "all", ctype: "blue" },
+      {
+        name: "未分发图斑",
+        pro: "WYFF",
+        children: [{ name: "未分发图斑", pro: "155" }],
+      },
+      { name: "举证中图斑", pro: "WYDC" },
+      { name: "已举证图斑", pro: "WYTJ" },
+      { name: "外业退回图斑", pro: "WYQR", ctype: "red" },
+      { name: "县级审核退回图斑", pro: "XJTJ", ctype: "red" },
+    ],
+    county: [
+      { name: "待审核", pro: "155" },
+      { name: "已审核", pro: "155" },
+      { name: "已提交", pro: "155" },
+      { name: "市级退回图斑", pro: "155", ctype: "red" },
+      { name: "省级退回图斑", pro: "155", ctype: "red" },
+    ],
+    city: [
+      { name: "待审核", pro: "155" },
+      { name: "已审核", pro: "155" },
+      { name: "已提交", pro: "155" },
+      { name: "省级退回图斑", pro: "155", ctype: "red" },
+    ],
+    provincial: [
+      { name: "待审核", pro: "155" },
+      { name: "已审核", pro: "155" },
+    ],
+  },
 });
 
-const { queryParams, form, rules, sdlist } = toRefs(data);
-
+const { queryParams, form, rules, sdlist, countData } = toRefs(data);
+let countparm = {
+  normal: {
+    all: null,
+    WYFF: [{ auditflowStep: "SSJTJ" }],
+    WYDC: [{ auditflowStep: "SSJTJ" }],
+    WYTJ: [{ auditflowStep: "WYQR", successType: "1" }],
+    XJSH: [{ auditflowStep: "XJTJ", successType: "1" }],
+  },
+  county: [],
+  city: [],
+  provincial: [],
+};
 /** 查询地块基本信息(DKJBXX)列表 */
 function getList() {
   loading.value = true;
@@ -195,13 +197,19 @@ function getList() {
   });
 }
 function getcount() {
-  getDkcount().then((response) => {
-    dkjbxxList.value = response.rows;
-    total.value = response.total;
-    loading.value = false;
+  countData.value = {};
+  let prams = countparm[route.query.type];
+  Object.keys(prams).forEach((key) => {
+    getDkcount({
+      startTime: "",
+      endTime: "",
+      auditflowList: prams[key],
+    }).then((res) => {
+      countData.value[`${key}num`] = res.data.countNumber;
+      countData.value[`${key}mj`] = res.data.countSum;
+    });
   });
 }
-
 // 取消按钮
 function cancel() {
   open.value = false;
@@ -211,27 +219,14 @@ 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,
+    dkjdxxIds: [],
+    stepState: "",
+    endTime: "",
+    fieldworkId: "",
+    fieldworkBy: "",
+    notes: "",
+    createBy: "测试",
+    auditflowStep: "WYQR",
   };
   proxy.resetForm("dkjbxxRef");
 }
@@ -251,40 +246,37 @@ function resetQuery() {
 // 多选框选中数据
 function handleSelectionChange(selection) {
   ids.value = selection.map((item) => item.id);
-  single.value = selection.length != 1;
-  multiple.value = !selection.length;
 }
-
 /** 新增按钮操作 */
-function handleAdd() {
+function fieldwork(field) {
+  if (!ids.value.length) {
+    proxy.$modal.msgError("请选择地块图斑");
+    return;
+  }
+  isfield.value = field;
   reset();
+  form.value.dkjdxxIds = ids.value;
   open.value = true;
-  title.value = "添加地块基本信息(DKJBXX)";
-}
-
-/** 修改按钮操作 */
-function handleUpdate(row) {
-  reset();
-  const _id = row.id || ids.value;
-  getDkjbxx(_id).then((response) => {
-    form.value = response.data;
-    open.value = true;
-    title.value = "修改地块基本信息(DKJBXX)";
-  });
+  title.value = field ? "分发至外业" : "取消分发外业任务";
+  if (field) {
+    form.value.fieldworkId = "1212";
+    form.value.fieldworkBy = "张三";
+  }
+  form.value.auditflowStep = field ? "WYFF" : "WYQR";
 }
 
 /** 提交按钮 */
 function submitForm() {
   proxy.$refs["dkjbxxRef"].validate((valid) => {
     if (valid) {
-      if (form.value.id != null) {
-        updateDkjbxx(form.value).then((response) => {
-          proxy.$modal.msgSuccess("修改成功");
+      if (isfield.value) {
+        field(form.value).then((response) => {
+          proxy.$modal.msgSuccess("分发成功");
           open.value = false;
           getList();
         });
       } else {
-        addDkjbxx(form.value).then((response) => {
+        removeField(form.value).then((response) => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();
@@ -294,21 +286,6 @@ function submitForm() {
   });
 }
 
-/** 删除按钮操作 */
-function handleDelete(row) {
-  const _ids = row.id || ids.value;
-  proxy.$modal
-    .confirm('是否确认删除地块基本信息(DKJBXX)编号为"' + _ids + '"的数据项?')
-    .then(function () {
-      return delDkjbxx(_ids);
-    })
-    .then(() => {
-      getList();
-      proxy.$modal.msgSuccess("删除成功");
-    })
-    .catch(() => {});
-}
-
 /** 导出按钮操作 */
 function handleExport() {
   proxy.download(
@@ -319,12 +296,18 @@ function handleExport() {
     `dkjbxx_${new Date().getTime()}.xlsx`
   );
 }
-function handleBrowse(row) {
+function handleBrowse(row, index) {
   router.push({
     path: "/remote/gdjc",
-    query: { id: row.id, form: "checkLand" },
+    query: { id: row.id, form: "checkLand", index },
+    params: { queryParams: queryParams.value },
   });
 }
+
+function handleDownload(row) {
+  const zipfile = row.proxypath + ".zip";
+  window.open(`${zipfile}`);
+}
 getcount();
 getList();
 </script>
@@ -337,4 +320,11 @@ getList();
   background-size: 100% 100%;
   cursor: pointer;
 }
+.bottom {
+  margin-top: 20px;
+  display: flex;
+}
+.selected {
+  width: calc(100% - 250px);
+}
 </style>