Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev
This commit is contained in:
commit
ffbf434cd7
|
@ -7,117 +7,122 @@
|
||||||
*/
|
*/
|
||||||
var _global = {}
|
var _global = {}
|
||||||
var CONFIGITEM = {
|
var CONFIGITEM = {
|
||||||
// version: 'qingdao', //青岛
|
// version: 'qingdao', //青岛
|
||||||
version: 'xihaian', // 西海岸
|
// version: 'xihaian', // 西海岸
|
||||||
//version: 'dev', // 开发
|
version: 'dev', // 开发
|
||||||
// version: 'zhanTingDev', // 展厅dev (2022-09-13:姜永超让添加)
|
// version: 'zhanTingDev', // 展厅dev (2022-09-13:姜永超让添加)
|
||||||
// version: 'qingdao', // 测试
|
// version: 'qingdao', // 测试
|
||||||
//version: 'frp', // 内网穿透
|
//version: 'frp', // 内网穿透
|
||||||
vNum: 'v0.8.15.2',
|
vNum: 'v0.8.15.2',
|
||||||
configData: {
|
configData: {
|
||||||
// 青岛市大数据局
|
// 青岛市大数据局
|
||||||
qingdao: {
|
qingdao: {
|
||||||
loginInfo: {
|
loginInfo: {
|
||||||
// 视频平台登陆信息
|
// 视频平台登陆信息
|
||||||
loginIp: '10.132.191.3',
|
loginIp: '10.132.191.3',
|
||||||
loginPort: '8320',
|
loginPort: '8320',
|
||||||
userName: 'ynszdz',
|
userName: 'ynszdz',
|
||||||
userPwd: 'Admin@123',
|
userPwd: 'Admin@123',
|
||||||
},
|
},
|
||||||
backUrl: 'http://15.72.183.90:8001',
|
backUrl: 'http://15.72.183.90:8001',
|
||||||
previewUrl: 'http://15.72.183.90:7008/',
|
previewUrl: 'http://15.72.183.90:7008/',
|
||||||
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
|
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
|
||||||
apiURL: 'http://15.72.183.90:8000/ucs-admin',
|
apiURL: 'http://15.72.183.90:8000/ucs-admin',
|
||||||
websocketURL: '15.72.183.90:8000/ucs-admin',
|
websocketURL: '15.72.183.90:8000/ucs-admin',
|
||||||
// websocketURL: '192.168.124.233:8888/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',
|
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',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
// 研发展厅
|
||||||
|
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]
|
_global.config = CONFIGITEM.configData[CONFIGITEM.version]
|
|
@ -113,6 +113,15 @@ export function getPlaceType() {
|
||||||
config2
|
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)
|
// 西海岸--获取摄像头列表的后台地址 (测试环境地址:10.134.135.92:9537)
|
||||||
let _cameraUrl =
|
let _cameraUrl =
|
||||||
(_global &&
|
(_global &&
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: hisense.wuhongjian
|
* @Author: hisense.wuhongjian
|
||||||
* @Date: 2022-04-01 19:19:40
|
* @Date: 2022-04-01 19:19:40
|
||||||
* @LastEditors: Light
|
* @LastEditors: Light
|
||||||
* @LastEditTime: 2022-11-19 14:53:29
|
* @LastEditTime: 2022-11-21 16:35:03
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
@ -556,3 +556,19 @@ export function willApplyCameraBatchDelete(data) {
|
||||||
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,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -143,6 +143,7 @@
|
||||||
show-size-changer
|
show-size-changer
|
||||||
show-less-items
|
show-less-items
|
||||||
show-quick-jumper
|
show-quick-jumper
|
||||||
|
:showTotal="total => `共 ${total} 项`"
|
||||||
:total="resourceTotal"
|
:total="resourceTotal"
|
||||||
:page-size-options="pageSizeOptions"
|
:page-size-options="pageSizeOptions"
|
||||||
@change="pageChange"
|
@change="pageChange"
|
||||||
|
@ -2065,7 +2066,7 @@
|
||||||
background: rgba(245, 243, 243, 0.3);
|
background: rgba(245, 243, 243, 0.3);
|
||||||
|
|
||||||
.details-pageconetent-left {
|
.details-pageconetent-left {
|
||||||
max-height: 6.9rem;
|
max-height: 8.5rem;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 2.5rem;
|
width: 2.5rem;
|
||||||
top: 0.17rem;
|
top: 0.17rem;
|
||||||
|
|
|
@ -237,6 +237,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import { willApplyCameraBatchDelete } from '@/api/home'
|
||||||
import AbilityToApplyFor from './AbilityToApplyFor.vue'
|
import AbilityToApplyFor from './AbilityToApplyFor.vue'
|
||||||
import HomeHeader from '@/views/home/components/header'
|
import HomeHeader from '@/views/home/components/header'
|
||||||
import { reactive, ref, watch, onBeforeUnmount } from 'vue'
|
import { reactive, ref, watch, onBeforeUnmount } from 'vue'
|
||||||
|
@ -656,6 +657,7 @@
|
||||||
if (item.note1 && typeof item.note1 == 'string') {
|
if (item.note1 && typeof item.note1 == 'string') {
|
||||||
item.note1 = JSON.parse(item.note1)
|
item.note1 = JSON.parse(item.note1)
|
||||||
}
|
}
|
||||||
|
let delArr = []
|
||||||
item.note1 &&
|
item.note1 &&
|
||||||
item.note1.map((jcss) => {
|
item.note1.map((jcss) => {
|
||||||
if (!jcss) {
|
if (!jcss) {
|
||||||
|
@ -678,31 +680,39 @@
|
||||||
}
|
}
|
||||||
// 西海岸
|
// 西海岸
|
||||||
if (isXiHaiAn.value) {
|
if (isXiHaiAn.value) {
|
||||||
|
// _itemData.resourceId = jcss.channelId
|
||||||
_itemData.managementUnitName = jcss.managementUnitName
|
_itemData.managementUnitName = jcss.managementUnitName
|
||||||
_itemData.cameraPointTypeName = jcss.cameraPointTypeName
|
_itemData.cameraPointTypeName = jcss.cameraPointTypeName
|
||||||
|
delArr.push(jcss.id)
|
||||||
}
|
}
|
||||||
obj.system.push(_itemData)
|
obj.system.push(_itemData)
|
||||||
})
|
})
|
||||||
submitApply(obj).then((res) => {
|
submitApply(obj).then((res) => {
|
||||||
// applySuccess.value = false
|
// applySuccess.value = false
|
||||||
console.log('摄像头申请================>', res)
|
console.log('摄像头申请================>', res)
|
||||||
if (item.id) {
|
if (res.data.msg == 'success') {
|
||||||
sgcDel({ ids: [item.id] }).then((res1) => {
|
if (delArr.length > 0) {
|
||||||
if (res1.data.msg === 'success') {
|
willApplyCameraBatchDelete(delArr).then((res) => {
|
||||||
if (falgNum == 0 && sxt) {
|
|
||||||
message.success('申请提交成功,请到消息中心查看!')
|
|
||||||
sxt = false
|
|
||||||
}
|
|
||||||
mybus.emit('getSgcNum')
|
|
||||||
jumpToDetailsPageconetent()
|
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
|
||||||
}
|
}
|
||||||
})
|
jumpToDetailsPageconetent()
|
||||||
} else {
|
|
||||||
if (res.data.msg === 'success' && falgNum == 0 && sxt) {
|
|
||||||
message.success('申请提交成功,请到消息中心查看!')
|
|
||||||
sxt = false
|
|
||||||
}
|
}
|
||||||
jumpToDetailsPageconetent()
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -956,130 +966,130 @@
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
#apply-container {
|
#apply-container {
|
||||||
// background-color: #f5f8fc;
|
// background-color: #f5f8fc;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0.8rem auto 0;
|
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 {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
|
||||||
|
|
||||||
.flex-row-start {
|
aside {
|
||||||
justify-content: flex-start;
|
width: 282px;
|
||||||
align-items: center;
|
height: 96%;
|
||||||
}
|
overflow-y: auto;
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 1% 0 3%;
|
||||||
|
}
|
||||||
|
|
||||||
:deep(.ant-form-item-label) {
|
article {
|
||||||
label {
|
width: 1090px;
|
||||||
color: #666;
|
height: 99%;
|
||||||
font-size: 16px;
|
overflow-y: auto;
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 1% auto;
|
||||||
|
}
|
||||||
|
|
||||||
&::after {
|
.form-container {
|
||||||
content: '';
|
padding: 20px 20px 30px 20px;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #000;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.ant-form-item-required) {
|
.base-info {
|
||||||
&::before {
|
display: flex;
|
||||||
font-size: 8px;
|
justify-content: space-between;
|
||||||
margin-right: 10px;
|
}
|
||||||
|
|
||||||
|
.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) {
|
.applicationScene {
|
||||||
border: 1px solid #e0e0e0;
|
: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;
|
border-radius: 6px;
|
||||||
}
|
border: none;
|
||||||
|
padding: 0;
|
||||||
.success {
|
|
||||||
div {
|
|
||||||
width: 100px;
|
|
||||||
margin: 80px auto 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.applicationScene {
|
|
||||||
:deep(.ant-select-selector) {
|
|
||||||
overflow-x: scroll;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-select-selection-overflow) {
|
.confirm-apply {
|
||||||
flex-wrap: nowrap;
|
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>
|
</style>
|
||||||
|
|
|
@ -40,6 +40,10 @@
|
||||||
:pageSize="5"
|
:pageSize="5"
|
||||||
:total="props.resourceTotal"
|
:total="props.resourceTotal"
|
||||||
show-less-items
|
show-less-items
|
||||||
|
show-size-changer
|
||||||
|
show-quick-jumper
|
||||||
|
:page-size-options="pageSizeOptions"
|
||||||
|
:showTotal="total => `共 ${total} 项`"
|
||||||
@change="handleCurrentChange"
|
@change="handleCurrentChange"
|
||||||
:showSizeChanger="false"
|
:showSizeChanger="false"
|
||||||
/>
|
/>
|
||||||
|
@ -56,6 +60,7 @@
|
||||||
resourceList: { type: Array, default: null },
|
resourceList: { type: Array, default: null },
|
||||||
resourceTotal: { type: String, default: '' },
|
resourceTotal: { type: String, default: '' },
|
||||||
})
|
})
|
||||||
|
const pageSizeOptions = ref(['5', '10', '20', '50'])
|
||||||
console.log('props==========>', props)
|
console.log('props==========>', props)
|
||||||
// 知识库
|
// 知识库
|
||||||
const zskState = reactive({
|
const zskState = reactive({
|
||||||
|
|
|
@ -108,13 +108,17 @@
|
||||||
<div v-for="(item, index) in biaoqianList">
|
<div v-for="(item, index) in biaoqianList">
|
||||||
<div class="titleName">{{ item.placeTypeName }}</div>
|
<div class="titleName">{{ item.placeTypeName }}</div>
|
||||||
<div class="glgkmk" v-for="(child, index) in item.children">
|
<div class="glgkmk" v-for="(child, index) in item.children">
|
||||||
<div
|
<a-tooltip placement="topLeft">
|
||||||
|
<template #title>{{ child.placeTypeName }}</template>
|
||||||
|
<div
|
||||||
class="glgknum"
|
class="glgknum"
|
||||||
:class="{ active: child.placeTypeCode == chooseId }"
|
:class="{ active: child.placeTypeCode == chooseId }"
|
||||||
@click="tabClick(child.placeTypeCode)"
|
@click="tabClick(child.placeTypeCode)"
|
||||||
>
|
>
|
||||||
{{ child.placeTypeName }}
|
{{ child.placeTypeName }}
|
||||||
</div>
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -123,7 +127,8 @@
|
||||||
<script>
|
<script>
|
||||||
import { defineComponent, ref, watch } from 'vue'
|
import { defineComponent, ref, watch } from 'vue'
|
||||||
import { getCameraAllOrgan } from '@/api/videoSurveillance'
|
import { getCameraAllOrgan } from '@/api/videoSurveillance'
|
||||||
import { getCameraInfoByAreaId } from '@/api/file'
|
|
||||||
|
import { getCameraInfoByAreaId ,getPlaceType} from '@/api/file'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
||||||
|
@ -148,6 +153,9 @@ export default defineComponent({
|
||||||
//选择标签内容
|
//选择标签内容
|
||||||
const tabClick = (id) => {
|
const tabClick = (id) => {
|
||||||
chooseId.value = id
|
chooseId.value = id
|
||||||
|
let placeTypeCode =[]
|
||||||
|
placeTypeCode.push(id)
|
||||||
|
mybus.emit('CameraConditionPlaceType', placeTypeCode)
|
||||||
}
|
}
|
||||||
// 初始化
|
// 初始化
|
||||||
const init = async () => {
|
const init = async () => {
|
||||||
|
@ -159,6 +167,7 @@ export default defineComponent({
|
||||||
select = ''
|
select = ''
|
||||||
}
|
}
|
||||||
if (select == '基础设施') {
|
if (select == '基础设施') {
|
||||||
|
|
||||||
let res = {}
|
let res = {}
|
||||||
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
||||||
res = await getCameraAllOrgan({ parentId: 'S4NbecfYB1DBH8HNULGS34' })
|
res = await getCameraAllOrgan({ parentId: 'S4NbecfYB1DBH8HNULGS34' })
|
||||||
|
@ -169,24 +178,10 @@ export default defineComponent({
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
treeData.value = (res.data && res.data.data) || []
|
treeData.value = (res.data && res.data.data) || []
|
||||||
|
let tabs={}
|
||||||
|
tabs = await getPlaceType()
|
||||||
//获取标签列表=========
|
//获取标签列表=========
|
||||||
biaoqianList.value = [
|
biaoqianList.value =(tabs.data && tabs.data.data) || []
|
||||||
{
|
|
||||||
placeTypeName: '政府机构',
|
|
||||||
children: [
|
|
||||||
{ placeTypeName: '行政中心', placeTypeCode: '1' },
|
|
||||||
{ placeTypeName: '行政中心', placeTypeCode: '12' },
|
|
||||||
{ placeTypeName: '行政中心', placeTypeCode: '14' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
placeTypeName: '政府机构1',
|
|
||||||
children: [
|
|
||||||
{ placeTypeName: '行政中心', placeTypeCode: '2' },
|
|
||||||
{ placeTypeName: '行政中心', placeTypeCode: '3' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
// 只有一个,默认展开到二级菜单
|
// 只有一个,默认展开到二级菜单
|
||||||
if (res.data && res.data.data.length == 1) {
|
if (res.data && res.data.data.length == 1) {
|
||||||
showBottom(treeData.value[0])
|
showBottom(treeData.value[0])
|
||||||
|
@ -196,12 +191,16 @@ export default defineComponent({
|
||||||
mybus.on('getDeptList', () => {
|
mybus.on('getDeptList', () => {
|
||||||
init()
|
init()
|
||||||
})
|
})
|
||||||
|
mybus.on('clearChoose', () => {
|
||||||
|
selectId.value=''
|
||||||
|
chooseId.value=''
|
||||||
|
})
|
||||||
const onSelect = async (item, val, child) => {
|
const onSelect = async (item, val, child) => {
|
||||||
let res = {}
|
let res = {}
|
||||||
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
||||||
res = await getCameraAllOrgan({ parentId: val.id })
|
res = await getCameraAllOrgan({ parentId: val.id })
|
||||||
} else {
|
} else {
|
||||||
|
mybus.emit('getCameraByParentId', val.id)
|
||||||
// 西海岸
|
// 西海岸
|
||||||
res = await getCameraInfoByAreaId({ areaId: val.id })
|
res = await getCameraInfoByAreaId({ areaId: val.id })
|
||||||
}
|
}
|
||||||
|
@ -274,7 +273,7 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
beforeUnmount() {
|
beforeUnmount() {
|
||||||
mybus.off('getDeptList')
|
mybus.off('getDeptList')
|
||||||
console.log('getDeptList销毁~~~~~~~~~~~~~~~~~~~')
|
mybus.off('clearChoose')
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
UpOutlined,
|
UpOutlined,
|
||||||
|
@ -285,24 +284,33 @@ export default defineComponent({
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.titleName {
|
.titleName {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #1e1a1a;
|
color: #7e7676;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
border-left: 6px solid #1296db;
|
border-left: 6px solid #1296db;
|
||||||
}
|
}
|
||||||
.glgkmk {
|
.glgkmk {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-align: center;
|
text-align: left;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 30%;
|
width: 45%;
|
||||||
margin-bottom: 10px;
|
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 {
|
.active {
|
||||||
color: #0058e1;
|
color: #0058e1;
|
||||||
}
|
}
|
||||||
.glgknum {
|
|
||||||
// color: #000000;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.glgkmk :hover {
|
.glgkmk :hover {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: Light
|
* @Author: Light
|
||||||
* @Date: 2022-11-18 11:53:43
|
* @Date: 2022-11-18 11:53:43
|
||||||
* @LastEditors: Light
|
* @LastEditors: Light
|
||||||
* @LastEditTime: 2022-11-19 17:15:15
|
* @LastEditTime: 2022-11-21 17:51:38
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
|
@ -17,30 +17,46 @@
|
||||||
{{ item.channelName }}
|
{{ item.channelName }}
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<a-button type="link" danger @click="delWillApplyCamera(item.id)">
|
<a-popconfirm
|
||||||
移出
|
:title="'是否移出' + item.channelName + '?'"
|
||||||
</a-button>
|
ok-text="是"
|
||||||
|
cancel-text="否"
|
||||||
|
@confirm="delWillApplyCamera(item.id)"
|
||||||
|
>
|
||||||
|
<a-button type="link" danger>移出</a-button>
|
||||||
|
</a-popconfirm>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
</template>
|
</template>
|
||||||
<template #header>
|
<template #header>
|
||||||
<div class="title">待申请列表</div>
|
<div class="title">待申请列表</div>
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<a-button type="primary">一键申请</a-button>
|
<a-button type="primary" @click="apply">一键申请</a-button>
|
||||||
</template>
|
</template>
|
||||||
</a-list>
|
</a-list>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<a-list size="small" bordered :data-source="data">
|
<a-list size="small" bordered :data-source="dataList.requested">
|
||||||
<template #renderItem="{ item }">
|
<template #renderItem="{ item }">
|
||||||
<a-list-item>
|
<a-list-item>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<a-tooltip>
|
<a-tooltip>
|
||||||
<template #title>{{ item }}</template>
|
<template #title>{{ item.cameraInfo.channelName }}</template>
|
||||||
{{ item }}
|
{{ item.cameraInfo.channelName }}
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</div>
|
</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>
|
</a-list-item>
|
||||||
</template>
|
</template>
|
||||||
<template #header>
|
<template #header>
|
||||||
|
@ -49,20 +65,63 @@
|
||||||
</a-list>
|
</a-list>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {
|
import {
|
||||||
willApplyCameraSelect,
|
willApplyCameraSelect,
|
||||||
willApplyCameraBatchInsert,
|
willApplyCameraBatchInsert,
|
||||||
willApplyCameraBatchDelete,
|
willApplyCameraBatchDelete,
|
||||||
|
getApplyCameraListXha,
|
||||||
|
delApplyCamera,
|
||||||
} from '@/api/home'
|
} from '@/api/home'
|
||||||
|
import { endProcess } from '@/api/personalCenter.js'
|
||||||
import { onBeforeUnmount, reactive, ref } from 'vue'
|
import { onBeforeUnmount, reactive, ref } from 'vue'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
const dataList = reactive({ toBeApplied: [], requested: [] })
|
const dataList = reactive({ toBeApplied: [], requested: [] })
|
||||||
// 待办
|
// 待办
|
||||||
const addWacFlag = ref(true)
|
const addWacFlag = ref(true)
|
||||||
const delWacFlag = 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) => {
|
const delWillApplyCamera = (id) => {
|
||||||
console.log('删除===>', id)
|
console.log('删除===>', id)
|
||||||
if (delWacFlag.value) {
|
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 = () => {
|
const init = () => {
|
||||||
willApplyCameraSelect().then((res) => {
|
willApplyCameraSelect().then((res) => {
|
||||||
if (res.data.code == 0) {
|
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()
|
init()
|
||||||
|
initApply()
|
||||||
mybus.on('selectCamera', (obj) => {
|
mybus.on('selectCamera', (obj) => {
|
||||||
// 判断最多10条
|
// 判断最多10条
|
||||||
if (dataList.toBeApplied.length + dataList.requested.length > 10) {
|
if (dataList.toBeApplied.length + dataList.requested.length >= 10) {
|
||||||
message.warning('最多只能申请10个摄像头!')
|
message.warning('最多只能申请10个摄像头!')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -127,19 +281,6 @@
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
mybus.off('selectCamera')
|
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>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.infrastructureApplication {
|
.infrastructureApplication {
|
||||||
|
@ -168,10 +309,12 @@
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
:deep(.ant-list-items) {
|
:deep(.ant-list-items) {
|
||||||
|
width: 2.5rem;
|
||||||
height: 2.45rem;
|
height: 2.45rem;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
}
|
}
|
||||||
:deep(.ant-spin-nested-loading) {
|
:deep(.ant-spin-nested-loading) {
|
||||||
|
width: 2.5rem;
|
||||||
height: 2.45rem;
|
height: 2.45rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,16 +128,21 @@
|
||||||
预约
|
预约
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- <div class="flex-space" style="justify-content: center;display:flex;height:40px;align-items:center;"> -->
|
||||||
<a-pagination
|
<a-pagination
|
||||||
v-model:current="roomPage"
|
v-model:current="roomPage"
|
||||||
v-model:pageSize="roomLimit"
|
v-model:pageSize="roomLimit"
|
||||||
show-quick-jumper
|
show-quick-jumper
|
||||||
|
:showTotal="total => `共 ${total} 项`"
|
||||||
:total="roomTotal"
|
:total="roomTotal"
|
||||||
:page-size-options="pageSizeOptions"
|
:page-size-options="pageSizeOptions"
|
||||||
@change="onRoomChange"
|
@change="onRoomChange"
|
||||||
@showSizeChange="onShowSizeChange"
|
@showSizeChange="onShowSizeChange"
|
||||||
show-size-changer
|
show-size-changer
|
||||||
/>
|
/>
|
||||||
|
<!-- <el-button @click="onOkChange" class="queding" >确认</el-button>
|
||||||
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-if="roomResult" style="display: grid">
|
<div v-if="roomResult" style="display: grid">
|
||||||
<a-table
|
<a-table
|
||||||
|
@ -1440,10 +1445,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//分页
|
//分页
|
||||||
const onRoomChange = (pageNumber) => {
|
const onRoomChange = () => {
|
||||||
roomPage.value = pageNumber
|
roomPage.value = pageNumber
|
||||||
searchData()
|
searchData()
|
||||||
}
|
}
|
||||||
|
const onOkChange = () => {
|
||||||
|
current.value = roomPage.value
|
||||||
|
searchData()
|
||||||
|
}
|
||||||
const onShowSizeChange = (current, pageSize) => {
|
const onShowSizeChange = (current, pageSize) => {
|
||||||
roomLimit.value = pageSize
|
roomLimit.value = pageSize
|
||||||
searchData()
|
searchData()
|
||||||
|
@ -2471,6 +2480,16 @@
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<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 {
|
.infrastructrueBox {
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
background: #ffffff;
|
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) {
|
:deep(.ant-table-thead > tr > th) {
|
||||||
color: #5580f7 !important;
|
color: #5580f7 !important;
|
||||||
|
|
|
@ -2579,7 +2579,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-pagination) {
|
:deep(.ant-pagination) {
|
||||||
float: right;
|
float: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-pagination) {
|
:deep(.ant-pagination) {
|
||||||
|
|
|
@ -35,18 +35,30 @@
|
||||||
<el-option label="兴趣点" value="1" />
|
<el-option label="兴趣点" value="1" />
|
||||||
<el-option label="点位" value="2" />
|
<el-option label="点位" value="2" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input
|
<el-autocomplete
|
||||||
v-if="addressType==1"
|
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"
|
v-model="address"
|
||||||
placeholder="请输入关键词"
|
placeholder="请输入关键词"
|
||||||
class="input-with-select"
|
class="input-with-select"
|
||||||
@keyup.enter="handleEnter"
|
@keyup.enter="handleEnter"
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input> -->
|
||||||
<el-autocomplete
|
<el-autocomplete
|
||||||
v-else-if="addressType==2"
|
v-else-if="addressType==2"
|
||||||
v-model="address"
|
v-model="address"
|
||||||
placeholder="请输入地址"
|
placeholder="请输入关键字"
|
||||||
:fetch-suggestions="
|
:fetch-suggestions="
|
||||||
(queryString, cb) => {
|
(queryString, cb) => {
|
||||||
searchAddressByKeyWord(queryString, cb, i)
|
searchAddressByKeyWord(queryString, cb, i)
|
||||||
|
@ -108,7 +120,7 @@ import { ElMessage } from 'element-plus'
|
||||||
selectByLabelName,
|
selectByLabelName,
|
||||||
selectByChannelName,
|
selectByChannelName,
|
||||||
} from '@/api/videoSurveillance'
|
} from '@/api/videoSurveillance'
|
||||||
import { getCameraByCondition,getListForPOI } from '@/api/file'
|
import { getCameraByCondition,getListForPOI,CameraConditionPlaceType } from '@/api/file'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import * as turf from '@turf/turf';
|
import * as turf from '@turf/turf';
|
||||||
|
|
||||||
|
@ -149,6 +161,7 @@ import { ElMessage } from 'element-plus'
|
||||||
type: 0, //0是无,1画圆,2不规则
|
type: 0, //0是无,1画圆,2不规则
|
||||||
},
|
},
|
||||||
pointAllData:[],
|
pointAllData:[],
|
||||||
|
restaurants:[],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
@ -205,10 +218,63 @@ import { ElMessage } from 'element-plus'
|
||||||
mybus.on('cameraDataOnMap', (data) => {
|
mybus.on('cameraDataOnMap', (data) => {
|
||||||
this.addResourceTomap('videoMap', data)
|
this.addResourceTomap('videoMap', data)
|
||||||
})
|
})
|
||||||
|
//行政区划点击查询摄像头
|
||||||
|
mybus.off('CameraConditionPlaceType')
|
||||||
|
mybus.on('CameraConditionPlaceType', (data) => {
|
||||||
|
this.queryCameraConditionPlace(data)
|
||||||
|
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: { // 查询
|
methods: {
|
||||||
handleEnter(){
|
//查询标签视频
|
||||||
|
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)
|
console.log('查询',this.address,this.addressType)
|
||||||
if(this.address){
|
if(this.address){
|
||||||
getListForPOI({keywords:this.address}).then(res => {
|
getListForPOI({keywords:this.address}).then(res => {
|
||||||
|
@ -233,6 +299,8 @@ import { ElMessage } from 'element-plus'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectedAddress(item, index) {
|
selectedAddress(item, index) {
|
||||||
|
mybus.emit('clearChoose')
|
||||||
|
this.getCameraAllPage()
|
||||||
// 跳转到相应经纬度
|
// 跳转到相应经纬度
|
||||||
console.log('跳转', item)
|
console.log('跳转', item)
|
||||||
const latLng = {
|
const latLng = {
|
||||||
|
@ -380,9 +448,9 @@ import { ElMessage } from 'element-plus'
|
||||||
// 初始化地址匹配服务
|
// 初始化地址匹配服务
|
||||||
initAddressMatchService() {
|
initAddressMatchService() {
|
||||||
this.L = window.L || {}
|
this.L = window.L || {}
|
||||||
this.addressMatchService = L.supermap.addressMatchService(
|
// this.addressMatchService = L.supermap.addressMatchService(
|
||||||
this.addressMatchUrl
|
// this.addressMatchUrl
|
||||||
)
|
// )
|
||||||
},
|
},
|
||||||
areaMode(){
|
areaMode(){
|
||||||
// 转换不规则形状模式
|
// 转换不规则形状模式
|
||||||
|
@ -446,28 +514,32 @@ import { ElMessage } from 'element-plus'
|
||||||
},
|
},
|
||||||
//查询地址建议匹配
|
//查询地址建议匹配
|
||||||
async searchAddressByKeyWord(queryString, cb, indexX) {
|
async searchAddressByKeyWord(queryString, cb, indexX) {
|
||||||
this.disasterPointIndex = indexX
|
console.log('querySearch',queryString, cb,this.restaurants)
|
||||||
/* const res = await bdPlaceSearch({ searchKey: queryString });
|
if(queryString){
|
||||||
if (res.data) {
|
getCameraByCondition({
|
||||||
for(var i=0;i<res.data.length;i++){
|
pageNum: 1,
|
||||||
res.data[i].value = res.data[i].name;
|
pageSize: 10,
|
||||||
}
|
regionId: "70be8c5b664f4bcf869d82f2e8335051",
|
||||||
cb(res.data);
|
type: "0",
|
||||||
}*/
|
name:queryString,
|
||||||
const match = function (obj) {
|
}).then(res => {
|
||||||
//console.log('ooooo',obj);
|
if(res.data.data[0]){
|
||||||
obj.result.map((item) => {
|
res.data.data.map( val =>{
|
||||||
item.value = item.address
|
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)
|
}else{
|
||||||
}
|
|
||||||
if (!queryString) {
|
|
||||||
cb([])
|
cb([])
|
||||||
} else {
|
|
||||||
var geoCodeParam = new SuperMap.GeoCodingParameter({
|
|
||||||
address: queryString,
|
|
||||||
})
|
|
||||||
this.addressMatchService.code(geoCodeParam, match)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getCameraAllPage(page) {
|
getCameraAllPage(page) {
|
||||||
|
@ -558,6 +630,7 @@ import { ElMessage } from 'element-plus'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleSelect(item) {
|
handleSelect(item) {
|
||||||
|
console.log('1111',item)
|
||||||
this.hiMapFun.clearAllLayers()
|
this.hiMapFun.clearAllLayers()
|
||||||
//定时器方法
|
//定时器方法
|
||||||
let arr = item.detail.location.split(',')
|
let arr = item.detail.location.split(',')
|
||||||
|
|
Loading…
Reference in New Issue