视频监控
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

486 lines
13 KiB

import {getTreeList, getRes} from "@/api/basicResources/tourBasic";
import {getCustomersSource} from "@/api/ticketing/sellTouristsPortrait";
import TreeBox from "@/components/CommonComponents/PublicCoponents/editTree/TreeBox";
import autoSelect from "@/components/CommonComponents/PublicCoponents/slsect/AutoSelect";
import RLocation from "@/components/CommonComponents/PublicCoponents/map/RLocation";
import NewLocation from "@/components/CommonComponents/PublicCoponents/map/NewLocation";
import TreeSelect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import imageUpload from "@/components/ImageUpload";
import fileUpload from "@/components/FileUpload";
import Edit from '@/components/Editor/index';
import item from "@/layout/components/Sidebar/Item";
import {getRegion} from "@/api/menu";
export default {
components: {TreeBox, autoSelect, RLocation, imageUpload, fileUpload, Edit,NewLocation,TreeSelect},
dicts: ['search_drop_down','resource_info','boat_type','led_type','video_type','exhibit_category','exhibit_quality','exhibit_dynasty','flower_level','in_and_out_direction','carpark_type','toilet_type','carpark_level','toilet_level','technology_level','artgallery_level','gymnasium_type','library_type','memorialhall_type','cultural_type','artgallery_type','museum_type','parking_available','food_level','hotel_level','rural_level','led_type','broadcast_type','video_type','carpark_type','toilet_type','gymnasium_type','library_type','memorialhall_type','cultural_type','artgallery_type','museum_type','travel_type','shopping_type','food_type','homestay_type','hotel_type','fun_type','rural_type','source_of_tour_guide', 'leader_or_not', 'sys_user_sex', 'guide_languages', 'guide_level', 'car_color_dict', 'car_number_color_dict', 'bus_type', 'sys_show_hide', 'dev_brand_dict', 'operating_state', 'dev_model_dict', 'scenic_level', 'scenic_type', 'status', 'agency_type', 'cultural_center_level', 'cultural_type', 'construction', 'public_service_resource_level'],
data() {
return {
//全国省市分
region:[],
//选择的左侧类型
idType:null,
idTypes:[],
//tree数据格式
treeData: [
{
label: '一级 1',
children: [{
label: '二级 1-1',
children: [{
label: '三级 1-1-1'
}]
}]
}, {
label: '一级 2',
children: [{
label: '二级 2-1',
children: [{
label: '三级 2-1-1'
}]
}, {
label: '二级 2-2',
children: [{
label: '三级 2-2-1'
}]
}]
}, {
label: '一级 3',
children: [{
label: '二级 3-1',
children: [{
label: '三级 3-1-1'
}]
}, {
label: '二级 3-2',
children: [{
label: '三级 3-2-1'
}]
}]
}],
defaultProps: {
children: 'children',
label: 'label'
},
//左侧类型名
typeName: '',
//左侧类型
type: null,
groupData: [],
//省
provinceOptions: [],
//市
cityOptions: [],
//县
countryOptions: [],
//资源类型下拉
listByInResources: [],
rules:{
resourceName:[
{required: true,message:'资源名称不能为空',trigger:'blur'}
],
sort:[
{required: true,message:'排序编码不能为空',trigger:'blur'}
],
agency:[
{required: true,message:'注册机构不能为空',trigger:'blur'}
],
region:[
{required: true,message:'行政管理区域不能为空',trigger:'blur'}
],
maxLoad:[
{required: true,message:'最大承载量不能为空',trigger:'blur'}
],
province:[
{required: true,message:'地理区划不能为空',trigger:'change'}
],
imageUrl:[
{required: true,message:'请上传图片',trigger:'blur'}
],
grade:[
{required: true,message:'资源等级不能为空',trigger:'blur'}
],
}
}
},
filters: {
//处理资源名称
processingTypesName(val) {
switch (val) {
case 'scenic':
return '景区'
case 'rural':
return '乡村游'
case 'fun':
return '娱乐'
case 'hotel':
return '酒店'
case 'homestay':
return '民宿'
case 'food':
return '美食'
case 'shopping':
return '购物'
case 'travel':
return '旅行社'
case 'museum':
return '博物馆'
case 'artgallery':
return '美术馆'
case 'cultural':
return '文化馆'
case 'memorialhall':
return '纪念馆'
case 'library':
return '图书馆'
case 'technology':
return '科技馆'
case 'gymnasium':
return '体育馆'
case 'toilet':
return '厕所'
case 'carpark':
return '停车场'
case 'bustop':
return '汽车站'
case 'railstation':
return '火车站'
case 'airport':
return '飞机场'
case 'charging':
return '充电站'
case 'gastation':
return '加油站'
case 'traffic':
return '交通站点'
case 'wharf':
return '游船码头'
case 'tourservice':
return '游客服务中心'
case 'entrepot':
return '游客集散中心'
case 'emergmange':
return '应急管理机构'
case 'medicala':
return '医疗救援机构'
case 'fireco':
return '消防机构'
case 'takerefuge':
return '避难场所'
case 'armed':
return '武警部队'
case 'spot':
return '游玩景点'
case 'ticket':
return '售票站点'
case 'inletexit':
return '出入口'
case 'cableway':
return '索道缆车'
case 'place':
return '公共场所'
case 'building':
return '建筑物'
case 'other':
return '其他'
case 'flower':
return '景区花卉'
case 'hall':
return '展厅'
case 'exhibit':
return '展品'
case 'collection':
return '藏品'
case 'video':
return '视频监控'
case 'passflow':
return '客流监控'
case 'broadcast':
return '语音广播'
case 'led':
return 'LED大屏'
case 'wifi':
return '无线WIFI'
case 'pole':
return '智慧灯杆'
case 'patrol':
return '巡更设备'
case 'report':
return '通讯设备'
case 'sos':
return 'SOS求助'
case 'vibe':
return '环境监测'
case 'geologi':
return '地质灾害监测'
case 'fire':
return '火灾监测'
case 'intrude':
return '入侵监测'
case 'bus':
return '旅游大巴'
case 'car':
return '交通车辆'
case 'boat':
return '游船游艇'
}
},
//处理语种
languageName(val) {
let arr = val.split(',')
const Arr = [
{
id: '1',
label: '普通话'
},
{
id: '2',
label: '日语'
},
{
id: '3',
label: '英语'
},
{
id: '4',
label: '德语'
},
{
id: '5',
label: '法语'
},
{
id: '6',
label: '其他'
},
]
return arr.flatMap(id => Arr.filter(obj => obj.id === id).map(obj => obj.label)).join(',');
}
},
computed: {
typesName() {
switch (this.form.type) {
case 'scenic':
return '景区'
case 'rural':
return '乡村游'
case 'fun':
return '娱乐'
case 'hotel':
return '酒店'
case 'homestay':
return '民宿'
case 'food':
return '美食'
case 'shopping':
return '购物'
case 'travel':
return '旅行社'
case 'museum':
return '博物馆'
case 'artgallery':
return '美术馆'
case 'cultural':
return '文化馆'
case 'memorialhall':
return '纪念馆'
case 'library':
return '图书馆'
case 'technology':
return '科技馆'
case 'gymnasium':
return '体育馆'
case 'toilet':
return '厕所'
case 'carpark':
return '停车场'
case 'bustop':
return '汽车站'
case 'railstation':
return '火车站'
case 'airport':
return '飞机场'
case 'charging':
return '充电站'
case 'gastation':
return '加油站'
case 'traffic':
return '交通站点'
case 'wharf':
return '游船码头'
case 'tourservice':
return '游客服务中心'
case 'entrepot':
return '游客集散中心'
case 'emergmange':
return '应急管理机构'
case 'medicala':
return '医疗救援机构'
case 'fireco':
return '消防机构'
case 'takerefuge':
return '避难场所'
case 'armed':
return '武警部队'
case 'spot':
return '游玩景点'
case 'ticket':
return '售票站点'
case 'inletexit':
return '出入口'
case 'cableway':
return '索道缆车'
case 'place':
return '公共场所'
case 'building':
return '建筑物'
case 'other':
return '其他'
case 'flower':
return '景区花卉'
case 'hall':
return '展厅'
case 'exhibit':
return '展品'
case 'collection':
return '藏品'
case 'video':
return '视频监控'
case 'passflow':
return '客流监控'
case 'broadcast':
return '语音广播'
case 'led':
return 'LED大屏'
case 'wifi':
return '无线WIFI'
case 'pole':
return '智慧灯杆'
case 'patrol':
return '巡更设备'
case 'report':
return '通讯设备'
case 'sos':
return 'SOS求助'
case 'vibe':
return '环境监测'
case 'geologi':
return '地质灾害监测'
case 'fire':
return '火灾监测'
case 'intrude':
return '入侵监测'
case 'bus':
return '旅游大巴'
case 'car':
return '交通车辆'
case 'boat':
return '游船游艇'
}
}
},
created() {
this.getCustomersSource(-1)
this.getRes()
this.getRegion()
},
methods: {
//资源类型下拉
getRes() {
getRes().then(val => {
this.listByInResources = val.data
})
},
//查左侧菜单
getTreeList(el) {
this.loading = true;
getTreeList(el).then(response => {
this.$nextTick(() => {
this.groupData = response.data
})
});
},
//选择树
selectTree(val) {
console.log('选择的左侧数据',val)
this.idType = val.code
let this_ = this
this_.queryParams.type = val.id
this_.type = val.id
this_.typeName = val.label
this.getList(val.code)
},
//省市县
getCustomersSource(el) {
let params = {
regionId: el
}
getCustomersSource(params).then(value => {
this.provinceOptions = value.rows
})
},
getCity(el) {
let params = {
regionId: el
}
getCustomersSource(params).then(value => {
this.cityOptions = value.rows
})
},
getCountry(el) {
let params = {
regionId: el
}
getCustomersSource(params).then(value => {
this.countryOptions = value.rows
})
},
//获取全国省市县
getRegion(){
getRegion().then(response=>{
let publicArr = []
if (response.data != undefined && response.data.length > 0) {
response.data.forEach(item => {
let obj = {
id: item.id,
label: item.areaName,
children: []
}
if (item.children != undefined && item.children.length > 0) {
item.children.forEach(childItem => {
let childObj = {
id: childItem.id,
label: childItem.areaName,
children: []
}
if (childItem.children != undefined && childItem.children.length > 0) {
childItem.children.forEach(sonItem => {
let sonObj = {
id: sonItem.id,
label: sonItem.areaName,
}
childObj.children.push(sonObj)
})
}
obj.children.push(childObj)
})
}
publicArr.push(obj)
})
this.region = publicArr
}
})
},
onInput() {
this.$forceUpdate();
},
}
}