From 57ff1c401860928f299b3f333f810a683769ba95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Thu, 17 Apr 2025 15:28:41 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- .env.linyefanghuo | 2 +- src/api/application/layer.ts | 21 ++++++-- src/api/application/model/index.ts | 7 +++ .../Decorates/Titles/Titles01/config.ts | 2 +- src/views/demo/layer/EditorModel.vue | 19 ++++++- src/views/demo/layer/TempeleteModel.vue | 50 +++++++++++++++++++ src/views/demo/layer/index.vue | 48 +++++++++++++++--- src/views/demo/layer/page.ts | 1 + 9 files changed, 138 insertions(+), 14 deletions(-) create mode 100644 src/views/demo/layer/TempeleteModel.vue diff --git a/.env.development b/.env.development index 377e0d8..b9d0906 100644 --- a/.env.development +++ b/.env.development @@ -16,7 +16,7 @@ VITE_GLOB_INFO_IMAGE_URL=http://120.222.154.48:6050 # Interface prefix VITE_GLOB_API_URL_PREFIX= -VITE_GLOB_APP_TITLE = 林业防火平台 +VITE_GLOB_APP_TITLE = 费县智慧林业防灭火平台 VITE_GLOB_APP_LOGO = /logo.png diff --git a/.env.linyefanghuo b/.env.linyefanghuo index e5c57ed..16176d6 100644 --- a/.env.linyefanghuo +++ b/.env.linyefanghuo @@ -24,7 +24,7 @@ VITE_GLOB_UPLOAD_URL=http://120.222.154.7:6050 VITE_GLOB_API_URL_PREFIX= -VITE_GLOB_APP_TITLE = 林业防火平台 +VITE_GLOB_APP_TITLE = 费县智慧林业防灭火平台 VITE_GLOB_APP_LOGO = /logo.png diff --git a/src/api/application/layer.ts b/src/api/application/layer.ts index 348dca1..28ba5e2 100644 --- a/src/api/application/layer.ts +++ b/src/api/application/layer.ts @@ -1,6 +1,10 @@ import { defHttp } from '@/utils/http/axios'; -import { TableDataByTableNameParams, TempeleteByTableNameParams } from './model/index'; +import { + TableDataByTableNameParams, + TempeleteByTableNameParams, + UploadSldStyleParams, +} from './model/index'; enum Api { // 获取列表数据 @@ -9,6 +13,8 @@ enum Api { TempeleteByTableName = '/api/Layer/TempeleteByTableName', // 更新单条数据 UpdateTableData = '/api/Layer/UpdateTableData', + // 上传样式 + UploadSldStyle = '/api/Layer/UploadSldStyle', } /** * @description: 获取打卡点列表 @@ -27,11 +33,20 @@ export function updateTableData(params: any) { }); } /** - * @description: 编辑打卡点 + * @description: 下载模板 */ export function tempeleteByTableName(params: TempeleteByTableNameParams) { - return defHttp.post({ + return defHttp.get({ url: Api.TempeleteByTableName, params, }); } +/** + * @description: 下载模板 + */ +export function uploadSldStyle(params: UploadSldStyleParams) { + return defHttp.get({ + url: Api.UploadSldStyle, + params, + }); +} diff --git a/src/api/application/model/index.ts b/src/api/application/model/index.ts index 8428af5..8c2d249 100644 --- a/src/api/application/model/index.ts +++ b/src/api/application/model/index.ts @@ -30,4 +30,11 @@ export interface TableDataByTableNameParams { } export interface TempeleteByTableNameParams { tablename: string; + type: number; +} + +export interface UploadSldStyleParams { + filepath: string; + tablename: string; + styleName: string; } diff --git a/src/packages/components/Decorates/Titles/Titles01/config.ts b/src/packages/components/Decorates/Titles/Titles01/config.ts index 38a6c16..a804f36 100644 --- a/src/packages/components/Decorates/Titles/Titles01/config.ts +++ b/src/packages/components/Decorates/Titles/Titles01/config.ts @@ -5,7 +5,7 @@ import { Titles01Config } from './index' import cloneDeep from 'lodash/cloneDeep' export const option = { - borderTitle: '费县林业防火平台', + borderTitle: '费县智慧林业防灭火平台', borderTitleWidth: 1920, borderTitleHeight: 98, borderTitleSize: 18, diff --git a/src/views/demo/layer/EditorModel.vue b/src/views/demo/layer/EditorModel.vue index 9ff8fc1..44eb9a6 100644 --- a/src/views/demo/layer/EditorModel.vue +++ b/src/views/demo/layer/EditorModel.vue @@ -26,6 +26,7 @@ import axios from 'axios'; import { getAppEnvConfig } from '@/utils/env'; import { fun_Delete } from '@/api/demo/files'; + import { uploadSldStyle } from '@/api/application/layer'; const { VITE_GLOB_API_URL } = getAppEnvConfig(); async function fetchXMLDataWithAxios(url) { @@ -40,7 +41,12 @@ const { createMessage, createConfirm } = useMessage(); defineOptions({ name: 'MenuDrawer' }); const editorJson = ref(); + const params: any = ref({}); const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { + console.log(data); + params.value.filepath = data.urlData.url; + params.value.styleName = data.styleName; + params.value.tablename = data.tableName; setModalProps({ confirmLoading: false }); fileData.value = data.urlData; // 使用方法 @@ -150,7 +156,18 @@ const changeHandle = (value) => { editorJson.value = value; }; - const editorSubmit = () => {}; + const editorSubmit = () => { + console.log(params.value); + uploadSldStyle(params.value).then((res) => { + console.log(res); + if (res) { + closeModal(); + createMessage.success('提交成功!'); + } else { + createMessage.error('提交失败!'); + } + }); + }; diff --git a/src/views/demo/layer/index.vue b/src/views/demo/layer/index.vue index ef40f24..e8b819a 100644 --- a/src/views/demo/layer/index.vue +++ b/src/views/demo/layer/index.vue @@ -24,7 +24,7 @@ style="width: 200px; margin-right: 10px" /> 查询 - 导出模版 + 导出模版 数据导入 批量操作 样式配置 @@ -101,6 +101,8 @@
+ +

