maxiaoxiao 5 месяцев назад
Родитель
Сommit
bb2633f9d7

+ 46 - 1
src/api/stxf/tdzz.js

@@ -11,4 +11,49 @@ export function getXm(id) {
         url: `/apply/qytdzz/tdzzxm/${id}`,
         method: 'get',
     })
-}
+}
+export function getXzgdlist(params) {
+    return request({
+        url: `/apply/qytdzz/xzgd/list`,
+        method: 'get',
+        params
+    })
+}
+export function getSjzl(params) {
+    return request({
+        url: `/apply/qytdzz/xzgd/sjzl`,
+        method: 'get',
+        params
+    })
+}
+export function getsjzlXzgd(params) {
+    return request({
+        url: `/apply/qytdzz/xzgd/sjzl/xzgd`,
+        method: 'get',
+        params
+    })
+}
+export function getXzgdly(params) {
+    return request({
+        url: `/apply/qytdzz/xzgd/sjzl/xzgdly`,
+        method: 'get',
+        params
+    })
+}
+export function getXzgdlyx(params) {
+    return request({
+        url: `/apply/qytdzz/xzgd/sjzl/xzgdlylx`,
+        method: 'get',
+        params
+    })
+}
+// export function getXzgdlist(params) {
+//     return request({
+//         url: `/apply/qytdzz/xzgd/list`,
+//         method: 'get',
+//         params
+//     })
+// }
+
+
+

+ 10 - 0
src/views/Idleland/components/info.vue

@@ -6,6 +6,8 @@
       height="500"
       :class="fileList ? '' : 'infotabel'"
       style="width: 100%"
+      :cell-class-name="cellClass"
+      @row-click="handleRowClick"
     >
       <el-table-column
         show-overflow-tooltip="true"
@@ -47,11 +49,19 @@ export default {
     fileList: {
       type: Array,
     },
+    cellClass: {
+      type: Function,
+    },
   },
   methods: {
     download(obj) {
       window.open(obj.fileUrl);
     },
+    handleRowClick(row, column, event) {
+      // 在这里处理行点击事件,row代表当前行的数据
+      console.log("Row clicked:", row);
+      this.$emit("Rowclicked", row, column, event);
+    },
   },
 };
 </script>

+ 111 - 81
src/views/LandConsolidation/components/config.js

