gengxinxiangmu

main
李劲龙 5 months ago
parent c778a9fb88
commit 8b1f5c3388

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

@ -90,3 +90,6 @@
.el-submenu__icon-arrow { .el-submenu__icon-arrow {
display: none; display: none;
} }
.el-select {
width: 100%;
}

@ -61,8 +61,6 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "~@/assets/styles/element-uitow2.scss";
.app-main { .app-main {
border-radius: 5px; border-radius: 5px;

@ -186,84 +186,84 @@ export default {
id: 1, id: 1,
name: "车", name: "车",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/a-chelianga.png") imgSrc: require("@/assets/images/icon/genduofuwu.png")
}, },
{ {
position: [121.235712627230569, 32.447218823220901], position: [121.235712627230569, 32.447218823220901],
id: 2, id: 2,
name: "车", name: "车",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/a-chelianga.png") imgSrc: require("@/assets/images/icon/genduofuwu.png")
}, },
{ {
position: [121.318413448767714, 32.411908360092688], position: [121.318413448767714, 32.411908360092688],
id: 3, id: 3,
name: "车", name: "车",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/a-chelianga.png") imgSrc: require("@/assets/images/icon/genduofuwu.png")
}, },
{ {
position: [121.359751265879749, 32.38683020264299], position: [121.359751265879749, 32.38683020264299],
id: 4, id: 4,
name: "车", name: "车",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/a-chelianga.png") imgSrc: require("@/assets/images/icon/genduofuwu.png")
}, },
{ {
position: [121.23060190230413, 32.393323905814675], position: [121.23060190230413, 32.393323905814675],
id: 1, id: 1,
name: "对讲", name: "对讲",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-duijiangaa.png") imgSrc: require("@/assets/images/icon/dainbingshebei.png")
}, },
{ {
position: [121.252903247437729, 32.397970019384182], position: [121.252903247437729, 32.397970019384182],
id: 2, id: 2,
name: "对讲", name: "对讲",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-duijiangaa.png") imgSrc: require("@/assets/images/icon/dainbingshebei.png")
}, },
{ {
position: [121.304939719416154, 32.402383827275209], position: [121.304939719416154, 32.402383827275209],
id: 3, id: 3,
name: "对讲", name: "对讲",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-duijiangaa.png") imgSrc: require("@/assets/images/icon/dainbingshebei.png")
}, },
{ {
position: [121.3418763222937, 32.418412919089988], position: [121.3418763222937, 32.418412919089988],
id: 4, id: 4,
name: "对讲", name: "对讲",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-duijiangaa.png") imgSrc: require("@/assets/images/icon/dainbingshebei.png")
}, },
{ {
position: [121.2932060190230413, 32.4023323905814675], position: [121.2932060190230413, 32.4023323905814675],
id: 1, id: 1,
name: "人员", name: "人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-jingcha.png") imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
}, },
{ {
position: [121.274352, 32.42456], position: [121.274352, 32.42456],
id: 2, id: 2,
name: "人员", name: "人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-jingcha.png") imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
}, },
{ {
position: [121.299592, 32.432396], position: [121.299592, 32.432396],
id: 3, id: 3,
name: "人员", name: "人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-jingcha.png") imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
}, },
{ {
position: [121.37418763222937, 32.41185412919089988], position: [121.37418763222937, 32.41185412919089988],
id: 4, id: 4,
name: "人员", name: "人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/a-jingcha.png") imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
}, },
], ],
personInfo: { personInfo: {

@ -17,16 +17,21 @@
<el-amap-marker v-for="(marker, index) in markers" :title="marker.name" :key="marker.id" <el-amap-marker v-for="(marker, index) in markers" :title="marker.name" :key="marker.id"
:position="marker.position" @click="(e) => { clickArrayMarker(marker, e) }" v-if="radio == 2 || radio == 1"> :position="marker.position" @click="(e) => { clickArrayMarker(marker, e) }" v-if="radio == 2 || radio == 1">
<div class="markerStyles"> <div class="markerStyles">
<div v-if="marker.name" class="marker-Text">{{ marker.name }}</div> <!-- <div v-if="marker.name" class="marker-Text">{{ marker.name }}</div> -->
<img :src="marker.imgSrc" alt=""> <img :src="marker.imgSrc" alt="">
<el-amap-polyline :editable="false" :visible="true" :draggable="false" :path="marker.pathlist" strokeColor="greenyellow" :zIndex="500"
:strokeDasharray="[10,10]" strokeStyle="dashed" />
</div> </div>
</el-amap-marker> </el-amap-marker>
<el-amap-marker v-for="(marker, index) in markers2" :title="marker.name" :key="marker.id + 5" <el-amap-marker v-for="(marker, index) in markers2" :title="marker.name" :key="marker.id + 5"
:position="marker.position" @click="(e) => { clickArrayMarker(marker, e) }" v-if="radio == 3 || radio == 1"> :position="marker.position" @click="(e) => { clickArrayMarker(marker, e) }" v-if="radio == 3 || radio == 1">
<div class="markerStyles"> <div class="markerStyles">
<div v-if="marker.name" class="marker-Text">{{ marker.name }}</div> <!-- <div v-if="marker.name" class="marker-Text">{{ marker.name }}</div> -->
<img :src="marker.imgSrc" alt=""> <img :src="marker.imgSrc" alt="">
<el-amap-polyline :editable="false" :visible="true" :draggable="false" :path="marker.pathlist" strokeColor="red" :zIndex="500"
:strokeDasharray="[10,10]" strokeStyle="dashed"
/>
</div> </div>
</el-amap-marker> </el-amap-marker>
</el-amap> </el-amap>
@ -62,7 +67,7 @@ import righttEcahts from "@/views/Map/Map_Zhongdianrenyuan/righttEcahts/index.vu
export default { export default {
name: "map-view", name: "map-view",
components: { ZhanshiTubiao, leftrightEcahts,righttEcahts,Mapdialog }, components: { ZhanshiTubiao, leftrightEcahts, righttEcahts, Mapdialog },
data() { data() {
return { return {
zoom: 11.8, zoom: 11.8,
@ -93,60 +98,71 @@ export default {
{ {
position: [121.183697866903292, 32.460227941215508], position: [121.183697866903292, 32.460227941215508],
id: 1, id: 1,
name: "本地1", name: "本地重点人员",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/icon1.png") imgSrc: require("@/assets/images/icon/zhongdianren2.png"),
pathlist: [[121.183697866903292, 32.460227941215508],[121.173697866903292, 32.430227941215508],]
}, },
{ {
position: [121.235712627230569, 32.447218823220901], position: [121.235712627230569, 32.447218823220901],
id: 2, id: 2,
name: "本地2", name: "本地重点人员",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/icon1.png") imgSrc: require("@/assets/images/icon/zhongdianren2.png"),
pathlist: [[121.235712627230569, 32.447218823220901],[ 121.245712627230569, 32.427218823220901 ],]
}, },
{ {
position: [121.318413448767714, 32.411908360092688], position: [121.318413448767714, 32.411908360092688],
id: 3, id: 3,
name: "本地3", name: "本地重点人员",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/icon1.png") imgSrc: require("@/assets/images/icon/zhongdianren2.png")
,
pathlist: [[121.318413448767714, 32.411908360092688],[ 121.328413448767714, 32.421908360092688],]
}, },
{ {
position: [121.359751265879749, 32.38683020264299], position: [121.359751265879749, 32.38683020264299],
id: 4, id: 4,
name: "本地4", name: "本地重点人员",
content: '<i class="el-icon-user-solid bendiren"></i>', content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/icon1.png") imgSrc: require("@/assets/images/icon/zhongdianren2.png")
,
pathlist: [[121.359751265879749, 32.38683020264299],[ 121.349751265879749, 32.36683020264299],]
}, },
], ],
markers2: [ markers2: [
{ {
position: [121.23060190230413, 32.393323905814675], position: [121.24012643512161, 32.392859294457729],
id: 1, id: 1,
name: "外地1", name: "外地重点人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/offLine1.png") imgSrc: require("@/assets/images/icon/zhongdianren.png"),
pathlist: [[121.227349622803477, 32.389607014959076],[121.24012643512161, 32.392859294457729],]
}, },
{ {
position: [121.252903247437729, 32.397970019384182], position: [121.316090391982954, 32.406100718130809 ],
id: 2, id: 2,
name: "外地2", name: "外地重点人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/offLine1.png") imgSrc: require("@/assets/images/icon/zhongdianren.png"),
pathlist: [[121.252903247437729, 32.397970019384182],[ 121.316090391982954, 32.406100718130809 ],]
}, },
{ {
position: [121.304939719416154, 32.402383827275209], position: [121.295647492277155, 32.404939189738435],
id: 3, id: 3,
name: "外地3", name: "外地重点人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/offLine1.png") imgSrc: require("@/assets/images/icon/zhongdianren.png"),
pathlist: [[121.295647492277155, 32.404939189738435],[ 121.316090391982954, 32.426100718130809 ],]
}, },
{ {
position: [121.3418763222937, 32.418412919089988], position: [121.3418763222937, 32.418412919089988],
id: 4, id: 4,
name: "外地4", name: "外地重点人员",
content: '<i class="el-icon-user-solid waidi"></i>', content: '<i class="el-icon-user-solid waidi"></i>',
imgSrc: require("@/assets/images/icon/offLine1.png") imgSrc: require("@/assets/images/icon/zhongdianren.png")
,
pathlist: [[121.3418763222937, 32.418412919089988],[ 121.326090391982954, 32.406100718130809 ],]
}, },
], ],
// //
@ -227,4 +243,8 @@ export default {
font-size: 26px; font-size: 26px;
} }
} }
::v-deep .marker-Text {
width: 100px;
}
</style> </style>

@ -1,24 +1,356 @@
<template> <template>
<div> <div class="container">
地图扎点 <el-amap ref="map" :center="center" :zoom="zoom" :zooms="zooms" element-loading-background="rgba(11, 34, 72, 0.8)"
</div> @init="init" :extra-options="{ vectorMapForeign: 'style_zh_cn' }" class="amap-demo">
<el-amap-geojson :geo="changshazhen" :polygon-options="polygonOptions" :draggable="draggable"
@click="JSONclick" />
<el-amap-marker v-for="(marker, index) in markers" :title="marker.name" :key="marker.id"
:position="marker.position" @click="(e) => { clickArrayMarker(marker, e) }">
<div class="markerStyles">
<div v-if="marker.name" class="marker-Text">{{ marker.name }}</div>
<img :src="marker.imgSrc" alt="">
</div>
</el-amap-marker>
<el-amap-info-window v-if="personInfo.visible" anchor="bottom-center" :offset="[30, 0]" :closeWhenClickMap="true"
:position="personInfo.position" :visible.sync="personInfo.visible" :zIndex="900">
<div class="infowindow-box" v-if="titleShow == '人员'">
<div class="infowindow-box-title">
<div>人员信息:</div><img src="@/assets/images/icon/cuohao.png" class="mask" @click="markersClosePopup" alt="" />
</div>
<div class="infowindow-box-item">
<div class="isisbox">
<div>姓名:</div><span>张三</span>
</div>
<div class="isisbox">
<div>部门:</div><span>xxx</span>
</div>
<div class="isisbox">
<div>联系方式:</div><span>13611111111</span>
</div>
<div class="isisbox">
<div>当前位置:</div><span>xxxxxx</span>
</div>
</div>
</div>
<div class="infowindow-box" v-if="titleShow == '车辆'">
<div class="infowindow-box-title">
<div>车辆信息:</div><img src="@/assets/images/icon/cuohao.png" class="mask" @click="markersClosePopup" alt="" />
</div>
<div class="infowindow-box-item infowindow-box-itemTow">
<div class="isisbox">
<div>驾驶员姓名:</div><span>张三</span>
</div>
<div class="isisbox">
<div>联系方式:</div><span>xxx</span>
</div>
<div class="isisbox">
<div>车辆类型:</div><span>13611111111</span>
</div>
<div class="isisbox">
<div>车牌号:</div><span>xxxxxx</span>
</div>
</div>
</div>
</el-amap-info-window>
</el-amap>
<div class="dituzhadian" @click="loogshowCK">
<div>地图扎点</div>
<img src="@/assets/images/zhadian.png" alt="">
</div>
<div class="toptuli">
<div>
图例
</div>
<div class="zuoyou">
<img src="@/assets/images/icon/A-jianguanrenyuan.png" alt="">
<div>人员</div>
</div>
<div class="zuoyou">
<img src="@/assets/images/icon/A-cheliang.png" alt="">
<div>车辆</div>
</div>
</div>
<el-dialog :visible.sync="showCK" width="40%" title="地图扎点" @close="close" :close-on-click-modal="false"
:close-on-press-escape="false">
<div class="diandian">
<el-radio v-model="radio" label="1"></el-radio>
<el-radio v-model="radio" label="2"></el-radio>
</div>
<div v-if="radio == 1">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="mytitle == '查看人员'">
<el-form-item label="姓名" size="mini" prop="xm">
<el-input v-model="form.xm" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="部门" prop="xb">
<el-select v-model="form.xb" multiple placeholder="请选择" size="mini">
<el-option v-for="item in options" :key="item.value" :label="item.groupName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="联系方式" size="mini" prop="sfzh">
<el-input v-model="form.sfzh" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="职责描述" size="mini" prop="zz">
<el-input v-model="form.zz" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="社会关系" prop="shgx">
<el-input type="textarea" resize="none" :rows="5" v-model="form.shgx" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
</div>
<div v-if="radio == 2">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="mytitle == '查看人员'">
<el-form-item label="驾驶员姓名" size="mini" prop="xm1">
<el-input v-model="form.xm1" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系方式" size="mini" prop="lxfs1">
<el-input v-model="form.lxfs1" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="车辆类型" size="mini" prop="sfzha">
<el-input v-model="form.sfzha" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="车牌号" size="mini" prop="zz1">
<el-input v-model="form.zz1" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer" v-show="mytitle != '查看人员'">
<el-button size="mini" icon="el-icon-refresh-left" @click="reset('form')"></el-button>
<el-button size="mini" type="primary" icon="el-icon-document" @click="save('form')"></el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import changshazhen from "@/assets/mapjson/Chaangshazhen/changshazhen.geojson"
export default { export default {
name: '', name: '',
components: {}, components: {},
data () { data() {
return { return {
mytitle: "地图扎点",
zoom: 11.8,
zooms: [3, 20],
center: [121.298563, 32.451807],
map: null,
draggable: false,
visible: true,
radio: "1",
changshazhen: changshazhen,
polygonOptions: {
strokeColor: '#00C5EC',
fillColor: '#00AEFF'
},
options: [],
form: {
},
showCK: false,
rules: {
},
personInfo: {
position: [],
info: {},
visible: false,
},
titleShow: "人员",
markers: [
{
position: [121.183697866903292, 32.460227941215508],
id: 1,
name: "人员",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
},
{
position: [121.235712627230569, 32.447218823220901],
id: 2,
name: "车辆",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-cheliang.png")
},
{
position: [121.318413448767714, 32.411908360092688],
id: 3,
name: "车辆",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-cheliang.png")
},
{
position: [121.359751265879749, 32.39683020264299],
id: 4,
name: "人员",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
},
],
} }
}, },
created () { }, created() { },
mounted () { }, mounted() { },
methods: { }, methods: {
markersClosePopup(){
this.personInfo.visible = false
},
getMap() {
// bmap vue component
console.log('$refs: ', this.$refs.map.$$getInstance())
},
init(map) {
this.map = map;
// o.setMapStyle('amap://styles/darkblue')
console.log(this.map.getCenter())
console.log(this.$refs.map.$$getInstance())
},
//
click() {
alert('click map')
},
JSONclick() { },
clickArrayMarker(e) {
this.personInfo.visible = true
this.personInfo.position = e.position
this.personInfo.info = {}
this.titleShow = e.name
},
close() {
this.form = {
}
this.showCK = false;
},
loogshowCK() {
this.showCK = true;
},
},
computed: {} computed: {}
} }
</script> </script>
<style scoped lang='scss'> <style scoped lang='scss'>
.container {
position: relative;
.dituzhadian {
top: 10px;
left: 10px;
cursor: pointer;
position: absolute;
width: 120px;
height: 50px;
color: #000000;
background: #ffffff;
border-radius: 5px;
font-family: 'Source Han Sans CN--Bold';
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
img {
width: 30px;
}
}
}
.toptuli {
top: 10px;
right: 10px;
cursor: pointer;
position: absolute;
width: 120px;
color: #000000;
background: #ffffff;
border-radius: 5px;
font-family: 'Source Han Sans CN--Bold';
font-size: 16px;
padding: 10px;
.zuoyou {
display: flex;
align-items: center;
margin: 10px 0;
img {
width: 30px;
margin-right: 10px;
}
}
}
.diandian {
width: 100%;
margin: 15px 0;
margin-left: 100px;
}
.infowindow-box {
width: 300px;
min-height: 100px;
color: #000000;
font-family: 'Source Han Sans CN--Bold';
background: #fff;
.infowindow-box-title {
width: 100%;
padding: 5px 10px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 16px;
border-bottom: 1px solid #ccc;
img {
width: 15px;
cursor: pointer;
}
}
.infowindow-box-item {
padding: 20px;
.isisbox {
margin: 10px 0;
display: grid;
grid-template-columns: 25% 70%;
div {
font-size: 14px;
text-align: right;
}
span {
font-size: 12px;
color: #4b4848;
}
}
}
.infowindow-box-itemTow {
.isisbox {
display: grid;
grid-template-columns: 30% 70%;
}
}
}
</style> </style>

@ -7,34 +7,14 @@
<div class="search-input"> <div class="search-input">
<div class="inputSonBox"> <div class="inputSonBox">
<div class="texts1" style="width: 6%">预案名称:</div> <div class="texts1" style="width: 6%">预案名称:</div>
<el-input <el-input size="mini" v-model="form1.name" placeholder="请输入"></el-input>
size="mini"
v-model="form1.name"
placeholder="请输入"
></el-input>
<div class="texts1" style="width: 8%">编辑时间:</div> <div class="texts1" style="width: 8%">编辑时间:</div>
<el-input <el-input size="mini" v-model="form1.sfz" placeholder="请输入"></el-input>
size="mini"
v-model="form1.sfz"
placeholder="请输入"
></el-input>
<div class="texts1" style="width: 8%">预案类型:</div> <div class="texts1" style="width: 8%">预案类型:</div>
<el-input <el-input size="mini" v-model="form1.lxfs" placeholder="请输入"></el-input>
size="mini"
v-model="form1.lxfs"
placeholder="请输入"
></el-input>
<div class="searchBtn"> <div class="searchBtn">
<el-button <el-button type="primary" size="mini" icon="el-icon-search" @click="addlist"></el-button>
type="primary" <el-button size="mini" icon="el-icon-refresh-left" @click="resetTwo"></el-button>
size="mini"
icon="el-icon-search"
@click="addlist"
>查询</el-button
>
<el-button size="mini" icon="el-icon-refresh-left" @click="resetTwo"
>重置</el-button
>
</div> </div>
</div> </div>
</div> </div>
@ -42,7 +22,7 @@
<div class="tabsBottom"> <div class="tabsBottom">
<div class="foot-main"> <div class="foot-main">
<div class="headerText"> <div class="headerText">
<div class="searchP searchA">住户管理列表</div> <div class="searchP searchA">预案管理列表</div>
</div> </div>
<div class="exportBtn1"> <div class="exportBtn1">
<div class="danchunxinzeng" @click="addRules"> <div class="danchunxinzeng" @click="addRules">
@ -56,58 +36,27 @@
<div class="table-item"> <div class="table-item">
<el-table v-loading="loading" :data="tableData" border> <el-table v-loading="loading" :data="tableData" border>
<!-- <el-table-column type="selection" width="35" align="center" /> --> <!-- <el-table-column type="selection" width="35" align="center" /> -->
<el-table-column <el-table-column type="index" label="序号" width="55" align="center" />
type="index" <el-table-column label="预案名称" align="center" prop="xm">
label="序号"
width="55"
align="center"
/>
<el-table-column label="所属小区名称" align="center" prop="xm">
<!-- <template slot-scope="scope">
{{ scope.row.mc || scope.row.cpmc }}
</template> -->
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="预案类型" align="center" prop="xb">
label="楼栋名称"
align="center"
prop="xb"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="预案描述" align="center" prop="sfzh">
label="建筑类型"
align="center"
prop="sfzh"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="编辑时间" align="center" prop="lxfs">
label="总层数"
align="center"
prop="lxfs"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="负责人" align="center" prop="zz">
label="每户层数"
align="center"
prop="zz"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="联系方式" align="center" prop="shgx">
label="安全检查记录"
align="center"
prop="shgx"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="版本号" align="center" prop="jgyy">
label="楼栋管理员"
align="center"
prop="jgyy"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="状态" align="center" prop="jgdy">
label="联系方式" <template slot-scope="scope">
align="center" <el-switch v-model="scope.row.jgdy" active-color="#13ce66" inactive-color="#ff4949">
prop="jgdy" </el-switch>
> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
@ -127,125 +76,43 @@
</el-table> </el-table>
</div> </div>
</section> </section>
<pagination <pagination :total="total" :page="form1.current" :limit="form1.size" @pagination="getPagination"
:total="total" :current-page.sync="form1.current"></pagination>
:page="form1.current"
:limit="form1.size"
@pagination="getPagination"
:current-page.sync="form1.current"
></pagination>
</div> </div>
</div> </div>
<el-dialog <el-dialog :visible.sync="showCK" width="40%" title="新增人员" @close="close" :close-on-click-modal="false"
:visible.sync="showCK" :close-on-press-escape="false">
width="40%"
title="新增人员"
@close="close"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<div> <div>
<el-form <el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="mytitle == '查看人员'">
ref="form" <el-form-item label="预案名称" size="mini" prop="xm">
:model="form" <el-input v-model="form.xm" placeholder="请输入"></el-input>
:rules="rules"
label-width="120px"
:disabled="mytitle == '查看人员'"
>
<el-form-item label="姓名" size="mini" prop="xm">
<el-input
v-model="form.xm"
placeholder="请输入姓名"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="xb"> <el-form-item label="预案类型" prop="xb">
<el-select <el-select v-model="form.xb" multiple placeholder="请选择" size="mini">
v-model="form.xb" <el-option v-for="item in options" :key="item.value" :label="item.groupName" :value="item.id">
multiple
placeholder="请选择性别"
size="mini"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.groupName"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="身份证号" size="mini" prop="sfzh"> <el-form-item label="负责人" size="mini" prop="sfzh">
<el-input <el-input v-model="form.sfzh" placeholder="请输入"></el-input>
v-model="form.sfzh"
placeholder="请输入身份证号"
></el-input>
</el-form-item>
<el-form-item label="住址" size="mini" prop="zz">
<el-input
v-model="form.zz"
placeholder="请输入住址"
></el-input>
</el-form-item>
<el-form-item label="联系方式" size="mini" prop="lxfs">
<el-input
v-model="form.lxfs"
placeholder="请输入联系方式"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="监管人员" size="mini" prop="jgyr"> <el-form-item label="联系方式" size="mini" prop="zz">
<el-input <el-input v-model="form.zz" placeholder="请输入"></el-input>
v-model="form.jgyr"
placeholder="请输入监管人员"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="社会关系" prop="shgx"> <el-form-item label="社会关系" prop="shgx">
<el-input <el-input type="textarea" resize="none" :rows="5" v-model="form.shgx" placeholder="请输入"></el-input>
type="textarea"
resize="none"
:rows="5"
v-model="form.shgx"
placeholder="请输入"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="社会关系" prop="jgyy">
<el-input
type="textarea"
resize="none"
:rows="5"
v-model="form.jgyy"
placeholder="请输入"
></el-input>
</el-form-item>
</el-form> </el-form>
</div> </div>
<span <span slot="footer" class="dialog-footer" v-show="mytitle != '查看人员'">
slot="footer" <el-button size="mini" icon="el-icon-refresh-left" @click="reset('form')"></el-button>
class="dialog-footer" <el-button size="mini" type="primary" icon="el-icon-document" @click="save('form')"></el-button>
v-show="mytitle != '查看人员'"
>
<el-button
size="mini"
icon="el-icon-refresh-left"
@click="reset('form')"
>重置</el-button
>
<el-button
size="mini"
type="primary"
icon="el-icon-document"
@click="save('form')"
>保存</el-button
>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -299,85 +166,61 @@ export default {
loading: false, loading: false,
tableData: [ tableData: [
{ {
xm:"阳光花园", xm: "火灾应急响应",
xb:"阳光楼", xb: " 应急响应",
sfzh:"高层", sfzh: "描述火灾发生时的应急措施和流程",
lxfs:"13", lxfs: " 2023-07-01",
zz:"4", zz: "张伟",
shgx:"2024-01-05", shgx: "13800138000",
jgyy:"王五", jgyy: "V1.0",
jgdy:"13911111111", jgdy: true,
},{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},{
xm:"蓝湾半岛",
xb:"蓝湾轩",
sfzh:"多层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},{
xm:"金色港湾",
xb:"金港府",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},,{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},,{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
}, {
xm: "地震疏散计划",
xb: "疏散计划",
sfzh: "地震发生时的居民疏散路线和指引",
lxfs: "2023-08-15",
zz: " 李娜",
shgx: "13900139000",
jgyy: "V2.0",
jgdy: true,
}, {
xm: "医疗急救程序",
xb: "医疗急救",
sfzh: "医疗急救的流程和注意事项",
lxfs: " 2023-09-30",
zz: " 王刚",
shgx: "13700137000",
jgyy: "V2.0",
jgdy: true,
}, {
xm: "恐怖龚击应对",
xb: "安全防范",
sfzh: "恐怖袭击发生时的应对措施",
lxfs: "2023-10-12",
zz: " 赵敏",
shgx: "13700136000",
jgyy: "V2.0",
jgdy: true,
}, {
xm: "极端天气预案",
xb: "自然灾者",
sfzh: "极端天气下的居民保护措施",
lxfs: "2023-11-05",
zz: "钱晓",
shgx: "13700132000",
jgyy: "V2.0",
jgdy: false,
},
{
xm: "极端天气预案",
xb: "自然灾者",
sfzh: "极端天气下的居民保护措施",
lxfs: "2023-12-20",
zz: "孙磊",
shgx: "13700132000",
jgyy: "V2.0",
jgdy: false,
}, },
], ],
options: [], options: [],
@ -468,7 +311,7 @@ export default {
this.form1.size = res.pageSize; this.form1.size = res.pageSize;
this.getList(); this.getList();
}, },
addAttendance() {}, addAttendance() { },
addRules() { addRules() {
this.mytitle = "新增人员"; this.mytitle = "新增人员";
this.showCK = true; this.showCK = true;
@ -492,9 +335,8 @@ export default {
); );
this.exportLoading = false; this.exportLoading = false;
}) })
.catch(() => {}); .catch(() => { });
}, },
}, },
}; };
</script> </script>

