maxiaoxiao 1 неделя назад
Родитель
Сommit
be3007f5f0

+ 7 - 0
src/api/rsmonitoring/dkjbxx.js

@@ -102,6 +102,13 @@ export function scinfo(params) {
     params
   })
 }
+export function getHcInfo(params) {
+	return request({
+		url: '/rsmonitoring/fieldwork/hc/info',
+		method: 'get',
+		params
+	})
+}
 // 地块省级提交操作
 export function tjDkjbxx(data) {
   return request({

+ 77 - 9
src/views/remote/farmland/details.vue

@@ -66,16 +66,39 @@
         </el-tabs>
       </el-tab-pane>
       <el-tab-pane label="核查信息" name="hcxx" v-if="!formde">
-        共3次外业核查
+        共{{ hcxxList.length }}次外业核查
         <el-collapse v-model="hcxxtab" @change="handleChange">
           <el-collapse-item v-for="(hcit, hi) in hcxxList" :key="hi" name="1">
             <template #title>
-              核查时间:{{ hcit.time }} 核查人员:{{ hcit.name }}
+              核查时间:{{ hcit.createTime }} 核查人员:{{ hcit.createBy }}
             </template>
             <div></div>
             <div>
-              <Hcxx @updateParent="changeData" :jcbh="11"></Hcxx>
+              <Hcxx ref="hcxxRef" @updateParent="changeData" :jcbh="11"></Hcxx>
             </div>
+            <el-descriptions :column="1">
+              <el-descriptions-item label="实际地类">
+                {{ hcit.dlmc }}
+              </el-descriptions-item>
+              <el-descriptions-item label="核查初判">
+                {{ hgx_decide.find((h) => h.value == hcit.decide).label }}
+              </el-descriptions-item>
+              <el-descriptions-item label="其它材料">
+                <div class="imgList">
+                  <div class="imgDiv" v-for="(item, i) in hcit.fjs" :key="i">
+                    <span>{{ i + 1 }}</span>
+                    <img :src="item.fjPreview" />
+                    <p>{{ item.fjDatetime }}</p>
+                  </div>
+                </div>
+              </el-descriptions-item>
+              <el-descriptions-item label="其它说明">
+                {{ hcit.notes }}
+              </el-descriptions-item>
+              <el-descriptions-item label="数字签名">
+                <img :src="hcit.fjPreview" />
+              </el-descriptions-item>
+            </el-descriptions>
           </el-collapse-item>
         </el-collapse>
       </el-tab-pane>
@@ -168,6 +191,7 @@ import {
   getDkjbywy,
   getAuditflow,
   getStep,
+  getHcInfo,
 } from "@/api/rsmonitoring/dkjbxx";
 
 import {
@@ -179,6 +203,7 @@ import {
   stbhTable,
   audiText,
 } from "./config";
+import { nextTick } from "vue";
 
 const { proxy } = getCurrentInstance();
 const route = useRoute();
@@ -189,16 +214,18 @@ let nowObj = {};
 const shdiaRef = ref(null);
 const hgxdiaRef = ref(null);
 const tjdiaRef = ref(null);
+const hcxxRef = ref(null);
 
 const data = reactive({
   activeName: "jbxx",
   infoObj: { name: "swed" },
-  hcxxList: [{}],
+  hcxxtab: 0,
+  hcxxList: [],
   activities: [],
 });
 const steps = ref([]);
-
-const { activeName, infoObj, hcxxList, activities } = toRefs(data);
+const { hgx_decide } = proxy.useDict("hgx_decide");
+const { activeName, infoObj, hcxxtab, hcxxList, activities } = toRefs(data);
 const sheetdata = reactive({
   ywyptab: "1",
   sheets: [],
@@ -209,7 +236,7 @@ const sheetdata = reactive({
 
 const { ywyptab, sheets, open, diatitle, sheetinfos } = toRefs(sheetdata);
 
-function handleClick({ id }) {
+function handleClick({ id, auditflowId }) {
   if (formde.value) {
     getDetailsDk(id).then((res) => {
       infoObj.value = res.data;
@@ -228,6 +255,12 @@ function handleClick({ id }) {
     getAuditflow({ dkjdxxId: id }).then((res) => {
       activities.value = res.data;
     });
+    getHcInfo({ dkid: id, auditflowStep: "WYDC", auditflowId }).then((res) => {
+      hcxxList.value = res.data;
+      nextTick(() => {
+        hcxxRef.value[0].init(hcxxList.value[0].sdfjs);
+      });
+    });
   }
   getStep({ dkjdxxId: id }).then((res) => {
     steps.value = res.data;
@@ -238,12 +271,12 @@ function todetails(row) {
   diatitle.value = row.swid + "详情";
   sheetinfos.value = JSON.parse(row.sheetJson);
 }
-function getDetails({ pcsjid, id }) {
+function getDetails({ pcsjid, id, auditflowId }) {
   activeName.value = "jbxx";
   infoObj.value = {};
   activities.value = [];
   // nowObj = { pcsjid, id };
-  handleClick({ pcsjid, id });
+  handleClick({ pcsjid, id, auditflowId });
 }
 function moreAct(actitem) {
   if (actitem.auditflowOperateType == "001")
@@ -277,6 +310,41 @@ defineExpose({ getDetails });
     }
   }
 
+  .imgList {
+    .imgDiv {
+      width: 126px;
+      height: 83px;
+      margin-right: 10px;
+      // background-color: rgba(0, 255, 255, 0.413);
+      position: relative;
+      margin: 4px 4px;
+      img {
+        width: 126px;
+        height: 83px;
+      }
+      span {
+        width: 26px;
+        height: 26px;
+        display: inline-block;
+        position: absolute;
+        top: 0;
+        left: 0;
+        background: #dbad70;
+        text-align: center;
+        line-height: 26px;
+      }
+      p {
+        position: absolute;
+        bottom: 0;
+        font-size: 10px;
+        color: #33ccff;
+        text-align: center;
+        width: 100%;
+        height: 30px;
+        line-height: 30px;
+      }
+    }
+  }
   .timelinediv {
     .name {
       color: #95f204;

+ 28 - 64
src/views/remote/farmland/hcxx.vue

@@ -14,8 +14,8 @@
           @mouseleave="handleMouseLeave(item, i)"
         >
           <span>{{ i + 1 }}</span>
-          <img :src="item.imagerPath" />
-          <p>{{ item.imagerSj }}</p>
+          <img :src="item.fjPreview" />
+          <p>{{ item.fjDatetime }}</p>
         </div>
       </div>
     </div>
@@ -32,40 +32,22 @@ import Style from "ol/style/Style";
 import Icon from "ol/style/Icon";
 
 export default {
-  props: {
-    detailObj: {
-      type: Object,
-    },
-    jcbh: {
-      type: String,
-    },
-  },
+  props: {},
   components: {},
   data() {
     return {
       imgUrl: "",
-      monitorList: [
-        {
-          name: "11swm",
-          imagerLzb: "",
-          imagerBzb: "",
-          imagerPath:
-            "/analyse/全域土地整治/jctb/0/HN4602022023022004080074/1b9a9da4a23d426cab363ed369150b4f.jpg",
-        },
-      ],
-      primitive: null,
-      selectId: null,
-      primitivesArray: [],
-      hcObj: null,
+      monitorList: [],
+      // primitive: null,
+      // selectId: null,
+      // primitivesArray: [],
       // jtArr:[],//箭头id数组
       // dwArr:[],//
       idArr: [], //id数组
       handler: {},
     };
   },
-  mounted() {
-    this.init();
-  },
+  mounted() {},
   methods: {
     inputAction() {
       this.handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
@@ -133,31 +115,27 @@ export default {
 
       // // 聚焦视角到箭头位置
       // viewer.zoomTo(arrowEntity);
-
-      var vectorSource = new VectorSource();
-      window.map.mapDiv.addLayer(
-        new VectorLayer({
-          source: vectorSource,
-          style: new Style({
-            image: new Icon({
-              anchor: [0.5, 46], // 调整锚点以正确显示箭头尖端位置
-              anchorXUnits: "fraction",
-              anchorYUnits: "pixels",
-              src: "/static/images/路径@3x-2.png", // 替换为你的箭头图片路径
-              rotation: Math.PI / 4, //360 - Number(obj.imagerAngle),
-            }),
-          }), // 使用自定义样式
-        })
-      );
+      let vectorLayer = new VectorLayer({
+        source: new VectorSource(),
+        // style: new Style({
+        //   image: new Icon({
+        //     anchor: [0.5, 46], // 调整锚点以正确显示箭头尖端位置
+        //     anchorXUnits: "fraction",
+        //     anchorYUnits: "pixels",
+        //     src: "/static/images/路径@3x-2.png", // 替换为你的箭头图片路径
+        //     rotation: Math.PI / 4, //360 - Number(obj.imagerAngle),
+        //   }),
+        // }), // 使用自定义样式
+      });
 
       // 添加一个特征,并设置其旋转角度
       var feature = new Feature({
-        geometry: new Point([0, 0]), // 设置位置
+        geometry: new Point([obj.fjLongitude, obj.fjLatitude]), // 设置位置
       });
       // feature.setStyle(
-      //   new ol.style.Style({
+      //   new Style({
       //     // 可以单独为特征设置样式以覆盖图层样式
-      //     image: new ol.style.Icon({
+      //     image: new Icon({
       //       anchor: [0.5, 46], // 保持锚点设置不变
       //       anchorXUnits: "fraction",
       //       anchorYUnits: "pixels",
@@ -166,7 +144,8 @@ export default {
       //     }),
       //   })
       // );
-      vectorSource.addFeature(feature);
+      vectorLayer.getSource().addFeature(feature);
+      window.map.mapDiv.addLayer(vectorLayer);
     },
     ceshi(id, evtName) {
       let aaa = viewer.entities.getById("jt" + id);
@@ -268,31 +247,16 @@ export default {
         // this.idArr = [];
       }
     },
-    init() {
-      // getJctbhcInfo(newVal).then((res) => {
+    init(imgList) {
       this.idArr = [];
-      // if (res.code == 200) {
-      // this.monitorList = res.data.images;
-      // this.hcObj = res.data;
+      this.monitorList = imgList;
       this.monitorList.forEach((item, i) => {
-        // item.name = res.data.dcry;
-        // window.axiosURI +/file/upload/attachment
-        item.imagerPath =
-          "http://192.168.60.2:8080/file/upload/attachment" + item.imagerPath;
         this.ddd(item);
         this.idArr.push(item.id);
       });
-      // }
-      // });
-    },
-  },
-  watch: {
-    jcbh: {
-      handler(newVal, oldVal) {},
-      // deep: true,
-      // immediate: true,
     },
   },
+  watch: {},
   beforeDestroy() {
     this.delatePoi("jt");
     this.delatePoi("dw");

+ 1 - 0
src/views/remote/farmland/index.vue

@@ -286,6 +286,7 @@ export default {
         this.$refs.detailsRef.getDetails({
           pcsjid: this.$route.query.id,
           id: row.id,
+          auditflowId: row.auditflowId,
         });
       });
     },