From 9788f6d5b4102f50ffeada1d6a29020f20b80daa Mon Sep 17 00:00:00 2001 From: yuzongping <835949940@qq.com> Date: Tue, 17 Jun 2025 15:01:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/property/main-gis/close.png | Bin 0 -> 352 bytes src/views/property/main-gis/index.html | 88 ++++----- src/views/property/main-gis/index.js | 60 ++---- src/views/property/main-gis/index.scss | 161 ++++++++++++++++ src/views/resources/main-gis/index.html | 4 +- src/views/resources/main-gis/index.js | 242 +++++++++++++++++++++++- 6 files changed, 456 insertions(+), 99 deletions(-) create mode 100644 src/views/property/main-gis/close.png diff --git a/src/views/property/main-gis/close.png b/src/views/property/main-gis/close.png new file mode 100644 index 0000000000000000000000000000000000000000..0a8337dd9feb7dc35f84978c9c5dd9ea699d907c GIT binary patch literal 352 zcmV-m0iXVfP)Px$8c9S!R47wjP_aq_Q4pNDcM%eE$rWN@3cviZinp0(1XN6FSJ8Yceux1=6WkGhjUc&H>D1 zzz%^+j&Yl{G`%6PS;XHU?JEqYV0K7gxzIbTr|BJljY8-P*v_PHM_vJ#&vmK8T9TZQ zJn}pNRzu*Jz^qBTj=TpD3%F)kYD}5E0;mG$1Bi
- -
-
-
- - - -
- - -
+ +
-
{{infoDetail.name}}详情
-
+
{{permanentDetail.name}}详情
+
@@ -36,71 +24,77 @@
-

合同编码

-

{{infoDetail.code}}

+

资产编码

+

{{permanentDetail.code}}

-

合同名称

-

{{infoDetail.name}}

+

资产名称

+

{{permanentDetail.name}}

-

甲方

-

{{infoDetail.firstParty}}

+

资产类别

+

{{permanentDetail.assetType}}

-

乙方

-

{{infoDetail.secondParty}}

+

经营属性

+

{{permanentDetail.operationType}}

-

签订日期

-

{{infoDetail.buildingTime}}

+

增加方式

+

{{permanentDetail.addType}}

-

开始日期

-

{{infoDetail.startTime}}

+

购建时间

+

{{permanentDetail.buildTime}}

-

结束日期

-

{{infoDetail.endTime}}

+

使用情况

+

{{permanentDetail.useType}}

-

承包价款(元)

-

{{infoDetail.totalAmount}}

+

资产状态

+

{{permanentDetail.assetStatus}}

-

折合年均(元)

-

{{infoDetail.price}}

+

数量/面积

+

{{permanentDetail.quantity}}

-

已结款(元)

-

{{infoDetail.receivedAmount}}

+

计量单位

+

{{permanentDetail.unit}}

-

合同状态

-

{{infoDetail.contractionStatus}}

+

原值(元)

+

{{permanentDetail.originalValue}}

-

备注

-

{{infoDetail.remark}}

+

折旧方式

+

{{permanentDetail.depreciationType}}

附件

- + - +

- -
-
- + +
+ + +
-
+
\ No newline at end of file diff --git a/src/views/property/main-gis/index.js b/src/views/property/main-gis/index.js index 15fc0a4..db341fc 100644 --- a/src/views/property/main-gis/index.js +++ b/src/views/property/main-gis/index.js @@ -21,6 +21,7 @@ export default { }, data () { return { + showPermanentDetail: false, LegendData: [ { icon: require('./icon/组 4665@2x.png'), @@ -184,6 +185,8 @@ export default { status: null, translate_dict: 1, }, + //固定资产详情数据 + permanentDetail: [], //合同信息请求参数 contractionByPermanentQueryParams: { pageNum: 1, @@ -370,49 +373,6 @@ export default { gis.getVectorLayerByFs(features) gis.mapSetFit(features) }, - openResourceDialog (data) { - data.fileList = []; - let parmasData = { - tableId: data.id, - tableName: 't_asset_resource', - bizPath: 'asset', - }; - attachmentList(parmasData).then((res) => { - if (res.code == 200) { - let UattachmentList = res.rows; - for (let i = 0; i < UattachmentList.length; i++) { - let fileName = UattachmentList[i].fileName; - let subIndex = fileName.lastIndexOf("."); - let ext = fileName.substring(subIndex + 1, fileName.length); - let urls = ""; - let type = ""; - if (ext == "xlsx" || ext == "xls") { - urls = require("@/assets/images/icon_excel.jpg"); - type = 'excel'; - } else if (ext == "doc" || ext == "docx") { - urls = require("@/assets/images/icon_word.jpg"); - type = 'word'; - } else if (ext == "pdf") { - urls = require("@/assets/images/icon_pdf.jpg"); - type = 'pdf'; - } else if (ext == "zip") { - urls = require("@/assets/images/icon_zip.jpg"); - type = 'zip'; - } else { - urls = '/api' + UattachmentList[i].fileUrl; - type = 'image'; - } - data.fileList.push({ - url: urls, - urlApi: '/api' + UattachmentList[i].fileUrl, - type: type - }) - } - this.showResourceDetail = true; - this.resourceDetail = data; - } - }); - }, listDialogHidden (type) { if (type == 'detail') { //合同信息详情弹窗 @@ -535,13 +495,17 @@ export default { (feature) => feature ); if (feature) { - var ifConsole = feature.values_.level; - if (ifConsole == "permanent") { - that.listDialogHidden('detail'); - that.openPermanentDialog(feature.values_.detail); + // 镇级:加载村级坐标点 + if (feature.get('deptLevel') === '3') { + gis.getMapContainer().getView().animate({ + center: fromLonLat([feature.get('lng'), feature.get('lat')]), // 中心点 + zoom: 12, // 缩放级别 + rotation: undefined, // 缩放完成view视图旋转弧度 + duration: 1000, // 缩放持续时间,默认不需要设置 + }); } else { that.listDialogHidden('detail'); - that.openResourceDialog(feature.values_.detail); + that.openPermanentDialog(feature.values_.detail); } } }); diff --git a/src/views/property/main-gis/index.scss b/src/views/property/main-gis/index.scss index 7b84e3d..726a08f 100644 --- a/src/views/property/main-gis/index.scss +++ b/src/views/property/main-gis/index.scss @@ -31,6 +31,167 @@ } } + .gl_pop_cash { + background: rgba(10, 25, 47, 0.8); + position: absolute; + border: 1px solid #063a95; + border-left: 0.15vw solid #357dfa; + padding: 0 1vw; + z-index: 11; + + .head_main { + height: 4.62vh; + padding-top: 0.55vh; + display: flex; + align-items: center; + position: relative; + justify-content: space-between; + + .title { + color: #ffad00; + font-size: 1.66vh; + } + + .close { + background: url('./close.png') no-repeat; + background-size: 100% 100%; + width: 1.48vh; + height: 1.48vh; + cursor: pointer; + } + + .xs_main { + height: 0.55vh; + position: absolute; + width: 100%; + bottom: -0.55vh; + display: flex; + align-items: center; + + .block { + width: 2.34vw; + display: flex; + + .point { + width: .55vh; + height: .55vh; + margin-right: 0.36vw; + + &.p1 { + background: rgba(53, 125, 250, 1) + } + + &.p2 { + background: rgba(53, 125, 250, .7) + } + + &.p3 { + background: rgba(53, 125, 250, .4) + } + } + + } + + .xs_x { + height: 1px; + flex: 1; + background: #214284; + } + } + } + + .echarts_main { + .headers { + height: 3.33vh; + font-size: 1.48vh; + color: #0befca; + text-align: center; + display: flex; + justify-content: center; + align-items: center; + margin-right: 0.53vw; + background: rgba(11, 239, 202, .2); + margin-bottom: 0.9vh + } + + .desc_main { + overflow-y: scroll; + padding-right: 0.33vw; + + .analysisTable_list { + margin: 0; + padding: 0; + flex: 1; + display: flex; + flex-direction: column; + + .flex_item { + cursor: pointer; + list-style: none; + margin: 0; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + color: #fff; + font-size: 1.29vh; + position: relative; + height: 3.2vh; + + &:nth-child(2n) { + background: rgba(53, 125, 250, .1); + } + } + } + } + } + + } + + .pop_statistical_desc { + width: 20.2vw; + margin: 0; + right: 23vw; + top: 35vh; + padding-bottom: 1.04vw !important; + + .head_main { + .title { + color: #fff; + } + } + + .echarts_main { + margin-top: 1.66vh; + + div { + display: flex; + align-items: center; + + &:nth-child(even) { + background: rgba(32, 89, 188, 0.2); + } + + p { + &:nth-child(1) { + width: 8vw; + padding-left: 1vw; + flex-shrink: 0; + } + + &:nth-child(2) { + color: #ffad00; + } + + margin: 0; + color: #ffffff; + font-size:1.33vh; + line-height: 3.92vh; + } + } + } + } + .mask { z-index: 1; width: 100%; diff --git a/src/views/resources/main-gis/index.html b/src/views/resources/main-gis/index.html index 0715602..b53f70b 100644 --- a/src/views/resources/main-gis/index.html +++ b/src/views/resources/main-gis/index.html @@ -85,7 +85,7 @@
- +
diff --git a/src/views/resources/main-gis/index.js b/src/views/resources/main-gis/index.js index 0ab3142..1a50e4e 100644 --- a/src/views/resources/main-gis/index.js +++ b/src/views/resources/main-gis/index.js @@ -3,11 +3,12 @@ import GisUtils from '@/utils/gis.js'; import { fromLonLat } from 'ol/proj' -import { getUserGeo, getUserGeoList } from "@/api/dataScreen/stockCooperative/index.js"; +import { getPermanentListByDeptId, listPermanent } from "@/api/asset/permanent.js"; import { getInfo } from "@/api/login"; import { getResourceListByDeptId, listResource } from "@/api/asset/resource.js"; import Legend from '@/components/legend/index.vue'; import { attachmentList } from "@/api/common/uploadAttachment.js"; +import { treeselect, getDept, listDeptExcludeChild } from "@/api/system/dept"; let gis = null; export default { components: { @@ -15,8 +16,174 @@ export default { }, data () { return { + //三务公开请求参数 + queryParams: { + pageNum: 1, + pageSize: 10, + title: null, + openType: '1', + detailedCategoriesType: null, + villageType: null, + openItems: null, + meetingOpenType: null, + deptId: null, + isWechat: null, + status: null, + translate_dict: 1, + }, + + //零工公开请求参数 + tempWorkerOpenQueryParams: { + // 分页 + pageNum: 1, + pageSize: 10, + // 查询排序 + //orderByColumn: "id", + //isAsc: "desc", + bookId: null, + deptId: null, + deptName: null, + openNy: null, + openYear: null, + openName: null, + openFile: null, + openPic: null, + remark: null, + translate_dict: 1, + }, + + //重大事项公开请求参数 + majorEventOpenQueryParams: { + // 分页 + pageNum: 1, + pageSize: 10, + // 查询排序 + //orderByColumn: "id", + //isAsc: "desc", + bookId: null, + deptId: null, + deptName: null, + openNy: null, + openYear: null, + openDate: null, + openName: null, + openFile: null, + openPic: null, + content: null, + remark: null, + translate_dict: 1, + }, + + //补贴资金管理请求参数 + subsidyFundsQueryParams: { + // 分页 + pageNum: 1, + pageSize: 10, + // 查询排序 + orderByColumn: "id", + isAsc: "desc", + year: null, + areaName: null, + name: null, + idCard: null, + itemName: null, + releaseDate: null, + translate_dict: 1, + }, + + //固定资产请求参数 + permanentQueryParams: { + pageNum: 1, + pageSize: 10, + code: null, + name: null, + assetType: null, + operationType: null, + addType: null, + useType: null, + assetStatus: '1', + translate_dict: 1, + }, + + //资源资产请求参数 + resourceListQueryParams: { + pageNum: 1, + pageSize: 10, + bookId: null, + deptId: null, + code: null, + name: null, + resourceType: null, + /*farmingResourceType: null, + buildResourceType: null, + unusedResourceType: null,*/ + resourceSort: null, + totalArea: null, + location: null, + east: null, + west: null, + south: null, + north: null, + sumArea: null, + groupArea: null, + groupValue: null, + rentArea: null, + rentValue: null, + rentLessee: null, + rentStartTime: null, + rentEndTime: null, + otherArea: null, + otherValue: null, + farmerArea: null, + circulationArea: null, + circulationValue: null, + investmentArea: null, + investmentValue: null, + investmentLessee: null, + investmentStartTime: null, + investmentEndTime: null, + status: null, + translate_dict: 1, + }, + //合同信息请求参数 + contractionByPermanentQueryParams: { + pageNum: 1, + pageSize: 10, + bookId: null, + deptId: null, + code: null, + name: null, + assetType: null, + firstParty: null, + secondParty: null, + collectionPay: null, + contractionSource: null, + totalAmount: null, + receivedAmount: null, + settledAmount: null, + buildingTime: null, + startTime: null, + endTime: null, + num: null, + unit: null, + price: null, + contractionStatus: null, + translate_dict: 1, + }, + addrText: [100,], + deptTreeProps: { + checkStrictly: true, + }, + addrOptions: [], //资产信息详情弹窗 showResourceDetail: false, + mapGeoServerUrl: "", // geoserver地址 + mapBorder: "", // 地图边界 + deptLayer: "", // 坐标点图层 + countyBorderLayerName: "", // 区县边界图层名称 + townBorderLayerName: "", // 乡镇边界图层名称 + villageBorderLayerName: "", // 村边界图层名称 + groupBorderLayerName: "", // 组边界图层名称 LegendData: [ { iconStyle: { @@ -58,6 +225,7 @@ export default { created () { }, mounted () { + treeselect().then((resp) => this.addrOptions = resp.data); getInfo().then(res => { this.initMap(res.user.loginDeptId); // 加载地图 @@ -65,6 +233,69 @@ export default { }, methods: { + selectAddress (value) { + const deptId = value[value.length - 1]; + this.queryParams.deptId = deptId; + this.tempWorkerOpenQueryParams.deptId = deptId; + this.majorEventOpenQueryParams.deptId = deptId; + this.subsidyFundsQueryParams.deptId = deptId; + this.permanentQueryParams.deptId = deptId; + this.resourceListQueryParams.deptId = deptId; + this.contractionByPermanentQueryParams.deptId = deptId; + this.infoTotal = undefined; + this.resourceTotal = undefined; + this.permanentTotal = undefined; + this.subsidyFundsTotal = undefined; + this.majorEventOpenTotal = undefined; + this.tempWorkerOpenTotal = undefined; + this.affairsTotal = undefined; + this.affairsList = []; + this.tempWorkerOpenList = []; + this.majorEventOpenList = []; + this.subsidyFundsList = []; + this.permanentList = []; + this.resourceList = []; + this.infoList = []; + this.getAllList(); + + gis.getMapContainer().removeLayer(this.villageBorder); + this.villageBorder = ''; + // 添加村边界 + this.addVillageBorder(deptId); + gis.getMapContainer().removeLayer(this.permanentLayer); + this.permanentLayer = ''; + // 获取资产列表 + this.getPermanentList(deptId); + gis.getMapContainer().removeLayer(this.resourceLayer); + this.resourceLayer = ''; + // 获取资源列表 + this.getResourceList(deptId); + let node = this.$refs["cascader"].panel.getNodeByValue(value); + const dept = node.data; + const deptData = { + deptId: dept.id, + deptName: dept.label, + lat: dept.lat, + lng: dept.lng, + deptLevel: dept.deptLevel, + orgCode: dept.orgCode + }; + let deptList = []; + deptList.push(deptData); + gis.getMapContainer().removeLayer(this.deptLayer); + this.deptLayer = ''; + // 添加坐标点图层 + this.addDeptLayer(deptList, 'yellow.png'); + gis.getMapContainer().getView().animate({ + // 只设置需要的属性即可 + center: fromLonLat([dept.lng, dept.lat]), // 中心点 + duration: 500, // 缩放持续时间,默认不需要设置 + }); + }, + // 添加村边界 + addVillageBorder (deptIds) { + gis.addImageLayer(this.mapGeoServerUrl, this.villageBorderLayerName, deptIds) + }, // 加载地图 initMap (deptId) { gis = new GisUtils('map2') @@ -144,7 +375,6 @@ export default { rotation: undefined, // 缩放完成view视图旋转弧度 duration: 1000, // 缩放持续时间,默认不需要设置 }); - } else { this.listDialogHidden('detail'); this.openResourceDialog(feature.values_.detail); @@ -284,6 +514,14 @@ export default { gis.getVectorLayerByFs(features) gis.mapSetFit(features) }, + // 获取资产列表 + getPermanentList (deptId) { + getPermanentListByDeptId(deptId).then(response => { + if (response.data && response.data.length > 0) { + this.addPermanentLayer(response.data); + } + }); + }, getAllList () { //三务公开 // this.getList(null);