@@ -7,3 +7,11 @@ export function getStatistic (query) { | |||||
params: query | params: query | ||||
}) | }) | ||||
} | } | ||||
export function getThreeList (query) { | |||||
return request({ | |||||
url: '/api/asset/three/listNoParams', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} |
@@ -13,6 +13,7 @@ import message from '@/utils/message.js'; | |||||
// import '@/permission'; // permission control | // import '@/permission'; // permission control | ||||
import VScaleScreen from 'v-scale-screen'; | import VScaleScreen from 'v-scale-screen'; | ||||
import { getDicts } from "@/api/system/dict/data"; | import { getDicts } from "@/api/system/dict/data"; | ||||
import { selectDictLabel } from "@/utils/common"; | |||||
// 过滤器 | // 过滤器 | ||||
Object.keys(filters).forEach(key => { | Object.keys(filters).forEach(key => { | ||||
Vue.filter(key, filters[key]); | Vue.filter(key, filters[key]); | ||||
@@ -37,6 +38,8 @@ Vue.use(ElementUI); | |||||
// Vue.use(Dropdown); | // Vue.use(Dropdown); | ||||
Vue.use(VScaleScreen); | Vue.use(VScaleScreen); | ||||
Vue.prototype.selectDictLabel = selectDictLabel | |||||
// 全局方法挂载 | // 全局方法挂载 | ||||
Vue.prototype.getDicts = getDicts | Vue.prototype.getDicts = getDicts | ||||
new Vue({ | new Vue({ | ||||
@@ -11,7 +11,7 @@ export function startAnim (ev) { | |||||
/** | /** | ||||
* 生成uuid | * 生成uuid | ||||
* @returns | |||||
* @returns | |||||
*/ | */ | ||||
export function generateUUID () { | export function generateUUID () { | ||||
var d = new Date().getTime(); //Timestamp | var d = new Date().getTime(); //Timestamp | ||||
@@ -140,3 +140,16 @@ export function getDay (_date, fmt) { | |||||
} | } | ||||
return fmt; | return fmt; | ||||
} | } | ||||
// 回显数据字典 | |||||
export function selectDictLabel(datas, value) { | |||||
var actions = []; | |||||
Object.keys(datas).some((key) => { | |||||
if (datas[key].dictValue == ('' + value)) { | |||||
actions.push(datas[key].dictLabel); | |||||
return true; | |||||
} | |||||
}) | |||||
return actions.join(''); | |||||
} |
@@ -11,7 +11,6 @@ | |||||
<div class="row"> | <div class="row"> | ||||
<component :is="item.name" v-for="(item, index) in currentComp.buttom" :key="index" :data="item.data"></component> | <component :is="item.name" v-for="(item, index) in currentComp.buttom" :key="index" :data="item.data"></component> | ||||
</div> | </div> | ||||
<Popover v-if="false"></Popover> | |||||
<Left></Left> | <Left></Left> | ||||
<Right></Right> | <Right></Right> | ||||
<Footer></Footer> | <Footer></Footer> | ||||
@@ -7,7 +7,7 @@ | |||||
<!-- </div>--> | <!-- </div>--> | ||||
<!-- </div>--> | <!-- </div>--> | ||||
<!-- </Legend>--> | <!-- </Legend>--> | ||||
<div v-if="showResourceDetail" class="gl_pop_cash pop_statistical_desc"> | |||||
<div v-if="false" class="gl_pop_cash pop_statistical_desc"> | |||||
<div class="head_main"> | <div class="head_main"> | ||||
<div class="title">{{resourceDetail.name}}详情</div> | <div class="title">{{resourceDetail.name}}详情</div> | ||||
<div class="close" @click="showResourceDetail = false"></div> | <div class="close" @click="showResourceDetail = false"></div> | ||||
@@ -84,6 +84,7 @@ | |||||
</div> | </div> | ||||
<div class="mask" style="position: absolute; width: 100%; height: 100%;pointer-events: none;"></div> | <div class="mask" style="position: absolute; width: 100%; height: 100%;pointer-events: none;"></div> | ||||
<Popover v-if="showResourceDetail" :data="resourceDetail" @closePopover="closePopover"></Popover> | |||||
<!--选择地址--> | <!--选择地址--> | ||||
<div class="select_address"> | <div class="select_address"> | ||||
<div class="dot left"></div> | <div class="dot left"></div> | ||||
@@ -11,10 +11,14 @@ import { attachmentList } from "@/api/common/uploadAttachment.js"; | |||||
import { treeselect, getDept, listDeptExcludeChild } from "@/api/system/dept"; | import { treeselect, getDept, listDeptExcludeChild } from "@/api/system/dept"; | ||||
import { getConfigKey } from "@/api/system/config"; | import { getConfigKey } from "@/api/system/config"; | ||||
import { treeselectByDeptId } from "@/api/system/dept"; | import { treeselectByDeptId } from "@/api/system/dept"; | ||||
import { getThreeList } from "@/api/index"; | |||||
import Popover from '../popover/index.vue'; | |||||
let gis = null; | let gis = null; | ||||
export default { | export default { | ||||
components: { | components: { | ||||
Legend | |||||
Legend, | |||||
Popover | |||||
}, | }, | ||||
data () { | data () { | ||||
return { | return { | ||||
@@ -178,6 +182,7 @@ export default { | |||||
checkStrictly: true, | checkStrictly: true, | ||||
}, | }, | ||||
addrOptions: [], | addrOptions: [], | ||||
resourceDetail: {}, | |||||
//资产信息详情弹窗 | //资产信息详情弹窗 | ||||
showResourceDetail: false, | showResourceDetail: false, | ||||
mapGeoServerUrl: "", // geoserver地址 | mapGeoServerUrl: "", // geoserver地址 | ||||
@@ -221,11 +226,35 @@ export default { | |||||
name: '其他' | name: '其他' | ||||
} | } | ||||
], | ], | ||||
threeAssetTypeOptions: [], | |||||
threeJtzyzcTypeOptions: [], | |||||
threeNysssbTypeOptions: [], | |||||
threeNhTypeOptions: [], | |||||
natureOwnershipTypeOptions: [], | |||||
sysYesNoOptions: [], | |||||
}; | }; | ||||
}, | }, | ||||
computed: { | computed: { | ||||
}, | }, | ||||
created () { | created () { | ||||
this.getDicts("three_asset_type").then((response) => { | |||||
this.threeAssetTypeOptions = response.data; | |||||
}); | |||||
this.getDicts("three_jtzyzc_type").then((response) => { | |||||
this.threeJtzyzcTypeOptions = response.data; | |||||
}); | |||||
this.getDicts("three_nysssb_type").then((response) => { | |||||
this.threeNysssbTypeOptions = response.data; | |||||
}); | |||||
this.getDicts("three_nh_type").then((response) => { | |||||
this.threeNhTypeOptions = response.data; | |||||
}); | |||||
this.getDicts("nature_ownership").then((response) => { | |||||
this.natureOwnershipTypeOptions = response.data; | |||||
}); | |||||
this.getDicts("sys_yes_no").then((response) => { | |||||
this.sysYesNoOptions = response.data; | |||||
}); | |||||
this.getGeoServerUrl(); | this.getGeoServerUrl(); | ||||
}, | }, | ||||
mounted () { | mounted () { | ||||
@@ -251,14 +280,13 @@ export default { | |||||
this.resourceListQueryParams.deptId = res.user.loginDeptId; | this.resourceListQueryParams.deptId = res.user.loginDeptId; | ||||
this.contractionByPermanentQueryParams.deptId = res.user.loginDeptId; | this.contractionByPermanentQueryParams.deptId = res.user.loginDeptId; | ||||
//列表请求 | //列表请求 | ||||
this.getAllList(); | |||||
this.getAllList(res.user.deptId); | |||||
// 加载地图 | // 加载地图 | ||||
this.initMap(res.user.loginDeptId); | this.initMap(res.user.loginDeptId); | ||||
// 获取村边界的图层名称 | // 获取村边界的图层名称 | ||||
this.getVillageBorderLayerName(); | this.getVillageBorderLayerName(); | ||||
}); | }); | ||||
}) | }) | ||||
// treeselect().then((resp) => { | // treeselect().then((resp) => { | ||||
// this.addrOptions = resp.data | // this.addrOptions = resp.data | ||||
@@ -435,6 +463,22 @@ export default { | |||||
duration: 1000, // 缩放持续时间,默认不需要设置 | duration: 1000, // 缩放持续时间,默认不需要设置 | ||||
}); | }); | ||||
} else { | } else { | ||||
feature.values_.detail.threeDetailType = | |||||
feature.values_.detail.threeAssetType == '1' ? | |||||
this.selectDictLabel(this.threeJtzyzcTypeOptions, feature.values_.detail.threeDetailType): | |||||
feature.values_.detail.threeAssetType == '2' ? | |||||
this.selectDictLabel(this.threeNysssbTypeOptions, feature.values_.detail.threeDetailType): | |||||
feature.values_.detail.threeAssetType == '3' ? | |||||
this.selectDictLabel(this.threeNhTypeOptions, feature.values_.detail.threeDetailType):'' | |||||
; | |||||
feature.values_.detail.threeAssetType = this.selectDictLabel(this.threeAssetTypeOptions, feature.values_.detail.threeAssetType); | |||||
feature.values_.detail.natureOwnership = this.selectDictLabel(this.natureOwnershipTypeOptions, feature.values_.detail.natureOwnership); | |||||
feature.values_.detail.qssfczzy = this.selectDictLabel(this.sysYesNoOptions, feature.values_.detail.qssfczzy); | |||||
feature.values_.detail.sfwtdg = this.selectDictLabel(this.sysYesNoOptions, feature.values_.detail.sfwtdg); | |||||
feature.values_.detail.sfnzcsy = this.selectDictLabel(this.sysYesNoOptions, feature.values_.detail.sfnzcsy); | |||||
this.listDialogHidden('detail'); | this.listDialogHidden('detail'); | ||||
this.openResourceDialog(feature.values_.detail); | this.openResourceDialog(feature.values_.detail); | ||||
} | } | ||||
@@ -500,9 +544,10 @@ export default { | |||||
}, | }, | ||||
openResourceDialog (data) { | openResourceDialog (data) { | ||||
data.fileList = []; | data.fileList = []; | ||||
console.log(data) | |||||
let parmasData = { | let parmasData = { | ||||
tableId: data.id, | tableId: data.id, | ||||
tableName: 't_asset_resource', | |||||
tableName: 't_asset_three', | |||||
bizPath: 'asset', | bizPath: 'asset', | ||||
}; | }; | ||||
attachmentList(parmasData).then((res) => { | attachmentList(parmasData).then((res) => { | ||||
@@ -554,19 +599,25 @@ export default { | |||||
}, | }, | ||||
// 获取资源列表 | // 获取资源列表 | ||||
getResourceList (deptId) { | getResourceList (deptId) { | ||||
getResourceListByDeptId(deptId).then(response => { | |||||
if (response.data && response.data.length > 0) { | |||||
this.addResourceLayer(response.data); | |||||
getThreeList({ deptId: deptId }).then(response => { | |||||
if (response.rows && response.rows.length > 0) { | |||||
this.addResourceLayer(response.rows); | |||||
} | } | ||||
}); | }); | ||||
// getResourceListByDeptId(deptId).then(response => { | |||||
// if (response.data && response.data.length > 0) { | |||||
// this.addResourceLayer(response.data); | |||||
// } | |||||
// }); | |||||
}, | }, | ||||
// 添加资源图层 | // 添加资源图层 | ||||
addResourceLayer (resourceList) { | addResourceLayer (resourceList) { | ||||
let features = []; | let features = []; | ||||
resourceList.forEach(item => { | resourceList.forEach(item => { | ||||
if (item.theGeom != null && item.theGeom !== '') { | if (item.theGeom != null && item.theGeom !== '') { | ||||
const { useType } = item | |||||
let color = this.LegendData[useType - 1 + ''] | |||||
const { threeAssetType } = item | |||||
console.log(222, threeAssetType, item); | |||||
let color = this.LegendData[threeAssetType - 1 + ''] | |||||
let fs = gis.getFeature3(item, color.iconStyle.background, color.iconStyle.borderColor) | let fs = gis.getFeature3(item, color.iconStyle.background, color.iconStyle.borderColor) | ||||
features.push(fs); | features.push(fs); | ||||
} | } | ||||
@@ -576,13 +627,13 @@ export default { | |||||
}, | }, | ||||
// 获取资产列表 | // 获取资产列表 | ||||
getPermanentList (deptId) { | getPermanentList (deptId) { | ||||
getPermanentListByDeptId(deptId).then(response => { | |||||
getThreeList({ deptId: deptId }).then(response => { | |||||
if (response.data && response.data.length > 0) { | if (response.data && response.data.length > 0) { | ||||
this.addPermanentLayer(response.data); | this.addPermanentLayer(response.data); | ||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
getAllList () { | |||||
getAllList (deptId) { | |||||
//三务公开 | //三务公开 | ||||
// this.getList(null); | // this.getList(null); | ||||
// //零工公开 | // //零工公开 | ||||
@@ -599,6 +650,16 @@ export default { | |||||
// this.getContractionByPermanentList(); | // this.getContractionByPermanentList(); | ||||
// //资金情况 | // //资金情况 | ||||
// this.getFundAndBankAmountByDeptIdArray(); | // this.getFundAndBankAmountByDeptIdArray(); | ||||
//this.getThreeList(deptId); | |||||
}, | |||||
getThreeList(deptId){ | |||||
getThreeList({ deptId: deptId }).then(response => { | |||||
}); | |||||
}, | }, | ||||
closePopover(){ | |||||
this.showResourceDetail = false; | |||||
} | |||||
} | } | ||||
}; | }; |
@@ -1,79 +1,94 @@ | |||||
<div class="popover_main"> | <div class="popover_main"> | ||||
<h1><i></i>B镇详情<span>×</span></h1> | |||||
<h1><i></i>B镇详情<span @click="closePopover">×</span></h1> | |||||
<div> | <div> | ||||
<p>资产编码</p> | <p>资产编码</p> | ||||
<p>11111111</p> | |||||
<p>{{data.zcdm}}</p> | |||||
<p>资产名称</p> | <p>资产名称</p> | ||||
<p>11111111</p> | |||||
<p>{{data.zcmc}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>三清类型</p> | <p>三清类型</p> | ||||
<p>11111111</p> | |||||
<p>{{data.threeAssetType}}</p> | |||||
<p>资产类型</p> | <p>资产类型</p> | ||||
<p>11111111</p> | |||||
<p>{{data.threeDetailType}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>用地面积</p> | |||||
<p>11111111</p> | |||||
<p>用地面积(亩)</p> | |||||
<p>{{data.ydmj}}</p> | |||||
<p>建筑面积(㎡)</p> | <p>建筑面积(㎡)</p> | ||||
<p>11111111</p> | |||||
<p>{{data.jzmj}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>所在组</p> | <p>所在组</p> | ||||
<p>11111111</p> | |||||
<p>{{data.szz}}</p> | |||||
<p>权属性质</p> | <p>权属性质</p> | ||||
<p>11111111</p> | |||||
<p>{{data.natureOwnership}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>权属是否存在争议</p> | <p>权属是否存在争议</p> | ||||
<p>11111111</p> | |||||
<p>{{data.qssfczzy}}</p> | |||||
<p>权属主体</p> | <p>权属主体</p> | ||||
<p>11111111</p> | |||||
<p>{{data.qszt}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>是否委托代管</p> | <p>是否委托代管</p> | ||||
<p>11111111</p> | |||||
<p>{{data.sfwtdg}}</p> | |||||
<p>联系电话</p> | <p>联系电话</p> | ||||
<p>11111111</p> | |||||
<p>{{data.lxdh}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>23年盘活方式</p> | <p>23年盘活方式</p> | ||||
<p>11111111</p> | |||||
<p>{{data.phfs23}}</p> | |||||
<p>23年效益(万元)</p> | <p>23年效益(万元)</p> | ||||
<p>11111111</p> | |||||
<p>{{data.xy23}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>24年盘活方式</p> | <p>24年盘活方式</p> | ||||
<p>11111111</p> | |||||
<p>{{data.phfs24}}</p> | |||||
<p>24年效益(万元)</p> | <p>24年效益(万元)</p> | ||||
<p>11111111</p> | |||||
<p>{{data.xy24}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>盘活情况</p> | <p>盘活情况</p> | ||||
<p>11111111</p> | |||||
<p>{{data.phqk}}</p> | |||||
<p>资产闲置原因</p> | <p>资产闲置原因</p> | ||||
<p>11111111</p> | |||||
<p>{{data.xzyy}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>是否能正常使用</p> | <p>是否能正常使用</p> | ||||
<p>11111111</p> | |||||
<p>{{data.sfnzcsy}}</p> | |||||
<p>完善后使用</p> | <p>完善后使用</p> | ||||
<p>11111111</p> | |||||
<p>{{data.wshsy}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>不能使用</p> | <p>不能使用</p> | ||||
<p>11111111</p> | |||||
<p>{{data.bnsy}}</p> | |||||
<p>盘活措施</p> | <p>盘活措施</p> | ||||
<p>11111111</p> | |||||
<p>{{data.phcs}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>盘活时限</p> | <p>盘活时限</p> | ||||
<p>11111111</p> | |||||
<p>{{data.phsx}}</p> | |||||
<p>资产统计年度</p> | <p>资产统计年度</p> | ||||
<p>11111111</p> | |||||
<p>{{data.zctjnd}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>备注</p> | <p>备注</p> | ||||
<p>11111111</p> | |||||
<p>{{data.bz}}</p> | |||||
</div> | |||||
<div style="justify-content: left"> | |||||
<p>附件</p> | |||||
<p> | |||||
<block v-for="(item,index) in data.fileList"> | |||||
<a :href="item.urlApi" v-if="item.type != 'image'"> | |||||
<img :src="item.url" style="width: 3vw;height: 3vw;margin-right: 0.5vw;" alt=""> | |||||
</a> | |||||
<img v-else :src="item.url" style="width: 3vw;height: 3vw;margin-right: 0.3vw;" alt="" @click="openImage(item.url)"> | |||||
</block> | |||||
</p> | |||||
</div> | |||||
<div class="imgBox" v-if="showImg"> | |||||
<div class="box_bg" @click="showImg = false"></div> | |||||
<img :src="fileUrl" alt=""> | |||||
</div> | </div> | ||||
</div> | </div> |
@@ -1,15 +1,17 @@ | |||||
export default { | export default { | ||||
props: { | props: { | ||||
data: { | data: { | ||||
type: Array, | |||||
type: Object, | |||||
default: function () { | default: function () { | ||||
return [] | |||||
return {} | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
data () { | data () { | ||||
return { | return { | ||||
fileList: [], | |||||
fileUrl:'', | |||||
showImg:false, | |||||
}; | }; | ||||
}, | }, | ||||
created () { | created () { | ||||
@@ -17,5 +19,12 @@ export default { | |||||
mounted () { | mounted () { | ||||
}, | }, | ||||
methods: { | methods: { | ||||
closePopover(){ | |||||
this.$emit('closePopover'); | |||||
}, | |||||
openImage(url){ | |||||
this.fileUrl = url; | |||||
this.showImg = true; | |||||
} | |||||
} | } | ||||
}; | }; |
@@ -26,6 +26,7 @@ | |||||
span{ | span{ | ||||
margin-left: auto; | margin-left: auto; | ||||
font-size: 24px; | font-size: 24px; | ||||
cursor: pointer; | |||||
} | } | ||||
} | } | ||||
div{ | div{ | ||||
@@ -43,3 +44,22 @@ | |||||
} | } | ||||
} | } | ||||
} | } | ||||
.imgBox{ | |||||
position: fixed; | |||||
z-index: 999999; | |||||
width: 100vw; | |||||
height: 100vh; | |||||
.box_bg{ | |||||
background-color: rgba(0,0,0,0.5); | |||||
width: 100%; | |||||
height: 100vh; | |||||
} | |||||
img{ | |||||
height: 60vh; | |||||
position: absolute; | |||||
top: 50%; | |||||
left: 50%; | |||||
transform: translate(-50%,-50%); | |||||
} | |||||
} |