@ -1,24 +1,490 @@
<template> <template>
<div> <div class="container">
全镇道路 <el-amap ref="map" :center="center" :zoom="zoom" :zooms="zooms" element-loading-background="rgba(11, 34, 72, 0.8)"
</div> @init="init" :extra-options="{ vectorMapForeign: 'style_zh_cn' }" class="amap-demo">
<el-amap-geojson :geo="changshazhen" :polygon-options="polygonOptions" :draggable="draggable"
@click="JSONclick" />
<!-- <el-amap-geojson :geo="dian1" :draggable="draggable"
@click="JSONclick" icon="@/assets/images/icon/jiankong.png" /> -->
<!-- <el-amap-geojson :geo="dian2" :draggable="draggable"
@click="JSONclick" icon="@/assets/images/icon/jiankong.png"/> -->
<el-amap-marker v-for="(marker, index) in markers" :title="marker.name" :key="marker.id"
:position="marker.position" @click="(e) => { clickArrayMarker(marker, e) }">
<div class="markerStyles">
<div v-if="marker.name" class="marker-Text">{{ marker.name }}</div>
<img :src="marker.imgSrc" alt="">
</div>
</el-amap-marker>
<el-amap-marker v-for="(marker, index) in dian1.features" :key="index + 'dian1'"
:position="marker.geometry.coordinates" @click="(e) => { clickArrayMarker(marker, e) }">
<div class="markerStyles">
<div v-if="marker.name" class="marker-Text">{{ index }}</div>
<img src="@/assets/images/icon/jiankong.png" alt="">
</div>
</el-amap-marker>
<el-amap-marker v-for="(marker, index) in dian2.features" :key="index + 'dian2'"
:position="marker.geometry.coordinates" @click="(e) => { clickArrayMarker(marker, e) }">
<div class="markerStyles">
<div v-if="marker.name" class="marker-Text">{{ index }}</div>
<img src="@/assets/images/icon/jiankong.png" alt="">
</div>
</el-amap-marker>
<el-amap-polyline :editable="false" :visible="true" :draggable="false"
:path="myxiuanlu.features[0].geometry.coordinates[0]" :zIndex="5000" strokeColor="red" isOutline lineCap="round"
@click="(e) => { polylineclick(e, '线') }" />
<el-amap-polyline :editable="false" :visible="true" :draggable="false"
:path="roadline2.features[0].geometry.coordinates[0]" :zIndex="5000" strokeColor="green" isOutline
lineCap="round" @click="(e) => { polylineclick(e, '线') }" />
<el-amap-info-window v-if="personInfo.visible" anchor="bottom-center" :offset="[30, 0]" :closeWhenClickMap="true"
:position="personInfo.position" :visible.sync="personInfo.visible" :zIndex="900">
<div class="infowindow-box" v-if="titleShow == '人员'">
<div class="infowindow-box-title">
<div>人员信息:</div><img src="@/assets/images/icon/cuohao.png" class="mask" @click="markersClosePopup" alt="" />
</div>
<div class="infowindow-box-item">
<div class="isisbox">
<div>姓名:</div><span>张三</span>
</div>
<div class="isisbox">
<div>部门:</div><span>xxx</span>
</div>
<div class="isisbox">
<div>联系方式:</div><span>13611111111</span>
</div>
<div class="isisbox">
<div>当前位置:</div><span>xxxxxx</span>
</div>
</div>
</div>
<div class="infowindow-box" v-if="titleShow == '车辆'">
<div class="infowindow-box-title">
<div>车辆信息:</div><img src="@/assets/images/icon/cuohao.png" class="mask" @click="markersClosePopup" alt="" />
</div>
<div class="infowindow-box-item infowindow-box-itemTow">
<div class="isisbox">
<div>驾驶员姓名:</div><span>张三</span>
</div>
<div class="isisbox">
<div>联系方式:</div><span>xxx</span>
</div>
<div class="isisbox">
<div>车辆类型:</div><span>13611111111</span>
</div>
<div class="isisbox">
<div>车牌号:</div><span>xxxxxx</span>
</div>
</div>
</div>
<div class="infowindow-box" v-if="titleShow == 'Feature'">
<div class="infowindow-box-title">
<div>监控详情:</div><img src="@/assets/images/icon/cuohao.png" class="mask" @click="markersClosePopup" alt="" />
</div>
<div class="infowindow-box-item infowindow-box-itemTow">
<div class="isisbox">
<div>编组:</div><span>1</span>
</div>
<div class="isisbox">
<div>摄像头编号:</div><span>C1009</span>
</div>
<div class="isisbox">
<div>地址:</div><span>福港路-无名道路</span>
</div>
<div class="isisbox">
<div>监控视频:</div><span><img src="@/assets/images/jiankong.jpg" alt=""></span>
</div>
</div>
</div>
<div class="infowindow-box infowindow-boxBig" v-if="titleShow == '线'">
<div class="infowindow-box-title">
<div>监控详情:</div><img src="@/assets/images/icon/cuohao.png" class="mask" @click="markersClosePopup" alt="" />
</div>
<div class="infowindow-box-item infowindow-box-itemTow">
<div class="isisbox">
<div>道路名称:</div><span>福港路</span>
</div>
<div class="isisbox">
<div>摄像头数量:</div><span>5</span>
</div>
<div class="isisbox">
<div>绑定摄像头:</div><span><el-dropdown>
<span class="el-dropdown-link">
请选择摄像头<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>摄像头1</el-dropdown-item>
<el-dropdown-item>摄像头2</el-dropdown-item>
<el-dropdown-item>摄像头3</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown></span>
</div>
<div class="isisbox">
<div>视频墙:</div>
</div>
<div class="shipinqiang">
<div class="shipinqiang-box">
<img src="@/assets/images/jiankong.jpg" alt="">
<div class="shipinqiang-box-item">
<div>地址:</div><span>福港路-无名道路</span>
</div>
<div class="shipinqiang-box-item">
<div>摄像头编号:</div><span>C109</span>
</div>
</div>
<div class="shipinqiang-box">
<img src="@/assets/images/jiankong.jpg" alt="">
<div class="shipinqiang-box-item">
<div>地址:</div><span>福港路-无名道路</span>
</div>
<div class="shipinqiang-box-item">
<div>摄像头编号:</div><span>C109</span>
</div>
</div>
<div class="shipinqiang-box">
<img src="@/assets/images/jiankong.jpg" alt="">
<div class="shipinqiang-box-item">
<div>地址:</div><span>福港路-无名道路</span>
</div>
<div class="shipinqiang-box-item">
<div>摄像头编号:</div><span>C109</span>
</div>
</div>
<div class="shipinqiang-box">
<img src="@/assets/images/jiankong.jpg" alt="">
<div class="shipinqiang-box-item">
<div>地址:</div><span>福港路-无名道路</span>
</div>
<div class="shipinqiang-box-item">
<div>摄像头编号:</div><span>C109</span>
</div>
</div>
</div>
</div>
</div>
</el-amap-info-window>
</el-amap>
</div>
</template> </template>
<script> <script>
import changshazhen from "@/assets/mapjson/Chaangshazhen/changshazhen.geojson"
import myxiuanlu from "@/assets/mapjson/Chaangshazhen/myxiuanlu.geojson"
import roadline2 from "@/assets/mapjson/Chaangshazhen/road-line2.geojson"
import dian1 from "@/assets/mapjson/Chaangshazhen/road-point.geojson"
import dian2 from "@/assets/mapjson/Chaangshazhen/road-point2.geojson"
export default { export default {
name: '', name: '',
components: {}, components: {},
data () { data() {
return { return {
mytitle: "地图扎点",
zoom: 11.8,
zooms: [3, 20],
center: [121.298563, 32.451807],
map: null,
draggable: false,
visible: true,
radio: "1",
changshazhen: changshazhen,
myxiuanlu: myxiuanlu,
roadline2: roadline2,
dian1: dian1,
dian2: dian2,
polygonOptions: {
strokeColor: '#00C5EC',
fillColor: '#00AEFF'
},
options: [],
showCK: false,
rules: {
},
personInfo: {
position: [
121.20458366631492, 32.46301560935721],
info: {},
visible: true,
},
titleShow: "Feature",
markers: [
{
position: [121.183697866903292, 32.460227941215508],
id: 1,
name: "人员",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
},
{
position: [121.235712627230569, 32.447218823220901],
id: 2,
name: "车辆",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-cheliang.png")
},
{
position: [121.318413448767714, 32.411908360092688],
id: 3,
name: "车辆",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-cheliang.png")
},
{
position: [121.359751265879749, 32.39683020264299],
id: 4,
name: "人员",
content: '<i class="el-icon-user-solid bendiren"></i>',
imgSrc: require("@/assets/images/icon/A-jianguanrenyuan.png")
},
],
} }
}, },
created () { }, created() { },
mounted () { }, mounted() { },
methods: { }, methods: {
markersClosePopup() {
this.personInfo.visible = false
},
getMap() {
// bmap vue component
console.log('$refs: ', this.$refs.map.$$getInstance())
},
init(map) {
this.map = map;
// o.setMapStyle('amap://styles/darkblue')
console.log(this.map.getCenter())
console.log(this.$refs.map.$$getInstance())
},
//
click() {
alert('click map')
},
JSONclick() { },
clickArrayMarker(e) {
if (e.type) {
console.log(e);
this.personInfo.visible = true
this.personInfo.position = e.geometry.coordinates
this.personInfo.info = {}
this.titleShow = e.type
console.log(this.personInfo);
} else {
console.log(e);
this.personInfo.visible = true
this.personInfo.position = e.position
this.personInfo.info = {}
this.titleShow = e.name
}
},
polylineclick(e, type) {
console.log("线路");
this.personInfo.visible = true
this.personInfo.position = [e.lnglat.lng, e.lnglat.lat]
this.personInfo.info = {}
this.titleShow = type
}
,
},
computed: {} computed: {}
} }
</script> </script>
<style scoped lang='scss'> <style scoped lang='scss'>
.container {
position: relative;
}
.diandian {
width: 100%;
margin: 15px 0;
margin-left: 100px;
}
.infowindow-box {
width: 300px;
min-height: 100px;
color: #000000;
font-family: 'Source Han Sans CN--Bold';
background: #fff;
.infowindow-box-title {
width: 100%;
padding: 5px 10px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 16px;
border-bottom: 1px solid #ccc;
img {
width: 15px;
cursor: pointer;
}
}
.infowindow-box-item {
padding: 5px;
.isisbox {
margin: 10px 0;
display: grid;
grid-template-columns: 25% 70%;
div {
font-size: 14px;
text-align: right;
}
span {
font-size: 12px;
color: #4b4848;
img {
width: 80%;
}
}
}
}
.infowindow-box-itemTow {
.isisbox {
display: grid;
grid-template-columns: 30% 70%;
}
}
}
.infowindow-boxBig {
min-width: 500px;
min-height: 100px;
overflow: hidden;
.infowindow-box-title {
width: 100%;
padding: 5px 10px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 16px;
border-bottom: 1px solid #ccc;
img {
width: 15px;
cursor: pointer;
}
}
.infowindow-box-item {
padding: 5px;
.isisbox {
margin: 10px 0;
display: grid;
grid-template-columns: 25% 70%;
div {
font-size: 16px;
text-align: right;
margin-right: 10px;
}
span {
font-size: 14px;
color: #4b4848;
img {
width: 80%;
}
}
}
}
.infowindow-box-itemTow {
.isisbox {
display: grid;
grid-template-columns: 20% 70%;
}
}
.shipinqiang {
width: 100%;
display: grid;
grid-template-columns: 46% 46%;
grid-row-gap: 20px;
grid-column-gap: 20px;
margin-left: 10px;
.shipinqiang-box {
width: 100%;
font-size: 14px;
img {
width: 100%;
}
.shipinqiang-box-item {
margin-bottom: 5px;
width: 100%;
display: grid;
grid-template-columns: 35% 60%;
div{
text-align: right;
margin-right: 10px;
}
}
}
}
}
</style> </style>

