diff --git a/src/assets/scss/modules/visual/duoyuanfenxi.scss b/src/assets/scss/modules/visual/duoyuanfenxi.scss index 222a39cd4..12032815a 100644 --- a/src/assets/scss/modules/visual/duoyuanfenxi.scss +++ b/src/assets/scss/modules/visual/duoyuanfenxi.scss @@ -76,7 +76,7 @@ position: relative; height: 100%; .tb { - height: calc(100% - 50px); + height: calc(100% - 40px); overflow-y: auto; @include scrollBar; /deep/ .table-status { diff --git a/src/assets/scss/modules/visual/search_1.scss b/src/assets/scss/modules/visual/search_1.scss index b082a4621..55aaef76f 100644 --- a/src/assets/scss/modules/visual/search_1.scss +++ b/src/assets/scss/modules/visual/search_1.scss @@ -81,6 +81,30 @@ } } } + .range-data2 { + ::v-deep .el-date-editor { + width: 360px; + position: relative; + + .el-range-input { + color: #fff; + background: #06186d; + margin-left: 10px; + } + .el-range-separator { + color: #fff; + } + .el-range__icon { + position: absolute; + right: 5px; + // float: right; + } + .el-input__prefix { + left: unset; + right: 5px; + } + } + } .one-date{ ::v-deep .el-date-editor { diff --git a/src/router/index.js b/src/router/index.js index 81ca73ed9..ad6160919 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -377,7 +377,7 @@ router.beforeEach((to, from, next) => { ], }, ]; - fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); + // fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); http .get("/gov/access/menu/nav?tableName=data_menu") @@ -391,8 +391,8 @@ router.beforeEach((to, from, next) => { }); } - // window.SITE_CONFIG["menuShujuList"] = res.data; - // fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); + window.SITE_CONFIG["menuShujuList"] = res.data; + fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); next({ ...to, diff --git a/src/views/modules/base/community/communityTable.vue b/src/views/modules/base/community/communityTable.vue index bbdb0db2c..5f4a3c763 100644 --- a/src/views/modules/base/community/communityTable.vue +++ b/src/views/modules/base/community/communityTable.vue @@ -2,6 +2,12 @@
+ 补全一户一码信息 导出 + @click="handleExportOpen">导出 批量删除 - 导出一户一档 + @click="handleExportYihuyidang()">导出一户一档 -->
@@ -183,6 +189,31 @@ @dialogOk="addFormOk"> + +
+ 导出房屋数据 + 导出一户一档 + 导出一户一码 +
+ + 取 消 + + +
+
@@ -208,6 +239,9 @@ export default { tableLoading: true, showImportBtn: false,//是否显示操作按钮,根据登录人所属组织判断 + roleList: [],//角色列表 + showYhymInfo: false, // 是否显示补全一户一码信息按钮 + yhymLoading: false, agencyObj: {},//树所选的组织对象 @@ -225,7 +259,9 @@ export default { fileName: "", uploadUlr: window.SITE_CONFIG['apiURL'] + '/gov/org/neighborhood/import', yihuyidangDisabled: false, - + yihuyimaDisabled: false, + exportBtn: false, + dialogVisible: false // 导出 } }, components: { @@ -246,7 +282,13 @@ export default { async loadTable (fromTree, treeObj) { console.log(111, this.staffAgencyId) - + // 是否显示补全一户一码信息按钮 + this.roleList = localStorage.getItem('roleList') + if (this.roleList.indexOf('root_manager') > -1 || this.roleList.indexOf('manager') > -1) { + this.showYhymInfo = true + } else { + this.showYhymInfo = false + } this.tableLoading = true if (fromTree) { this.agencyObj = treeObj @@ -330,6 +372,34 @@ export default { }) }, + // 补全一户一码点击事件 + async handleYhymInfo () { + this.yhymLoading = true + const url = "/gov/org/house/createBatchHouseCodeAndUrl" + + let params = {} + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + this.yhymLoading = false + this.$message({ + type: "success", + message: "批量生成成功" + }); + } else if (code > 8000) { + this.yhymLoading = false + this.$message({ + showClose: true, + message: msg, + duration: 0 + }) + } else { + this.yhymLoading = false + this.$message.error(msg) + } + }, + handleEdit (row) { this.formTitle = '修改小区' this.formShow = true @@ -486,7 +556,11 @@ export default { // this.download(res.data, '1.png') }) }, - //导出表格 + // 导出按钮点击事件 + handleExportOpen () { + this.dialogVisible = true + }, + //导出表格 以前是导出 现在改成导出房屋数据 async handleExport () { let title = this.agencyObj.label title = title + '—小区列表' @@ -512,6 +586,10 @@ export default { }, + handleClose(done) { + this.dialogVisible = false + }, + // 下载文件 download (data, downFileName) { if (!data) { @@ -613,6 +691,41 @@ export default { }, + // 导出一户一码 + + handleExportYihuyima () { + this.exportBtn = true + this.yihuyimaDisabled = true + let title = this.agencyObj.label + title = title + '-一户一码' + let url = "/gov/org/house/downloadZip" + + + let params = { + level: this.agencyObj.level, + id: this.agencyObj.id + } + + + + app.ajax.exportFilePost( + url, + params, + (data, rspMsg) => { + + this.download(data, title + '.Zip') + this.exportBtn = false + this.yihuyimaDisabled = false + }, + (rspMsg, data) => { + this.exportBtn = false + this.yihuyimaDisabled = false + this.$message.error(rspMsg); + } + ); + }, + + // 上传文件之前的钩子 beforeUpload (file, type) { diff --git a/src/views/modules/base/community/roomForm.vue b/src/views/modules/base/community/roomForm.vue index e425cd561..bc9194c8e 100644 --- a/src/views/modules/base/community/roomForm.vue +++ b/src/views/modules/base/community/roomForm.vue @@ -40,6 +40,25 @@ +
+ + + + +
+ + 下载 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/modules/cabaseinfo/caloudong.vue b/src/views/modules/cabaseinfo/caloudong.vue new file mode 100644 index 000000000..5a07d25f6 --- /dev/null +++ b/src/views/modules/cabaseinfo/caloudong.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/views/modules/cabaseinfo/capingfang-add-or-update.vue b/src/views/modules/cabaseinfo/capingfang-add-or-update.vue new file mode 100644 index 000000000..754226597 --- /dev/null +++ b/src/views/modules/cabaseinfo/capingfang-add-or-update.vue @@ -0,0 +1,251 @@ + + + diff --git a/src/views/modules/cabaseinfo/capingfang.vue b/src/views/modules/cabaseinfo/capingfang.vue new file mode 100644 index 000000000..694043076 --- /dev/null +++ b/src/views/modules/cabaseinfo/capingfang.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/views/modules/cabaseinfo/carental-add-or-update.vue b/src/views/modules/cabaseinfo/carental-add-or-update.vue new file mode 100644 index 000000000..793cbb8f4 --- /dev/null +++ b/src/views/modules/cabaseinfo/carental-add-or-update.vue @@ -0,0 +1,204 @@ + + + diff --git a/src/views/modules/cabaseinfo/carental.vue b/src/views/modules/cabaseinfo/carental.vue new file mode 100644 index 000000000..0980e8039 --- /dev/null +++ b/src/views/modules/cabaseinfo/carental.vue @@ -0,0 +1,156 @@ + + + diff --git a/src/views/modules/cabaseinfo/caresident-add-or-update.vue b/src/views/modules/cabaseinfo/caresident-add-or-update.vue new file mode 100644 index 000000000..4383f1d75 --- /dev/null +++ b/src/views/modules/cabaseinfo/caresident-add-or-update.vue @@ -0,0 +1,216 @@ + + + diff --git a/src/views/modules/cabaseinfo/caresident.vue b/src/views/modules/cabaseinfo/caresident.vue new file mode 100644 index 000000000..0cba7cd8b --- /dev/null +++ b/src/views/modules/cabaseinfo/caresident.vue @@ -0,0 +1,147 @@ + + + diff --git a/src/views/modules/cabaseinfo/carotators-add-or-update.vue b/src/views/modules/cabaseinfo/carotators-add-or-update.vue new file mode 100644 index 000000000..eaf0bed8c --- /dev/null +++ b/src/views/modules/cabaseinfo/carotators-add-or-update.vue @@ -0,0 +1,309 @@ + + + diff --git a/src/views/modules/cabaseinfo/carotators.vue b/src/views/modules/cabaseinfo/carotators.vue new file mode 100644 index 000000000..c171dad8d --- /dev/null +++ b/src/views/modules/cabaseinfo/carotators.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/views/modules/shequzhili/event/cpts/add.vue b/src/views/modules/shequzhili/event/cpts/add.vue index 3bc967854..b53caf480 100644 --- a/src/views/modules/shequzhili/event/cpts/add.vue +++ b/src/views/modules/shequzhili/event/cpts/add.vue @@ -312,6 +312,7 @@ export default { //地图相关 keyWords: '', + isFirst: true,//地图是否首次加载,首次加载不给地址赋值 //图片相关 oss/file/uploadvariedfile dialogImageUrl: 'oss/file/uploadvariedfile', @@ -620,7 +621,7 @@ export default { this.handleMoveCenter() }) this.handleMoveCenter() - this.convert() + // this.convert() }, setMarker (lat, lng) { @@ -699,8 +700,14 @@ export default { geocoder .getAddress({ location: location }) // 将给定的坐标位置转换为地址 .then((result) => { - this.formData.address = result.result.address - // 显示搜索到的地址 + + if (!this.isFirst) {//再次查询时再赋值 + this.formData.address = result.result.address + } + + if (this.isFirst) { + this.isFirst = false + } }); }, diff --git a/src/views/modules/shequzhili/xiangmu/cpts/project-info.vue b/src/views/modules/shequzhili/xiangmu/cpts/project-info.vue index dba5be053..4860e5939 100644 --- a/src/views/modules/shequzhili/xiangmu/cpts/project-info.vue +++ b/src/views/modules/shequzhili/xiangmu/cpts/project-info.vue @@ -866,7 +866,6 @@ export default { this.pageType = "info"; }, - //加载组织数据 async submitBack() { const url = "/gov/project/trace/return-v2"; const { fmData } = this; @@ -897,7 +896,6 @@ export default { } }, - //加载组织数据 async submitClose() { const url = "/gov/project/trace/closeproject-v2"; const { fmData } = this; @@ -917,6 +915,8 @@ export default { projectStaffId: fmData.projectStaffId, publicReply: fmData.publicReply, internalFile: fmData.internalFile, + assistanceUnitId: fmData.assistanceUnitId, + assistanceUnitType: fmData.assistanceUnitType, }); loading.close(); @@ -928,7 +928,6 @@ export default { } }, - //加载组织数据 async submitTurn() { const url = "/gov/project/trace/transfer-v2"; const { fmData } = this; @@ -949,6 +948,8 @@ export default { publicReply: fmData.publicReply, internalFile: fmData.internalFile, staffList: fmData.staffList, + assistanceUnitId: fmData.assistanceUnitId, + assistanceUnitType: fmData.assistanceUnitType, }); loading.close(); @@ -960,7 +961,6 @@ export default { } }, - //加载组织数据 async submitDispose() { const url = "/gov/project/trace/response-v2"; const { fmData } = this; diff --git a/src/views/modules/visual/basicinfo/personCategory/index.vue b/src/views/modules/visual/basicinfo/personCategory/index.vue index fb48e03e0..a3c01d523 100644 --- a/src/views/modules/visual/basicinfo/personCategory/index.vue +++ b/src/views/modules/visual/basicinfo/personCategory/index.vue @@ -22,29 +22,31 @@ 人员类别分析 -
- - -
-
- - - +
@@ -255,7 +257,7 @@ export default { async handleChangeAgency (value) { let arr = this.$refs["myCascader"].getCheckedNodes(); - if(!Array.isArray(arr) || arr.length==0) return; + if (!Array.isArray(arr) || arr.length == 0) return; let selAgency = arr[0].data // this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label this.agencyName = selAgency.name @@ -268,7 +270,7 @@ export default { //下钻到下一级 type点击的类型:polygon 点击多边形(分为点击组织/小区) people 点击详情 async toSubAgency (userId) { - + return this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${userId}` }); // this.selUserId = userId // this.orgLevel = 'people' @@ -308,3 +310,10 @@ export default { scoped > + + + diff --git a/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue b/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue index 6ed17014a..35de4c922 100644 --- a/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue +++ b/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue @@ -36,11 +36,11 @@
+ :page-size="demand.pageSize" + :total="demand.total" + background + layout="prev, pager, next,total" + @current-change="handlePageNoChange_demand">
@@ -82,8 +82,8 @@ + :orgId="orgId" + @close="showInfoDialog = false" /> @@ -103,8 +103,8 @@ import { pieOption } from './pieOption.js' import nextTick from 'dai-js/tools/nextTick' const transparent = 'rgba(2, 2, 2, 0)' -const polygonColorArray = [ '#f59701', '#0067b6', '#e70014', '#8fc41e', '#00a1be' ] -const colorArray = [ '#1B51FF', '#00E5ED', '#7800FF', '#16D783', '#FF7800', '#FFBA00', '#FFD685', '#2A00FF', '#C600FF', '#FF2A00'] +const polygonColorArray = ['#f59701', '#0067b6', '#e70014', '#8fc41e', '#00a1be'] +const colorArray = ['#1B51FF', '#00E5ED', '#7800FF', '#16D783', '#FF7800', '#FFBA00', '#FFD685', '#2A00FF', '#C600FF', '#FF2A00'] const legendList = [ { name: '#e70014', icon: require('../../../../../assets/img/shuju/volunteer4.png') }, { name: '#f59701', icon: require('../../../../../assets/img/shuju/volunteer5.png') }, @@ -149,7 +149,7 @@ export default { ], header: ['序号', '组织列表', '操作'], list: [], - pageSize: 10, + pageSize: 5, pageNo: 1, total: 0, categoryCode: '' @@ -216,7 +216,7 @@ export default { name: item.categoryName, code: item.categoryCode, color: item.color, // colorArray[index] - selected: index == 0 ? true : false + selected: false } this.pieData.push(ob) }) @@ -302,14 +302,21 @@ export default { this.clickPie() // this.clickPie(maxIndex) let fun = function (params) { - _that.clickPie(params.dataIndex) + _that.clickPie(params) } this.$refs.pieChart.handleClick(fun) }, - clickPie (seriesIndex) { + clickPie (params) { + let dataIndex = params ? params.dataIndex : null + let componentIndex = params ? params.componentIndex : null + if (componentIndex === 2) { // 点击中心 + dataIndex = -1 + this.categoryCode = '' + this.$refs.pieChart.clear() + } this.pieData.forEach((element, index) => { - if (index === seriesIndex) { + if (index === dataIndex) { element.label = { show: true, } @@ -320,9 +327,6 @@ export default { } } this.categoryCode = element.code - this.demand.pageNo = 1 - this.getTable() - this.getMapData() } else { element.label = { show: false, @@ -339,6 +343,9 @@ export default { this.pieOption.series[1].data = this.pieData // this.$refs.pieChart.hideLoading() this.$refs.pieChart.setOption(this.pieOption) + this.demand.pageNo = 1 + this.getTable() + this.getMapData() }, toUserInfo (uid) { @@ -349,7 +356,7 @@ export default { return item.name == name }) }, - async loadOrgData (level='', orgId='') { + async loadOrgData (level = '', orgId = '') { const url = "/gov/org/agency/maporg" let params = { orgId: orgId, @@ -363,7 +370,7 @@ export default { if (!this.isRepeatItem(item.name)) { let colorIndex = index < polygonColorArray.length ? index : 0 item.fillColor = transparent, - item.color = polygonColorArray[colorIndex] + item.color = polygonColorArray[colorIndex] subPolygonList.push(item) } } @@ -375,7 +382,7 @@ export default { // color: polygonColorArray[1] // } // polygonList.push(polygonData) - this.polygonList = [ ...this.polygonList, ...subPolygonList ] + this.polygonList = [...this.polygonList, ...subPolygonList] } else { this.$message.error(msg) } @@ -447,11 +454,11 @@ export default { //加载地图数据 loadMap () { if (this.isfirstInit) { - this.agencyInfo.level = 'agency' + // this.agencyInfo.level = 'agency' //mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray this.$refs.map.loadMap(this.agencyInfo, this.polygonList, null, this.distributionsList, this.iconUrlArray, null) } else { - this.$refs.map.refreshMap(this.polygonList, this.distributionsList) + this.$refs.map.refreshMap(this.agencyInfo, this.polygonList, this.distributionsList, false) } }, @@ -478,7 +485,7 @@ export default { data.organizationPersonnel.forEach(item => { organizationPersonnel = `${organizationPersonnel}${item.personName}(${item.personPhone})、` }) - organizationPersonnel = organizationPersonnel.substring(0, organizationPersonnel.length-1) + organizationPersonnel = organizationPersonnel.substring(0, organizationPersonnel.length - 1) } else { organizationPersonnel = '--' } @@ -540,18 +547,18 @@ export default { // data.isBdhjShow = data.isBdhj ? data.isBdhj === '0' ? '否' : '是' : '--' // data.genderShow = data.gender ? data.gender === '0' ? '女' : '男' : '--' - // let categoriesArray = [] + // let categoriesArray = [] - // for (let key in data.volunteerCategories) { - // categoriesArray.push(data.volunteerCategories[key]) + // for (let key in data.volunteerCategories) { + // categoriesArray.push(data.volunteerCategories[key]) - // } + // } - // if (categoriesArray.length > 0) { - // data.categories = categoriesArray.join(',') - // } else { - // data.categories = '--' - // } + // if (categoriesArray.length > 0) { + // data.categories = categoriesArray.join(',') + // } else { + // data.categories = '--' + // } // let showData = ` //
居民信息
@@ -613,6 +620,9 @@ export default { if (!this.agencyInfo.level) { this.agencyInfo.level = 'street' } + if (!this.agencyInfo.agencyLevel) { + this.agencyInfo.agencyLevel = 'street' + } } else { this.$message.error(msg); } @@ -705,7 +715,7 @@ export default { color: #fff; } .card-left-title::after { - content: ''; + content: ""; position: absolute; top: 50%; left: 20px; @@ -713,7 +723,7 @@ export default { height: 12px; box-sizing: border-box; margin-top: -6px; - background: #2865FA; + background: #2865fa; border-radius: 50%; } .card-wr-map { @@ -735,11 +745,11 @@ export default { .map-tips { width: 100%; display: flex; - // justify-content: center; + justify-content: center; align-items: center; flex-wrap: wrap; box-sizing: border-box; - padding: 6px 0 0 100px; + // padding: 6px 0 0 100px; // padding-top: 10px; // padding-bottom: 10px; diff --git a/src/views/modules/visual/communityGovern/duoyuanfuwu/pieOption.js b/src/views/modules/visual/communityGovern/duoyuanfuwu/pieOption.js index 15d6e9666..ae6ffd8ce 100644 --- a/src/views/modules/visual/communityGovern/duoyuanfuwu/pieOption.js +++ b/src/views/modules/visual/communityGovern/duoyuanfuwu/pieOption.js @@ -74,7 +74,7 @@ export function pieOption (_charts) { avoidLabelOverlap: false, // top: top + '%', // height: '80%', - // selectedMode: 'single', + selectedMode: 'single', left: 'center', width: 480, label: { diff --git a/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue b/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue index b92b9e1cb..301a60a96 100644 --- a/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue +++ b/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue @@ -635,8 +635,7 @@ export default { } }; - element.selected = !element.selected - isSelected = element.selected + // element.selected = !element.selected } else { diff --git a/src/views/modules/visual/communityGovern/shijianfenlei/pieOption.js b/src/views/modules/visual/communityGovern/shijianfenlei/pieOption.js index aef4afaed..942be5dc4 100644 --- a/src/views/modules/visual/communityGovern/shijianfenlei/pieOption.js +++ b/src/views/modules/visual/communityGovern/shijianfenlei/pieOption.js @@ -1,10 +1,10 @@ export function pieOption (_charts) { - const center= ['50%', '120px'] + const center= ['50%', '140px'] return { title: { text: '0', - top: 95, + top: 115, left: 'center', textStyle: { width: '100%', @@ -94,7 +94,7 @@ export function pieOption (_charts) { padding: [0, 6, 0, 6] }, a: { - fontSize: 25, + fontSize: 18, color: '#fff', padding: [0, 6, 6, 6] }, @@ -110,7 +110,7 @@ export function pieOption (_charts) { labelLine: { show: false, smooth: 0.2, - length: 40, + length: 20, length2: 0, maxSurfaceAngle: 80 }, diff --git a/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue b/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue index 2516ca073..f3af070c8 100644 --- a/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue +++ b/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue @@ -508,16 +508,22 @@ export default { this.clickPie() // this.clickPie(maxIndex) let fun = function (params) { - _that.clickPie(params.dataIndex) + _that.clickPie(params) } this.$refs.pieChart.handleClick(fun) }, - clickPie (seriesIndex) { - let isSelected = false + clickPie (params) { + let dataIndex = params ? params.dataIndex : null + let componentIndex = params ? params.componentIndex : null + if (componentIndex === 2) { // 点击中心 + dataIndex = -1 + this.categoryCode = '' + this.$refs.pieChart.clear() + } this.pieData.forEach((element, index) => { - if (index === seriesIndex) { + if (index === dataIndex) { element.label = { show: true, } @@ -529,12 +535,6 @@ export default { } this.categoryCode = element.categoryCode element.selected = !element.selected - isSelected = element.selected - // if (isSelected) { - // this.categoryCode = element.categoryCode - // } else { - // this.categoryCode = '' - // } } else { element.label = { show: false, @@ -600,15 +600,23 @@ export default { this.clickGridPie() // this.clickGridPie(maxIndex) let fun = function (params) { - _that.clickGridPie(params.dataIndex) + _that.clickGridPie(params) } this.$refs.gridPieChart.handleClick(fun) }, - clickGridPie (seriesIndex) { + clickGridPie (params) { + let dataIndex = params ? params.dataIndex : null + let componentIndex = params ? params.componentIndex : null + if (componentIndex === 2) { // 点击中心 + dataIndex = -1 + this.tableOrgId = '' + this.tableOrgType = '' + this.$refs.gridPieChart.clear() + } this.gridPieData.forEach((element, index) => { - if (index === seriesIndex) { + if (index === dataIndex) { element.label = { show: true, } diff --git a/src/views/modules/visual/components/screen-map/index.vue b/src/views/modules/visual/components/screen-map/index.vue index 54d0204de..c5bc2561b 100644 --- a/src/views/modules/visual/components/screen-map/index.vue +++ b/src/views/modules/visual/components/screen-map/index.vue @@ -200,7 +200,9 @@ const vueGis = { distanceMax: null,//显示的坐标距离中心点的范围 input_lat: null, - input_lon: null + input_lon: null, + + isChangeCenter: true,//是否根据多边形改变数组 } }, async mounted () { @@ -228,7 +230,6 @@ const vueGis = { //初始化地图 this.initMap() - if (this.showPolIconLayer) { console.log('showPolIconLayer++++++++++++++++++++++', this.showPolIconLayer) //初始化多边形标注图层 @@ -259,15 +260,22 @@ const vueGis = { }, - //刷新地图 - async refreshMap (mapInfo, polygonArray, iconArrays) { + //刷新地图:地图信息,多边形数组,标注数组,是否根据多边形改变中心点 + async refreshMap (mapInfo, polygonArray, iconArrays, isChangeCenter) { this.mapInfo = mapInfo this.polygonArray = [] this.polygonArray = polygonArray this.iconArrays = iconArrays - iconSource.clear() - polygonSource.clear() - polIconSource.clear() + this.isChangeCenter = isChangeCenter + if (iconSource) { + iconSource.clear() + } + if (polygonSource) { + polygonSource.clear() + } + if (polIconSource) { + polIconSource.clear() + } this.initPolIconLayer() if (this.showPolygonLayer) { @@ -287,7 +295,6 @@ const vueGis = { } this.setMapLocation() // gaodeMapLayer.getSource().changed() - }, //加载区域多边形 @@ -545,10 +552,56 @@ const vueGis = { } else { mapView.setCenter(this.centerPoint); + } + if (!this.isChangeCenter) { + return false } - mapView.setZoom(this.zoom); + // debugger + if (!this.zoom) { + this.setZoom(this.mapInfo.agencyLevel) + } + this.centerPoint = [] + //如果存在中心点(返回时赋值) + if (this.center && this.center.length > 0) { + this.centerPoint = this.center + this.centerFlag = 'point' + this.center = [] + + } else if (polygonLayer.getSource().getFeatures()[0]) {//如果是初次进入,存在下级组织 + this.centerFlag = 'flag_polygon' + this.centerPoint.push(this.mapInfo.longitude) + this.centerPoint.push(this.mapInfo.latitude) + + } else if (this.mapInfo.longitude && this.mapInfo.latitude) { + this.centerPoint.push(this.mapInfo.longitude) + this.centerPoint.push(this.mapInfo.latitude) + this.centerFlag = 'point' + + } else { + this.centerPoint = centerPointGlobal + this.centerFlag = 'point' + } + + // debugger + if (this.centerFlag === 'flag_parent') { + let parentFeatures = parentLayer.getSource().getFeatures()[0] + let polygon = parentFeatures.getGeometry(); + map.getView().fit(polygon, map.getSize()); + this.zoom = map.getView().getZoom() - 1 + + } else if (this.centerFlag === 'flag_polygon') { + let polygonFeatures = polygonLayer.getSource().getFeatures()[0] + let polygon = polygonFeatures.getGeometry(); + map.getView().fit(polygon, map.getSize()); + this.zoom = map.getView().getZoom() - 1 + + } else { + mapView.setCenter(this.centerPoint); + + } + mapView.setZoom(this.zoom); }, firstCentermap () { @@ -608,7 +661,7 @@ const vueGis = { }) }), new Style({ - // text: createTextStyle(feature) // 报错 暂时注掉 zty 2022.05.19 + // text: createTextStyle(feature) // 报错 暂时注掉 zhaotongyao 2022.05.19 }) ]; styles['MultiPolygon'] = styles['Polygon']; @@ -616,13 +669,13 @@ const vueGis = { }; })(); - select = new Select({ - style: overlayStyle - }); - + // select = new Select({ + // style: overlayStyle + // }); + // 有BUG 加入多边形选中样式时,如果同时存在icon层和多边形层,点击icon会使icon消失 ---zhaotongyao 2022.06.01 map.addLayer(polygonLayer) - map.addInteraction(select); + // map.addInteraction(select); },