请输入样式名称

+ diff --git a/src/views/demo/layer/page.ts b/src/views/demo/layer/page.ts index 0cdbbf1..4faa82b 100644 --- a/src/views/demo/layer/page.ts +++ b/src/views/demo/layer/page.ts @@ -2,3 +2,4 @@ export { default as LayerTree } from './LayerTree.vue'; export { default as AddModel } from './AddModel.vue'; export { default as Map } from './Map.vue'; export { default as EditorModel } from './EditorModel.vue'; +export { default as TempeleteModel } from './TempeleteModel.vue'; From a40144b49c2ea55ca44ae75d44176ce5a8ac60a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=95=E5=B5=A9?= <17854119262@163.com> Date: Thu, 17 Apr 2025 15:56:46 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=99=BA=E6=84=9F-=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E7=BB=84=E4=BB=B6-=E6=8D=A2=E4=BD=8D?= =?UTF-8?q?=E6=B5=B7=E5=BA=B7=E6=BA=90=E4=B8=94=E5=BC=B9=E7=AA=97=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 4 + package.json | 1 + public/monitor/common.css | 145 ------- public/monitor/{ => hk}/jquery-1.12.4.min.js | 0 .../{ => hk}/jsWebControl-1.0.0.min.js | 0 public/monitor/{ => hk}/jsencrypt.min.js | 0 public/monitor/mulIndex.html | 359 ----------------- src/hooks/eventHandler.hook.ts | 26 +- .../Zhichu/ZhiChu_LuXianGuHua/ts/direction.ts | 1 - .../Zhichu/Zhichu/ZhiChu_ModalTable/index.vue | 5 +- .../Zhigan/ZhiGan_ModalCarousel/index.vue | 2 +- .../Zhigan/ZhiGan_ModalVideo/config.vue | 4 +- .../ZhiGan_ModalVideo/hk/mulHKmonitor.vue | 363 ++++++++++++------ .../Zhigan/Zhigan/ZhiGan_ModalVideo/index.vue | 130 ++++--- 14 files changed, 358 insertions(+), 682 deletions(-) delete mode 100644 public/monitor/common.css rename public/monitor/{ => hk}/jquery-1.12.4.min.js (100%) rename public/monitor/{ => hk}/jsWebControl-1.0.0.min.js (100%) rename public/monitor/{ => hk}/jsencrypt.min.js (100%) delete mode 100644 public/monitor/mulIndex.html diff --git a/index.html b/index.html index 8c986a8..c07fa95 100644 --- a/index.html +++ b/index.html @@ -18,6 +18,10 @@ + + + + - - -
- - -
-
-
-
- - - - - - - - - - \ No newline at end of file diff --git a/src/hooks/eventHandler.hook.ts b/src/hooks/eventHandler.hook.ts index bdf67d1..7256ee5 100644 --- a/src/hooks/eventHandler.hook.ts +++ b/src/hooks/eventHandler.hook.ts @@ -80,16 +80,25 @@ export const eventCommonHandler = ( for (let k = 0; k < elementList[j].elementId.length; k++) { //获取位置 const arr = queryFun(componentList, elementList[j].elementId[k]); - console.log(arr); + // console.log(arr); if (arr.length > 1) { obj = componentList[arr[0]].groupList[arr[1]]; obj.status.hide = false; - console.log(obj); + // console.log(obj); // chartEditStore.updateComponentList(arr[0], obj, arr[1]); } else if (arr.length == 1) { obj = componentList[arr[0]]; obj.status.hide = false; - console.log(obj); + // console.log(obj); + + // 海康视频组件单独处理 + if(obj.isGroup && obj.groupList.some((li) => li.key == 'ZhiGan_ModalVideo')) { + obj.groupList.forEach((g) => { + if(g.key == 'ZhiGan_ModalVideo'){ + g.status.hide = false; + } + }); + } // chartEditStore.updateComponentList(arr[0], obj); } // if (componentList[i].id == elementList[j].elementId[k]) { @@ -103,7 +112,7 @@ export const eventCommonHandler = ( // 隐藏 for (let k = 0; k < elementList[j].elementId.length; k++) { //获取位置 - const arr = queryFun(componentList, elementList[j].elementId[k]); + const arr = queryFun(componentList, elementList[j].elementId[k]); if (arr.length > 1) { obj = componentList[arr[0]].groupList[arr[1]]; obj.status.hide = true; @@ -111,6 +120,15 @@ export const eventCommonHandler = ( } else if (arr.length == 1) { obj = componentList[arr[0]]; obj.status.hide = true; + + // 海康视频组件单独处理 + if(obj.isGroup && obj.groupList.some((li) => li.key == 'ZhiGan_ModalVideo')) { + obj.groupList.forEach((g) => { + if(g.key == 'ZhiGan_ModalVideo'){ + g.status.hide = true; + } + }); + } // chartEditStore.updateComponentList(arr[0], obj); } // if (componentList[i].id == elementList[j].elementId[k]) { diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_LuXianGuHua/ts/direction.ts b/src/packages/components/Zhichu/Zhichu/ZhiChu_LuXianGuHua/ts/direction.ts index 898740b..3ef43d3 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_LuXianGuHua/ts/direction.ts +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_LuXianGuHua/ts/direction.ts @@ -9,7 +9,6 @@ const INPUT_TIP_URL = "https://restapi.amap.com/v3/assistant/inputtips"; const RE_GEO_URL = "https://restapi.amap.com/v3/geocode/regeo"; const GD_KEY = "6af6a87038f44c8c793aa70331f2b7ca"; -// const GD_KEY = "8599882c8059403539cd882a8a6e64d0"; // 起点、沿途、不包含的沿途、终点,光点的颜色 export const wayColorList = { diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue index b81e4ea..4e843db 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue @@ -733,9 +733,10 @@ pitch: -51.9, }); } + + let endCoor = [118.031528, 35.431473]; // 漫游 async function roamLocation(startCoor) { - let endCoor = [118.031528, 35.431473]; let params: any = { startlng: parseFloat(startCoor[0]), startlat: parseFloat(startCoor[1]), @@ -758,6 +759,8 @@ // 组件通信 const sql = props.chartConfig.request?.requestSQLContent?.sql; EventBus.on(props.chartConfig.id + 'dataupdate', (data) => { + // 火情终点 + endCoor = [data.lng, data.lat]; props.chartConfig.request.requestSQLContent.sql = replaceSqlParams(sql, { Id: data.id }); // 数据callback处理(预览时触发) useChartDataFetch(props.chartConfig, useChartEditStore, (resData: any[]) => { diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalCarousel/index.vue b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalCarousel/index.vue index bb9d61b..b81e705 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalCarousel/index.vue +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalCarousel/index.vue @@ -114,7 +114,7 @@ props.chartConfig.request.requestSQLContent.sql = replaceSqlParams(sql, { Id: data.id }); // 数据callback处理(预览时触发) useChartDataFetch(props.chartConfig, useChartEditStore, (resData: any[]) => { - option.dataset = resData; + option.dataset = resData; }); }); }); diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue index fe4dab5..5d24aee 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue @@ -1,6 +1,6 @@ diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/index.vue b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/index.vue index fec68e1..a50893d 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/index.vue +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/index.vue @@ -1,48 +1,59 @@ @@ -56,6 +67,7 @@ onBeforeUnmount, watch, computed, + nextTick, } from 'vue'; import { CreateComponentType } from '@/packages/index.d'; import { icon } from '@/plugins'; @@ -65,6 +77,7 @@ import { replaceSqlParams } from '@/utils/sqlHandler'; import dayjs from 'dayjs'; import MulHKmonitor from './hk/mulHKmonitor.vue'; + import PlayerVideo from './hk/playVideo.vue'; const props = defineProps({ chartConfig: { @@ -75,17 +88,24 @@ const { w, h } = toRefs(props.chartConfig.attr); + const chartEditStore = useChartEditStore(); + const option = reactive({ dataset: props.chartConfig.option.dataset, dataStyle: props.chartConfig.option.dataStyle, status: props.chartConfig.status, }); + // 海康 const MulHKmonitorRef = ref(); - const chartEditStore = useChartEditStore(); + // 默认video + const PlayerVideoRef = ref(); // 是否是编辑状态 const isEdit = window.location.href.includes('/chart/home/'); + // 标题 + const titleName = ref(''); + const manufacturer = ref(''); // 状态隐藏、显示 watch( @@ -93,47 +113,66 @@ (newValue) => { if (!isEdit) { if (!newValue) { - // handlerPlayVideo(); - MulHKmonitorRef.value.initPlugin(); + startVideo(option.dataStyle.serialNumberValue); } else { - MulHKmonitorRef.value.closeHkVideo(); + closeVideo(option.dataStyle.serialNumberValue); } } }, ); - // 播放的视频 - // watch( - // () => option.dataStyle.serialNumberValue, - // () => { - // if (option.dataStyle.serialNumberValue) { - // handlerPlayVideo(); - // } else { - // if (player) { - // player.dispose(); - // player = null; - // } - // } - // }, - // ); + // 切换视频 + watch( + () => option.dataStyle.serialNumberValue, + (newValue, oldValue) => { + titleName.value = getDataBySerialNumberValue(newValue).name; + manufacturer.value = getDataBySerialNumberValue(newValue).manufacturer; - // 视频控件初始化 - // let player: any = null; - // function handlerPlayVideo() { - // if ( - // !option.status.hide && - // !isEdit && - // (option.dataStyle.serialNumberValue.includes('https://') || - // option.dataStyle.serialNumberValue.includes('http://')) - // ) { - // if (player) { - // player.src(option.dataStyle.serialNumberValue); - // } else { - // player = TCPlayer('ZhiGan_ModalVideo' + option.dataStyle.timestamp, {}); - // player.src(option.dataStyle.serialNumberValue); - // } - // } - // } + if (!isEdit) { + if (oldValue) { + let newVideoInfo = getDataBySerialNumberValue(newValue); + let oldVideoInfo = getDataBySerialNumberValue(oldValue); + if (newVideoInfo.manufacturer != oldVideoInfo.manufacturer) { + closeVideo(oldValue); + } + } + if (newValue) { + startVideo(newValue); + } + } + }, + ); + + // 获取视频信息 + function getDataBySerialNumberValue(value) { + return option.dataset.find((item) => item.serialNumber === value); + } + + // 开启视频 + function startVideo(value) { + titleName.value = getDataBySerialNumberValue(value).name; + manufacturer.value = getDataBySerialNumberValue(value).manufacturer; + // setTimeout(() => { + nextTick(() => { + let videoInfo = getDataBySerialNumberValue(value); + if (videoInfo.manufacturer == '海康') { + MulHKmonitorRef.value.initPlugin(); + } else { + PlayerVideoRef.value.handlerPlayVideo(); + } + }); + // }, 1000); + } + + // 关闭视频 + function closeVideo(value) { + let videoInfo = getDataBySerialNumberValue(value); + if (videoInfo.manufacturer == '海康') { + MulHKmonitorRef.value.closeHkVideo(); + } else { + PlayerVideoRef.value.closePlayerVideo(); + } + } // 初始化视频控件 onMounted(() => { @@ -141,11 +180,15 @@ if (!option.dataStyle.timestamp) { option.dataStyle.timestamp = dayjs().unix(); } - // if (!window.location.href.includes('/chart/home/')) { - // setTimeout(function () { - // handlerPlayVideo(); - // }, 1000); - // } + if (!option.dataStyle.serialNumberValue) { + option.dataStyle.serialNumberValue = option.dataset[0].serialNumber; + } + + titleName.value = getDataBySerialNumberValue(option.dataStyle.serialNumberValue).name; + manufacturer.value = getDataBySerialNumberValue( + option.dataStyle.serialNumberValue, + ).manufacturer; + // 组件通信 const sql = props.chartConfig.request?.requestSQLContent?.sql; EventBus.on(props.chartConfig.id + 'dataupdate', (data) => { @@ -153,29 +196,32 @@ // 数据callback处理(预览时触发) useChartDataFetch(props.chartConfig, useChartEditStore, (resData: any[]) => { option.dataset = resData; - // handlerPlayVideo(); - MulHKmonitorRef.value.initPlugin(); + // 启动视频 + startVideo(option.dataStyle.serialNumberValue); }); }); + if (!isEdit) { + // 启动视频 + startVideo(option.dataStyle.serialNumberValue); + } }); // 销毁视频控件 onBeforeUnmount(() => { if (!isEdit) { - MulHKmonitorRef.value.closeHkVideo(); + // 关闭视频 + closeVideo(option.dataStyle.serialNumberValue); } - // if (player) { - // player.dispose(); - // player = null; - // } }); // 数据callback处理(预览时触发) useChartDataFetch(props.chartConfig, useChartEditStore, (resData: any[]) => { - option.dataset = resData; - // handlerPlayVideo(); - if (!isEdit) { - MulHKmonitorRef.value.initPlugin(); + if (resData) { + option.dataset = resData; + } + if (!isEdit && !option.status.hide) { + // 启动视频 + startVideo(option.dataStyle.serialNumberValue); } }); @@ -198,19 +244,40 @@ scrollbar-width: none; -ms-overflow-style: none; } + + .modalTitle { + position: relative; + width: 100%; + height: v-bind('`${option.dataStyle.modalTitleHeight}px`'); + background: v-bind('`${option.dataStyle.titleBackgroud}`'); + + display: inline-flex; + align-items: center; + justify-content: left; + + .modalTitle_name { + padding-left: 10px; + width: 100%; + height: v-bind('`${option.dataStyle.modalTitleHeight}px`'); + font-size: v-bind('`${option.dataStyle.titleFontSize}px`'); + color: v-bind('`${option.dataStyle.titleFontColor}`'); + } + } + + .modalVideo { + width: 100%; + height: v-bind('`${h - option.dataStyle.modalTitleHeight}px`'); + } + + ::v-deep .n-button--medium-type { + width: 100% !important; + } + video { display: block; object-fit: v-bind('option.dataStyle.videoFit'); } - .modalVideoTitle { - position: absolute; - width: 90%; - top: 5%; - left: 5%; - z-index: 1; - } - ::v-deep .n-base-selection { --n-border: 0px solid #ffffff00 !important; background: #ffffff00 !important; @@ -223,8 +290,15 @@ } ::v-deep .n-base-selection-input { background: #ffffff00 !important; + font-size: v-bind('`${ option.dataStyle.titleFontSize }px`') !important; + color: v-bind('`${option.dataStyle.titleFontColor}`') !important; + width: 230px !important; } ::v-deep .n-base-selection-input__content { + font-size: v-bind('`${ option.dataStyle.titleFontSize }px`') !important; + color: v-bind('`${option.dataStyle.titleFontColor}`') !important; + } + ::v-deep .n-base-select-option-show--checkmark { font-family: PingFangSC, PingFang SC; @@ -235,6 +309,13 @@ font-style: normal; } + ::v-deep .n-button--medium-type { + --n-border: 1px solid #ffffff00 !important; + --n-border-hover: 1px solid #ffffff00 !important; + --n-border-disabled: 1px solid #ffffff00 !important; + --n-border-pressed: 1px solid #ffffff00 !important; + } + ::v-deep .vjs-live-control .vjs-live-display { width: 100px !important; } From 1543ef26a4eda75c06851a86b7cc5c526a234f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=95=E5=B5=A9?= <17854119262@163.com> Date: Tue, 22 Apr 2025 17:01:45 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E6=97=A0=E4=BA=BA=E6=9C=BA=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E7=94=BB=E9=9D=A2-=E5=A4=9A=E4=B8=AA=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E6=BA=90=E5=85=BC=E5=AE=B9=E4=B8=94=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=9A=8F=E6=84=8F=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Zhigan/ZhiGan_ModalVideo/config.vue | 30 +- .../ZhiGan_WuRenJiShiShiHuaMian/config.ts | 8 +- .../ZhiGan_WuRenJiShiShiHuaMian/config.vue | 29 +- .../ZhiGan_WuRenJiShiShiHuaMian/data.json | 38 ++- .../ZhiGan_WuRenJiShiShiHuaMian/index.vue | 292 +++++++++++------- .../video/mulHKmonitor.vue | 284 +++++++++++++++++ .../video/playVideo.vue | 78 +++++ 7 files changed, 617 insertions(+), 142 deletions(-) create mode 100644 src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/video/mulHKmonitor.vue create mode 100644 src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/video/playVideo.vue diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue index 059263b..4723bc3 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_ModalVideo/config.vue @@ -41,6 +41,20 @@ :min="0" > + + + + + + @@ -89,24 +103,10 @@ :min="0" > - - - - - - diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.ts b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.ts index 33abba4..21aa5c1 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.ts +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.ts @@ -21,6 +21,10 @@ export const option = { titleWidth: 181, titleHeight: 30, + buttonColor1: '#008000', + buttonColor2: '#7D8492', + buttonSize: 24, + videoloop: false, // 视频-循环播放 videomuted: true, // 视频-静音 videofit: 'fill', // 视频-适应方式 @@ -45,8 +49,8 @@ export const option = { export default class Config extends PublicConfigClass implements CreateComponentType { public key = ZhiGan_WuRenJiShiShiHuaMianConfig.key - public attr = { ...chartInitConfig, w: 400, h: 343, zIndex: -1 } - public request = { ...requestSqlConfig, requestSQLContent: { sql: 'select * from zg_wurenjishishihuamian' }, } + public attr = { ...chartInitConfig, w: 400, h: 353, zIndex: -1 } + // public request = { ...requestSqlConfig, requestSQLContent: { sql: 'select * from zg_wurenjishishihuamian' }, } public filter = "return res.result;" public chartConfig = cloneDeep(ZhiGan_WuRenJiShiShiHuaMianConfig) public option = cloneDeep(option) diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.vue b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.vue index 0af204b..9ab7946 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.vue +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/config.vue @@ -26,6 +26,31 @@ + + + + + + + + + + + + @@ -72,7 +97,7 @@ - + diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/data.json b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/data.json index 572442b..4868096 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/data.json +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/data.json @@ -1,28 +1,54 @@ { "source": [ + { + "title": "XZD153狼窝沟西南", + "videourl": "74b95e6575d741489b9a9061bb646467", + "manufacturer": "海康" + }, + { + "title": "XZD152青山裕水库东", + "videourl": "ecdb49050c57452dbae7ec6f03e82667", + "manufacturer": "海康" + }, + { + "title": "XZD147大古台南山", + "videourl": "edd84ccac34441c48c6a7bf030f9c13f", + "manufacturer": "海康" + }, + { + "title": "XZD151青山裕水库西", + "videourl": "c10f9faea87d4f659e2bc01de24e29a9", + "manufacturer": "海康" + }, { "title":"DJA-72无人机监控画面", - "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv" + "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv", + "manufacturer": "" }, { "title":"DJ-057无人机监控画面", - "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv" + "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv", + "manufacturer": "" }, { "title":"DJA-20无人机监控画面", - "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv" + "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv", + "manufacturer": "" }, { "title":"DJA-035无人机监控画面", - "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv" + "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv", + "manufacturer": "" }, { "title":"DJA-11无人机监控画面", - "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv" + "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv", + "manufacturer": "" }, { "title":"DJ-021无人机监控画面", - "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv" + "videourl": "http://111.36.45.20:18000/flv/hls/H-dcb1ea7388588111.flv", + "manufacturer": "" } ] } diff --git a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/index.vue b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/index.vue index 8590eae..22415c1 100644 --- a/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/index.vue +++ b/src/packages/components/Zhigan/Zhigan/ZhiGan_WuRenJiShiShiHuaMian/index.vue @@ -1,38 +1,81 @@