@ -1,24 +1,346 @@
<template> <template>
<div> <div class="container">
网上演练 <div class="tabs">
</div> <div class="headerText">
</template> <div class="searchP">查询条件</div>
</div>
<div class="search-input">
<div class="inputSonBox">
<div class="texts1" style="width: 6%">演练名称:</div>
<el-input size="mini" v-model="form1.name" placeholder="请输入"></el-input>
<div class="texts1" style="width: 8%">编辑时间:</div>
<el-input size="mini" v-model="form1.sfz" placeholder="请输入"></el-input>
<div class="texts1" style="width: 8%">演练类型:</div>
<el-input size="mini" v-model="form1.lxfs" placeholder="请输入"></el-input>
<div class="searchBtn">
<el-button type="primary" size="mini" icon="el-icon-search" @click="addlist"></el-button>
<el-button size="mini" icon="el-icon-refresh-left" @click="resetTwo"></el-button>
</div>
</div>
</div>
</div>
<div class="tabsBottom">
<div class="foot-main">
<div class="headerText">
<div class="searchP searchA">预案管理列表</div>
</div>
<div class="exportBtn1">
<div class="danchunxinzeng" @click="addRules">
新增
</div>
<!-- <el-button icon="el-icon-edit-outline" size="mini" @click="exportList"
>导出</el-button
> -->
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border>
<!-- <el-table-column type="selection" width="35" align="center" /> -->
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="演练名称" align="center" prop="xm">
</el-table-column>
<el-table-column label="演练时间" align="center" prop="xb">
</el-table-column>
<el-table-column label="演练内容" align="center" prop="sfzh">
</el-table-column>
<el-table-column label="问题记录" align="center" prop="lxfs">
</el-table-column>
<el-table-column label="负责人" align="center" prop="zz">
</el-table-column>
<el-table-column label="联系方式" align="center" prop="shgx">
</el-table-column>
<el-table-column label="状态" align="center" prop="jgdy">
<template slot-scope="scope">
<div :style="scope.row.jgdy=='已完成'?'color: #3bfb01;':'color: #ff5e00;'">
{{ scope.row.jgdy }}
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<button @click="toDetail(scope.row, 0)" class="sqbtn sqbtn1">
查看
</button>
<button @click="toDetail(scope.row, 1)" class="sqbtn sqbtn2">
编辑
</button>
<button @click="delTable(scope.row)" class="sqbtn sqbtn3">
删除
</button>
<!-- <el-button size="mini" plain type="warning">编辑</el-button> -->
</template>
</el-table-column>
</el-table>
</div>
</section>
<pagination :total="total" :page="form1.current" :limit="form1.size" @pagination="getPagination"
:current-page.sync="form1.current"></pagination>
</div>
</div>
<el-dialog :visible.sync="showCK" width="40%" title="新增人员" @close="close" :close-on-click-modal="false"
:close-on-press-escape="false">
<div>
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="mytitle == '查看人员'">
<el-form-item label="演练名称" size="mini" prop="xm">
<el-input v-model="form.xm" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预案类型" prop="xb">
<el-select v-model="form.xb" multiple placeholder="请选择" size="mini">
<el-option v-for="item in options" :key="item.value" :label="item.groupName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="演练时间" size="mini" prop="sfzh">
<el-input v-model="form.sfzh" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="负责人" size="mini" prop="zz">
<el-input v-model="form.zz" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系方式" size="mini" prop="lxfs">
<el-input v-model="form.lxfs" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="演练过程" prop="shgx">
<el-input type="textarea" resize="none" :rows="5" v-model="form.shgx" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer" v-show="mytitle != '查看人员'">
<el-button size="mini" icon="el-icon-refresh-left" @click="reset('form')"></el-button>
<el-button size="mini" type="primary" icon="el-icon-document" @click="save('form')"></el-button>
</span>
</el-dialog>
</div>
</template>
<script> <script>
export default { export default {
name: '', data() {
components: {}, const startTimeAndendTime = (rule, value, callback) => {
data () { // const date1 = this.form.startTime;
// const date2 = this.form.endTime;
// const timeString = "01:07:53";
const date1 = new Date(`2000-01-01 ${this.form.startTime}`);
const date2 = new Date(`2000-01-01 ${this.form.endTime}`);
if (this.form.startTime === "" || this.form.endTime === "") {
callback(new Error("开始时间和结束时间都不能为空"));
} else if (date1 > date2) {
callback(new Error("结束时间不能小于开始时间"));
} else {
callback();
}
};
return { return {
} mytitle: "新增人员",
radio: 1,
rules: {
attendanceDescription: [
{ required: true, message: "请输入考勤规则描述", trigger: "blur" },
],
name: [
{ required: true, message: "请输入考勤规则名称", trigger: "blur" },
],
status: [{ required: true, message: "请选择状态", trigger: "change" }],
groupIdList: [
{ required: true, message: "请选择考勤组", trigger: "blur" },
],
date: [
{ required: true, validator: startTimeAndendTime, trigger: "blur" },
],
},
form: {
name: "",
attendanceDescription: "", //
status: 1,
groupIdList: [],
groupNames: "",
endTime: "", //
startTime: "", //
},
showCK: false,
loading: false,
tableData: [
{
xm: "淌防疏散演练",
xb: " 2024-09-15",
sfzh: "模拟突发火灾,组织人员疏数",
lxfs: " 个别模层疏数指示标识缺失",
zz: "张伟",
shgx: "13800138000",
jgdy: "已完成",
}, {
xm: "交通管制演练",
xb: " 2024-09-15",
sfzh: "模纵主要路段交通中断,调试交通管制方案",
lxfs: " 信号灯同步控制存在问题",
zz: "张伟",
shgx: "13800138000",
jgdy: "已完成",
}, {
xm: "应急救援演练",
xb: " 2024-09-15",
sfzh: "模拟地赛发生后的致授行动",
lxfs: " 叙援物资储备不足",
zz: "张伟",
shgx: "13800138000",
jgdy: "已完成",
}, {
xm: "电力抢修演练",
xb: " 2024-09-15",
sfzh: "模拟电网故障,清练抢修流程",
lxfs: " 叙援物资储备不足",
zz: "张伟",
shgx: "13800138000",
jgdy: "进行中",
}, {
xm: "大型活动安全保障演练",
xb: " 2024-09-15",
sfzh: "模拟大型活动期问的安全保障",
lxfs: " 数援物资储备不足",
zz: "张伟",
shgx: "13800138000",
jgdy: "进行中",
}, {
xm: "电力抢修演练",
xb: " 2024-09-15",
sfzh: "模拟电网故障,演练抢修流程",
lxfs: " 叙援物资储备不足",
zz: "张伟",
shgx: "13800138000",
jgdy: "已完成",
},
],
options: [],
total: 0,
form1: {
name: "",
current: 1,
size: 10,
},
//
tagList: [],
};
}, },
created () { }, mounted() {
mounted () { }, this.getList();
methods: { }, this.remoteMethod();
computed: {} },
} methods: {
//
addlist() {
this.getList();
},
//
resetTwo() {
this.form1 = { name: "", current: 1, size: 10 };
this.getList();
},
getList() {
this.loading = false;
},
//
save(refForm) {
},
// /
reset(formRef) {
if (this.mytitle == "新增人员") {
this.$refs[formRef].resetFields();
} else {
this.chakanxiangqing(this.form);
}
},
//
async toDetail(rew, type) {
if (type == 0) {
//
this.mytitle = "查看人员";
this.chakanxiangqing(rew);
} else if (type == 1) {
//
this.mytitle = "编辑考勤规则";
this.chakanxiangqing(rew);
}
},
delTable(rew) {
//
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//
async chakanxiangqing(rew) {
this.showCK = true;
},
remoteMethod() {
},
//
close() {
this.$refs["form"].resetFields();
this.showCK = false;
},
getPagination(res) {
this.form1.current = res.pageNum;
this.form1.size = res.pageSize;
this.getList();
},
addAttendance() { },
addRules() {
this.mytitle = "新增人员";
this.showCK = true;
},
//
exportList() {
this.$confirm("是否确认导出考勤点数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.exportLoading = true;
this.download(
"/jn/rule/export",
{
...this.form1,
},
"考勤规则" + new Date().getTime() + ".xlsx"
);
this.exportLoading = false;
})
.catch(() => { });
},
},
};
</script> </script>
<style scoped lang='scss'> <style>
</style> </style>

