非法涉猎

pull/4/head
wjl61901 1 year ago
parent ac12aa52da
commit 46c1e48bd7

@ -1,3 +1,3 @@
import request from '@/utils/request' import request from '@/utils/request'
export const listHunter = (params) => request.get('/base/transitHuntersUserRecord', { params }) export const listHunter = (params) => request.get('/base/transitHuntersUserModelRecord', { params })

@ -4,3 +4,4 @@ export const listUser = (params) => request.get('/base/metaHuntersInfo', { param
export const addUser = (data) => request.post('/base/metaHuntersInfo', data) export const addUser = (data) => request.post('/base/metaHuntersInfo', data)
export const editUser = (data) => request.put('/base/metaHuntersInfo', data) export const editUser = (data) => request.put('/base/metaHuntersInfo', data)
export const delUser = (idList) => request.delete('/base/metaHuntersInfo', { params: { idList: idList.join(',') } }) export const delUser = (idList) => request.delete('/base/metaHuntersInfo', { params: { idList: idList.join(',') } })
export const getUserType = () => request.get('/system/dict/data/list', { params: { dictType: 'hunters_user_type' } })

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -13,7 +13,7 @@ export default {
}, },
methods: { methods: {
handleClose() { handleClose() {
this.back && this.$router.push(this.back) this.back ? this.$router.push(this.back) : this.$router.back()
} }
} }
} }

@ -3,8 +3,9 @@
<div class="card-item" v-for="(item, index) in rows" :key="index"> <div class="card-item" v-for="(item, index) in rows" :key="index">
<el-checkbox @change="handleChecked($event, item.id)" :key="item.id"></el-checkbox> <el-checkbox @change="handleChecked($event, item.id)" :key="item.id"></el-checkbox>
<div class="fy-center"> <div class="fy-center">
<div style="height: 14vh; width: 5vw"> <div style="height: 14vh; width: 5vw" class="f-center">
<oss-img :src="item.pic" /> <oss-img v-if="item.userPic" :src="item.userPic" />
<img v-else src="@/assets/hunting/user-default.png" />
</div> </div>
<div class="flex-1"> <div class="flex-1">
<div class="fy-center"> <div class="fy-center">
@ -19,8 +20,8 @@
</div> </div>
<div class="fy-center mt-10"> <div class="fy-center mt-10">
<img class="img-icon" src="@/assets/hunting/involved.png" /> <img class="img-icon" src="@/assets/hunting/involved.png" />
<div class="item-label">涉案类型</div> <div class="item-label">人员类型</div>
<div>{{ item.caseSituation }}</div> <div>{{ item.huntersUserTypeCn }}</div>
</div> </div>
<div class="fy-center mt-10"> <div class="fy-center mt-10">
<img class="img-icon" src="@/assets/hunting/address.png" /> <img class="img-icon" src="@/assets/hunting/address.png" />

