This commit is contained in:
commit
c5d7351809
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-11 10:11:40
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-07-28 20:14:40
|
||||
* @LastEditTime: 2022-08-01 14:42:22
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
@ -45,9 +45,9 @@
|
|||
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.166:8888/renren-admin';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://10.16.5.35:8888/renren-admin';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.236:8888/renren-admin';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://192.168.124.236:8888/renren-admin';
|
||||
window.SITE_CONFIG['previewUrl'] = 'http://localhost:8080/';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
|
||||
// WebSocket地址
|
||||
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';
|
||||
</script>
|
||||
|
|
|
@ -755,6 +755,9 @@ export default {
|
|||
if (!this.submitFrom.deptContacts) {
|
||||
this.notFilled.push('部门联系人')
|
||||
}
|
||||
if (!this.submitFrom.deptId) {
|
||||
this.notFilled.push('归属部门')
|
||||
}
|
||||
if (!this.submitFrom.deptPhone) {
|
||||
this.notFilled.push('部门联系人电话')
|
||||
}
|
||||
|
|
|
@ -680,6 +680,9 @@ export default {
|
|||
if (!this.submitFrom.shareCondition) {
|
||||
this.notFilled.push('共享条件')
|
||||
}
|
||||
if (!this.submitFrom.deptId) {
|
||||
this.notFilled.push('归属部门')
|
||||
}
|
||||
if (!this.submitFrom.deptContacts) {
|
||||
this.notFilled.push('部门联系人')
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<el-form-item>
|
||||
<el-button @click="flashTableData">查询</el-button>
|
||||
<el-button @click="resetTableData">重置</el-button>
|
||||
<el-button type="primary" @click="addTask">任务新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table row-key="id" :data="dataList" border style="width: 100%;">
|
||||
|
@ -129,7 +130,9 @@ export default {
|
|||
|
||||
return '未知状态'
|
||||
},
|
||||
|
||||
addTask () {
|
||||
window.open('http://10.132.191.54:10219/skyline/auth/third/client/view')
|
||||
},
|
||||
// 重置
|
||||
resetTableData () {
|
||||
this.queryData.keyworld = ''
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="wrapper">
|
||||
<el-form :model="dataView">
|
||||
<div v-for="(item, index) in dataView.children" :key="item">
|
||||
<div class="dataTitle">{{ item.name }}</div>
|
||||
<!-- <div class="dataTitle">{{ item.name }}</div> -->
|
||||
<div v-for="itemson in item.children" :key="itemson.name">
|
||||
<div class="dataTitleSon">
|
||||
{{ itemson.name }}
|
||||
|
@ -21,7 +21,14 @@
|
|||
:label="
|
||||
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
|
||||
"
|
||||
v-show="!(itemsonson.name==='平台地址'|| itemsonson.name==='SDK安装包' || itemsonson.name==='接口请求方式' || itemsonson.name==='服务接口')"
|
||||
v-show="
|
||||
!(
|
||||
itemsonson.name === '平台地址' ||
|
||||
itemsonson.name === 'SDK安装包' ||
|
||||
itemsonson.name === '接口请求方式' ||
|
||||
itemsonson.name === '服务接口'
|
||||
)
|
||||
"
|
||||
>
|
||||
<div
|
||||
class="videoAndImgCss"
|
||||
|
@ -41,11 +48,13 @@
|
|||
:key="multipleAdditionsItem"
|
||||
>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content"> {{
|
||||
<div slot="content">
|
||||
{{
|
||||
multipleAdditionsItem.question ||
|
||||
multipleAdditionsItem.type ||
|
||||
multipleAdditionsItem.name
|
||||
}}</div>
|
||||
}}
|
||||
</div>
|
||||
<div>
|
||||
{{
|
||||
multipleAdditionsItem.question ||
|
||||
|
@ -55,11 +64,13 @@
|
|||
</div>
|
||||
</el-tooltip>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">{{
|
||||
<div slot="content">
|
||||
{{
|
||||
multipleAdditionsItem.answer ||
|
||||
multipleAdditionsItem.price ||
|
||||
multipleAdditionsItem.img
|
||||
}}</div>
|
||||
}}
|
||||
</div>
|
||||
<div>
|
||||
{{
|
||||
multipleAdditionsItem.answer ||
|
||||
|
@ -89,7 +100,12 @@
|
|||
:label="
|
||||
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
|
||||
"
|
||||
v-show="((itemsonson.name==='平台地址'&&showDocking)|| (itemsonson.name==='SDK安装包'&&showSDK) || (itemsonson.name==='接口请求方式'&&showInterface) || (itemsonson.name==='服务接口'&&showInterface))"
|
||||
v-show="
|
||||
(itemsonson.name === '平台地址' && showDocking) ||
|
||||
(itemsonson.name === 'SDK安装包' && showSDK) ||
|
||||
(itemsonson.name === '接口请求方式' && showInterface) ||
|
||||
(itemsonson.name === '服务接口' && showInterface)
|
||||
"
|
||||
>
|
||||
<el-input
|
||||
v-model="itemsonson.note1"
|
||||
|
@ -97,7 +113,10 @@
|
|||
></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '算法优势'">
|
||||
<div
|
||||
v-else-if="itemson.name === '算法优势'"
|
||||
style="margin-bottom: 20px"
|
||||
>
|
||||
<div
|
||||
v-for="itemDataForm in dataForm.infoList"
|
||||
:key="itemDataForm.attrType"
|
||||
|
@ -121,7 +140,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '应用场景'">
|
||||
<div
|
||||
v-else-if="itemson.name === '应用场景'"
|
||||
style="margin-bottom: 20px"
|
||||
>
|
||||
<div
|
||||
v-for="itemDataForm in dataForm.infoList"
|
||||
:key="itemDataForm.attrType"
|
||||
|
@ -146,7 +168,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '功能介绍'">
|
||||
<div
|
||||
v-else-if="itemson.name === '功能介绍'"
|
||||
style="margin-bottom: 20px"
|
||||
>
|
||||
<div
|
||||
v-for="itemDataForm in dataForm.infoList"
|
||||
:key="itemDataForm.attrType"
|
||||
|
@ -224,34 +249,34 @@ export default {
|
|||
itemViewSon.children.map((itemSon, indexSon) => {
|
||||
// console.log('itemSon', itemSon)
|
||||
if (itemSon.name.indexOf('描述') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.description
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.description
|
||||
} else if (itemSon.name.indexOf('名称') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.name
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.name
|
||||
} else if (itemSon.name.indexOf('能力类型') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.type
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.type
|
||||
} else if (itemSon.name.indexOf('共享条件') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.shareCondition
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.shareCondition
|
||||
} else if (itemSon.name === '部门联系人') {
|
||||
console.log('itemSon.name', itemSon.name)
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.deptContacts
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.deptContacts
|
||||
} else if (itemSon.name.indexOf('属部门') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.unit
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.unit
|
||||
} else if (itemSon.name === '部门联系人电话') {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.deptPhone
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.deptPhone
|
||||
} else if (
|
||||
itemSon.name === '关联组件信息' &&
|
||||
item.attrType === '关联组件信息'
|
||||
|
@ -300,42 +325,42 @@ export default {
|
|||
itemViewSon.children.map((itemSon, indexSon) => {
|
||||
console.log('itemSon', itemSon)
|
||||
if (itemSon.name.indexOf('描述') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.description
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.description
|
||||
} else if (itemSon.name.indexOf('名称') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.name
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.name
|
||||
} else if (itemSon.name.indexOf('共享条件') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.shareCondition
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.shareCondition
|
||||
} else if (itemSon.name.indexOf('共享方式') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.shareMode
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.shareMode
|
||||
} else if (itemSon.name.indexOf('共享类型') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.shareType
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.shareType
|
||||
} else if (itemSon.name === '部门联系人') {
|
||||
console.log('itemSon.name', itemSon.name)
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.deptContacts
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.deptContacts
|
||||
} else if (itemSon.name.indexOf('属部门') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.unit
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.unit
|
||||
} else if (itemSon.name === '部门联系人电话') {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.deptPhone
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.deptPhone
|
||||
} else if (itemSon.name.indexOf('接口请求方式') != -1) {
|
||||
this.dataView.children[indexView].children[indexViewSon].children[
|
||||
indexSon
|
||||
].note1 = this.dataForm.apiMethodType
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.apiMethodType
|
||||
} else if (
|
||||
itemSon.name === '来源应用' &&
|
||||
item.attrType === '来源应用'
|
||||
|
@ -375,11 +400,11 @@ export default {
|
|||
this.dataView
|
||||
)
|
||||
// 智能算法-使用方式-3种方式联动
|
||||
this.dataView.children.map(val => {
|
||||
this.dataView.children.map((val) => {
|
||||
if (val.name === '部署与使用') {
|
||||
val.children.map(val => {
|
||||
val.children.map((val) => {
|
||||
if (val.name === '使用方式') {
|
||||
val.children.map(val => {
|
||||
val.children.map((val) => {
|
||||
if (val.name === '使用方式') {
|
||||
if (val.note1 === 'SDK') {
|
||||
this.showSDK = true
|
||||
|
@ -482,7 +507,7 @@ export default {
|
|||
color: #333333;
|
||||
font-size: 22px;
|
||||
margin-bottom: 20px;
|
||||
background: url("~@/assets/img/sj-jx.png") no-repeat;
|
||||
background: url('~@/assets/img/sj-jx.png') no-repeat;
|
||||
background-position-x: 15px;
|
||||
}
|
||||
.multipleAdditionsClass {
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-07-28 14:32:04
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-01 11:02:21
|
||||
* @Description: 数据资源参数配置
|
||||
*/
|
||||
//const newLocation = 'qingdao'
|
||||
const newLocation = 'qingdao'
|
||||
// const newLocation = 'baotou'
|
||||
const newLocation = 'xihaian'
|
||||
// const newLocation = 'xihaian'
|
||||
|
||||
// 数据资源数据
|
||||
const whoShow = {}
|
||||
const launchedDataNumObject = {}
|
||||
// 导航数据
|
||||
const navListManagement = {}
|
||||
// 无人机单兵数据
|
||||
const uavAndIndividualSoldier = {}
|
||||
// 基础设施
|
||||
const infrastructure = {}
|
||||
// 区市站点数据
|
||||
|
@ -149,6 +151,341 @@ else if (newLocation === 'baotou') {
|
|||
// xihaian
|
||||
else if (newLocation === 'xihaian') {
|
||||
whoShow.itShowXiHaiAn = true
|
||||
infrastructure.deptName = '西海岸新区大数据发展'
|
||||
// infrastructure.deptId = '1067246875800000066'
|
||||
uavAndIndividualSoldier.num = 4
|
||||
uavAndIndividualSoldier.uavList = [
|
||||
{
|
||||
name: '经纬 M300 RTK-1',
|
||||
url: '',
|
||||
details: [
|
||||
{
|
||||
name: '飞行器',
|
||||
attribute: {
|
||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||
对称电机轴距: '895 mm',
|
||||
'重量(含下置单云台支架):空机重量(不含电池)':
|
||||
'3.6 kg;空机重量(含双电池):6.3 kg',
|
||||
单云台减震球最大负重: '930g',
|
||||
最大起飞重量: '9 kg',
|
||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||
'发射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC)、18.5dBm(CE)、18.5 dBm(SRRC)、18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC)、12.5dBm(CE)、28.5 dBm(SRRC)',
|
||||
'悬停精度(P-GPS)':
|
||||
'垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||
'RTK 位置精度':
|
||||
'在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||
最大飞行海拔高度:
|
||||
'5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||
最大飞行时间: '55 min',
|
||||
'适配 DJI 云台':
|
||||
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||
支持云台安装方式:
|
||||
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||
'IP 防护等级': 'IP45',
|
||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||
工作环境温度: '-20°C 至 50°C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '遥控器',
|
||||
attribute: {
|
||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||
'最大信号有效距离(无干扰、无遮挡)':
|
||||
'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||
'等效全向辐射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC);18.5dBm(CE)、18.5 dBm(SRRC);18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC);12.5dBm(CE)、20.5 dBm(SRRC)',
|
||||
外置电池:
|
||||
'名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
||||
内置电池:
|
||||
'类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
||||
工作环境温度: '-20° 至 40° C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '视觉系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
||||
使用环境:
|
||||
'表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '红外感知系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '0.1-8 m',
|
||||
FOV: '30°(±15°)',
|
||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '上下补光灯',
|
||||
attribute: {
|
||||
有效照明距离: '5 m',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'FPV摄像头',
|
||||
attribute: {
|
||||
分辨率: '960p',
|
||||
FOV: '145°',
|
||||
帧率: '30 fps',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能飞行电池',
|
||||
attribute: {
|
||||
型号: 'TB60',
|
||||
容量: '5935 mAh',
|
||||
电压: '52.8 V',
|
||||
电池类型: 'LiPo 12S',
|
||||
能量: '274 Wh',
|
||||
电池整体重量: '约 1.35 kg',
|
||||
工作环境温度: '-20℃ 至 50℃',
|
||||
理想存放环境温度: '22℃ 至 30℃',
|
||||
充电环境温度:
|
||||
'-20°C 至 40°C(当环境温度低于 5°C时,电池会启动自加热功能,在低温环境下充电有可能会降低电池使用寿命)',
|
||||
充电时间:
|
||||
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'BS60智能电池箱',
|
||||
attribute: {
|
||||
外形尺寸: '501×403×252 mm',
|
||||
空箱重量: '8.37 kg',
|
||||
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
|
||||
输入电压: '100-120 VAC,50-60 Hz / 220-240 VAC,50-60 Hz',
|
||||
最大输入功率: '1070 W',
|
||||
输出功率: '100-120 V:750 W、220-240 V:992 W',
|
||||
工作环境温度: '-20℃ 至 40℃',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: '经纬 M300 RTK-2',
|
||||
url: '',
|
||||
details: [
|
||||
{
|
||||
name: '飞行器',
|
||||
attribute: {
|
||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||
对称电机轴距: '895 mm',
|
||||
'重量(含下置单云台支架):空机重量(不含电池)':
|
||||
'3.6 kg;空机重量(含双电池):6.3 kg',
|
||||
单云台减震球最大负重: '930g',
|
||||
最大起飞重量: '9 kg',
|
||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||
'发射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC)、18.5dBm(CE)、18.5 dBm(SRRC)、18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC)、12.5dBm(CE)、28.5 dBm(SRRC)',
|
||||
'悬停精度(P-GPS)':
|
||||
'垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||
'RTK 位置精度':
|
||||
'在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||
最大飞行海拔高度:
|
||||
'5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||
最大飞行时间: '55 min',
|
||||
'适配 DJI 云台':
|
||||
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||
支持云台安装方式:
|
||||
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||
'IP 防护等级': 'IP45',
|
||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||
工作环境温度: '-20°C 至 50°C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '遥控器',
|
||||
attribute: {
|
||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||
'最大信号有效距离(无干扰、无遮挡)':
|
||||
'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||
'等效全向辐射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC);18.5dBm(CE)、18.5 dBm(SRRC);18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC);12.5dBm(CE)、20.5 dBm(SRRC)',
|
||||
外置电池:
|
||||
'名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
||||
内置电池:
|
||||
'类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
||||
工作环境温度: '-20° 至 40° C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '视觉系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
||||
使用环境:
|
||||
'表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '红外感知系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '0.1-8 m',
|
||||
FOV: '30°(±15°)',
|
||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '上下补光灯',
|
||||
attribute: {
|
||||
有效照明距离: '5 m',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'FPV摄像头',
|
||||
attribute: {
|
||||
分辨率: '960p',
|
||||
FOV: '145°',
|
||||
帧率: '30 fps',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能飞行电池',
|
||||
attribute: {
|
||||
型号: 'TB60',
|
||||
容量: '5935 mAh',
|
||||
电压: '52.8 V',
|
||||
电池类型: 'LiPo 12S',
|
||||
能量: '274 Wh',
|
||||
电池整体重量: '约 1.35 kg',
|
||||
工作环境温度: '-20℃ 至 50℃',
|
||||
理想存放环境温度: '22℃ 至 30℃',
|
||||
充电环境温度:
|
||||
'-20°C 至 40°C(当环境温度低于 5°C时,电池会启动自加热功能,在低温环境下充电有可能会降低电池使用寿命)',
|
||||
充电时间:
|
||||
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'BS60智能电池箱',
|
||||
attribute: {
|
||||
外形尺寸: '501×403×252 mm',
|
||||
空箱重量: '8.37 kg',
|
||||
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
|
||||
输入电压: '100-120 VAC,50-60 Hz / 220-240 VAC,50-60 Hz',
|
||||
最大输入功率: '1070 W',
|
||||
输出功率: '100-120 V:750 W、220-240 V:992 W',
|
||||
工作环境温度: '-20℃ 至 40℃',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
uavAndIndividualSoldier.individualSoldier = [
|
||||
{
|
||||
name: 'T950天通-1',
|
||||
type: '单兵设备',
|
||||
details: {
|
||||
基本信息: {
|
||||
外观设计: '172X81X15.7(不含天线),336g',
|
||||
操作系统: 'Android P',
|
||||
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
|
||||
存储: '标配:6GB ROM +128G RAM',
|
||||
显示屏: '6.52吋水滴屏;HD+,1600*720(20:9)',
|
||||
后置摄像头:
|
||||
'后置为4800万主摄+200万微距+200万红外三摄组合,支持闪光灯',
|
||||
前置摄像头: '1600万',
|
||||
传感器相关:
|
||||
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
|
||||
WLAN: '802.11a/b/g/n/AC 支持MIMO',
|
||||
电池: '6000mAh@3.8V,内置不可拆卸,支持18W快充',
|
||||
工作时间: '待机时长180h,卫星通话时长16h',
|
||||
},
|
||||
制式频段: {
|
||||
卫星频段: '天通一号卫星',
|
||||
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1,N28,N41, N78,N79',
|
||||
双卡: '双nano卡(卫星卡+运营商全网通卡)',
|
||||
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
|
||||
VOLTE: '支持',
|
||||
},
|
||||
IO接口: {
|
||||
USB接口类型: 'TYPE-C USB3.0,支持OTG功能',
|
||||
耳机接口: '3.5mm,美标',
|
||||
存储卡: '支持TF卡扩展',
|
||||
},
|
||||
其它功能: {
|
||||
蓝牙: 'V5.0',
|
||||
定位: 'GPS、北斗混合定位、单北斗模式',
|
||||
NFC: '支持',
|
||||
充电方式: '三种充电方式(线充、座充、磁吸充电)',
|
||||
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
|
||||
},
|
||||
环境适应性: {
|
||||
工作温度: '-20°~ 60°',
|
||||
存储温度: '-40°~ 80°',
|
||||
高温高湿: '(95±3)%(≧40°),24小时',
|
||||
防护等级: 'IP68',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'T950天通-2',
|
||||
type: '单兵设备',
|
||||
details: {
|
||||
基本信息: {
|
||||
外观设计: '172X81X15.7(不含天线),336g',
|
||||
操作系统: 'Android P',
|
||||
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
|
||||
存储: '标配:6GB ROM +128G RAM',
|
||||
显示屏: '6.52吋水滴屏;HD+,1600*720(20:9)',
|
||||
后置摄像头:
|
||||
'后置为4800万主摄+200万微距+200万红外三摄组合,支持闪光灯',
|
||||
前置摄像头: '1600万',
|
||||
传感器相关:
|
||||
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
|
||||
WLAN: '802.11a/b/g/n/AC 支持MIMO',
|
||||
电池: '6000mAh@3.8V,内置不可拆卸,支持18W快充',
|
||||
工作时间: '待机时长180h,卫星通话时长16h',
|
||||
},
|
||||
制式频段: {
|
||||
卫星频段: '天通一号卫星',
|
||||
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1,N28,N41, N78,N79',
|
||||
双卡: '双nano卡(卫星卡+运营商全网通卡)',
|
||||
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
|
||||
VOLTE: '支持',
|
||||
},
|
||||
IO接口: {
|
||||
USB接口类型: 'TYPE-C USB3.0,支持OTG功能',
|
||||
耳机接口: '3.5mm,美标',
|
||||
存储卡: '支持TF卡扩展',
|
||||
},
|
||||
其它功能: {
|
||||
蓝牙: 'V5.0',
|
||||
定位: 'GPS、北斗混合定位、单北斗模式',
|
||||
NFC: '支持',
|
||||
充电方式: '三种充电方式(线充、座充、磁吸充电)',
|
||||
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
|
||||
},
|
||||
环境适应性: {
|
||||
工作温度: '-20°~ 60°',
|
||||
存储温度: '-40°~ 80°',
|
||||
高温高湿: '(95±3)%(≧40°),24小时',
|
||||
防护等级: 'IP68',
|
||||
},
|
||||
},
|
||||
},
|
||||
]
|
||||
navListManagement.navList = [
|
||||
{ name: '共享门户', key: 'home' },
|
||||
{ name: '能力集市', key: 'DetailsPageconetent' },
|
||||
|
@ -164,7 +501,7 @@ else if (newLocation === 'xihaian') {
|
|||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '青岛西海岸新区大数据发展促进局建设',
|
||||
right: 'v0.8.1.5',
|
||||
right: 'v0.8.3.3',
|
||||
},
|
||||
address: [
|
||||
{
|
||||
|
|
|
@ -122,6 +122,9 @@
|
|||
})
|
||||
break
|
||||
case '基础设施':
|
||||
if (uavAndIndividualSoldier.num) {
|
||||
val.count = val.count - 0 + uavAndIndividualSoldier.num
|
||||
}
|
||||
dataList.value.dataList.push({
|
||||
organization: '个',
|
||||
type: '基础设施',
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
import * as moment from 'moment'
|
||||
import * as echarts from 'echarts'
|
||||
import { applyAmount, trafficStatistics } from '@/api/abilityStatistics'
|
||||
const quarter = ref(['近七天', '近14天', '月度'])
|
||||
const quarter = ref(['近七天', '近十四天', '月度'])
|
||||
let startDate = ref('')
|
||||
let endDate = ref('')
|
||||
|
||||
|
@ -128,7 +128,7 @@
|
|||
hebdomad()
|
||||
swtichname.value = '日'
|
||||
break
|
||||
case '近14天':
|
||||
case '近十四天':
|
||||
fortnight()
|
||||
swtichname.value = '14日'
|
||||
break
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-19 10:15:33
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-06-22 17:03:21
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-07-30 17:33:54
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -87,6 +87,11 @@
|
|||
myDataList.value.forEach((val) => {
|
||||
const obj = res.data.data.filter((item) => item.type === val.title)[0]
|
||||
if (obj) {
|
||||
if (obj.type == '视频资源数量') {
|
||||
if (uavAndIndividualSoldier.num) {
|
||||
obj.amount = obj.amount - 0 + uavAndIndividualSoldier.num
|
||||
}
|
||||
}
|
||||
val.snum = obj.amount
|
||||
}
|
||||
})
|
||||
|
|
|
@ -429,6 +429,9 @@
|
|||
if (!dataFrom.value.shareCondition) {
|
||||
notFilled.value.push('共享条件')
|
||||
}
|
||||
if (!dataFrom.value.deptId) {
|
||||
notFilled.value.push('归属部门')
|
||||
}
|
||||
if (!dataFrom.value.deptContacts) {
|
||||
notFilled.value.push('部门联系人')
|
||||
}
|
||||
|
@ -677,7 +680,9 @@
|
|||
break
|
||||
case '归属部门':
|
||||
dataFrom.value.deptId = obj.attrValue
|
||||
if (obj.attrValueTwo) {
|
||||
dataFrom.value.deptName = obj.attrValueTwo.label
|
||||
}
|
||||
break
|
||||
case '部门联系人':
|
||||
dataFrom.value.deptContacts = obj.attrValue
|
||||
|
|
|
@ -323,6 +323,9 @@
|
|||
if (!dataFrom.value.description) {
|
||||
notFilled.value.push('应用描述')
|
||||
}
|
||||
if (!dataFrom.value.deptId) {
|
||||
notFilled.value.push('归属部门')
|
||||
}
|
||||
if (!dataFrom.value.deptContacts) {
|
||||
notFilled.value.push('部门联系人')
|
||||
}
|
||||
|
@ -522,7 +525,9 @@
|
|||
break
|
||||
case '归属部门':
|
||||
dataFrom.value.deptId = obj.attrValue
|
||||
if (obj.attrValueTwo) {
|
||||
dataFrom.value.deptName = obj.attrValueTwo.label
|
||||
}
|
||||
break
|
||||
case '部门联系人':
|
||||
dataFrom.value.deptContacts = obj.attrValue
|
||||
|
|
|
@ -399,6 +399,9 @@
|
|||
if (!dataFrom.value.shareCondition) {
|
||||
notFilled.value.push('共享条件')
|
||||
}
|
||||
if (!dataFrom.value.deptId) {
|
||||
notFilled.value.push('归属部门')
|
||||
}
|
||||
if (!dataFrom.value.deptContacts) {
|
||||
notFilled.value.push('部门联系人')
|
||||
}
|
||||
|
@ -600,7 +603,9 @@
|
|||
break
|
||||
case '归属部门':
|
||||
dataFrom.value.deptId = obj.attrValue
|
||||
if (obj.attrValueTwo) {
|
||||
dataFrom.value.deptName = obj.attrValueTwo.label
|
||||
}
|
||||
break
|
||||
case '部门联系人':
|
||||
dataFrom.value.deptContacts = obj.attrValue
|
||||
|
|
|
@ -398,6 +398,9 @@
|
|||
if (!dataFrom.value.shareCondition) {
|
||||
notFilled.value.push('共享条件')
|
||||
}
|
||||
if (!dataFrom.value.deptId) {
|
||||
notFilled.value.push('归属部门')
|
||||
}
|
||||
if (!dataFrom.value.deptContacts) {
|
||||
notFilled.value.push('部门联系人')
|
||||
}
|
||||
|
@ -599,7 +602,9 @@
|
|||
break
|
||||
case '归属部门':
|
||||
dataFrom.value.deptId = obj.attrValue
|
||||
if (obj.attrValueTwo) {
|
||||
dataFrom.value.deptName = obj.attrValueTwo.label
|
||||
}
|
||||
break
|
||||
case '部门联系人':
|
||||
dataFrom.value.deptContacts = obj.attrValue
|
||||
|
|
|
@ -298,6 +298,9 @@
|
|||
if (!dataFrom.value.shareCondition) {
|
||||
notFilled.value.push('共享条件')
|
||||
}
|
||||
if (!dataFrom.value.deptId) {
|
||||
notFilled.value.push('归属部门')
|
||||
}
|
||||
if (!dataFrom.value.deptContacts) {
|
||||
notFilled.value.push('部门联系人')
|
||||
}
|
||||
|
@ -496,7 +499,9 @@
|
|||
break
|
||||
case '归属部门':
|
||||
dataFrom.value.deptId = obj.attrValue
|
||||
if (obj.attrValueTwo) {
|
||||
dataFrom.value.deptName = obj.attrValueTwo.label
|
||||
}
|
||||
break
|
||||
case '部门联系人':
|
||||
dataFrom.value.deptContacts = obj.attrValue
|
||||
|
|
|
@ -477,6 +477,8 @@
|
|||
:render="(item) => item.title"
|
||||
@change="handleChangeOther"
|
||||
@selectChange="handleSelectChangeOther"
|
||||
show-search
|
||||
:filter-option="filterOptionTransfer"
|
||||
/>
|
||||
</div>
|
||||
</a-modal>
|
||||
|
@ -927,7 +929,7 @@
|
|||
mockDataOther.value.push({
|
||||
key: val.id,
|
||||
title: val.name,
|
||||
description: val.id,
|
||||
description: val.name,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -948,7 +950,7 @@
|
|||
mockDataOther.value.push({
|
||||
key: val.id,
|
||||
title: val.name,
|
||||
description: val.id,
|
||||
description: val.name,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -978,6 +980,11 @@
|
|||
console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
|
||||
}
|
||||
|
||||
const filterOptionTransfer = (inputValue, option) => {
|
||||
console.log(option, 'option')
|
||||
return option.description.indexOf(inputValue) > -1
|
||||
}
|
||||
|
||||
const handleOk = (e) => {
|
||||
console.log(e)
|
||||
visibleAssociatedApplicationOther.value = false
|
||||
|
|
|
@ -85,7 +85,9 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
line-height: 20px;
|
||||
div:last-child {
|
||||
line-height: 34px;
|
||||
}
|
||||
}
|
||||
.content-bottom {
|
||||
display: flex;
|
||||
|
|
|
@ -89,7 +89,9 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
line-height: 20px;
|
||||
div:last-child {
|
||||
line-height: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
.content-bottom {
|
||||
|
|
|
@ -85,7 +85,9 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.2rem;
|
||||
line-height: 0.2rem;
|
||||
div:last-child {
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
}
|
||||
.content-bottom {
|
||||
display: flex;
|
||||
|
|
|
@ -85,7 +85,9 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
line-height: 20px;
|
||||
div:last-child {
|
||||
line-height: 34px;
|
||||
}
|
||||
}
|
||||
.content-bottom {
|
||||
display: flex;
|
||||
|
|
|
@ -85,7 +85,9 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.2rem;
|
||||
line-height: 0.2rem;
|
||||
div:last-child {
|
||||
line-height: 34px;
|
||||
}
|
||||
}
|
||||
.content-bottom {
|
||||
display: flex;
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
? 'kfzj'
|
||||
: val.componentType == '业务组件'
|
||||
? 'ywzj'
|
||||
: ''
|
||||
: 'znsf'
|
||||
"
|
||||
></div>
|
||||
<div class="text">
|
||||
|
|
|
@ -269,14 +269,14 @@
|
|||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<button
|
||||
<!-- <button
|
||||
v-if="Cardsname == '应用资源'"
|
||||
class="button-reset"
|
||||
@click="applyAll()"
|
||||
style="margin-left: 0.1rem"
|
||||
>
|
||||
全部申请
|
||||
</button>
|
||||
</button> -->
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,61 +11,147 @@
|
|||
</div>
|
||||
<div class="form-container">
|
||||
<div v-if="applySuccess">
|
||||
<a-form ref="formRef" :model="formName" name="basic" :label-col="{ style: { width: '106px' } }"
|
||||
:wrapper-col="{ style: { width: '230px' } }" labelAlign="left" autocomplete="off">
|
||||
<a-form
|
||||
ref="formRef"
|
||||
:model="formName"
|
||||
name="basic"
|
||||
:label-col="{ style: { width: '106px' } }"
|
||||
:wrapper-col="{ style: { width: '230px' } }"
|
||||
labelAlign="left"
|
||||
autocomplete="off"
|
||||
>
|
||||
<div class="base-info">
|
||||
<a-form-item label="申请标题" name="title" :rules="[{ required: true, message: '请输入申请标题' }]">
|
||||
<a-input placeholder="请输入能力申请标题" v-model:value="formName.title" />
|
||||
<a-form-item
|
||||
label="申请标题"
|
||||
name="title"
|
||||
:rules="[{ required: true, message: '请输入申请标题' }]"
|
||||
>
|
||||
<a-input
|
||||
placeholder="请输入能力申请标题"
|
||||
v-model:value="formName.title"
|
||||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="base-info">
|
||||
<a-form-item label="申请人信息" name="user" :rules="[{ required: true, message: '请输入申请人' }]">
|
||||
<a-input placeholder="请输入申请人" v-model:value="formName.user" disabled />
|
||||
<a-form-item
|
||||
label="申请人信息"
|
||||
name="user"
|
||||
:rules="[{ required: true, message: '请输入申请人' }]"
|
||||
>
|
||||
<a-input
|
||||
placeholder="请输入申请人"
|
||||
v-model:value="formName.user"
|
||||
disabled
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item style="margin: 0 22px" label="电话" name="phone" :rules="[
|
||||
<a-form-item
|
||||
style="margin: 0 22px"
|
||||
label="电话"
|
||||
name="phone"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
pattern: /^1[3456789]\d{9}$/,
|
||||
message: '请输入正确的电话号码',
|
||||
},
|
||||
]">
|
||||
<a-input placeholder="请输入申请人电话" v-model:value="formName.phone" />
|
||||
]"
|
||||
>
|
||||
<a-input
|
||||
placeholder="请输入申请人电话"
|
||||
v-model:value="formName.phone"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="单位" name="unit" :rules="[{ required: true, message: '请输入单位' }]">
|
||||
<a-input placeholder="请输入单位" v-model:value="formName.unit" disabled />
|
||||
<a-form-item
|
||||
label="单位"
|
||||
name="unit"
|
||||
:rules="[{ required: true, message: '请输入单位' }]"
|
||||
>
|
||||
<a-input
|
||||
placeholder="请输入单位"
|
||||
v-model:value="formName.unit"
|
||||
disabled
|
||||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="base-info" v-if="flag">
|
||||
<a-form-item label="应用系统" name="applicationSystem" :rules="[{ required: true, message: '请选择应用系统' }]">
|
||||
<a-select v-model:value="formName.applicationSystem" show-search placeholder="请输入关键字"
|
||||
style="width: 200px" :options="systemOptions" @focus="handleFocus" @blur="handleBlur"
|
||||
@change="systemHandleChange" @search="systemHandleSearch"></a-select>
|
||||
<a-form-item
|
||||
label="应用系统"
|
||||
name="applicationSystem"
|
||||
:rules="[{ required: true, message: '请选择应用系统' }]"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="formName.applicationSystem"
|
||||
show-search
|
||||
placeholder="请输入关键字"
|
||||
style="width: 200px"
|
||||
:options="systemOptions"
|
||||
@focus="handleFocus"
|
||||
@blur="handleBlur"
|
||||
@change="systemHandleChange"
|
||||
@search="systemHandleSearch"
|
||||
></a-select>
|
||||
</a-form-item>
|
||||
<a-form-item class="applicationScene" label="应用领域" name="applicationScene"
|
||||
:rules="[{ required: true, message: '请选择应用领域' }]" style="width: 6.93rem">
|
||||
<a-select v-model:value="formName.applicationScene" :options="applicationSceneOpthion" mode="tags"
|
||||
:size="size" placeholder="请选择应用领域" :filterOption="false" :searchValue="false"
|
||||
style="width: 5.87rem"></a-select>
|
||||
<a-form-item
|
||||
class="applicationScene"
|
||||
label="应用领域"
|
||||
name="applicationScene"
|
||||
:rules="[{ required: true, message: '请选择应用领域' }]"
|
||||
style="width: 6.93rem"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="formName.applicationScene"
|
||||
:options="applicationSceneOpthion"
|
||||
mode="tags"
|
||||
:size="size"
|
||||
placeholder="请选择应用领域"
|
||||
:filterOption="false"
|
||||
:searchValue="false"
|
||||
style="width: 5.87rem"
|
||||
></a-select>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div>
|
||||
<a-form-item label="应用背景" name="applicationBackground"
|
||||
:rules="[{ required: true, message: '请输入应用背景' }]">
|
||||
<a-textarea placeholder="请输入应用背景" v-model:value="formName.applicationBackground" :rows="4" />
|
||||
<a-form-item
|
||||
label="应用背景"
|
||||
name="applicationBackground"
|
||||
:rules="[{ required: true, message: '请输入应用背景' }]"
|
||||
>
|
||||
<a-textarea
|
||||
placeholder="请输入应用背景"
|
||||
v-model:value="formName.applicationBackground"
|
||||
:rows="4"
|
||||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div>
|
||||
<a-form-item label="期望效果" name="effectWish" :rules="[{ required: true, message: '请输入期望效果' }]">
|
||||
<a-textarea placeholder="请输入期望效果" v-model:value="formName.effectWish" :rows="4" />
|
||||
<a-form-item
|
||||
label="期望效果"
|
||||
name="effectWish"
|
||||
:rules="[{ required: true, message: '请输入期望效果' }]"
|
||||
>
|
||||
<a-textarea
|
||||
placeholder="请输入期望效果"
|
||||
v-model:value="formName.effectWish"
|
||||
:rows="4"
|
||||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
|
||||
<a-form-item style="color: #666; font-size: 16px" label="申请单附件" name="applyDoc">
|
||||
<a-upload v-model:file-list="fileList" name="file" :action="`${baseURL}/upload`" :headers="headers"
|
||||
@change="handleChange" :before-upload="beforeUpload" :maxCount="1">
|
||||
<a-button style="
|
||||
<a-form-item
|
||||
style="color: #666; font-size: 16px"
|
||||
label="申请单附件"
|
||||
name="applyDoc"
|
||||
>
|
||||
<a-upload
|
||||
v-model:file-list="fileList"
|
||||
name="file"
|
||||
:action="`${baseURL}/upload`"
|
||||
:headers="headers"
|
||||
@change="handleChange"
|
||||
:before-upload="beforeUpload"
|
||||
:maxCount="1"
|
||||
>
|
||||
<a-button
|
||||
style="
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
margin-right: 10px;
|
||||
|
@ -76,7 +162,8 @@
|
|||
border: 1px solid #bbd3ef;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
">
|
||||
"
|
||||
>
|
||||
<upload-outlined></upload-outlined>
|
||||
文件上传
|
||||
</a-button>
|
||||
|
@ -89,9 +176,9 @@
|
|||
</div>
|
||||
</a-upload>
|
||||
</a-form-item>
|
||||
|
||||
<div class="bottom-btn">
|
||||
<a-button style="
|
||||
<a-button
|
||||
style="
|
||||
width: 80px;
|
||||
height: 38px;
|
||||
margin-right: 20px;
|
||||
|
@ -102,10 +189,15 @@
|
|||
border: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
" type="primary" html-type="cancle" @click="resetFields()">
|
||||
"
|
||||
type="primary"
|
||||
html-type="cancle"
|
||||
@click="resetFields()"
|
||||
>
|
||||
退出申请
|
||||
</a-button>
|
||||
<a-button style="
|
||||
<a-button
|
||||
style="
|
||||
width: 80px;
|
||||
height: 38px;
|
||||
background: #0087ff;
|
||||
|
@ -115,7 +207,11 @@
|
|||
border: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
" type="primary" html-type="submit" @click="processStartHandle()">
|
||||
"
|
||||
type="primary"
|
||||
html-type="submit"
|
||||
@click="processStartHandle()"
|
||||
>
|
||||
提交申请
|
||||
</a-button>
|
||||
</div>
|
||||
|
@ -132,17 +228,16 @@
|
|||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AbilityToApplyFor from './AbilityToApplyFor.vue'
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import { reactive, ref, watch, onBeforeUnmount } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import qs from 'qs'
|
||||
// import { UploadOutlined } from '@ant-design/icons-vue'
|
||||
import { Upload } from 'ant-design-vue'
|
||||
import {
|
||||
import AbilityToApplyFor from './AbilityToApplyFor.vue'
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import { reactive, ref, watch, onBeforeUnmount } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import qs from 'qs'
|
||||
// import { UploadOutlined } from '@ant-design/icons-vue'
|
||||
import { Upload } from 'ant-design-vue'
|
||||
import {
|
||||
lastestPage,
|
||||
tabilityapplication,
|
||||
startOfBusinessKey,
|
||||
|
@ -153,15 +248,14 @@ import {
|
|||
getUserInfo,
|
||||
relaunch,
|
||||
selectOne,
|
||||
} from '@/api/home'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { sgcDel, getApplyForm } from '@/api/personalCenter'
|
||||
import { pageWithAttrs } from '@/api/home'
|
||||
// import { baseURL } from '@/config'
|
||||
// import AsideMenu from './components/asideMenu.vue'
|
||||
|
||||
export default {
|
||||
} from '@/api/home'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { sgcDel, getApplyForm } from '@/api/personalCenter'
|
||||
import { pageWithAttrs } from '@/api/home'
|
||||
// import { baseURL } from '@/config'
|
||||
// import AsideMenu from './components/asideMenu.vue'
|
||||
export default {
|
||||
name: '',
|
||||
props: {},
|
||||
components: {
|
||||
|
@ -175,8 +269,6 @@ export default {
|
|||
const disabled = ref(false)
|
||||
const flag = ref(false)
|
||||
const list = ref(JSON.parse(localStorage.getItem('applyList')))
|
||||
console.log('router.currentRoute.value.query------------>', router.currentRoute.value.query);
|
||||
|
||||
const applyAll = router.currentRoute.value.query.applyAll
|
||||
const num = ref(0)
|
||||
if (!applyAll) {
|
||||
|
@ -199,36 +291,28 @@ export default {
|
|||
}
|
||||
})
|
||||
}
|
||||
console.log('list.value------------>', list.value);
|
||||
|
||||
console.log(
|
||||
'list',
|
||||
list.value
|
||||
// list.value[0].children.filter(
|
||||
// (val) => val.id == list.value[0].checkedList[0]
|
||||
// )[0].resourceName
|
||||
)
|
||||
const baseURL = window.SITE_CONFIG.apiURL
|
||||
let record = ref('1')
|
||||
const text = ref('')
|
||||
let _title = ''
|
||||
if (list.value[0]) {
|
||||
if (applyAll) {
|
||||
_title = '全部应用资源申请'
|
||||
} else {
|
||||
if (list.value[0].children) {
|
||||
let _children = list.value[0].children || []
|
||||
let _checkedList = _children.filter((val) => val.id == list.value[0].checkedList[0]) || []
|
||||
_title = (_checkedList[0].resourceName || '').concat(num.value > 1 ? '等能力申请' + num.value + '个' : '能力申请')
|
||||
} else {
|
||||
_title = (list.value[0].arr && list.value[0].arr[0].resourceName || '').concat('能力申请')
|
||||
}
|
||||
}
|
||||
}
|
||||
const formName = reactive({
|
||||
title: _title,
|
||||
// title: applyAll
|
||||
// ? '全部应用资源申请'
|
||||
// : list.value[0] && list.value[0].children
|
||||
// ? list.value[0] && list.value[0].children
|
||||
// .filter((val) => val.id == list.value[0] && list.value[0].checkedList[0])[0]
|
||||
// .resourceName.concat(
|
||||
// num.value > 1 ? '等能力申请' + num.value + '个' : '能力申请'
|
||||
// )
|
||||
// : list.value[0] && list.value[0].arr[0].resourceName.concat('能力申请'), // 标题
|
||||
title: applyAll
|
||||
? '全部应用资源申请'
|
||||
: list.value[0].arr && list.value[0].arr[0].type == '单兵设备'
|
||||
? '单兵设备申请'
|
||||
: list.value[0].children
|
||||
? list.value[0].children
|
||||
.filter((val) => val.id == list.value[0].checkedList[0])[0]
|
||||
.resourceName.concat(
|
||||
num.value > 1 ? '等能力申请' + num.value + '个' : '能力申请'
|
||||
)
|
||||
: list.value[0].arr[0].resourceName.concat('能力申请'), // 标题
|
||||
applicationSystem: '', // 应用系统
|
||||
// applicationSystem: [], // 应用系统
|
||||
applicationScene: [], // 应用领域
|
||||
|
@ -337,6 +421,17 @@ export default {
|
|||
return message.error('请设置表单名称')
|
||||
}
|
||||
if (!applyAll) {
|
||||
console.log(list.value[0].arr[0])
|
||||
// 单兵设备为了演示 添加 不做处理
|
||||
if (list.value[0].arr[0].type == '单兵设备') {
|
||||
message.success('单兵设备申请提交成功!')
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
},
|
||||
})
|
||||
} else {
|
||||
let ids = []
|
||||
let falgNum = 0
|
||||
let sxt = true
|
||||
|
@ -406,7 +501,11 @@ export default {
|
|||
}
|
||||
})
|
||||
} else {
|
||||
if (res.data.msg === 'success' && falgNum == 0 && sxt) {
|
||||
if (
|
||||
res.data.msg === 'success' &&
|
||||
falgNum == 0 &&
|
||||
sxt
|
||||
) {
|
||||
message.success('申请提交成功,请到消息中心查看!')
|
||||
sxt = false
|
||||
}
|
||||
|
@ -421,7 +520,11 @@ export default {
|
|||
}
|
||||
})
|
||||
})
|
||||
console.log('提交数据==========================>', formName, ids)
|
||||
console.log(
|
||||
'提交数据==========================>',
|
||||
formName,
|
||||
ids
|
||||
)
|
||||
if (formName.system.length !== 0) {
|
||||
if (formName.applicationSystem.length == 0) {
|
||||
formName.applicationSystem = ''
|
||||
|
@ -456,6 +559,7 @@ export default {
|
|||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
formName.applicationSystem = ''
|
||||
applyAllApplication(formName).then((res) => {
|
||||
|
@ -510,13 +614,12 @@ export default {
|
|||
// proxy.$http['post'](instanceIdUrl + '?' + params)
|
||||
updateInstanceId(params).then(
|
||||
// ({ data: res }) => {}
|
||||
() => { }
|
||||
() => {}
|
||||
)
|
||||
}
|
||||
})
|
||||
.catch(() => { })
|
||||
.catch(() => {})
|
||||
}
|
||||
|
||||
const options = ref([
|
||||
{
|
||||
value: '政法委',
|
||||
|
@ -545,12 +648,10 @@ export default {
|
|||
])
|
||||
const systemOptions = ref([])
|
||||
const systemOptions2 = ref([])
|
||||
|
||||
const handleChange = (info) => {
|
||||
if (info.file.status !== 'uploading') {
|
||||
// console.log(info.file, info.fileList)
|
||||
}
|
||||
|
||||
if (info.file.status === 'done') {
|
||||
message.success(`${info.file.name} 上传成功`)
|
||||
formName.enclosure = info.file.response.data
|
||||
|
@ -570,11 +671,9 @@ export default {
|
|||
'image/pdf' ||
|
||||
'image/xlxs' ||
|
||||
'image/ppt'
|
||||
|
||||
if (!isPNG) {
|
||||
message.error(`上传失败`)
|
||||
}
|
||||
|
||||
return isPNG || Upload.LIST_IGNORE
|
||||
}
|
||||
const fileList = ref([])
|
||||
|
@ -615,7 +714,6 @@ export default {
|
|||
const handleBlur = () => {
|
||||
console.log('blur')
|
||||
}
|
||||
|
||||
const handleFocus = () => {
|
||||
console.log('focus')
|
||||
// console.log(formName.applicationSystem)
|
||||
|
@ -623,11 +721,9 @@ export default {
|
|||
systemOptions.value = systemOptions2.value
|
||||
// systemOptions.value = []
|
||||
}
|
||||
|
||||
// const filterOption = (input, option) => {
|
||||
// return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
// }
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
mybus.off('reomveOldData')
|
||||
})
|
||||
|
@ -661,18 +757,16 @@ export default {
|
|||
applyAll,
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
#apply-container {
|
||||
#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%;
|
||||
|
@ -680,7 +774,6 @@ export default {
|
|||
background-color: #fff;
|
||||
margin: 1% 0 3%;
|
||||
}
|
||||
|
||||
article {
|
||||
width: 1090px;
|
||||
height: 99%;
|
||||
|
@ -688,10 +781,8 @@ export default {
|
|||
background-color: #fff;
|
||||
margin: 1% auto;
|
||||
}
|
||||
|
||||
.form-container {
|
||||
padding: 20px 20px 30px 20px;
|
||||
|
||||
.title {
|
||||
font-size: 20px;
|
||||
color: #000;
|
||||
|
@ -699,66 +790,55 @@ export default {
|
|||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.base-info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
: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;
|
||||
}
|
||||
}
|
||||
|
||||
.applicationScene {
|
||||
}
|
||||
.applicationScene {
|
||||
:deep(.ant-select-selector) {
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
:deep(.ant-select-selection-overflow) {
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
}
|
||||
textarea {
|
||||
resize: none;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.bottom-btn {
|
||||
}
|
||||
.bottom-btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
// position: fixed;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -151,7 +151,7 @@
|
|||
|
||||
// eslint-disable-next-line no-undef
|
||||
const navList = ref(navListManagement.navList)
|
||||
console.log('navList------------>', navList);
|
||||
console.log('navList------------>', navList)
|
||||
|
||||
const props = defineProps({
|
||||
showView: { type: String, default: '' },
|
||||
|
@ -422,6 +422,9 @@
|
|||
padding: 0 0.04rem 0 0.1rem;
|
||||
border-left: 0.01rem solid #666;
|
||||
}
|
||||
.icon {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
.white {
|
||||
|
@ -430,6 +433,9 @@
|
|||
.name {
|
||||
color: #0058e1;
|
||||
}
|
||||
.icon {
|
||||
cursor: pointer;
|
||||
}
|
||||
.nav {
|
||||
color: #000;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<video-surveillance></video-surveillance>
|
||||
</div>
|
||||
<!-- 功能行 -->
|
||||
<div class="infrastructrue-content">
|
||||
<div class="infrastructrue-content" v-if="!wrjFlag">
|
||||
<!-- 表格数据统计 -->
|
||||
<div class="contentNum">
|
||||
<p>
|
||||
|
@ -78,7 +78,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="infrastructrue-table">
|
||||
<div class="infrastructrue-table" v-if="!wrjFlag">
|
||||
<a-table
|
||||
class="ant-table-striped"
|
||||
:dataSource="dataSource"
|
||||
|
@ -114,10 +114,39 @@
|
|||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
<div class="infrastructrue-table" v-else-if="isXiHaiAn && wrjFlag">
|
||||
<a-table
|
||||
class="ant-table-striped"
|
||||
:dataSource="dataSource2"
|
||||
:columns="columns2"
|
||||
:scroll="{ y: tableHeight }"
|
||||
rowKey="channelId"
|
||||
:rowClassName="
|
||||
(record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||
"
|
||||
:pagination="dataSource2.length"
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.dataIndex === 'operation'">
|
||||
<a
|
||||
@click="goToWrj(record)"
|
||||
style="margin-right: 10px"
|
||||
v-if="record.type !== '单兵设备'"
|
||||
>
|
||||
控制台
|
||||
</a>
|
||||
<a @click="goToApply(record)" style="margin-right: 10px" v-else>
|
||||
申请
|
||||
</a>
|
||||
<a @click="showWrj(record)">详情</a>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
<a-modal
|
||||
v-model:visible="visible"
|
||||
title="视频预览"
|
||||
:width="750"
|
||||
:width="950"
|
||||
destroyOnClose
|
||||
>
|
||||
<template #footer></template>
|
||||
|
@ -127,6 +156,63 @@
|
|||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
wrapClassName="wrj"
|
||||
v-model:visible="wrjVisible"
|
||||
:width="1000"
|
||||
:title="wrjName + '详情'"
|
||||
@ok="wrjVisible = false"
|
||||
>
|
||||
<template v-if="dataSource2[0].type !== '单兵设备'">
|
||||
<div v-for="wrj in wrjData" :key="wrj.name">
|
||||
<div
|
||||
style="
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
margin: 10px 0;
|
||||
text-align: center;
|
||||
"
|
||||
>
|
||||
{{ wrj.name }}
|
||||
</div>
|
||||
<div
|
||||
style="padding: 0 30px"
|
||||
v-for="(value, key) in wrj.attribute"
|
||||
:key="value"
|
||||
>
|
||||
{{ key + ':' + value }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div v-for="(db, key) in wrjData" :key="key">
|
||||
<template v-if="typeof db == 'object'">
|
||||
<div
|
||||
style="
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
margin: 10px 0;
|
||||
text-align: center;
|
||||
"
|
||||
>
|
||||
{{ key }}
|
||||
</div>
|
||||
<div
|
||||
style="padding: 0 30px"
|
||||
v-for="(value, key2) in db"
|
||||
:key="value"
|
||||
>
|
||||
{{ key2 + ':' + value }}
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div style="padding: 0 30px">
|
||||
{{ key + ':' + db }}
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
|
@ -231,6 +317,43 @@
|
|||
content: [],
|
||||
},
|
||||
])
|
||||
const wrjVisible = ref(false)
|
||||
const wrjName = ref('')
|
||||
const wrjData = ref([])
|
||||
const showWrj = (data) => {
|
||||
wrjName.value = data.wrjName
|
||||
wrjData.value = data.details
|
||||
wrjVisible.value = true
|
||||
}
|
||||
const goToWrj = (data) => {
|
||||
window.open(data.url)
|
||||
}
|
||||
const goToApply = (data) => {
|
||||
console.log(data, dept)
|
||||
let arr = [
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
description:
|
||||
'申请单兵手持便携终端,提告前端人员执法透明度,加强执法人员与指挥中心实时沟通。',
|
||||
resourceId: 'dbsb',
|
||||
resourceName: data.wrjName,
|
||||
type: '单兵设备',
|
||||
},
|
||||
],
|
||||
deptId: dept.deptId,
|
||||
deptName: dept.deptName,
|
||||
},
|
||||
]
|
||||
localStorage.setItem('applyList', JSON.stringify(arr))
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
if (whoShow1.value.itShowXiHaiAn) {
|
||||
tabList.value[0].content.push('无人机')
|
||||
tabList.value[0].content.push('单兵设备')
|
||||
}
|
||||
const openVideo = (id) => {
|
||||
console.log('打开视频', id)
|
||||
const param = {
|
||||
|
@ -288,12 +411,14 @@
|
|||
tableHeight.value = 600
|
||||
showMap.value = false
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
tabList.value[1].title = '云资源分类'
|
||||
} else if (name == '感知资源') {
|
||||
tableHeight.value = 330
|
||||
showMap.value = true
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
}
|
||||
clickList.value[indexFather].content.splice(
|
||||
|
@ -302,12 +427,15 @@
|
|||
)
|
||||
} else {
|
||||
if (name == '视频资源') {
|
||||
wrjFlag.value = false
|
||||
tableHeight.value = 330
|
||||
showMap.value = true
|
||||
tabList.value[1].content = []
|
||||
clickList.value[1].content = []
|
||||
tabList.value[1].title = '视频标签'
|
||||
clickList.value[indexFather].content[0] = name
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
getCameraAllLabel().then((res) => {
|
||||
res.data.data.forEach((val) => {
|
||||
tabList.value[1].content.push({
|
||||
|
@ -328,6 +456,7 @@
|
|||
tableHeight.value = 600
|
||||
showMap.value = false
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
clickList.value[1].content = []
|
||||
tabList.value[1].title = '云资源分类'
|
||||
|
@ -342,6 +471,7 @@
|
|||
'负载均衡',
|
||||
'公网IP',
|
||||
]
|
||||
wrjFlag.value = false
|
||||
} else if (name == '感知资源') {
|
||||
tableHeight.value = 330
|
||||
showMap.value = true
|
||||
|
@ -351,6 +481,46 @@
|
|||
clickList.value[indexFather].content[0] = name
|
||||
tabList.value[1].content = []
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
wrjFlag.value = false
|
||||
} else if (name == '无人机') {
|
||||
tableHeight.value = 600
|
||||
showMap.value = false
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
clickList.value[1].content = []
|
||||
clickList.value[indexFather].content[0] = name
|
||||
tabList.value[1].title = ''
|
||||
tabList.value[1].content = []
|
||||
uavAndIndividualSoldier.uavList.map((wrj) => {
|
||||
dataSource2.value.push({
|
||||
wrjName: wrj.name,
|
||||
wrjState: '已申请',
|
||||
url: wrj.url,
|
||||
details: wrj.details,
|
||||
})
|
||||
})
|
||||
wrjFlag.value = true
|
||||
} else if (name == '单兵设备') {
|
||||
tableHeight.value = 600
|
||||
showMap.value = false
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
clickList.value[1].content = []
|
||||
clickList.value[indexFather].content[0] = name
|
||||
tabList.value[1].title = ''
|
||||
tabList.value[1].content = []
|
||||
uavAndIndividualSoldier.individualSoldier.map((db) => {
|
||||
dataSource2.value.push({
|
||||
wrjName: db.name,
|
||||
wrjState: '未申请',
|
||||
details: db.details,
|
||||
type: db.type,
|
||||
})
|
||||
})
|
||||
wrjFlag.value = true
|
||||
} else {
|
||||
clickList.value[indexFather].content.push(name)
|
||||
}
|
||||
|
@ -374,11 +544,14 @@
|
|||
// }
|
||||
if (name == '云资源' || name == '感知资源') {
|
||||
dataSource.value = []
|
||||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
} else {
|
||||
if (name !== '无人机' && name !== '单兵设备') {
|
||||
getCamera()
|
||||
}
|
||||
}
|
||||
}
|
||||
// 清空
|
||||
const nullClick = () => {
|
||||
clickList.value[1].content = []
|
||||
|
@ -430,6 +603,8 @@
|
|||
// const addShopCar = () => {
|
||||
// console.log('添加至购物车')
|
||||
// }
|
||||
const isXiHaiAn = whoShow1.value.itShowXiHaiAn
|
||||
const wrjFlag = ref(false)
|
||||
const getCamera = () => {
|
||||
console.log('初始化调用')
|
||||
console.log('不选左侧树的时候不调用接口', mapSearchParam.value)
|
||||
|
@ -491,6 +666,7 @@
|
|||
}
|
||||
// 表格
|
||||
const dataSource = ref([])
|
||||
const dataSource2 = ref([])
|
||||
const columns = ref([
|
||||
{
|
||||
title: '名称',
|
||||
|
@ -510,6 +686,25 @@
|
|||
key: 'channelId',
|
||||
},
|
||||
])
|
||||
const columns2 = ref([
|
||||
{
|
||||
title: '名称',
|
||||
dataIndex: 'wrjName',
|
||||
key: 'wrjName',
|
||||
},
|
||||
{
|
||||
title: '申请状态',
|
||||
dataIndex: 'wrjState',
|
||||
width: '60%',
|
||||
key: 'wrjState',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'operation',
|
||||
width: '20%',
|
||||
key: 'wrjName',
|
||||
},
|
||||
])
|
||||
// const allClick = ref([])
|
||||
const onSelectChange = (record, selected, selectedRows, nativeEvent) => {
|
||||
console.log('hahhahah', record, selected, selectedRows, nativeEvent)
|
||||
|
@ -710,3 +905,11 @@
|
|||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.wrj {
|
||||
.ant-modal-body {
|
||||
height: 700px !important;
|
||||
overflow-y: scroll !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -521,7 +521,7 @@
|
|||
#contain {
|
||||
.searchPoint {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
z-index: 800;
|
||||
top: 0.1rem;
|
||||
right: 0.1rem;
|
||||
border-radius: 4px;
|
||||
|
|
|
@ -171,6 +171,16 @@
|
|||
num: res.data.data[key],
|
||||
})
|
||||
}
|
||||
if (uavAndIndividualSoldier.num) {
|
||||
jcList.value.push({
|
||||
name: '无人机',
|
||||
num: uavAndIndividualSoldier.uavList.length,
|
||||
})
|
||||
jcList.value.push({
|
||||
name: '单兵设备',
|
||||
num: uavAndIndividualSoldier.individualSoldier.length,
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
pageWithAttrs(paramsGetResources).then((res) => {
|
||||
|
|
|
@ -75,6 +75,9 @@
|
|||
break
|
||||
case '基础设施':
|
||||
jcNum.value = val.count
|
||||
if (uavAndIndividualSoldier.num) {
|
||||
jcNum.value = jcNum.value - 0 + uavAndIndividualSoldier.num
|
||||
}
|
||||
break
|
||||
case '数据资源':
|
||||
sjNum.value = val.count
|
||||
|
|
|
@ -384,7 +384,6 @@
|
|||
height: 2.2rem;
|
||||
padding-top: 0.49rem;
|
||||
}
|
||||
background: #f3f5f9;
|
||||
border: #eaedf2 0.01rem solid;
|
||||
}
|
||||
|
||||
|
@ -516,7 +515,8 @@
|
|||
.content > div {
|
||||
height: 4.8rem;
|
||||
width: 3.1rem;
|
||||
margin-right: 0.2rem;
|
||||
margin-right: 0.1rem;
|
||||
background: #f3f5f9;
|
||||
}
|
||||
|
||||
.fixedmount {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-07-12 09:42:44
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-07-28 14:13:22
|
||||
* @LastEditTime: 2022-08-01 10:49:31
|
||||
* @Description:我的申请 能力申请 查看详情
|
||||
-->
|
||||
<template>
|
||||
|
@ -357,10 +357,10 @@
|
|||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
.result:hover {
|
||||
color: #0058e1;
|
||||
cursor: pointer;
|
||||
}
|
||||
// .result:hover {
|
||||
// color: #0058e1;
|
||||
// cursor: pointer;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,13 +64,13 @@
|
|||
{{ item.cameraList ? item.system : item.title }}
|
||||
</template>
|
||||
<div class="content-body-title">
|
||||
<span
|
||||
<!-- <span
|
||||
v-if="item.cameraList && item.ended"
|
||||
@click="showVideoList(item)"
|
||||
>
|
||||
名称:{{ item.cameraList ? item.system : item.title }}
|
||||
</span>
|
||||
<span v-else>
|
||||
</span> -->
|
||||
<span>
|
||||
名称:{{ item.cameraList ? item.system : item.title }}
|
||||
</span>
|
||||
<div></div>
|
||||
|
|
Loading…
Reference in New Issue