Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
chenchenzai 2022-11-21 19:12:05 +08:00
commit ffbf434cd7
11 changed files with 613 additions and 326 deletions

View File

@ -7,117 +7,122 @@
*/
var _global = {}
var CONFIGITEM = {
// version: 'qingdao', //
version: 'xihaian', // 西
//version: 'dev', //
// version: 'zhanTingDev', // dev (2022-09-13:)
// version: 'qingdao', //
//version: 'frp', // 穿
vNum: 'v0.8.15.2',
configData: {
//
qingdao: {
loginInfo: {
//
loginIp: '10.132.191.3',
loginPort: '8320',
userName: 'ynszdz',
userPwd: 'Admin@123',
},
backUrl: 'http://15.72.183.90:8001',
previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
apiURL: 'http://15.72.183.90:8000/ucs-admin',
websocketURL: '15.72.183.90:8000/ucs-admin',
// websocketURL: '192.168.124.233:8888/ucs-admin',
POI_URL: 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
//
zhanTingDev: {
loginInfo: {
//
loginIp: '10.132.191.3',
loginPort: '8320',
userName: 'ynszdz',
userPwd: 'Admin@123',
},
backUrl: 'http://15.72.183.90:8001',
previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//apiURL: 'http://15.72.183.90:8000/ucs-admin',
// websocketURL: '10.16.5.146:8888/ucs-admin', //
websocketURL: '10.18.1.99:8889/ucs-admin',
// websocketURL: '10.16.5.35:8888/ucs-admin',
POI_URL: 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
// 西
xihaian: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
//
camreaInfo: {
// cameraUrl: '10.134.135.92:9537', // 西-
// cameraUrl: '10.134.135.9:9537', // 西-
cameraUrl: '192.168.124.236:9537', // vpn
},
backUrl: 'http://10.134.135.9:9797',
previewUrl: 'http://10.134.135.9:9796/',
apiURL: 'http://10.134.135.92:8888/renren-admin',
// websocketURL: '10.134.135.9:8888/ucs-admin', //
websocketURL: '10.134.135.92:8888/ucs-admin', //
//websocketURL: '192.168.124.254:8888/ucs-admin', // -
// websocketURL: '10.18.1.99:8889/ucs-admin', //
POI_URL: 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
//
dev: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
backUrl: 'http://localhost:8001',
previewUrl: 'http://192.168.124.243:9796/',
apiURL: 'http://192.168.124.243:8888/ucs-admin',
websocketURL: '192.168.124.243:8888/ucs-admin',
// websocketURL: '10.18.1.99:8889/ucs-admin',
POI_URL: 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
//
test: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
backUrl: 'http://192.168.124.243:9797',
previewUrl: 'http://192.168.124.243:9796/',
websocketURL: '192.168.124.243:8888/ucs-admin',
POI_URL: 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
// 穿
frp: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
backUrl: 'http://124.222.94.39:9797',
previewUrl: 'http://124.222.94.39:9796/',
websocketURL: '124.222.94.39:8888/ucs-admin',
POI_URL: 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
// version: 'qingdao', //
// version: 'xihaian', // 西
version: 'dev', //
// version: 'zhanTingDev', // dev (2022-09-13:)
// version: 'qingdao', //
//version: 'frp', // 穿
vNum: 'v0.8.15.2',
configData: {
//
qingdao: {
loginInfo: {
//
loginIp: '10.132.191.3',
loginPort: '8320',
userName: 'ynszdz',
userPwd: 'Admin@123',
},
backUrl: 'http://15.72.183.90:8001',
previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
apiURL: 'http://15.72.183.90:8000/ucs-admin',
websocketURL: '15.72.183.90:8000/ucs-admin',
// websocketURL: '192.168.124.233:8888/ucs-admin',
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
//
zhanTingDev: {
loginInfo: {
//
loginIp: '10.132.191.3',
loginPort: '8320',
userName: 'ynszdz',
userPwd: 'Admin@123',
},
backUrl: 'http://15.72.183.90:8001',
previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//apiURL: 'http://15.72.183.90:8000/ucs-admin',
// websocketURL: '10.16.5.146:8888/ucs-admin', //
websocketURL: '10.18.1.99:8889/ucs-admin',
// websocketURL: '10.16.5.35:8888/ucs-admin',
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
// 西
xihaian: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
//
camreaInfo: {
// cameraUrl: '10.134.135.92:9537', // 西-
// cameraUrl: '10.134.135.9:9537', // 西-
cameraUrl: '192.168.124.236:9537', // vpn
},
backUrl: 'http://10.134.135.9:9797',
previewUrl: 'http://10.134.135.9:9796/',
// websocketURL: '10.134.135.9:8888/ucs-admin', //
// websocketURL: '10.134.135.92:8888/ucs-admin', //
websocketURL: '192.168.124.254:8888/ucs-admin', // -
// websocketURL: '10.18.1.99:8889/ucs-admin', //
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
//
dev: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
backUrl: 'http://localhost:8001',
previewUrl: 'http://192.168.124.243:9796/',
apiURL: 'http://192.168.124.243:8888/ucs-admin',
websocketURL: '192.168.124.243:8888/ucs-admin',
// websocketURL: '10.18.1.99:8889/ucs-admin',
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
//
test: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
backUrl: 'http://192.168.124.243:9797',
previewUrl: 'http://192.168.124.243:9796/',
websocketURL: '192.168.124.243:8888/ucs-admin',
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
// 穿
frp: {
loginInfo: {
//
loginIp: '',
loginPort: '',
userName: '',
userPwd: '',
},
backUrl: 'http://124.222.94.39:9797',
previewUrl: 'http://124.222.94.39:9796/',
websocketURL: '124.222.94.39:8888/ucs-admin',
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
},
},
}
_global.config = CONFIGITEM.configData[CONFIGITEM.version]

View File

@ -113,6 +113,15 @@ export function getPlaceType() {
config2
)
}
//西
export function CameraConditionPlaceType(params) {
return axios.post(
'http://10.134.135.92:9537/data_service/getCamera/CameraConditionPlaceType',
params,
config2
)
}
// 西-- (10.134.135.92:9537)
let _cameraUrl =
(_global &&

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-04-01 19:19:40
* @LastEditors: Light
* @LastEditTime: 2022-11-19 14:53:29
* @LastEditTime: 2022-11-21 16:35:03
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -556,3 +556,19 @@ export function willApplyCameraBatchDelete(data) {
data,
})
}
// 西
export function getApplyCameraListXha(data) {
return request({
url: '/processForm/tabilityapplication/getApplyCameraList',
method: 'get',
data,
})
}
// 西
export function delApplyCamera(data) {
return request({
url: '/processForm/tabilityapplication/delApplyCamera',
method: 'post',
data,
})
}

View File

@ -143,6 +143,7 @@
show-size-changer
show-less-items
show-quick-jumper
:showTotal="total => `共 ${total} 项`"
:total="resourceTotal"
:page-size-options="pageSizeOptions"
@change="pageChange"
@ -2065,7 +2066,7 @@
background: rgba(245, 243, 243, 0.3);
.details-pageconetent-left {
max-height: 6.9rem;
max-height: 8.5rem;
position: absolute;
width: 2.5rem;
top: 0.17rem;

View File

@ -237,6 +237,7 @@
</div>
</template>
<script>
import { willApplyCameraBatchDelete } from '@/api/home'
import AbilityToApplyFor from './AbilityToApplyFor.vue'
import HomeHeader from '@/views/home/components/header'
import { reactive, ref, watch, onBeforeUnmount } from 'vue'
@ -656,6 +657,7 @@
if (item.note1 && typeof item.note1 == 'string') {
item.note1 = JSON.parse(item.note1)
}
let delArr = []
item.note1 &&
item.note1.map((jcss) => {
if (!jcss) {
@ -678,31 +680,39 @@
}
// 西
if (isXiHaiAn.value) {
// _itemData.resourceId = jcss.channelId
_itemData.managementUnitName = jcss.managementUnitName
_itemData.cameraPointTypeName = jcss.cameraPointTypeName
delArr.push(jcss.id)
}
obj.system.push(_itemData)
})
submitApply(obj).then((res) => {
// applySuccess.value = false
console.log('摄像头申请================>', res)
if (item.id) {
sgcDel({ ids: [item.id] }).then((res1) => {
if (res1.data.msg === 'success') {
if (falgNum == 0 && sxt) {
message.success('申请提交成功,请到消息中心查看!')
sxt = false
}
mybus.emit('getSgcNum')
if (res.data.msg == 'success') {
if (delArr.length > 0) {
willApplyCameraBatchDelete(delArr).then((res) => {
jumpToDetailsPageconetent()
})
} else if (item.id) {
sgcDel({ ids: [item.id] }).then((res1) => {
if (res1.data.msg === 'success') {
if (falgNum == 0 && sxt) {
message.success('申请提交成功,请到消息中心查看!')
sxt = false
}
mybus.emit('getSgcNum')
jumpToDetailsPageconetent()
}
})
} else {
if (res.data.msg === 'success' && falgNum == 0 && sxt) {
message.success('申请提交成功,请到消息中心查看!')
sxt = false
}
})
} else {
if (res.data.msg === 'success' && falgNum == 0 && sxt) {
message.success('申请提交成功,请到消息中心查看!')
sxt = false
jumpToDetailsPageconetent()
}
jumpToDetailsPageconetent()
}
})
}
@ -956,130 +966,130 @@
}
</script>
<style scoped lang="less">
#apply-container {
// background-color: #f5f8fc;
height: 100%;
width: 100%;
margin: 0.8rem auto 0;
display: flex;
justify-content: space-between;
aside {
width: 282px;
height: 96%;
overflow-y: auto;
background-color: #fff;
margin: 1% 0 3%;
}
article {
width: 1090px;
height: 99%;
overflow-y: auto;
background-color: #fff;
margin: 1% auto;
}
.form-container {
padding: 20px 20px 30px 20px;
.title {
font-size: 20px;
color: #000;
font-weight: bold;
margin-bottom: 20px;
}
}
.base-info {
#apply-container {
// background-color: #f5f8fc;
height: 100%;
width: 100%;
margin: 0.8rem auto 0;
display: flex;
justify-content: space-between;
}
.flex-row-start {
justify-content: flex-start;
align-items: center;
}
aside {
width: 282px;
height: 96%;
overflow-y: auto;
background-color: #fff;
margin: 1% 0 3%;
}
:deep(.ant-form-item-label) {
label {
color: #666;
font-size: 16px;
article {
width: 1090px;
height: 99%;
overflow-y: auto;
background-color: #fff;
margin: 1% auto;
}
&::after {
content: '';
.form-container {
padding: 20px 20px 30px 20px;
.title {
font-size: 20px;
color: #000;
font-weight: bold;
margin-bottom: 20px;
}
}
}
:deep(.ant-form-item-required) {
&::before {
font-size: 8px;
margin-right: 10px;
.base-info {
display: flex;
justify-content: space-between;
}
.flex-row-start {
justify-content: flex-start;
align-items: center;
}
:deep(.ant-form-item-label) {
label {
color: #666;
font-size: 16px;
&::after {
content: '';
}
}
}
:deep(.ant-form-item-required) {
&::before {
font-size: 8px;
margin-right: 10px;
}
}
:deep(.ant-input) {
border: 1px solid #e0e0e0;
border-radius: 6px;
}
.success {
div {
width: 100px;
margin: 80px auto 40px;
}
text-align: center;
font-size: 20px;
font-weight: bold;
color: #000;
}
}
:deep(.ant-input) {
border: 1px solid #e0e0e0;
.applicationScene {
:deep(.ant-select-selector) {
overflow-x: scroll;
}
:deep(.ant-select-selection-overflow) {
flex-wrap: nowrap;
}
}
textarea {
resize: none;
font-size: 14px;
}
.bottom-btn {
display: flex;
justify-content: center;
// position: fixed;
}
.cancel-apply {
width: 80px;
height: 38px;
margin-right: 20px;
background: #e1edfa;
color: #0087ff;
font-size: 14px;
border-radius: 6px;
}
.success {
div {
width: 100px;
margin: 80px auto 40px;
}
border: none;
padding: 0;
text-align: center;
font-size: 20px;
font-weight: bold;
color: #000;
}
}
.applicationScene {
:deep(.ant-select-selector) {
overflow-x: scroll;
}
:deep(.ant-select-selection-overflow) {
flex-wrap: nowrap;
.confirm-apply {
width: 80px;
height: 38px;
background: #0087ff;
color: #fff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
}
}
textarea {
resize: none;
font-size: 14px;
}
.bottom-btn {
display: flex;
justify-content: center;
// position: fixed;
}
.cancel-apply {
width: 80px;
height: 38px;
margin-right: 20px;
background: #e1edfa;
color: #0087ff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
}
.confirm-apply {
width: 80px;
height: 38px;
background: #0087ff;
color: #fff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
}
</style>

View File

@ -40,6 +40,10 @@
:pageSize="5"
:total="props.resourceTotal"
show-less-items
show-size-changer
show-quick-jumper
:page-size-options="pageSizeOptions"
:showTotal="total => `共 ${total} 项`"
@change="handleCurrentChange"
:showSizeChanger="false"
/>
@ -56,6 +60,7 @@
resourceList: { type: Array, default: null },
resourceTotal: { type: String, default: '' },
})
const pageSizeOptions = ref(['5', '10', '20', '50'])
console.log('props==========>', props)
//
const zskState = reactive({

View File

@ -108,13 +108,17 @@
<div v-for="(item, index) in biaoqianList">
<div class="titleName">{{ item.placeTypeName }}</div>
<div class="glgkmk" v-for="(child, index) in item.children">
<div
<a-tooltip placement="topLeft">
<template #title>{{ child.placeTypeName }}</template>
<div
class="glgknum"
:class="{ active: child.placeTypeCode == chooseId }"
@click="tabClick(child.placeTypeCode)"
>
{{ child.placeTypeName }}
</div>
</a-tooltip>
</div>
</div>
</div>
@ -123,7 +127,8 @@
<script>
import { defineComponent, ref, watch } from 'vue'
import { getCameraAllOrgan } from '@/api/videoSurveillance'
import { getCameraInfoByAreaId } from '@/api/file'
import { getCameraInfoByAreaId ,getPlaceType} from '@/api/file'
import mybus from '@/myplugins/mybus'
import { useRouter } from 'vue-router'
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
@ -148,6 +153,9 @@ export default defineComponent({
//
const tabClick = (id) => {
chooseId.value = id
let placeTypeCode =[]
placeTypeCode.push(id)
mybus.emit('CameraConditionPlaceType', placeTypeCode)
}
//
const init = async () => {
@ -159,6 +167,7 @@ export default defineComponent({
select = ''
}
if (select == '基础设施') {
let res = {}
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
res = await getCameraAllOrgan({ parentId: 'S4NbecfYB1DBH8HNULGS34' })
@ -169,24 +178,10 @@ export default defineComponent({
})
}
treeData.value = (res.data && res.data.data) || []
let tabs={}
tabs = await getPlaceType()
//=========
biaoqianList.value = [
{
placeTypeName: '政府机构',
children: [
{ placeTypeName: '行政中心', placeTypeCode: '1' },
{ placeTypeName: '行政中心', placeTypeCode: '12' },
{ placeTypeName: '行政中心', placeTypeCode: '14' },
],
},
{
placeTypeName: '政府机构1',
children: [
{ placeTypeName: '行政中心', placeTypeCode: '2' },
{ placeTypeName: '行政中心', placeTypeCode: '3' },
],
},
]
biaoqianList.value =(tabs.data && tabs.data.data) || []
//
if (res.data && res.data.data.length == 1) {
showBottom(treeData.value[0])
@ -196,12 +191,16 @@ export default defineComponent({
mybus.on('getDeptList', () => {
init()
})
mybus.on('clearChoose', () => {
selectId.value=''
chooseId.value=''
})
const onSelect = async (item, val, child) => {
let res = {}
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
res = await getCameraAllOrgan({ parentId: val.id })
} else {
 mybus.emit('getCameraByParentId', val.id)
// 西
res = await getCameraInfoByAreaId({ areaId: val.id })
}
@ -274,7 +273,7 @@ export default defineComponent({
},
beforeUnmount() {
mybus.off('getDeptList')
console.log('getDeptList销毁~~~~~~~~~~~~~~~~~~~')
mybus.off('clearChoose')
},
components: {
UpOutlined,
@ -285,24 +284,33 @@ export default defineComponent({
<style lang="less" scoped>
.titleName {
font-size: 18px;
color: #1e1a1a;
color: #7e7676;
margin-bottom: 10px;
padding-left: 10px;
border-left: 6px solid #1296db;
}
.glgkmk {
cursor: pointer;
text-align: center;
text-align: left;
position: relative;
display: inline-block;
width: 30%;
width: 45%;
margin-bottom: 10px;
margin-left: 10px;
.glgknum {
// width: 100px;
// color: #000000;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
.active {
color: #0058e1;
}
.glgknum {
// color: #000000;
}
}
.glgkmk :hover {

View File

@ -2,7 +2,7 @@
* @Author: Light
* @Date: 2022-11-18 11:53:43
* @LastEditors: Light
* @LastEditTime: 2022-11-19 17:15:15
* @LastEditTime: 2022-11-21 17:51:38
* @Description: 告诉大家这是什么
-->
<template>
@ -17,30 +17,46 @@
{{ item.channelName }}
</a-tooltip>
</div>
<a-button type="link" danger @click="delWillApplyCamera(item.id)">
移出
</a-button>
<a-popconfirm
:title="'是否移出' + item.channelName + '?'"
ok-text="是"
cancel-text="否"
@confirm="delWillApplyCamera(item.id)"
>
<a-button type="link" danger>移出</a-button>
</a-popconfirm>
</a-list-item>
</template>
<template #header>
<div class="title">待申请列表</div>
</template>
<template #footer>
<a-button type="primary">一键申请</a-button>
<a-button type="primary" @click="apply">一键申请</a-button>
</template>
</a-list>
</div>
<div class="bottom">
<a-list size="small" bordered :data-source="data">
<a-list size="small" bordered :data-source="dataList.requested">
<template #renderItem="{ item }">
<a-list-item>
<div class="name">
<a-tooltip>
<template #title>{{ item }}</template>
{{ item }}
<template #title>{{ item.cameraInfo.channelName }}</template>
{{ item.cameraInfo.channelName }}
</a-tooltip>
</div>
<a-button type="link" danger>删除</a-button>
<a-popconfirm
v-if="item.approveStatus == '通过'"
:title="'是否删除' + item.cameraInfo.channelName + '?'"
ok-text="是"
cancel-text="否"
@confirm="deleteApply(item)"
>
<a-button type="link" danger>删除</a-button>
</a-popconfirm>
<a-button v-else type="link" danger @click="deleteApply(item)">
删除
</a-button>
</a-list-item>
</template>
<template #header>
@ -49,20 +65,63 @@
</a-list>
</div>
</div>
<a-modal
:width="800"
v-model:visible="visible"
title="删除申请"
@ok="handleOk"
@cancel="clear"
>
<p>本次申请的摄像头包含以下{{ showArr.length }}个摄像头是否删除申请</p>
<a-table :columns="columns" :data-source="showArr">
<template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'name'">
<a>{{ text }}</a>
</template>
</template>
</a-table>
</a-modal>
</template>
<script setup>
import {
willApplyCameraSelect,
willApplyCameraBatchInsert,
willApplyCameraBatchDelete,
getApplyCameraListXha,
delApplyCamera,
} from '@/api/home'
import { endProcess } from '@/api/personalCenter.js'
import { onBeforeUnmount, reactive, ref } from 'vue'
import { message } from 'ant-design-vue'
import mybus from '@/myplugins/mybus'
import { useRouter } from 'vue-router'
const dataList = reactive({ toBeApplied: [], requested: [] })
//
const addWacFlag = ref(true)
const delWacFlag = ref(true)
const delApply = ref(true)
const visible = ref(false)
const instanceId = ref('')
const showArr = ref({})
const columns = [
{
title: '名称',
dataIndex: 'channelName',
key: 'channelName',
},
{
title: '地址',
dataIndex: 'managementUnitName',
key: 'managementUnitName',
},
{
title: '类型',
dataIndex: 'cameraPointTypeName',
key: 'cameraPointTypeName',
ellipsis: true,
},
]
const router = useRouter()
const delWillApplyCamera = (id) => {
console.log('删除===>', id)
if (delWacFlag.value) {
@ -77,6 +136,86 @@
})
}
}
const apply = () => {
let obj = {
arr: [
{
checked: true,
delFlag: 0,
id: '1593084734789996545',
idtCameraChannel: '790582098133127168',
loading: false,
note1: '',
resourceId: '1522550195055828996',
resourceName: '摄像头列表',
type: '基础设施',
},
],
deptName: '西海岸新区工业和信息化局',
deptId: '732560225344761856',
}
dataList.toBeApplied.map((val) => {
val.type = '基础设施'
val.delFlag = 0
val.resourceId = val.channelId
val.resourceName = val.channelName
// obj.arr.push(val)
})
obj.arr[0].note1 = JSON.stringify(dataList.toBeApplied)
if (obj.arr.length > 0) {
console.log('一键申请===================>', obj)
localStorage.setItem('applyList', JSON.stringify([obj]))
router.push({
path: '/apply',
})
}
}
//
const deleteApply = (item) => {
console.log('删除========>', item)
if (delApply.value) {
delApply.value = false
switch (item.approveStatus) {
case '审核中':
visible.value = true
instanceId.value = item.instanceId
showArr.value = []
dataList.requested.map((val) => {
if (val.instanceId == item.instanceId) {
showArr.value.push(val.cameraInfo)
}
})
break
case '通过':
delApplyCamera([item.id]).then((res) => {
if (res.data.code == 0) {
message.success('删除成功')
} else {
message.warning('删除失败')
}
initApply()
})
break
}
}
}
const handleOk = () => {
endProcess({ instanceId: instanceId.value }).then((res) => {
if (res.data.code == 0) {
message.success('删除成功')
} else {
message.warning('删除失败')
}
initApply()
visible.value = false
})
}
const clear = () => {
instanceId.value = ''
showArr.value = []
visible.value = false
delApply.value = true
}
const init = () => {
willApplyCameraSelect().then((res) => {
if (res.data.code == 0) {
@ -89,10 +228,25 @@
}
})
}
const initApply = () => {
getApplyCameraListXha().then((res) => {
if (res.data.code == 0) {
res.data.data.map((val) => {
val.cameraInfo = JSON.parse(val.cameraInfo)
})
dataList.requested = res.data.data
delApply.value = true
} else {
message.warning('查询失败')
dataList.requested = []
}
})
}
init()
initApply()
mybus.on('selectCamera', (obj) => {
// 10
if (dataList.toBeApplied.length + dataList.requested.length > 10) {
if (dataList.toBeApplied.length + dataList.requested.length >= 10) {
message.warning('最多只能申请10个摄像头')
return
}
@ -127,19 +281,6 @@
onBeforeUnmount(() => {
mybus.off('selectCamera')
})
const data = [
'Racing car sprays burning fuel into crowd.',
'Japanese princess to wed commoner.',
'Australian walks 100km after outback crash.',
'Man charged over missing wedding girl.',
'Los Angeles battles huge wildfires.',
'Racing car sprays burning fuel into crowd.',
'Japanese princess to wed commoner.',
'Australian walks 100km after outback crash.',
'Man charged over missing wedding girl.',
'Los Angeles battles huge wildfires.',
]
</script>
<style lang="less" scoped>
.infrastructureApplication {
@ -168,10 +309,12 @@
justify-content: flex-end;
}
:deep(.ant-list-items) {
width: 2.5rem;
height: 2.45rem;
overflow-y: scroll;
}
:deep(.ant-spin-nested-loading) {
width: 2.5rem;
height: 2.45rem;
}
}

View File

@ -128,16 +128,21 @@
预约
</a-button>
</div>
<!-- <div class="flex-space" style="justify-content: center;display:flex;height:40px;align-items:center;"> -->
<a-pagination
v-model:current="roomPage"
v-model:pageSize="roomLimit"
show-quick-jumper
:showTotal="total => `共 ${total} 项`"
:total="roomTotal"
:page-size-options="pageSizeOptions"
@change="onRoomChange"
@showSizeChange="onShowSizeChange"
show-size-changer
/>
<!-- <el-button @click="onOkChange" class="queding" >确认</el-button>
</div> -->
</div>
<div v-if="roomResult" style="display: grid">
<a-table
@ -1440,10 +1445,14 @@
}
}
//
const onRoomChange = (pageNumber) => {
const onRoomChange = () => {
roomPage.value = pageNumber
searchData()
}
const onOkChange = () => {
current.value = roomPage.value
searchData()
}
const onShowSizeChange = (current, pageSize) => {
roomLimit.value = pageSize
searchData()
@ -2471,6 +2480,16 @@
})
</script>
<style lang="less" scoped>
.queding{
margin-left: 16px;
cursor: pointer;
background: #0058e1;
color: #ffffff;
width: 56px;
border-radius: 2px;
border: 1px #0058e1 solid;
margin-top: 17px;
}
.infrastructrueBox {
padding: 0.2rem;
background: #ffffff;
@ -2803,13 +2822,11 @@
}
}
:deep(.ant-pagination) {
float: right;
}
:deep(.ant-pagination) {
text-align: end;
}
// :deep(.ant-pagination) {
// text-align: end;
// }
}
:deep(.ant-table-thead > tr > th) {
color: #5580f7 !important;

View File

@ -2579,7 +2579,7 @@
}
:deep(.ant-pagination) {
float: right;
float: center;
}
:deep(.ant-pagination) {

View File

@ -35,18 +35,30 @@
<el-option label="兴趣点" value="1" />
<el-option label="点位" value="2" />
</el-select>
<el-input
<el-autocomplete
v-if="addressType==1"
v-model="address"
:fetch-suggestions="querySearch"
clearable
class="input-with-select"
placeholder="请输入关键字"
@select="
(addressItem) => {
selectedAddress(addressItem, i)
}
"
/>
<!-- <el-input
v-model="address"
placeholder="请输入关键词"
class="input-with-select"
@keyup.enter="handleEnter"
>
</el-input>
</el-input> -->
<el-autocomplete
v-else-if="addressType==2"
v-model="address"
placeholder="请输入地址"
placeholder="请输入关键字"
:fetch-suggestions="
(queryString, cb) => {
searchAddressByKeyWord(queryString, cb, i)
@ -108,7 +120,7 @@ import { ElMessage } from 'element-plus'
selectByLabelName,
selectByChannelName,
} from '@/api/videoSurveillance'
import { getCameraByCondition,getListForPOI } from '@/api/file'
import { getCameraByCondition,getListForPOI,CameraConditionPlaceType } from '@/api/file'
import mybus from '@/myplugins/mybus'
import * as turf from '@turf/turf';
@ -149,6 +161,7 @@ import { ElMessage } from 'element-plus'
type: 0, //012
},
pointAllData:[],
restaurants:[],
}
},
components: {
@ -205,10 +218,63 @@ import { ElMessage } from 'element-plus'
mybus.on('cameraDataOnMap', (data) => {
this.addResourceTomap('videoMap', data)
})
//
mybus.off('CameraConditionPlaceType')
mybus.on('CameraConditionPlaceType', (data) => {
this.queryCameraConditionPlace(data)
})
},
methods: { //
handleEnter(){
methods: {
//
queryCameraConditionPlace(data) {
let params = {
placeTypeCode: data,
pageNum: "1",
pageSize: 30000,
}
CameraConditionPlaceType(params).then((res) => {
this.addResourceTomap('videoMap', res.data.data)
})
},
//
querySearch (queryString, cb) {
console.log('querySearch',queryString, cb,this.restaurants)
if(queryString){
getListForPOI({keywords:queryString}).then(res => {
if(res.data.data.rows[0]){
res.data.data.rows.map( val =>{
let arr = val.location.split(',')
val.location = {y:arr[1],x:arr[0]}
val.value = val.name
})
const results =res.data.data.rows
cb(results)
}else{
ElMessage({
showClose: true,
message: '未查询到兴趣点!',
type: 'warning',
})
}
})
}else{
cb([])
}
// const results = queryString
// ? this.restaurants.filter(createFilter(queryString))
// : this.restaurants
// call callback function to return suggestions
},
createFilter (queryString) {
return (restaurant) => {
return (
restaurant.toLowerCase().indexOf(queryString.toLowerCase()) === 0
)
}
},
//
handleEnter(queryString, cb){
console.log('查询',this.address,this.addressType)
if(this.address){
getListForPOI({keywords:this.address}).then(res => {
@ -233,6 +299,8 @@ import { ElMessage } from 'element-plus'
}
},
selectedAddress(item, index) {
mybus.emit('clearChoose')
this.getCameraAllPage()
//
console.log('跳转', item)
const latLng = {
@ -380,9 +448,9 @@ import { ElMessage } from 'element-plus'
//
initAddressMatchService() {
this.L = window.L || {}
this.addressMatchService = L.supermap.addressMatchService(
this.addressMatchUrl
)
// this.addressMatchService = L.supermap.addressMatchService(
// this.addressMatchUrl
// )
},
areaMode(){
//
@ -446,28 +514,32 @@ import { ElMessage } from 'element-plus'
},
//
async searchAddressByKeyWord(queryString, cb, indexX) {
this.disasterPointIndex = indexX
/* const res = await bdPlaceSearch({ searchKey: queryString });
if (res.data) {
for(var i=0;i<res.data.length;i++){
res.data[i].value = res.data[i].name;
}
cb(res.data);
}*/
const match = function (obj) {
//console.log('ooooo',obj);
obj.result.map((item) => {
item.value = item.address
console.log('querySearch',queryString, cb,this.restaurants)
if(queryString){
getCameraByCondition({
pageNum: 1,
pageSize: 10,
regionId: "70be8c5b664f4bcf869d82f2e8335051",
type: "0",
name:queryString,
}).then(res => {
if(res.data.data[0]){
res.data.data.map( val =>{
val.location = {y:val.gpsY,x:val.gpsX}
val.value = val.channelName
})
const results = res.data.data
cb(results)
}else{
ElMessage({
showClose: true,
message: '未查询到点位!',
type: 'warning',
})
}
})
cb(obj.result)
}
if (!queryString) {
}else{
cb([])
} else {
var geoCodeParam = new SuperMap.GeoCodingParameter({
address: queryString,
})
this.addressMatchService.code(geoCodeParam, match)
}
},
getCameraAllPage(page) {
@ -558,6 +630,7 @@ import { ElMessage } from 'element-plus'
}
},
handleSelect(item) {
console.log('1111',item)
this.hiMapFun.clearAllLayers()
//
let arr = item.detail.location.split(',')