@@ -37,7 +37,7 @@ export const reasonList = [
 export const TableHeader = [
   { label: "项目名称", prop: "xmmc" },
   { label: "主管部门", prop: "zgbm", width: '80px' },// slot: "mj"
-  { label: "建设规模", prop: "tygm", },
+  { label: "建设规模", prop: "gm", },
   { label: "操作", slot: "action" },
 ]
 
@@ -45,7 +45,7 @@ export const xzForm = [
   [
     {
       label: '',
-      prop: 'key',
+      prop: 'tbbh',
       span: 20,
       component: 'ElInput',
       componentProps: {
@@ -59,13 +59,11 @@ export const xzForm = [
   ]
 ]
 export const xzTableHeader = [
-  { label: "地块编号", prop: "xmmc" },
-  { label: "面积(亩)", prop: "crmj", slot: "mj" },
-  { label: "等别", prop: "ydkgsj", },
+  { label: "地块编号", prop: "xzgdlydlbm" },
+  { label: "面积(亩)", prop: "xzgdmj", slot: "mj" },
+  { label: "等别", prop: "xzgddb", },
   { label: "操作", slot: "action", width: '80px', },
 ]
-
-
 export const detailInfosold = [
   [[
     { flag: 'label', value: '项目名称', span: 4 },
@@ -120,144 +118,176 @@ export const detailInfosold = [
     { flag: 'value', value: 'carNo', span: 20 }
   ]],
 ]
+// 整治项目详情
 export const detailInfos = [
-  { name: '项目名称', value: 'carNo' },
-  { name: '主管部门', value: 'carNo' },
-  { name: '申请立项部门', value: 'carNo' },
-  { name: '批复部门', value: 'carNo' },
-  { name: '项目位置', value: 'carNo' },
-  { name: '建设规模', value: 'carNo' },
-  { name: '新增耕地', value: 'carNo' },
-  { name: '总资金', value: 'carNo' },
-  { name: '财政资金', value: 'carNo' },
-  { name: '社会资本', value: 'carNo' },
-  { name: '计划开工年度', value: 'carNo' },
-  { name: '计划验收年度', value: 'carNo' },
-  { name: '主要内容', value: 'carNo' },
+  { name: '项目名称', value: 'xmmc' },
+  { name: '主管部门', value: 'zgbm' },
+  { name: '申请立项部门', value: 'sqlxbm' },
+  { name: '批复部门', value: 'pfbm' },
+  { name: '项目位置', value: 'wz' },
+  { name: '建设规模', value: 'gm' },
+  { name: '新增耕地', value: 'xzgd' },
+  { name: '总资金', value: 'jhtz' },
+  { name: '财政资金', value: 'czjhtz' },
+  { name: '社会资本', value: 'shjhtz' },
+  { name: '计划开工年度', value: 'jhkgnx' },
+  { name: '计划验收年度', value: 'jhysnx' },
+  { name: '主要内容', value: 'jsnr' },
 ]
-
+// 整治图斑详情
 export const tbInfos = [
   [[
-    { flag: 'label', value: '图斑编号', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '图斑编号', span: 6 },
+    { flag: 'value', value: 'tbbh', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '地类编码', span: 4 },
-    { flag: 'value', value: 'carTypeName', span: 20 }
+    { flag: 'label', value: '地类编码', span: 6 },
+    { flag: 'value', value: 'dlbm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '地类名称', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '地类名称', span: 6 },
+    { flag: 'value', value: 'dlmc', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '权属性质', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '权属性质', span: 6 },
+    { flag: 'value', value: 'qsxz', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '图斑面积', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '图斑面积', span: 6 },
+    { flag: 'value', value: 'tbmj', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'KCDLBM?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'KCDLBM?', span: 6 },
+    { flag: 'value', value: 'kcdlbm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'KCXS?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'KCXS?', span: 6 },
+    { flag: 'value', value: 'kcxs', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'KCMJ?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'KCMJ?', span: 6 },
+    { flag: 'value', value: 'kcmj', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '图斑地类面积', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '图斑地类面积', span: 6 },
+    { flag: 'value', value: 'tbdlmj', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '耕地类型', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '耕地类型', span: 6 },
+    { flag: 'value', value: 'gdlx', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '耕地坡度级别', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '耕地坡度级别', span: 6 },
+    { flag: 'value', value: 'gdpdjb', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'FRDBS?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'FRDBS?', span: 6 },
+    { flag: 'value', value: 'frdbs', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'CZCSXM?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'CZCSXM?', span: 6 },
+    { flag: 'value', value: 'czcsxm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'XX年份', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '年份', span: 6 },
+    { flag: 'value', value: 'sjnf', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '备注', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '备注', span: 6 },
+    { flag: 'value', value: 'bz', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '标识码', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '标识码', span: 6 },
+    { flag: 'value', value: 'bsm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '要素代码', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '要素代码', span: 6 },
+    { flag: 'value', value: 'ysdm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '项目类型', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '项目类型', span: 6 },
+    { flag: 'value', value: '项目类型', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '项目名称', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '项目名称', span: 6, },
+    { flag: 'value', value: 'xmmc', span: 14, isslot: true },
   ]],
   [[
-    { flag: 'label', value: '整治后地类名称', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '整治后地类名称', span: 6 },
+    { flag: 'value', value: 'zzhdlmc', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '整治后地类编码', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '整治后地类编码', span: 6 },
+    { flag: 'value', value: 'zzhdlbm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '权属单位代码', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '权属单位代码', span: 6 },
+    { flag: 'value', value: 'qsdwdm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '权属单位名称', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '权属单位名称', span: 6 },
+    { flag: 'value', value: 'qsdwmc', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'ZLDWMC?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'ZLDWMC?', span: 6 },
+    { flag: 'value', value: 'zldwmc', span: 14 },
   ]],
   [[
-    { flag: 'label', value: 'ZLDWDM?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: 'ZLDWDM?', span: 6 },
+    { flag: 'value', value: 'zldwdm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '新增耕地来源地类编码?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '新增耕地来源地类编码?', span: 6 },
+    { flag: 'value', value: 'xzgdlydlbm', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '新增耕地来源地类名称?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '新增耕地来源地类名称?', span: 6 },
+    { flag: 'value', value: 'xzgdlydlmc', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '新增耕地面积?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '新增耕地面积?', span: 6 },
+    { flag: 'value', value: 'xzgdmj', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '新增耕地等别', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '新增耕地等别', span: 6 },
+    { flag: 'value', value: 'xzgddb', span: 14 },
   ]],
   [[
-    { flag: 'label', value: '新增耕地来源项目?', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'label', value: '新增耕地来源项目?', span: 6 },
+    { flag: 'value', value: 'xzgdlyxm', span: 14 },
   ]],
 ]
 
 
+// 新增耕地详情
+export const xzgdInfos = [
+  { name: '图斑编号', value: 'carNo' },
+  { name: '权属性质', value: 'qsxz' },
+  { name: '图斑面积', value: 'tbmj' },
+  { name: '整治后地类名称', value: 'carNo' },
+  { name: 'KCDLBM', value: 'kcdlbm' },
+  { name: 'KCXS', value: 'kcxs' },
+  { name: 'KCMJ', value: 'kcmj' },
+  { name: '图斑地类面积', value: 'carNo' },
+  { name: '耕地类型', value: 'carNo' },
+  { name: '耕地坡度级别', value: 'carNo' },
+  { name: 'FRDBS', value: 'carNo' },
+  { name: 'CZCSXM', value: 'carNo' },
+  { name: 'XX年份', value: 'carNo' },
+  { name: '备注', value: 'carNo' },
+  { name: '标识码', value: 'carNo' },
+  { name: '要素代码', value: 'carNo' },
+  { name: '整治后地类编码', value: 'carNo' },
+  { name: '权属单位代码', value: 'carNo' },
+  { name: '权属单位名称', value: 'carNo' },
+  { name: '单位代码', value: 'carNo' },
+  { name: '单位名称', value: 'carNo' },
+  { name: '新增耕地来源地类编码', value: 'carNo' },
+  { name: '新增耕地来源地类名称', value: 'carNo' },
+  { name: '新增耕地面积', value: 'carNo' },
+  { name: '新增耕地等别', value: 'carNo' },
+  { name: '新增耕地来源项目', value: 'carNo' },
+]
+
+
 

+ 65 - 20
src/views/LandConsolidation/components/details.vue

@@ -7,23 +7,26 @@
       </div>
       <el-tabs type="border-card" class="xz_box" v-model="activeTabs" stretch>
         <el-tab-pane label="基本信息" name="jbxx">
-          <Info :data="jbxxData"></Info>
+          <Info
+            :data="jbxxData"
+            :cellClass="cellClass"
+            @Rowclicked="Rowclicked"
+          ></Info>
         </el-tab-pane>
         <el-tab-pane label="进度跟踪" name="rdxx"> </el-tab-pane>
       </el-tabs>
     </div>
     <el-dialog
-      :title="1"
+      title="图斑信息"
       width="40%"
       :visible.sync="dialogVisible"
       :before-close="close"
       :modal-append-to-body="false"
       :close-on-click-modal="false"
     >
-      <CustomDetails :model="formData" :config="detailInfos">
-        <template #attachment>
-          <span>{{ formData.attachment }}</span>
-          <i class="usable el-icon-tickets" @click="download"></i>
+      <CustomDetails :model="formData" :config="datainfo" class="CustomDetails">
+        <template #xmmc>
+          <span class="usable" @click="go"> {{ formData["项目名称"] }}</span>
         </template>
       </CustomDetails>
     </el-dialog>
@@ -48,6 +51,8 @@ export default {
       isShallow: false,
       jbxxData: [],
       rdData: [],
+      formData: {},
+      datainfo: tbInfos,
       tempdataLayerId: null,
       dialogVisible: false,
     };
@@ -60,22 +65,57 @@ export default {
     closeInster() {
       this.isShallow = false;
     },
-
+    close() {
+      this.dialogVisible = false;
+    },
     handleView(val, type) {
-      this.isShallow = true;
-      this.jbxxData = [];
-      getXm(val.id).then((res) => {
-        if (res.code == 200) {
-          // Object.keys(res.data).forEach((key) => {
-          //   this.jbxxData.push({ name: key, value: res.data[key] });
-          // });
-          detailInfos.forEach((key) => {
-            this.jbxxData.push({ name: key.name, value: res.data[key.value] });
+      if (type == "整治图斑") {
+        this.dialogVisible = true;
+        this.formData = val;
+      } else if (type == "整治项目") {
+        this.isShallow = true;
+        this.jbxxData = [];
+        getXm(val.id).then((res) => {
+          if (res.code == 200) {
+            // Object.keys(res.data).forEach((key) => {
+            //   this.jbxxData.push({ name: key, value: res.data[key] });
+            // });
+            this.formData = res.data;
+            detailInfos.forEach((key) => {
+              this.jbxxData.push({
+                name: key.name,
+                value: res.data[key.value] || "-",
+              });
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+        });
+      } else {
+        xzgdInfos.forEach((key) => {
+          this.jbxxData.push({
+            name: key.name,
+            value: res.data[key.value],
           });
-        } else {
-          this.$message.error(res.message);
-        }
-      });
+        });
+      }
+    },
+    go() {
+      this.handleView({ id: this.formData.pid }, "整治项目");
+    },
+    cellClass({ row, column, rowIndex, columnIndex }) {
+      if (row.name == "新增耕地") {
+        return "usable";
+      } else {
+        return "";
+      }
+    },
+    Rowclicked(row, column, event) {
+      if (row.name == "新增耕地") {
+        this.closeInster();
+        this.close();
+        this.$emit("goxzgd", this.formData);
+      }
     },
   },
   mounted() {},
@@ -104,4 +144,9 @@ export default {
   max-height: 800px !important;
   top: 28px !important;
 }
+.CustomDetails {
+  height: 500px;
+  overflow-y: auto;
+  overflow-x: hidden;
+}
 </style>

+ 3 - 2
src/views/LandConsolidation/components/list.vue

@@ -127,10 +127,11 @@ export default {
         item.tQytdzzZzxm.forEach((res) => {
           if (res.geom)
             loadGeoJSON(res.geom, "#55A1E3", { isfly: true }, (data) => {
-              geoSources[res.id] = data;
+              geoSources[res.pid + res.id] = data;
               data.name = "zzxm";
+              res.entity = "整治图斑";
               data.entities.values.forEach((entity) => {
-                entity.properties = { type: "图斑上图", xzqdm: res.id };
+                entity.properties = { type: "图斑上图", res };
               });
             });
         });

+ 71 - 38
src/views/LandConsolidation/components/xzgd.vue

@@ -1,17 +1,27 @@
 <template>
   <div class="xzgd">
-    <div class="tdTitle">新增耕地(XXX项目)</div>
+    <div class="tdTitle" :title="xmdata.xmmc">
+      新增耕地{{ xmdata.xmmc ? `(${xmdata.xmmc})` : "" }}
+    </div>
     <span class="clearBtn" @click="cockpit">
       <i class="el-icon-thumb"></i>
       图斑详情查询
     </span>
-    <el-tabs type="border-card" class="xz_box" v-model="activeTabs" stretch>
+    <el-tabs
+      type="border-card"
+      class="xz_box"
+      v-model="activeTabs"
+      stretch
+      @tab-click="gdchange"
+    >
       <el-tab-pane label="新增耕地总览情况" name="gdzl">
         <div class="content sdata">
           <div class="item" v-for="(sd, index) in sdlist" :key="index">
             <div class="text">
               <p>{{ sd.name }}</p>
-              <span class="cvalue">{{ (sdata.area || 0).toFixed(2) }} </span>
+              <span class="cvalue"
+                >{{ (sdata[sd.prop] || 0).toFixed(2) }}
+              </span>
               <span class="unit">{{ sd.unit }}</span>
             </div>
           </div>
@@ -48,19 +58,25 @@
 import pie from "@/components/echartsTemplate/pie.vue";
 import sankey from "@/components/echartsTemplate/sankey.vue";
 import xzlist from "./xzlist.vue";
-import { overview, district, reason } from "@/api/Idleland.js";
+import {
+  getSjzl,
+  getsjzlXzgd,
+  getXzgdly,
+  getXzgdlyx,
+} from "@/api/stxf/tdzz.js";
 export default {
   props: {},
   data() {
     return {
       activeTabs: "gdzl",
-      sdata: { suspected: {}, confirm: {}, disposal: {} },
+      sdata: {},
       sdlist: [
-        { name: "新增耕地面积", prop: "suspected", unit: "公顷" },
-        { name: "新增耕地面积", prop: "confirm", unit: "公顷" },
-        { name: "新增耕地地块数", prop: "disposal", unit: "亩" },
+        { name: "新增耕地面积", prop: "area_number", unit: "公顷" },
+        { name: "新增耕地面积", prop: "area_number", unit: "亩" },
+        { name: "新增耕地地块数", prop: "count_number", unit: "个" },
       ],
-      tab: 0,
+      // tab: 0,
+      xmdata: {},
     };
   },
   components: {
@@ -68,9 +84,7 @@ export default {
     sankey,
     xzlist,
   },
-  mounted() {
-    this.getData();
-  },
+  mounted() {},
   methods: {
     cockpit() {
       this.$emit("cockpit");
@@ -78,30 +92,48 @@ export default {
     changeData(name, updata) {
       this[name] = updata;
     },
-    regionChange(region) {
+    gdchange() {
+      if (this.activeTabs == "gdzl") {
+        this.getData();
+      } else {
+        this.$refs.xzlist.regionChange(this.region, this.params.zzxmid);
+      }
+    },
+    regionChange(region, xmdata = {}) {
       this.region = region;
+      this.xmdata = xmdata;
+      this.params = { zzxmid: xmdata.id, bsm: this.region };
       this.getData();
     },
     getData() {
       this.$emit("updateParent", "loading", true);
-      this.params = { districtCode: this.region };
       this.GetOverview();
       this.GetSumList();
+      this.GetlyList();
       this.Getlinks();
     },
     GetOverview() {
-      overview(this.params).then((res) => {
+      getSjzl(this.params).then((res) => {
         this.sdata = res.data || {};
         this.$emit("updateParent", "loading", false);
       });
     },
     GetSumList() {
-      reason(this.params).then((res) => {
+      getsjzlXzgd(this.params).then((res) => {
         res.data.map((a) => {
-          a.name = a.reason;
-          a.value = a.area.toFixed(2);
+          a.name = a.zzhdlmc;
+          a.value = a.area_number.toFixed(2);
         });
         this.setEchart({ data: res.data, type: '"horizontal"' }, 0);
+        this.$emit("updateParent", "loading", false);
+      });
+    },
+    GetlyList() {
+      getXzgdly(this.params).then((res) => {
+        res.data.map((a) => {
+          a.name = a.dlmc;
+          a.value = a.area_number.toFixed(2);
+        });
         this.setEchart({ data: res.data, type: '"horizontal"' }, 1);
         this.$emit("updateParent", "loading", false);
       });
@@ -109,25 +141,20 @@ export default {
     Getlinks() {
       let data = [],
         links = [];
-      district(this.params).then((res) => {
-        // res.data.forEach((jdData) => {
-        // });
-        data = [
-          { name: "a" },
-          { name: "b" },
-          { name: "a1" },
-          { name: "a2" },
-          { name: "b1" },
-          { name: "c" },
-        ];
-        links = [
-          { source: "a", target: "a1", value: 5 },
-          { source: "a", target: "a2", value: 3 },
-          { source: "b", target: "b1", value: 8 },
-          { source: "a", target: "b1", value: 3 },
-          { source: "b1", target: "a1", value: 1 },
-          { source: "b1", target: "c", value: 2 },
-        ];
+      getXzgdlyx(this.params).then((res) => {
+        res.data.forEach((lxdata) => {
+          if (lxdata.area_number) {
+            if (!data.find((i) => i.name == lxdata.zzqdlmc))
+              data.push({ name: lxdata.zzqdlmc });
+            if (!data.find((i) => i.name == lxdata.zzhdlmc))
+              data.push({ name: lxdata.zzhdlmc });
+            links.push({
+              source: lxdata.zzqdlmc,
+              target: lxdata.zzhdlmc,
+              value: lxdata.area_number,
+            });
+          }
+        });
         this.setEchart(data, 2, links);
         this.$emit("updateParent", "loading", false);
       });
@@ -150,6 +177,12 @@ export default {
 <style lang="scss" scoped>
 .xzgd {
   height: 100%;
+  .tdTitle {
+    width: 100%;
+    white-space: nowrap; /* 确保文本在一行内显示 */
+    overflow: hidden; /* 超出容器的文本隐藏 */
+    text-overflow: ellipsis;
+  }
   .content {
     width: 100%;
     height: 190px;
@@ -166,7 +199,7 @@ export default {
       }
       .iicon {
         background: no-repeat 50%;
-        background-image: url("/static/images/overview/icon_yrkkg.png");
+        background-image: url("/static/images/getSjzl/icon_yrkkg.png");
         width: 45px;
         height: 45px;
         flex: 1;

+ 33 - 50
src/views/LandConsolidation/components/xzlist.vue

@@ -21,7 +21,7 @@
       @currentChange="searchFun"
     >
       <template #mj="{ row }">
-        {{ Number(row.crmj).toFixed(2) }}
+        {{ Number(row.xzgdmj).toFixed(2) }}
       </template>
       <template #action="{ row }">
         <span class="usable" @click="detail(row)">详情</span>
@@ -33,8 +33,7 @@
 <script>
 import tablePage from "@/components/mapView/tablePage.vue";
 import customForm from "@/components/mapView/custom-form.vue";
-
-import { GetList } from "@/api/Idleland.js";
+import { getXzgdlist } from "@/api/stxf/tdzz.js";
 import { xzForm, xzTableHeader } from "./config";
 import { loadGeoJSON } from "@/utils/MapHelper/help.js";
 let geoSources = {};
@@ -54,19 +53,15 @@ export default {
   data() {
     return {
       pageObj: {
-        key: "",
-        xzqh: "",
-        idleReason: "",
-        isConfirm: true,
+        zzxmid: "",
+        tbbh: "",
+        bsm: "",
         pageNum: 1,
         pageSize: 10,
-        isDisposal: false,
-        startTime: "",
-        endTime: "",
       },
+      region: "",
       formConfig: xzForm,
       cloumn: xzTableHeader,
-
       table: {
         data: [{}],
         total: 20,
@@ -82,6 +77,12 @@ export default {
     cockpit() {
       this.$emit("cockpit");
     },
+    regionChange(region, zzxmid) {
+      this.region = region;
+      this.pageObj.bsm = region;
+      this.pageObj.zzxmid = zzxmid;
+      this.searchFun();
+    },
     searchFun(page = {}) {
       this.pageObj.pageNum = page.pageIndex || 1;
       this.pageObj.pageSize = page.size || 10;
@@ -90,14 +91,10 @@ export default {
     getTableData() {
       this.$emit("updateParent", "loading", true);
       this.removeGeoJSON();
-      GetList(this.pageObj).then((res) => {
+      getXzgdlist(this.pageObj).then((res) => {
         this.$emit("updateParent", "loading", false);
-        this.table = {
-          ...res.data,
-          total: res.data.count,
-          data: res.data.list,
-        };
-        this.active_tableData(res.data.list);
+        this.table = { total: res.total, data: res.rows };
+        this.active_tableData(res.rows);
       });
     },
     tableRowClassName({ row, rowIndex }) {
@@ -108,37 +105,27 @@ export default {
     },
     active_tableData(newVal) {
       newVal.forEach((res, index) => {
-        if (res.geom || res.st_asewkt)
-          loadGeoJSON(
-            res.geom || res.st_asewkt,
-            "#55A1E3",
-            { isfly: false },
-            (data) => {
-              geoSources[res.id] = data;
-              data.name = "Idleland";
-              data.entities.values.forEach((entity) => {
-                entity.properties = { type: "图斑上图", id: res.id };
-              });
-            }
-          );
+        if (res.geom)
+          loadGeoJSON(res.geom, "#55A1E3", { isfly: false }, (data) => {
+            geoSources[res.id] = data;
+            data.name = "xzgd";
+            data.entities.values.forEach((entity) => {
+              entity.properties = { type: "图斑上图", res };
+            });
+          });
       });
     },
     flyTo(item) {
       let id = "h_" + item.id;
       this.tempdataLayerId = id;
       if (geoSources[id]) return;
-      loadGeoJSON(
-        item.geom || item.st_asewkt,
-        "#ff0000",
-        { isfly: true },
-        (data) => {
-          data.name = "Idleland";
-          geoSources[id] = data;
-          data.entities.values.forEach((entity) => {
-            entity.properties = { type: "图斑上图", id: item.id };
-          });
-        }
-      );
+      loadGeoJSON(item.geom, "#ff0000", { isfly: true }, (data) => {
+        data.name = "xzgd";
+        geoSources[id] = data;
+        data.entities.values.forEach((entity) => {
+          entity.properties = { type: "图斑上图", id: item.id };
+        });
+      });
     },
     removeGeoJSON() {
       if (!window.viewer) return;
@@ -151,15 +138,11 @@ export default {
 
     reset(xzqh) {
       this.pageObj = {
-        key: "",
-        xzqh,
-        idleReason: "",
-        isConfirm: this.$props.type != 0,
+        zzxmid: "",
+        tbbh: "",
+        bsm: "",
         pageNum: 1,
         pageSize: 10,
-        isDisposal: this.$props.type == 2,
-        // startTime: store.state.cockpit_date[0],
-        // endTime: store.state.cockpit_date[1],
       };
     },
     detail(row) {

+ 7 - 4
src/views/LandConsolidation/index.vue

@@ -91,7 +91,7 @@
         <Organize ref="organize"></Organize>
       </div>
     </div>
-    <Details ref="detailModal"></Details>
+    <Details ref="detailModal" @goxzgd="goxzgd"></Details>
     <Contrast ref="contrastModal" v-if="iscontrast"></Contrast>
     <!-- <iframe
       v-if="drawer"
@@ -188,7 +188,7 @@ export default {
       //驾驶舱矢量数据点选查询
       pick_cockpit_vector.init_handler();
     },
-    onClick(val) {
+    onClick(val, xmdata) {
       this.activeIndex = val;
       if (val != 0) this.$refs.sdgk.reset();
       if (val == 0) {
@@ -197,7 +197,10 @@ export default {
         this.$refs.organize.regionChange(this.xzqh);
       }
       if (val == 1) this.$refs.list.regionChange(this.xzqh);
-      if (val == 2) this.$refs.xzgd.getData();
+      if (val == 2) this.$refs.xzgd.regionChange(this.xzqh, xmdata);
+    },
+    goxzgd(xmdata) {
+      this.onClick(2,xmdata);
     },
   },
   watch: {
@@ -207,7 +210,7 @@ export default {
       newVal.forEach((res) => {
         if (res.name == "res") {
           if ((res.value.entity = "整治图斑"))
-            this.handleView({ id: res.value }, "整治图斑"); //this.$refs.list.getType()
+            this.handleView(res.value, "整治图斑"); //this.$refs.list.getType()
         }
       });
     },

+ 6 - 5
src/views/complianceAnalysis/ghzc.scss

@@ -138,14 +138,10 @@
                 }
             }
         }
-
-        .usable {
-            color: #3f93f5;
-            cursor: pointer;
-        }
     }
 
 
+
     .block-title {
         color: #CDDEEB;
         padding-left: 18px;
@@ -413,6 +409,11 @@
         background-image: url("/static/images/ghzc/close_eyes.png");
     }
 
+    .usable {
+        color: #3f93f5 !important;
+        cursor: pointer;
+    }
+
 }
 
 .flex-box {