ソースを参照

结果汇总表接口联调

maxiaoxiao 1 週間 前
コミット
a57dab05af

+ 10 - 10
src/views/pageCode/statistic/progress/config.js

@@ -30,33 +30,33 @@ export const units = [
 ]
 export const TableHeader = [
   { label: "行政区", prop: "date", align: 'center' },
-  { label: "图斑数",  prop: "szxzc", width: '60px' },
+  { label: "图斑数", prop: "szxzc", width: '60px' },
   { label: "图斑面积", prop: "name", align: 'center' },
   // { label: "操作", slot: "action", width: '80px', align: 'center' },
 ]
 export const judgeTable = [
   { label: "行政区", prop: "xzqmc", width: '80px', align: 'center' },
   { label: "图斑数", prop: "countNumber", width: '60px' },
-  { label: "图斑面积",  prop: "countSum", width: '100px', align: 'center' },
+  { label: "图斑面积", prop: "countSum", width: '100px', align: 'center' },
   {
     label: "监测图斑", list: [
-      { label: "图斑数",  prop: "szxzc", width: '60px' },
-      { label: "图斑面积",  prop: "name", width: '100px', align: 'center' },]
+      { label: "图斑数", prop: "szxzc", width: '60px' },
+      { label: "图斑面积", prop: "name", width: '100px', align: 'center' },]
   },
   {
     label: "未判定图斑", list: [
-      { label: "图斑数",  prop: "szxzc", width: '60px' },
-      { label: "图斑面积",  prop: "name", width: '100px', align: 'center' },]
+      { label: "图斑数", prop: "szxzc", width: '60px' },
+      { label: "图斑面积", prop: "name", width: '100px', align: 'center' },]
   },
   {
     label: "已判定图斑(拆分前)", list: [
-      { label: "图斑数",  prop: "szxzc", width: '60px' },
-      { label: "图斑面积",  prop: "name", width: '100px', align: 'center' },]
+      { label: "图斑数", prop: "szxzc", width: '60px' },
+      { label: "图斑面积", prop: "name", width: '100px', align: 'center' },]
   },
   {
     label: "已判定图斑(拆分后)", list: [
-      { label: "图斑数",  prop: "szxzc", width: '60px' },
-      { label: "图斑面积",  prop: "name", width: '100px', align: 'center' },]
+      { label: "图斑数", prop: "szxzc", width: '60px' },
+      { label: "图斑面积", prop: "name", width: '100px', align: 'center' },]
   },
 
 ]

+ 0 - 3
src/views/pageCode/statistic/progress/index.vue

