|
|
|
|
@ -29,18 +29,19 @@
|
|
|
|
|
placeholder="请选择区域"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="(item, index) in wxAreas"
|
|
|
|
|
:value="index + 1"
|
|
|
|
|
:label="item"
|
|
|
|
|
v-for="(item, index) in Array.from(wxAreas)"
|
|
|
|
|
:value="item[0]"
|
|
|
|
|
:label="item[1]"
|
|
|
|
|
></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
<span class="search-name">资产权属</span>
|
|
|
|
|
<el-switch v-model="is_auth" :active-value="1" :inactive-value="0" active-text="本部" inactive-text="全部"></el-switch>
|
|
|
|
|
<el-switch v-if="$store.state.user.allowLevel === 0" v-model="is_auth" :active-value="1" :inactive-value="0" active-text="本部" inactive-text="全部"></el-switch>
|
|
|
|
|
<el-select
|
|
|
|
|
v-if="$store.state.user.allowLevel === 0"
|
|
|
|
|
v-model="selectDepartmentId"
|
|
|
|
|
v-show="!is_auth"
|
|
|
|
|
clearable
|
|
|
|
|
style="width: 110px;"
|
|
|
|
|
style="width: 110px;margin-left: 4px;"
|
|
|
|
|
size="mini"
|
|
|
|
|
placeholder="请选择公司"
|
|
|
|
|
>
|
|
|
|
|
@ -62,9 +63,9 @@
|
|
|
|
|
<div
|
|
|
|
|
class="search-list__bar"
|
|
|
|
|
>
|
|
|
|
|
<Button size="small" type="success" :ghost="hasHouse !== 1" @click="hasHouse = 1,getList(1)">土地</Button>
|
|
|
|
|
<Button size="small" type="primary" :ghost="hasHouse !== 2" @click="hasHouse = 2,getList(2)">房产</Button>
|
|
|
|
|
<Button size="small" type="info" :ghost="hasHouse !== 3" @click="hasHouse = 3,getList(3)">全部</Button>
|
|
|
|
|
<Button size="small" type="success" :ghost="hasHouse !== 1" @click="hasHouse = 1,areaPick()">土地</Button>
|
|
|
|
|
<Button size="small" type="primary" :ghost="hasHouse !== 2" @click="hasHouse = 2,areaPick()">房产</Button>
|
|
|
|
|
<Button size="small" type="info" :ghost="hasHouse !== 3" @click="hasHouse = 3,areaPick()">全部</Button>
|
|
|
|
|
<el-input size="mini" style="margin-top: 4px;" placeholder="请输入资产名称" v-model="select.filter[1].value" clearable>
|
|
|
|
|
<el-button type="primary" slot="append" icon="el-icon-search" @click="areaPick"></el-button>
|
|
|
|
|
</el-input>
|
|
|
|
|
@ -76,11 +77,12 @@
|
|
|
|
|
<div class="left">
|
|
|
|
|
<p>{{ item.name }}</p>
|
|
|
|
|
<Tag :color="item.hasOwnProperty('land_id') ? 'green' : 'purple'">{{ item.hasOwnProperty('land_id') ? '房产' : '土地' }}</Tag>
|
|
|
|
|
<Tag color="blue" v-if="item.area">{{ wxAreas[item.area-1] }}</Tag>
|
|
|
|
|
<Tag color="blue" v-if="item.area">{{ wxAreas.get(item.area) }}</Tag>
|
|
|
|
|
<!-- <Tag color="cyan" v-if="item.shijimianji">{{ item.shijimianji }} m²</Tag>-->
|
|
|
|
|
<Tag color="red" v-if="Object.hasOwn(item,'id_house_properties_land_id_relation')">{{ item.id_house_properties_land_id_relation ? '权属合一' : '权属分离' }}</Tag>
|
|
|
|
|
<Tag color="gold" v-if="item.jianzhuleixing">{{ jianzhuleixing(item.jianzhuleixing) }}</Tag>
|
|
|
|
|
<Tag color="magenta" v-if="item.zichanleixing">{{ zichanleixing(item.zichanleixing) }}</Tag>
|
|
|
|
|
<Tag color="primary" v-if="item.department"><i class="el-icon-office-building"></i> {{ item.department.name }}</Tag>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<Button type="primary" @click="pickRow({ row:item })">查看</Button>
|
|
|
|
|
@ -100,7 +102,7 @@
|
|
|
|
|
<div class="map" id="map" :style="{ height: mapHeight + 'px' }"></div>
|
|
|
|
|
|
|
|
|
|
<div ref="infoWindow" id="infoWindow" v-show="isShowInfoWindow">
|
|
|
|
|
<el-scrollbar style="height: 260px; width: 100%">
|
|
|
|
|
<el-scrollbar style="height: 48vh; width: 100%">
|
|
|
|
|
<el-descriptions border :column="2">
|
|
|
|
|
<el-descriptions-item v-for="item in form" :label="item.name">
|
|
|
|
|
{{ contentFormat(item) }}{{ units.get(item.field) }}
|
|
|
|
|
@ -108,6 +110,9 @@
|
|
|
|
|
<el-descriptions-item label="使用状态">
|
|
|
|
|
{{ shiyongzhuangtai }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item label="所属公司">
|
|
|
|
|
{{ openData.department ? openData.department.name : '' }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
</el-descriptions>
|
|
|
|
|
</el-scrollbar>
|
|
|
|
|
|
|
|
|
|
@ -128,6 +133,7 @@ import { listdept } from "@/api/system/department";
|
|
|
|
|
import { getparameter } from "@/api/system/dictionary";
|
|
|
|
|
import { listCommondepartment } from '@/api/common'
|
|
|
|
|
import { deepCopy } from '@/utils'
|
|
|
|
|
import { show as customFormFieldShow } from '@/api/system/customFormField'
|
|
|
|
|
export default {
|
|
|
|
|
name: "mapList",
|
|
|
|
|
data() {
|
|
|
|
|
@ -212,15 +218,7 @@ export default {
|
|
|
|
|
polygons: [],
|
|
|
|
|
markerList: [],
|
|
|
|
|
departments: [],
|
|
|
|
|
wxAreas: [
|
|
|
|
|
"宜兴市",
|
|
|
|
|
"惠山区",
|
|
|
|
|
"新吴区",
|
|
|
|
|
"梁溪区",
|
|
|
|
|
"江阴市",
|
|
|
|
|
"滨湖区",
|
|
|
|
|
"锡山区",
|
|
|
|
|
],
|
|
|
|
|
wxAreas: new Map(),
|
|
|
|
|
units: new Map([
|
|
|
|
|
["dengjimianji", "m²"],
|
|
|
|
|
["shijimianji", "m²"],
|
|
|
|
|
@ -231,9 +229,27 @@ export default {
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
async getWxAreas () {
|
|
|
|
|
try {
|
|
|
|
|
const res = await customFormFieldShow({ id: 120 })
|
|
|
|
|
let keys = Object.keys(res.select_item)
|
|
|
|
|
if (keys.length > 0) {
|
|
|
|
|
this.wxAreas = new Map(keys.map((key) => {
|
|
|
|
|
return [
|
|
|
|
|
/^\d*$/.test(res.select_item[key])
|
|
|
|
|
? Number(res.select_item[key])
|
|
|
|
|
: res.select_item[key],
|
|
|
|
|
key
|
|
|
|
|
]
|
|
|
|
|
}))
|
|
|
|
|
}
|
|
|
|
|
} catch (err) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
index,
|
|
|
|
|
areaPick(e) {
|
|
|
|
|
this.areaBG(this.wxAreas[this.select.filter[0].value - 1]);
|
|
|
|
|
this.areaBG(this.wxAreas.get(this.select.filter[0].value));
|
|
|
|
|
this.getList().then((res) => {
|
|
|
|
|
this.setMapMarker();
|
|
|
|
|
});
|
|
|
|
|
@ -743,12 +759,13 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.getWxAreas();
|
|
|
|
|
this.getDepts();
|
|
|
|
|
this.getFormDetail();
|
|
|
|
|
},
|
|
|
|
|
async mounted() {
|
|
|
|
|
let areaId = Number(this.$route.query.area) || ''
|
|
|
|
|
areaId ? (this.init(this.wxAreas[areaId - 1]),this.select.filter[0].value = areaId) : this.init();
|
|
|
|
|
areaId ? (this.init(this.wxAreas.get(areaId)),this.select.filter[0].value = areaId) : this.init();
|
|
|
|
|
|
|
|
|
|
await this.getList();
|
|
|
|
|
this.setMapMarker();
|
|
|
|
|
@ -1008,14 +1025,14 @@ $staticsHeight: 60px;
|
|
|
|
|
</style>
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
#infoWindow {
|
|
|
|
|
min-width: 480px;
|
|
|
|
|
max-height: 340px;
|
|
|
|
|
min-width: 58vw;
|
|
|
|
|
max-height: 48vh;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
filter: drop-shadow(2px 2px 5px #00000055);
|
|
|
|
|
border-radius: 0 4px 4px 4px;
|
|
|
|
|
background: #fff;
|
|
|
|
|
|
|
|
|
|
padding: 2px;
|
|
|
|
|
padding: 4px;
|
|
|
|
|
animation: fade-in 0.4s forwards;
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
|