@ -214,7 +214,7 @@
</el-form-item> </el-form-item>
<el-form-item label="社会关系" prop="jgyy"> <el-form-item label="监管原因" prop="jgyy">
<el-input <el-input
type="textarea" type="textarea"
resize="none" resize="none"

@ -62,53 +62,48 @@
width="55" width="55"
align="center" align="center"
/> />
<el-table-column label="所属小区名称" align="center" prop="xm"> <el-table-column label="小区名称" align="center" prop="xm">
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
{{ scope.row.mc || scope.row.cpmc }} {{ scope.row.mc || scope.row.cpmc }}
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="楼栋名称" label="地址"
align="center" align="center"
prop="xb" prop="xb"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="建筑类型" label="总户口"
align="center" align="center"
prop="sfzh" prop="sfzh"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="总数" label="总人口数"
align="center" align="center"
prop="lxfs" prop="lxfs"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="每户层数" label="建成年份"
align="center" align="center"
prop="zz" prop="zz"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="安全检查记录" label="物业管理公司"
align="center" align="center"
prop="shgx" prop="shgx"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="楼栋管理员" label="物业电话"
align="center" align="center"
prop="jgyy" prop="jgyy"
> >
</el-table-column> </el-table-column>
<el-table-column
label="联系方式"
align="center"
prop="jgdy"
>
</el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
@ -140,7 +135,7 @@
<el-dialog <el-dialog
:visible.sync="showCK" :visible.sync="showCK"
width="40%" width="40%"
title="新增人员" title="新增小区信息"
@close="close" @close="close"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
@ -300,83 +295,63 @@ export default {
tableData: [ tableData: [
{ {
xm:"阳光花园", xm:"阳光花园",
xb:"阳光楼", xb:"幸福路88号",
sfzh:"高层", sfzh:"300",
lxfs:"13", lxfs:"900",
zz:"4", zz:"2010",
shgx:"2024-01-05", shgx:"阳光物业",
jgyy:"王五", jgyy:"13255698852",
jgdy:"13911111111",
},{ },{
xm:"绿茵雅苑", xm:"阳光花园",
xb:"绿茵阁", xb:"幸福路88号",
sfzh:"小高层", sfzh:"300",
lxfs:"13", lxfs:"900",
zz:"4", zz:"2010",
shgx:"2024-01-05", shgx:"阳光物业",
jgyy:"王五", jgyy:"13255698852",
jgdy:"13911111111",
},{ },{
xm:"绿茵雅苑", xm:"阳光花园",
xb:"绿茵阁", xb:"幸福路88号",
sfzh:"小高层", sfzh:"300",
lxfs:"13", lxfs:"900",
zz:"4", zz:"2010",
shgx:"2024-01-05", shgx:"阳光物业",
jgyy:"王五", jgyy:"13255698852",
jgdy:"13911111111",
},{ },{
xm:"蓝湾半岛", xm:"阳光花园",
xb:"蓝湾轩", xb:"幸福路88号",
sfzh:"多层", sfzh:"300",
lxfs:"13", lxfs:"900",
zz:"4", zz:"2010",
shgx:"2024-01-05", shgx:"阳光物业",
jgyy:"王五", jgyy:"13255698852",
jgdy:"13911111111",
},{ },{
xm:"金色港湾", xm:"阳光花园",
xb:"金港府", xb:"幸福路88号",
sfzh:"小高层", sfzh:"300",
lxfs:"13", lxfs:"900",
zz:"4", zz:"2010",
shgx:"2024-01-05", shgx:"阳光物业",
jgyy:"王五", jgyy:"13255698852",
jgdy:"13911111111",
},{ },{
xm:"绿茵雅苑", xm:"阳光花园",
xb:"绿茵阁", xb:"幸福路88号",
sfzh:"小高层", sfzh:"300",
lxfs:"13", lxfs:"900",
zz:"4", zz:"2010",
shgx:"2024-01-05", shgx:"阳光物业",
jgyy:"王五", jgyy:"13255698852",
jgdy:"13911111111",
},,{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},,{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
}, },
], ],

@ -62,53 +62,65 @@
width="55" width="55"
align="center" align="center"
/> />
<el-table-column label="所属小区名称" align="center" prop="xm"> <el-table-column label="姓名" align="center" prop="xm">
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
{{ scope.row.mc || scope.row.cpmc }} {{ scope.row.mc || scope.row.cpmc }}
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="楼栋名称" label="所属小区"
align="center" align="center"
prop="xb" prop="xb"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="建筑类型" label="楼栋名称"
align="center" align="center"
prop="sfzh" prop="sfzh"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="总层数" label="单元号"
align="center" align="center"
prop="lxfs" prop="lxfs"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="每户层数" label="联系方式"
align="center" align="center"
prop="zz" prop="zz"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="安全检查记录" label="身份证号"
align="center" align="center"
prop="shgx" prop="shgx"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="楼栋管理员" label="分色"
align="center" align="center"
prop="jgyy" prop="jgyy"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="联系方式" label="租赁/产权状态"
align="center" align="center"
prop="jgdy" prop="jgdy"
> >
</el-table-column> </el-table-column>
<el-table-column
label="入住日期"
align="center"
prop="rzrq"
>
</el-table-column>
<el-table-column
label="紧急联系人"
align="center"
prop="jjllr"
>
</el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
@ -299,84 +311,76 @@ export default {
loading: false, loading: false,
tableData: [ tableData: [
{ {
xm:"阳光花园", xm:"张伟",
xb:"阳光楼", xb:"阳光花园",
sfzh:"高层", sfzh:"阳光楼",
lxfs:"13", lxfs:"101",
zz:"4", zz:"13800138000",
shgx:"2024-01-05", shgx:"110105198001011234",
jgyy:"王五", jgyy:"绿色",
jgdy:"13911111111", jgdy:"租赁",
rzrq:"2021-06-10",
jjllr:"张强",
},{ },{
xm:"绿茵雅苑", xm:"张伟",
xb:"绿茵阁", xb:"阳光花园",
sfzh:"小高层", sfzh:"阳光楼",
lxfs:"13", lxfs:"101",
zz:"4", zz:"13800138000",
shgx:"2024-01-05", shgx:"110105198001011234",
jgyy:"王五", jgyy:"绿色",
jgdy:"13911111111", jgdy:"租赁",
rzrq:"2021-06-10",
jjllr:"张强",
},{ },{
xm:"绿茵雅苑", xm:"张伟",
xb:"绿茵阁", xb:"阳光花园",
sfzh:"小高层", sfzh:"阳光楼",
lxfs:"13", lxfs:"101",
zz:"4", zz:"13800138000",
shgx:"2024-01-05", shgx:"110105198001011234",
jgyy:"王五", jgyy:"绿色",
jgdy:"13911111111", jgdy:"租赁",
rzrq:"2021-06-10",
jjllr:"张强",
},{ },{
xm:"蓝湾半岛", xm:"张伟",
xb:"蓝湾轩", xb:"阳光花园",
sfzh:"多层", sfzh:"阳光楼",
lxfs:"13", lxfs:"101",
zz:"4", zz:"13800138000",
shgx:"2024-01-05", shgx:"110105198001011234",
jgyy:"王五", jgyy:"绿色",
jgdy:"13911111111", jgdy:"租赁",
rzrq:"2021-06-10",
jjllr:"张强",
},{ },{
xm:"金色港湾", xm:"张伟",
xb:"金港府", xb:"阳光花园",
sfzh:"小高层", sfzh:"阳光楼",
lxfs:"13", lxfs:"101",
zz:"4", zz:"13800138000",
shgx:"2024-01-05", shgx:"110105198001011234",
jgyy:"王五", jgyy:"绿色",
jgdy:"13911111111", jgdy:"租赁",
rzrq:"2021-06-10",
jjllr:"张强",
},{ },{
xm:"绿茵雅苑", xm:"张伟",
xb:"绿茵阁", xb:"阳光花园",
sfzh:"小高层", sfzh:"阳光楼",
lxfs:"13", lxfs:"101",
zz:"4", zz:"13800138000",
shgx:"2024-01-05", shgx:"110105198001011234",
jgyy:"王五", jgyy:"绿色",
jgdy:"13911111111", jgdy:"租赁",
rzrq:"2021-06-10",
},,{ jjllr:"张强",
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
},,{
xm:"绿茵雅苑",
xb:"绿茵阁",
sfzh:"小高层",
lxfs:"13",
zz:"4",
shgx:"2024-01-05",
jgyy:"王五",
jgdy:"13911111111",
}, },
], ],

@ -16,26 +16,26 @@
</div> </div>
<div class="list" @click="changeMap(1)"> <div class="list" @click="changeMap(1)">
<div class="leftbg" :class="actionMap == 1 ? 'action-map' : ''"> <div class="leftbg" :class="actionMap == 1 ? 'action-map' : ''">
<img src="@/assets/images/icon1.png" alt="" /> <img src="@/assets/images/icon/renkouzonghui.png" alt="" />
</div> </div>
<div class="rightbg" v-show="actionMap == 1"> <div class="rightbg" v-show="actionMap == 1">
<span>区域人口总汇</span> <span>重点人员总汇</span>
</div> </div>
</div> </div>
<div class="list" @click="changeMap(2)"> <div class="list" @click="changeMap(2)">
<div class="leftbg" :class="actionMap == 2 ? 'action-map' : ''"> <div class="leftbg" :class="actionMap == 2 ? 'action-map' : ''">
<img src="@/assets/images/icon2.png" alt="" /> <img src="@/assets/images/icon/zhongdianren2.png" alt="" />
</div> </div>
<div class="rightbg" v-show="actionMap == 2"> <div class="rightbg" v-show="actionMap == 2">
<span>本地人口分布</span> <span>本地重点人员</span>
</div> </div>
</div> </div>
<div class="list" @click="changeMap(3)"> <div class="list" @click="changeMap(3)">
<div class="leftbg" :class="actionMap == 3 ? 'action-map' : ''"> <div class="leftbg" :class="actionMap == 3 ? 'action-map' : ''">
<img src="@/assets/images/icon3.png" alt="" /> <img src="@/assets/images/icon/zhongdianren.png" alt="" />
</div> </div>
<div class="rightbg" v-show="actionMap == 3"> <div class="rightbg" v-show="actionMap == 3">
<span>来人口分布</span> <span>地重点人员</span>
</div> </div>
</div> </div>
</div> </div>
@ -46,7 +46,7 @@
</div> </div>
<div class="list" > <div class="list" >
<div class="leftbg" :class="'action-map'"> <div class="leftbg" :class="'action-map'">
<img src="@/assets/images/icon/a-duijiang.png" alt="" /> <img src="@/assets/images/icon/dainbingshebei.png" alt="" />
</div> </div>
<div class="rightbg"> <div class="rightbg">
<span>单兵设备</span> <span>单兵设备</span>
@ -54,7 +54,7 @@
</div> </div>
<div class="list" > <div class="list" >
<div class="leftbg" :class="'action-map'"> <div class="leftbg" :class="'action-map'">
<img src="@/assets/images/icon/a-jingcha.png" alt="" /> <img src="@/assets/images/icon/A-jianguanrenyuan.png" alt="" />
</div> </div>
<div class="rightbg"> <div class="rightbg">
<span>人员</span> <span>人员</span>
@ -62,7 +62,7 @@
</div> </div>
<div class="list" > <div class="list" >
<div class="leftbg" :class="'action-map'"> <div class="leftbg" :class="'action-map'">
<img src="@/assets/images/icon/a-iconcheliang.png" alt="" /> <img src="@/assets/images/icon/genduofuwu.png" alt="" />
</div> </div>
<div class="rightbg"> <div class="rightbg">
<span>车辆</span> <span>车辆</span>

Loading…
Cancel
Save