@ -7,8 +7,10 @@
<el-form-item label="证件号码:"> <el-form-item label="证件号码:">
<el-input v-model="form.idCard"></el-input> <el-input v-model="form.idCard"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系方式:"> <el-form-item label="人员类型:">
<el-input v-model="form.phone"></el-input> <el-select v-model="form.huntersUserType">
<el-option v-for="item in userTypeOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"> </el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="登记时间:" style="width: 34vw"> <el-form-item label="登记时间:" style="width: 34vw">
<el-date-picker <el-date-picker
@ -51,7 +53,8 @@
<el-table-column label="序号" type="selection"> </el-table-column> <el-table-column label="序号" type="selection"> </el-table-column>
<el-table-column label="照片" width="120"> <el-table-column label="照片" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<oss-img :src="scope.row.pic" /> <oss-img v-if="scope.row.userPic" :src="scope.row.userPic" />
<img v-else src="@/assets/hunting/user-default.png" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="hunterName" label="姓名" width="150"> </el-table-column> <el-table-column prop="hunterName" label="姓名" width="150"> </el-table-column>
@ -60,7 +63,7 @@
<div style="color: #66b1ff; cursor: pointer" @click="toDetail(scope.row.idCard)">{{ scope.row.idCard }}</div> <div style="color: #66b1ff; cursor: pointer" @click="toDetail(scope.row.idCard)">{{ scope.row.idCard }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="phone" label="联系方式" width="150"> </el-table-column> <el-table-column prop="huntersUserTypeCn" label="人员类型" width="150"> </el-table-column>
<el-table-column prop="habitationAddress" label="现住详址" width="300"> </el-table-column> <el-table-column prop="habitationAddress" label="现住详址" width="300"> </el-table-column>
<el-table-column prop="houseHoldAddress" label="户籍详址" width="400"> </el-table-column> <el-table-column prop="houseHoldAddress" label="户籍详址" width="400"> </el-table-column>
<el-table-column prop="registrationTime" label="登记时间" width="200"> </el-table-column> <el-table-column prop="registrationTime" label="登记时间" width="200"> </el-table-column>
@ -78,7 +81,7 @@ import ImgButton from '@/components/button/ImgButton.vue'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import OssImg from '@/components/img/OssImg.vue' import OssImg from '@/components/img/OssImg.vue'
import CardTable from './components/CardTable.vue' import CardTable from './components/CardTable.vue'
import { listUser } from '@/api/hunting/user' import { listUser, getUserType } from '@/api/hunting/user'
export default { export default {
name: 'HuntingControl', name: 'HuntingControl',
components: { components: {
@ -97,11 +100,13 @@ export default {
total: 0, total: 0,
selections: [], selections: [],
listType: 1, listType: 1,
dateTimeRange: [] dateTimeRange: [],
userTypeOptions: []
} }
}, },
created() { created() {
this.handleQuery({ pageSize: 8, pageNum: 1 }) this.handleQuery({ pageSize: 8, pageNum: 1 })
this.queryUserTypeOptions()
}, },
mounted() {}, mounted() {},
methods: { methods: {
@ -118,6 +123,10 @@ export default {
this.total = res.total this.total = res.total
this.rows = res.rows this.rows = res.rows
}, },
async queryUserTypeOptions() {
const res = await getUserType()
this.userTypeOptions = res.rows
},
handleReset() { handleReset() {
this.dateTimeRange = [] this.dateTimeRange = []
for (let key in this.form) { for (let key in this.form) {

@ -15,7 +15,7 @@
<!-- 占位 --> <!-- 占位 -->
<div class="num_blank"></div> <div class="num_blank"></div>
<div class="num_text">非法狩猎人员</div> <div class="num_text">非法狩猎人员</div>
<div class="num_value">{{ importpeople.ffslryCount }}</div> <div class="num_value">{{ importpeople.count }}</div>
</div> </div>
<div class="echart_box" id="charts"></div> <div class="echart_box" id="charts"></div>
</div> </div>
@ -27,8 +27,8 @@
<div class="color_box" :style="{ background: colors[index] }"></div> <div class="color_box" :style="{ background: colors[index] }"></div>
</div> </div>
<!-- 图例文字 --> <!-- 图例文字 -->
<div class="num_text">{{ item.name }}</div> <div class="num_text line-1" style="width: 100%" :title="item.name">{{ item.name }}</div>
<div class="num_proportion">{{ item.value }}</div> <div class="num_proportion">{{ item.percentage }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -38,12 +38,21 @@
<li v-for="item in roll_list" :key="item.id"> <li v-for="item in roll_list" :key="item.id">
<div class="roll_item_left"> <div class="roll_item_left">
<div class="roll_item_pic"> <div class="roll_item_pic">
<oss-img :src="item.userPic" alt="" /> <oss-img v-if="item.userPic" :src="item.userPic" alt="" />
<img v-else src="@/assets/hunting/user-default.png" />
</div> </div>
</div> </div>
<div class="roll_item_right"> <div class="roll_item_right">
<!-- // TODO --> <!-- // TODO -->
<div class="person_type one_type">非法狩猎</div> <div v-if="item.huntersUserType == '2'" class="person_type one_type">
{{ item.huntersUserTypeCn }}
</div>
<div v-if="item.huntersUserType == '1'" class="person_type two_type">
{{ item.huntersUserTypeCn }}
</div>
<div v-if="item.huntersUserType == '3'" class="person_type three_type">
{{ item.huntersUserTypeCn }}
</div>
<!-- 信息展示 --> <!-- 信息展示 -->
<div class="right_text"> <div class="right_text">
<div class="right_text_item">人员姓名 :</div> <div class="right_text_item">人员姓名 :</div>
@ -53,7 +62,7 @@
<div class="right_text_item">现住地址 :</div> <div class="right_text_item">现住地址 :</div>
</div> </div>
<div class="right_value"> <div class="right_value">
<div class="right_value_item">{{ item.userName }}</div> <div class="right_value_item">{{ item.hunterName }}</div>
<div class="right_value_item">{{ item.phone }}</div> <div class="right_value_item">{{ item.phone }}</div>
<div class="right_value_item" :title="item.idCard"> <div class="right_value_item" :title="item.idCard">
{{ item.idCard }} {{ item.idCard }}
@ -99,7 +108,7 @@ export default {
}, },
mounted() { mounted() {
this.init_charts() this.init_charts()
this.timer = setInterval(this.scrollAnimate, 1500) this.timer = setInterval(this.scrollAnimate, 5000)
}, },
created() { created() {
this.onkeyPersonnelAPI() this.onkeyPersonnelAPI()
@ -116,12 +125,10 @@ export default {
}) })
const data = [] const data = []
const count = this.importpeople.ffslryCount
for (let key in this.importpeople) { for (let key in this.importpeople) {
if (key != 'ffslryCount') { if (key != 'count') {
for (let name in this.importpeople[key]) { const item = this.importpeople[key]
data.push({ value: Math.round((count * parseInt(this.importpeople[key][name])) / 100), name: key }) data.push(item)
}
} }
} }
this.seriesData = data this.seriesData = data
@ -376,13 +383,13 @@ export default {
display: flex; display: flex;
.person_type { .person_type {
position: absolute; position: absolute;
width: 3vw; width: 5vw;
height: 2vh;
top: 0px; top: 0px;
right: 0px; right: 0px;
color: #061122; color: #061122;
text-align: center; text-align: center;
line-height: 2vh; white-space: normal;
font-size: 10px;
} }
.one_type { .one_type {
background: #ffc426; background: #ffc426;

@ -14,7 +14,7 @@
<li v-for="item in roll_list" :key="item.id"> <li v-for="item in roll_list" :key="item.id">
<div class="roll_item_left"> <div class="roll_item_left">
<div class="roll_item_pic"> <div class="roll_item_pic">
<img class="oss-img" :src="item.platePic" alt="" /> <img class="oss-img" :src="item.globalPic" alt="" />
</div> </div>
</div> </div>
<div class="roll_item_right"> <div class="roll_item_right">

@ -14,26 +14,37 @@
<li v-for="item in roll_list" :key="item.id"> <li v-for="item in roll_list" :key="item.id">
<div class="roll_item_left"> <div class="roll_item_left">
<div class="roll_item_pic"> <div class="roll_item_pic">
<img class="oss-img" :src="item.platePic" alt="" /> <oss-img v-if="item.userPic" :src="item.userPic" alt="" />
<img v-else src="@/assets/hunting/user-default.png" />
</div> </div>
</div> </div>
<div class="roll_item_right"> <div class="roll_item_right">
<!-- // TODO -->
<div v-if="item.huntersUserType == '2'" class="person_type one_type">
{{ item.huntersUserTypeCn }}
</div>
<div v-if="item.huntersUserType == '1'" class="person_type two_type">
{{ item.huntersUserTypeCn }}
</div>
<div v-if="item.huntersUserType == '3'" class="person_type three_type">
{{ item.huntersUserTypeCn }}
</div>
<!-- 信息展示 --> <!-- 信息展示 -->
<div class="right_text"> <div class="right_text">
<div class="right_text_item">人员姓名 :</div> <div class="right_text_item">人员姓名 :</div>
<div class="right_text_item">证件号码 :</div> <div class="right_text_item">证件号码 :</div>
<div class="right_text_item">抓拍时间 :</div> <div class="right_text_item">预警时间 :</div>
<div class="right_text_item">滞留时间 :</div> <div class="right_text_item">预警级别 :</div>
<div class="right_text_item">抓拍地址 :</div> <div class="right_text_item">滞留时长 :</div>
</div> </div>
<div class="right_value"> <div class="right_value">
<div class="right_value_item">{{ item.userName }}</div> <div class="right_value_item">{{ item.huntersUserName }}</div>
<div class="right_value_item">{{ item.idCard }}</div> <div class="right_value_item">{{ item.huntersUserIdCard }}</div>
<div class="right_value_item"> <div class="right_value_item">
{{ item.passTime }} {{ item.warningTime }}
</div> </div>
<div class="right_value_item" :title="item.duration"> <div class="right_value_item" :title="item.duration">
{{ item.duration }} {{ item.warningLevelCn }}
</div> </div>
<div class="right_value_item" :title="item.deviceAddress"> <div class="right_value_item" :title="item.deviceAddress">
{{ item.deviceAddress }} {{ item.deviceAddress }}
@ -65,7 +76,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.timer = setInterval(this.scrollAnimate, 1500) this.timer = setInterval(this.scrollAnimate, 3000)
}, },
created() { created() {
this.onkeyPersonnelAPI() this.onkeyPersonnelAPI()
@ -272,13 +283,13 @@ export default {
display: flex; display: flex;
.person_type { .person_type {
position: absolute; position: absolute;
width: 3vw; width: 5vw;
height: 2vh;
top: 0px; top: 0px;
right: 0px; right: 0px;
color: #061122; color: #061122;
text-align: center; text-align: center;
line-height: 2vh; white-space:normal;
font-size: 10px;
} }
.one_type { .one_type {
background: #ffc426; background: #ffc426;

@ -1,9 +1,10 @@
<template> <template>
<card class="hunting-hunter" back="/hunting/control"> <card class="hunting-hunter" >
<div class="fy-center"> <div class="fy-center">
<div class="avatar"> <div class="avatar">
<div class="flex-1"> <div class="flex-1">
<oss-img :src="hunter.pic" /> <oss-img v-if="hunter.userPic" :src="hunter.userPic" />
<img v-else src="@/assets/hunting/user-default.png" />
</div> </div>
<div class="avatar_name">{{ hunter.hunterName }}</div> <div class="avatar_name">{{ hunter.hunterName }}</div>
</div> </div>
@ -14,7 +15,7 @@
<label class="fy-center">性别</label> <label class="fy-center">性别</label>
<div class="fy-center">{{ hunter.sexCn }}</div> <div class="fy-center">{{ hunter.sexCn }}</div>
<label class="fy-center">涉案类型</label> <label class="fy-center">涉案类型</label>
<div class="fy-center">{{ hunter.caseSituation }}</div> <div class="fy-center">{{ hunter.huntersUserTypeCn }}</div>
</div> </div>
<div class="fy-center row"> <div class="fy-center row">
<label class="fy-center">联系方式</label> <label class="fy-center">联系方式</label>

@ -1,78 +0,0 @@
<template>
<div class="detail">
<div class="flex-1">
<img class="oss-img" :src="data.pic" />
</div>
<div class="flex-col w-400 ml-12 overflow-auto">
<div class="fy-center grid">
<div v-for="(item, index) in data.albums" :key="index" class="flex-1 h-144">
<img class="oss-img" :src="item" />
</div>
</div>
<div class="mt-8">
<div v-for="(column, index) in data.columns" :key="index" class="fy-center row">
<div class="label fy-center">{{ column.label }}</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ column.content }}</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
data: Object
}
}
</script>
<style lang="scss" scoped>
.oss-img {
width: 100%;
height: 100%;
object-fit: cover;
}
.detail {
color: white;
width: 100%;
overflow: hidden;
display: flex;
.row {
margin-top: 0.4vh;
}
.h-144 {
height: 14.4vh;
}
.w-400 {
width: 20vw;
}
.ml-12 {
margin-left: 0.6vw;
}
.overflow-auto {
overflow: auto;
}
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 5px;
}
.label {
width: 6vw;
height: 44px;
background-color: #093979;
margin-right: 1px;
padding-left: 12px;
}
.content {
padding-left: 12px;
height: 44px;
line-height: 44px;
background-color: rgba(9, 57, 121, 0.3);
&.even {
background-color: rgba(9, 57, 121, 0.5);
}
}
}
</style>

@ -0,0 +1,152 @@
<template>
<div class="detail">
<div>
<div class="box">
<div class="fy-center" style="justify-content: space-between">
<div>首次抓拍</div>
<div>{{ data.firstPassTimeCn }}</div>
</div>
<div class="fy-center">
<img class="oss-img" :src="data.firstGlobalPic" />
<img class="oss-img" :src="data.firstUserPic" />
</div>
<div class="fy-center">
<div>经过位置</div>
<div>{{ data.firstDeviceAddress }}</div>
</div>
</div>
<div class="box" style="margin-top: 20px">
<div class="fy-center" style="justify-content: space-between">
<div>末次抓拍</div>
<div>{{ data.endPassTimeCn }}</div>
</div>
<div class="fy-center">
<img class="oss-img" :src="data.endGlobalPic" />
<img class="oss-img" :src="data.endUserPic" />
</div>
<div class="fy-center">
<div>经过位置</div>
<div>{{ data.endDeviceAddress }}</div>
</div>
</div>
</div>
<div class="flex-col w-530 ml-12 overflow-auto">
<div class="fy-center row">
<div class="label fy-center">姓名</div>
<div class="content line-1">{{ data.huntersUserName }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">证件号码</div>
<div class="content line-1">{{ data.huntersUserIdCard }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">人员类型</div>
<div class="content line-1">{{ data.huntersUserTypeCn }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">预警级别</div>
<div class="content line-1">{{ data.warningLevelCn }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">抓拍次数</div>
<div class="content line-1">{{ data.captureFrequencyCn }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">预警时间</div>
<div class="content line-1">{{ data.warningTime }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">滞留时间</div>
<div class="content line-1"></div>
</div>
<div class="fy-center row flex-1">
<div class="label fy-center">预警内容</div>
<div class="content flex-1">{{ data.warningContent }}</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
data: Object
}
}
</script>
<style lang="scss" scoped>
.oss-img {
object-fit: cover;
}
.detail {
color: white;
overflow: hidden;
display: flex;
.box {
padding: 20px 20px 10px 20px;
background: rgba(0, 156, 254, 0.15);
border: 1px solid #22628b;
box-sizing: border-box;
img {
width: 432px;
height: 200px;
margin: 10px 0;
&:last-child {
width: 182px;
margin-left: 20px;
}
}
}
.row {
margin-top: 0.4vh;
display: flex;
&:first-child {
margin-top: 0;
}
&:last-child {
.label,
.content {
height: 100%;
}
}
}
.h-144 {
height: 14.4vh;
}
.w-530 {
width: 530px;
}
.ml-12 {
margin-left: 0.6vw;
}
.overflow-auto {
overflow: auto;
}
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 5px;
}
.label {
width: 6vw;
height: 44px;
background-color: #093979;
margin-right: 1px;
padding-left: 12px;
}
.content {
padding-left: 12px;
height: 44px;
line-height: 44px;
background-color: rgba(9, 57, 121, 0.3);
&.even {
background-color: rgba(9, 57, 121, 0.5);
}
}
}
</style>

@ -0,0 +1,99 @@
<template>
<div class="detail">
<div class="flex-1">
<img class="oss-img" :src="data.pic" />
</div>
<div class="flex-col w-400 ml-12 overflow-auto">
<div class="fy-center row">
<div class="label fy-center">车牌号码</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.plateNo }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">姓名</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.ownerName }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">证件号码</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.idCard }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">联系方式</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.phone }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">过车时间</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.passTime }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">经过位置</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.deviceAddress }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">经度</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.longitude }}</div>
</div>
<div class="fy-center row">
<div class="label fy-center">纬度</div>
<div class="content line-1" :class="{ even: index % 2 == 0 }">{{ data.latitude }}</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
data: Object
}
}
</script>
<style lang="scss" scoped>
.oss-img {
width: 100%;
height: 100%;
object-fit: cover;
}
.detail {
color: white;
width: 100%;
overflow: hidden;
display: flex;
.row {
margin-top: 0.4vh;
}
.h-144 {
height: 14.4vh;
}
.w-400 {
width: 20vw;
}
.ml-12 {
margin-left: 0.6vw;
}
.overflow-auto {
overflow: auto;
}
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 5px;
}
.label {
width: 6vw;
height: 44px;
background-color: #093979;
margin-right: 1px;
padding-left: 12px;
}
.content {
padding-left: 12px;
height: 44px;
line-height: 44px;
background-color: rgba(9, 57, 121, 0.3);
&.even {
background-color: rgba(9, 57, 121, 0.5);
}
}
}
</style>

@ -42,20 +42,20 @@
</div> </div>
<el-table v-if="listType == 0" :data="rows" style="width: 100%"> <el-table v-if="listType == 0" :data="rows" style="width: 100%">
<el-table-column label="序号" type="index"> </el-table-column> <el-table-column label="序号" type="index"> </el-table-column>
<el-table-column prop="userName" label="姓名" width="150"> </el-table-column> <el-table-column prop="huntersUserName" label="姓名" width="150"> </el-table-column>
<el-table-column prop="idCard" label="证件号码" width="200"> <el-table-column prop="huntersUserIdCard" label="证件号码" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="color: #66b1ff; cursor: pointer" @click="toDetail(scope.row.idCard)">{{ scope.row.idCard }}</div> <div style="color: #66b1ff; cursor: pointer" @click="toDetail(scope.row.huntersUserIdCard)">{{ scope.row.huntersUserIdCard }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" label="预警类型" width="150"> 非法狩猎 </el-table-column> <el-table-column prop="huntersUserTypeCn" label="人员类型" width="150"> </el-table-column>
<el-table-column prop="" label="预警内容" width="400"> <el-table-column prop="warningLevelCn" label="预警级别" width="150"> </el-table-column>
<el-table-column prop="warningTime" label="预警时间" width="200"> </el-table-column>
<el-table-column prop="warningContent" label="预警内容" width="400">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.deviceAddress">{{ scope.row.deviceAddress }}</div> <div style="width: 100%" class="line-1" :title="scope.row.warningContent">{{ scope.row.warningContent }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" label="派出所" width="250"> 临海双洋</el-table-column>
<el-table-column prop="passTime" label="预警时间" width="200"> </el-table-column>
<el-table-column prop="passTime" label="签收反馈状态" width="200"> <el-table-column prop="passTime" label="签收反馈状态" width="200">
<el-tag type="danger" effect="dark">未签收</el-tag> <el-tag type="danger" effect="dark">未签收</el-tag>
</el-table-column> </el-table-column>
@ -69,20 +69,21 @@
<el-table-column label="序号" type="index"> </el-table-column> <el-table-column label="序号" type="index"> </el-table-column>
<el-table-column prop="ownerName" label="姓名" width="150"> </el-table-column> <el-table-column prop="ownerName" label="姓名" width="150"> </el-table-column>
<el-table-column v-if="listType == 1" prop="plateNo" label="车牌号码" width="100"> </el-table-column> <el-table-column v-if="listType == 1" prop="plateNo" label="车牌号码" width="100"> </el-table-column>
<el-table-column prop="idCard" label="证件号码" width="200"> <el-table-column prop="idCard" label="证件号码" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="color: #66b1ff; cursor: pointer" @click="toDetail(scope.row.idCard)">{{ scope.row.idCard }}</div> <div style="color: #66b1ff; cursor: pointer" @click="toDetail(scope.row.idCard)">{{ scope.row.idCard }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" label="预警类型" width="150"> 非法狩猎 </el-table-column> <el-table-column prop="" label="预警类型" width="150"> 非法狩猎 </el-table-column>
<el-table-column prop="" label="预警内容" width="400"> <el-table-column prop="" label="预警内容" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.deviceAddress">{{ scope.row.deviceAddress }}</div> <div v-if="scope.row.deviceAddress">{{ scope.row.deviceAddress }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" label="派出所" width="250"> 临海双洋</el-table-column> <el-table-column prop="" label="派出所" width="120"> 临海双洋</el-table-column>
<el-table-column prop="passTime" label="活动时间" width="200"> </el-table-column>
<el-table-column prop="passTime" label="预警时间" width="200"> </el-table-column> <el-table-column prop="passTime" label="预警时间" width="200"> </el-table-column>
<el-table-column prop="" label="签收反馈状态" width="200"> <el-table-column prop="" label="签收反馈状态" width="150">
<el-tag type="danger" effect="dark">未签收</el-tag> <el-tag type="danger" effect="dark">未签收</el-tag>
</el-table-column> </el-table-column>
<el-table-column prop="address" label="操作"> <el-table-column prop="address" label="操作">
@ -92,8 +93,9 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination style="margin-top: 2vh" :total="total" @change="handleQuery"></pagination> <pagination style="margin-top: 2vh" :total="total" @change="handleQuery"></pagination>
<el-dialog title="详情" :visible.sync="dialogVisible" width="70vw"> <el-dialog title="详情" :visible.sync="dialogVisible" width="1286px">
<detail :data="detail"></detail> <UserDetail v-if="listType == 0" :data="detail"></UserDetail>
<VehicleDetail v-else :data="detail"></VehicleDetail>
</el-dialog> </el-dialog>
</card> </card>
</template> </template>
@ -104,14 +106,16 @@ import ImgButton from '@/components/button/ImgButton.vue'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import { listVehicle } from '@/api/hunting/vehicle' import { listVehicle } from '@/api/hunting/vehicle'
import { listHunter } from '@/api/hunting/hunter' import { listHunter } from '@/api/hunting/hunter'
import Detail from './Detail.vue' import VehicleDetail from './VehicleDetail.vue'
import UserDetail from './UserDetail.vue'
export default { export default {
name: 'HuntingWarning', name: 'HuntingWarning',
components: { components: {
Card, Card,
ImgButton, ImgButton,
Pagination, Pagination,
Detail VehicleDetail,
UserDetail
}, },
data() { data() {
return { return {
@ -161,36 +165,7 @@ export default {
}, },
handleDetail(row) { handleDetail(row) {
this.dialogVisible = true this.dialogVisible = true
if (this.listType == 0) { this.detail = row
this.detail = {
pic: row.globalPic,
albums: [row.platePic],
columns: [
{ label: '姓名', content: row.userName },
{ label: '证件号码', content: row.idCard },
{ label: '联系方式', content: row.phone },
{ label: '抓拍时间', content: row.passTime },
{ label: '经过位置', content: row.deviceAddress },
{ label: '经度', content: row.longitude },
{ label: '纬度', content: row.latitude }
]
}
} else {
this.detail = {
pic: row.globalPic,
columns: [
{ label: '车牌号码', content: row.plateNo },
{ label: '姓名', content: row.ownerName },
{ label: '证件号码', content: row.idCard },
{ label: '联系方式', content: row.phone },
{ label: '过车时间', content: row.passTime },
{ label: '经过位置', content: row.deviceAddress },
{ label: '经度', content: row.longitude },
{ label: '纬度', content: row.latitude }
]
}
}
console.log(row)
}, },
toDetail(idCard) { toDetail(idCard) {
this.$router.push({ name: 'huntingHunter', query: { idCard } }) this.$router.push({ name: 'huntingHunter', query: { idCard } })

Loading…
Cancel
Save