@@ -184,9 +184,6 @@ const data = reactive({
     xzqdm: "",
     time: ["", ""],
     startTime: "",
-    roleName: undefined,
-    roleKey: undefined,
-    status: undefined,
   },
   countData: {},
   eData: {

+ 105 - 189
src/views/pageCode/statistic/summary.vue

@@ -1,135 +1,81 @@
 <template>
   <div class="app-container">
-    <customForm ref="formRef" :model="queryParams" :config="FormConfig">
-      <template #link>
-        <el-select
-          v-model="pageObj.query_links"
-          placeholder="请选择实体关系"
-          clearable
-        >
-          <el-option
-            v-for="item in linkList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
+    <div class="box-top">
+      <customForm ref="formRef" :model="queryParams" :config="FormConfig">
+        <template #region>
+          <el-tree-select
+            v-model="queryParams.xzqdm"
+            :data="deptList"
+            :props="{
+              value: 'id',
+              label: 'label',
+              children: 'children',
+            }"
+            value-key="id"
+            default-expanded-keys
+            check-strictly
+            style="width: 200px"
+          />
+        </template>
+        <template #monTime>
+          <el-date-picker
+            v-model="queryParams.time"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+          />
+        </template>
+        <template #action>
+          <el-button type="primary" icon="Search" @click="handleQuery"
+            >搜索</el-button
           >
-          </el-option>
-        </el-select>
-      </template>
-      <template #action>
-        <el-button type="primary" icon="Search" @click="handleQuery"
-          >搜索</el-button
+          <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+        </template>
+      </customForm>
+      <el-table :data="tableData" style="width: 100%" v-loading="loading">
+        <el-table-column
+          prop="xzqmc"
+          label="行政区"
+          width="150"
+          align="center"
+        />
+        <el-table-column
+          v-for="i in keys"
+          :key="i.keyn"
+          :label="i.label"
+          header-align="center"
         >
-        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-      </template>
-    </customForm>
-    
-
-
-
-    <el-table :data="tableData" style="width: 100%">
-      <el-table-column prop="date" label="行政区" width="150" align="center" />
-      <el-table-column label="已判定图斑" header-align="center">
-        <el-table-column prop="name" label="图斑数" align="center" />
-        <el-table-column label="面积" align="center">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="合法用地">
-        <el-table-column prop="name" label="图斑数" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="合法用地情形_已依法供地">
-        <el-table-column prop="name" label="图斑数" width="120" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="合法用地情形XXXX">
-        <el-table-column prop="name" label="图斑数" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="违法用地">
-        <el-table-column prop="name" label="图斑数" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
+          <el-table-column label="图斑数" align="center">
+            <template #default="{ row }">
+              {{ row.hzjg[`${i.keyn}_number`] }}
+            </template>
+          </el-table-column>
+          <el-table-column label="面积" align="center">
+            <template #default="{ row }">
+              {{ row.hzjg[`${i.keyn}_sum`] }}
+            </template>
+          </el-table-column>
         </el-table-column>
-      </el-table-column>
-      <el-table-column label="违法用地情形_非依法新增建设用地">
-        <el-table-column prop="name" label="图斑数" width="120" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="违法类型XXXX">
-        <el-table-column prop="name" label="图斑数" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="其他用地">
-        <el-table-column prop="name" label="图斑数" />
-        <el-table-column label="面积">
-          <el-table-column prop="state" label="图斑面积" width="120" />
-          <el-table-column prop="city" label="耕地面积" width="120" />
-          <el-table-column prop="zip" label="永久基本农田面积" />
-        </el-table-column>
-      </el-table-column>
-    </el-table>
-    <!-- 表格数据 -->
-
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page="queryParams.pageNum"
-      :limit="queryParams.pageSize"
-      @pagination="getList"
-    />
+      </el-table>
+      <!-- <pagination
+        v-show="total > 0"
+        :total="total"
+        :page="queryParams.pageNum"
+        :limit="queryParams.pageSize"
+        @pagination="getList"
+      /> -->
+    </div>
   </div>
 </template>
 
 <script setup name="Role">
 import customForm from "@/components/custom-form.vue";
-
+import { FormConfig } from "./progress/config";
+import { getcount, gethzList, listJz } from "@/api/rsmonitoring/statistics";
 const router = useRouter();
 const { proxy } = getCurrentInstance();
-const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
-const FormConfig = ref([
-  [
-    {
-      label: "行政区",
-      prop: "state",
-      span: 5,
-    },
-    {
-      label: "监测时相",
-      prop: "time",
-      span: 5,
-    },
-    {
-      prop: "action",
-      span: 5,
-    },
-  ],
-]);
+const loading = ref(false);
 const tableData = ref([
   {
     date: "2016-05-03",
@@ -137,89 +83,59 @@ const tableData = ref([
     state: "California",
     city: "Los Angeles",
 
-    zip: "CA 90036",
-  },
-  {
-    date: "2016-05-02",
-    name: "Tom",
-    state: "California",
-    city: "Los Angeles",
-
-    zip: "CA 90036",
-  },
-  {
-    date: "2016-05-04",
-    name: "Tom",
-    state: "California",
-    city: "Los Angeles",
-
-    zip: "CA 90036",
-  },
-  {
-    date: "2016-05-01",
-    name: "Tom",
-    state: "California",
-    city: "Los Angeles",
-
-    zip: "CA 90036",
-  },
-  {
-    date: "2016-05-08",
-    name: "Tom",
-    state: "California",
-    city: "Los Angeles",
-
-    zip: "CA 90036",
-  },
-  {
-    date: "2016-05-06",
-    name: "Tom",
-    state: "California",
-    city: "Los Angeles",
-
-    zip: "CA 90036",
-  },
-  {
-    date: "2016-05-07",
-    name: "Tom",
-    state: "California",
-    city: "Los Angeles",
-
     zip: "CA 90036",
   },
 ]);
+const total = ref(0);
 const data = reactive({
   form: {},
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    roleName: undefined,
-    roleKey: undefined,
-    status: undefined,
-  },
-  rules: {
-    roleName: [
-      { required: true, message: "角色名称不能为空", trigger: "blur" },
-    ],
-    roleKey: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
-    roleSort: [
-      { required: true, message: "角色顺序不能为空", trigger: "blur" },
-    ],
+    xzqdm: "",
+    time: ["", ""],
+    startTime: "",
   },
+  keys: [],
 });
 
-const { queryParams, form, rules } = toRefs(data);
+const { queryParams, keys } = toRefs(data);
 
+/** 搜索按钮操作 */
+function handleQuery() {
+  queryParams.value.pageNum = 1;
+  queryParams.value.startTime = queryParams.value.time[0];
+  queryParams.value.endTime = queryParams.value.time[1];
+  getList();
+}
 /** 查询角色列表 */
 function getList() {
-  // loading.value = true;
-  // listRole(proxy.addDateRange(queryParams.value, dateRange.value)).then(
-  //   (response) => {
-  //     roleList.value = response.rows;
-  //     total.value = response.total;
-  //     loading.value = false;
-  //   }
-  // );
+  loading.value = true;
+  gethzList(queryParams.value).then((res) => {
+    tableData.value = res.data;
+    total.value = res.data.length;
+    loading.value = false;
+
+    let tag = tableData.value[0].hzjg.key;
+    Object.keys(tag).forEach(function (key) {
+      const [major, minor] = parseVersion(key);
+      keys.value.push({ keyn: key, label: tag[key], major, minor });
+    });
+    keys.value.sort((a, b) => {
+      if (a.major !== b.major) {
+        return a.major - b.major; // 主要版本号不同,直接比较
+      } else {
+        return a.minor - b.minor; // 主要版本号相同,比较次要版本号
+      }
+    });
+  });
+}
+// 定义一个函数来解析版本号
+function parseVersion(version) {
+  // 移除开头的'v',并将其余部分拆分为数字和可能的下划线后的数字
+  const match = version.match(/^v(\d+)(?:_(\d+))?/);
+  if (!match) return [0, 0]; // 如果没有匹配到,返回[0, 0]作为默认值
+  return [parseInt(match[1]), match[2] ? parseInt(match[2]) : -1];
 }
 
 getList();