main
徐景良 2025-11-17 14:25:07 +08:00
parent 114e2d504c
commit 310cf5afb8
4 changed files with 150 additions and 46 deletions

View File

@ -9,7 +9,7 @@ export const option = {
colors: ['#0C2411','#00611A','#FFFFFF'],
text: '添加途经点',
list: [
'关闭线索','应急响应'
'关闭线索','应急响应','关闭弹窗'
],
selectButton: '',
}

View File

@ -4,7 +4,10 @@
>
<!-- 时间线 -->
<div class="clue-information-containers">
<!-- 关闭按钮 -->
<div class="close-container" @click="handlerCloseWindow">
</div>
<!-- 左侧列表 -->
<div class="left-container" ref="container">
@ -14,10 +17,10 @@
<!-- 内容 -->
<div class="clue-item-information" >
<div class="icon">
<img v-if="item.state == 1" :src="'/public/components/Task/taskassign/'+item.icon+'-active.png'" alt="">
<img v-if="item.state <= 2" :src="'/public/components/Task/taskassign/'+item.icon+'-active.png'" alt="">
<img v-else :src="'/public/components/Task/taskassign/'+item.icon+'.png'" alt="">
</div>
<div class="label" :style="{'background-image': item.state == 1 ? 'url(/public/components/Task/taskassign/item-bg-active.png)' : 'url(/public/components/Task/taskassign/item-bg.png)'}">
<div class="label" :style="{'background-image': item.state <= 2 ? 'url(/public/components/Task/taskassign/item-bg-active.png)' : 'url(/public/components/Task/taskassign/item-bg.png)'}">
{{item.name}}
</div>
</div>
@ -41,26 +44,26 @@
<!-- 点击弹窗 -->
<div class="verify-container" v-if="currentTimeNode.checked"
:style="{
'background-image': currentTimeNode.state == 1 ? 'url(/public/components/Task/taskassign/detail-bg-active.png)' : 'url(/public/components/Task/taskassign/detail-bg.png)',
'background-image': currentTimeNode.state <= 2 ? 'url(/public/components/Task/taskassign/detail-bg-active.png)' : 'url(/public/components/Task/taskassign/detail-bg.png)',
'left': (clickX-212)+'px'
}"
>
<div class="title"
:style="{
'background': currentTimeNode.state == 1 ? 'linear-gradient( 270deg, #271410 0%, #740B09 47%, #CC0101 100%)' : 'linear-gradient( 270deg, #0A261E 0%, #15AF3F 47%, #17B241 100%)',
'border-left': currentTimeNode.state == 1 ? '3px solid #F02626' : '3px solid #20C24D'
'background': currentTimeNode.state <= 2 ? 'linear-gradient( 270deg, #271410 0%, #740B09 47%, #CC0101 100%)' : 'linear-gradient( 270deg, #0A261E 0%, #15AF3F 47%, #17B241 100%)',
'border-left': currentTimeNode.state <= 2 ? '3px solid #F02626' : '3px solid #20C24D'
}"
>
{{currentTimeNode.name}}
<div class="close-button" @click="handlerCloseInfo(currentTimeNode)">
<img v-if="currentTimeNode.state == 1" src="/public/components/Task/taskassign/close-active.png" alt="">
<img v-if="currentTimeNode.state <= 2" src="/public/components/Task/taskassign/close-active.png" alt="">
<img v-else src="/public/components/Task/taskassign/close.png" alt="">
</div>
</div>
<!-- 图片 -->
<div class="image-container"
:style="{'border': currentTimeNode.state == 1 ? '2px solid rgba(240, 38, 38, 1)' : '2px solid #20C24D'}"
:style="{'border': currentTimeNode.state <= 2 ? '2px solid rgba(240, 38, 38, 1)' : '2px solid #20C24D'}"
>
<a-carousel autoplay dots-class="slick-dots slick-thumb" preview-disabled v-if="imageLoading" style="height:100px;">
<div v-for="currentTimeNode in handlerAfterImageList" style="height:100px;">
@ -356,10 +359,6 @@
</div>
</div>
</div>
</div>
</div>
@ -371,11 +370,6 @@
</div>
</div>
<div class="ai-control">
<!-- <div class="no-picture" v-if="true">
<img src="@/assets/images/chart/uav/no-picture.png" alt="" />
<span>暂无画面 请您耐心等待</span>
<span>......</span>
</div> -->
<div class="player" style="height: 200px" v-if="hikversionShow">
<HKMonitor :videourl="playerUrl" :index="1" :width="360" :height="240" :timestamp="1" :nowFullScreenVideo="false"></HKMonitor>
</div>
@ -789,6 +783,8 @@
const parentRect = container.value.getBoundingClientRect() //
clickX.value = event.clientX - parentRect.left // X
//
getImageList(item.info);
listItem.value.forEach((item,index)=>{
@ -872,8 +868,20 @@
}
listItem.value.push(timeLineInfo);
getImageList(data.info);
});
}
let imageList = [];
function getImageList(data){
console.log("data123",data);
let imageList = [];
if(!data.image){
handlerAfterImageList.value = [];
imageLoading.value = true;
return null;
}
if(data.image.match(",")){
imageList = data.image.split(",");
@ -883,10 +891,8 @@
handlerAfterImageList.value = [];
imageList.forEach((item,index)=>{
let imageUrl = null;
try{
imageUrl = matchHttpIpPort(item);
}catch(e){
@ -895,10 +901,6 @@
handlerAfterImageList.value.push(imageUrl+"?token="+imageToken.value)
})
imageLoading.value = true;
});
}
//
@ -947,7 +949,6 @@
// 线
handlerDetail();
})
}
@ -956,7 +957,7 @@
const handlerGetTaskList = () => {
let sql = `
SELECT "Id","Content","Lng","Lat","Address","State","TaskTime","Image","ActOn"
from fm_firecluetask where "Fireclueid" = '${clueInfo.value.id}' AND "State" IN (3)
from fm_firecluetask where "Fireclueid" = '${clueInfo.value.id}' AND "State" IN (2,3)
ORDER BY "TaskTime"
`;
axios.post(VITE_GLOB_API_URL+'/api/FireResources/GetDataBySql',{
@ -970,21 +971,17 @@
let showInfo = [
{
label:"线索描述",
label:"核查信息",
key:"Content",
value:item.content,
},{
label:"线索位置",
label:"地点位置",
key:"Address",
value:item.address,
value:item.address+"("+item.lng+","+item.lat+")",
},{
label:"线索来源",
key:"sourceType",
value:item.sourceType,
},{
label:"上报时间",
key:"reportTime",
value:item.reportTime,
label:"核查时间",
key:"taskTime",
value:item.taskTime,
}
]
@ -1095,14 +1092,14 @@
pixelOffset: new Cesium.Cartesian2(0, 0),
label:{
text: labelName,
font: '14px sans-serif',
font: '12px sans-serif',
fillColor: Cesium.Color.WHITE,
outlineColor: Cesium.Color.BLACK,
outlineWidth: 2,
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
pixelOffset: new Cesium.Cartesian2(0, -105), //
pixelOffset: new Cesium.Cartesian2(0, -100), //
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND
},
},
@ -1485,7 +1482,6 @@
// 线
function handlerCloseClue(item){
changeButton("关闭线索")
monitorGraphicLayer ? monitorGraphicLayer.clear() : null;
userGraphicLayer ? userGraphicLayer.clear() : null;
@ -1521,6 +1517,17 @@
})
}
})
changeButton("关闭线索")
}
//
function handlerCloseWindow(item){
monitorGraphicLayer ? monitorGraphicLayer.clear() : null;
userGraphicLayer ? userGraphicLayer.clear() : null;
changeButton("关闭弹窗")
}
const changeButton = (type) => {
@ -2060,6 +2067,16 @@
z-index:0;
opacity:0.6;
}
.close-container{
width:20px;
height:20px;
position:absolute;
top:10px;
right:10px;
background-image: url(/public/components/Task/taskassign/close.png);
background-size:100% 100%;
z-index:999;
}
.left-container{
flex:auto;
display:flex;
@ -2175,7 +2192,7 @@
width:160px;
height:100%;
padding:20px;
z-index:999;
z-index:998;
.add-item-container{
width:40px;
height:40px;
@ -2191,7 +2208,7 @@
.methods-container{
position:absolute;
padding:30px 4px 10px 10px;
bottom: 114px;
bottom: 74px;
right: -160px;
width:160px;
height:300px;
@ -2279,7 +2296,7 @@
display:flex;
font-size:14px;
.label{
width:100px;
min-width:100px;
position:relative;
text-indent:20px;
color:#cfcfcf;
@ -2296,7 +2313,10 @@
}
}
.value{
flex:1;
flex:auto;
word-wrap: break-word;
word-break: break-all;
white-space: normal;
}
}
}

View File

@ -25,12 +25,14 @@
//
const initPlugin = () => {
oWebControl = new window.WebControl({
szPluginContainer: 'playWnd-' + props.index + '-' + props.timestamp, // id
iServicePortStart: 15900, // 使
iServicePortEnd: 15909,
szClassId: '23BF3B0A-2C56-4D97-9C03-0CB103AA8F11', // IE10使ActiveXclsid
cbConnectSuccess: function () {
// WebControl
oWebControl.JS_StartService('window', {
// WebControlVideoPluginPlugin.exe
@ -58,18 +60,22 @@
height = rectHeight;
}
}
oWebControl.JS_CreateWnd('playWnd-' + props.index + '-' + props.timestamp, width, height)
oWebControl.JS_CreateWnd('playWnd-' + props.index + '-' + props.timestamp, props.width, props.height)
.then(function () {
init(); //
});
},
function () {
//
console.log('创建播放实例失败!!!');
},
);
},
cbConnectError: function () {
// WebControl
oWebControl = null;
let d = document.getElementById('playWnd-' + props.index + '-' + props.timestamp);
@ -92,6 +98,7 @@
cbConnectClose: function (bNormalClose) {
// bNormalClose = false
// JS_DisconnectbNormalClose = true
oWebControl = null;
},
});
@ -99,6 +106,7 @@
//
function init() {
getPubKey(function () {
let appkey = '23604396'; //appkey
let ip = '221.2.83.54'; //IP
@ -113,7 +121,7 @@
let layout = layerOut; //playMode 1*1
let enableHTTPS = 1; //HTTPS1
let encryptedFields = 'secret'; //secret
let showToolbar = 0; //0-0-
let showToolbar = 1; //0-0-
let showSmart = 1; //线0-0-
let buttonIDs = '0'; //
oWebControl.JS_RequestInterface({
@ -137,6 +145,7 @@
.then(function (oData) {
//
reSizeVideo();
// -
oWebControl.JS_SetWindowControlCallback({
cbIntegrationCallBack: function (oData) {
@ -205,8 +214,9 @@
if (rectHeight < height) {
height = rectHeight;
}
}
oWebControl.JS_Resize(width, height); // resizefirefoxDIV
oWebControl.JS_Resize(props.width, props.height); // resizefirefoxDIV
}
}
//
@ -258,6 +268,7 @@
//
function cbIntegrationCallBack(oData) {
alert("success");
// showCBInfo(JSON.stringify(oData.responseMsg));
}

View File

@ -0,0 +1,73 @@
// vite.config.ts
import { defineApplicationConfig } from "file:///E:/projects/%E6%9E%97%E4%B8%9A%E9%98%B2%E7%81%AB/LinYeFangHuoVersion1.0/LinYeFangHuo/internal/vite-config/dist/index.mjs";
import { mars3dPlugin } from "file:///E:/projects/%E6%9E%97%E4%B8%9A%E9%98%B2%E7%81%AB/LinYeFangHuoVersion1.0/LinYeFangHuo/node_modules/.pnpm/vite-plugin-mars3d@3.1.3_rollup@3.29.5/node_modules/vite-plugin-mars3d/dist/index.js";
var vite_config_default = defineApplicationConfig({
overrides: {
optimizeDeps: {
include: [
"echarts/core",
"echarts/charts",
"echarts/components",
"echarts/renderers",
"qrcode",
"@iconify/iconify",
"ant-design-vue/es/locale/zh_CN",
"ant-design-vue/es/locale/en_US",
"@/../lib/vform/designer.umd.js"
]
},
build: {
/* 其他build生产打包配置省略 */
//...
target: "esnext",
commonjsOptions: {
include: [
/node_modules|lib/,
/node_modules|packages/
]
//这里记得把lib目录加进来否则生产打包会报错
}
},
server: {
proxy: {
"/basic-api": {
target: "http://localhost:3000",
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp(`^/basic-api`), "")
// only https
// secure: false
},
"/upload": {
target: "http://localhost:3300/upload",
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp(`^/upload`), "")
}
},
warmup: {
clientFiles: ["./index.html", "./src/{views,components}/*"]
}
},
define: {
"process.env": {
BASE_URL: "/"
}
},
css: {
preprocessorOptions: {
scss: {
javascriptEnabled: true,
additionalData: `@import "src/styles/common/style.scss";`
}
}
},
plugins: [
mars3dPlugin()
]
}
});
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxwcm9qZWN0c1xcXFxcdTY3OTdcdTRFMUFcdTk2MzJcdTcwNkJcXFxcTGluWWVGYW5nSHVvVmVyc2lvbjEuMFxcXFxMaW5ZZUZhbmdIdW9cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXHByb2plY3RzXFxcXFx1Njc5N1x1NEUxQVx1OTYzMlx1NzA2QlxcXFxMaW5ZZUZhbmdIdW9WZXJzaW9uMS4wXFxcXExpblllRmFuZ0h1b1xcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovcHJvamVjdHMvJUU2JTlFJTk3JUU0JUI4JTlBJUU5JTk4JUIyJUU3JTgxJUFCL0xpblllRmFuZ0h1b1ZlcnNpb24xLjAvTGluWWVGYW5nSHVvL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAdmJlbi92aXRlLWNvbmZpZyc7XG5pbXBvcnQge21hcnMzZFBsdWdpbn0gZnJvbSAndml0ZS1wbHVnaW4tbWFyczNkJztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQXBwbGljYXRpb25Db25maWcoe1xuICBvdmVycmlkZXM6IHtcbiAgICBvcHRpbWl6ZURlcHM6IHtcbiAgICAgIGluY2x1ZGU6IFtcbiAgICAgICAgJ2VjaGFydHMvY29yZScsXG4gICAgICAgICdlY2hhcnRzL2NoYXJ0cycsXG4gICAgICAgICdlY2hhcnRzL2NvbXBvbmVudHMnLFxuICAgICAgICAnZWNoYXJ0cy9yZW5kZXJlcnMnLFxuICAgICAgICAncXJjb2RlJyxcbiAgICAgICAgJ0BpY29uaWZ5L2ljb25pZnknLFxuICAgICAgICAnYW50LWRlc2lnbi12dWUvZXMvbG9jYWxlL3poX0NOJyxcbiAgICAgICAgJ2FudC1kZXNpZ24tdnVlL2VzL2xvY2FsZS9lbl9VUycsXG4gICAgICAgICdALy4uL2xpYi92Zm9ybS9kZXNpZ25lci51bWQuanMnLFxuICAgICAgXSxcbiAgICB9LFxuICAgIGJ1aWxkOiB7XG4gICAgICAvKiBcdTUxNzZcdTRFRDZidWlsZFx1NzUxRlx1NEVBN1x1NjI1M1x1NTMwNVx1OTE0RFx1N0Y2RVx1NzcwMVx1NzU2NSAqL1xuICAgICAgLy8uLi5cbiAgICAgIHRhcmdldDogJ2VzbmV4dCcsXG4gICAgICBjb21tb25qc09wdGlvbnM6IHtcbiAgICAgICAgaW5jbHVkZTogW1xuICAgICAgICAgIC9ub2RlX21vZHVsZXN8bGliLyxcbiAgICAgICAgICAvbm9kZV9tb2R1bGVzfHBhY2thZ2VzL1xuICAgICAgICBdIC8vXHU4RkQ5XHU5MUNDXHU4QkIwXHU1Rjk3XHU2MjhBbGliXHU3NkVFXHU1RjU1XHU1MkEwXHU4RkRCXHU2NzY1XHVGRjBDXHU1NDI2XHU1MjE5XHU3NTFGXHU0RUE3XHU2MjUzXHU1MzA1XHU0RjFBXHU2MkE1XHU5NTE5XHVGRjAxXHVGRjAxXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2VydmVyOiB7XG4gICAgICBwcm94eToge1xuICAgICAgICAnL2Jhc2ljLWFwaSc6IHtcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcbiAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYF4vYmFzaWMtYXBpYCksICcnKSxcbiAgICAgICAgICAvLyBvbmx5IGh0dHBzXG4gICAgICAgICAgLy8gc2VjdXJlOiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICAnL3VwbG9hZCc6IHtcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwOi8vbG9jYWxob3N0OjMzMDAvdXBsb2FkJyxcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICAgICAgd3M6IHRydWUsXG4gICAgICAgICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZShuZXcgUmVnRXhwKGBeL3VwbG9hZGApLCAnJyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgd2FybXVwOiB7XG4gICAgICAgIGNsaWVudEZpbGVzOiBbJy4vaW5kZXguaHRtbCcsICcuL3NyYy97dmlld3MsY29tcG9uZW50c30vKiddLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmluZToge1xuICAgICAgJ3Byb2Nlc3MuZW52Jzoge1xuICAgICAgICBCQVNFX1VSTDogJy8nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNzczoge1xuICAgICAgcHJlcHJvY2Vzc29yT3B0aW9uczoge1xuICAgICAgICBzY3NzOiB7XG4gICAgICAgICAgamF2YXNjcmlwdEVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgYWRkaXRpb25hbERhdGE6IGBAaW1wb3J0IFwic3JjL3N0eWxlcy9jb21tb24vc3R5bGUuc2Nzc1wiO2AsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcGx1Z2luczogW1xuICAgICAgbWFyczNkUGx1Z2luKClcbiAgICBdLFxuICB9LFxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXdYLFNBQVMsK0JBQStCO0FBQ2hhLFNBQVEsb0JBQW1CO0FBRTNCLElBQU8sc0JBQVEsd0JBQXdCO0FBQUEsRUFDckMsV0FBVztBQUFBLElBQ1QsY0FBYztBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1A7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxPQUFPO0FBQUE7QUFBQTtBQUFBLE1BR0wsUUFBUTtBQUFBLE1BQ1IsaUJBQWlCO0FBQUEsUUFDZixTQUFTO0FBQUEsVUFDUDtBQUFBLFVBQ0E7QUFBQSxRQUNGO0FBQUE7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sT0FBTztBQUFBLFFBQ0wsY0FBYztBQUFBLFVBQ1osUUFBUTtBQUFBLFVBQ1IsY0FBYztBQUFBLFVBQ2QsSUFBSTtBQUFBLFVBQ0osU0FBUyxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBTyxhQUFhLEdBQUcsRUFBRTtBQUFBO0FBQUE7QUFBQSxRQUcvRDtBQUFBLFFBQ0EsV0FBVztBQUFBLFVBQ1QsUUFBUTtBQUFBLFVBQ1IsY0FBYztBQUFBLFVBQ2QsSUFBSTtBQUFBLFVBQ0osU0FBUyxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBTyxVQUFVLEdBQUcsRUFBRTtBQUFBLFFBQzVEO0FBQUEsTUFDRjtBQUFBLE1BQ0EsUUFBUTtBQUFBLFFBQ04sYUFBYSxDQUFDLGdCQUFnQiw0QkFBNEI7QUFBQSxNQUM1RDtBQUFBLElBQ0Y7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLGVBQWU7QUFBQSxRQUNiLFVBQVU7QUFBQSxNQUNaO0FBQUEsSUFDRjtBQUFBLElBQ0EsS0FBSztBQUFBLE1BQ0gscUJBQXFCO0FBQUEsUUFDbkIsTUFBTTtBQUFBLFVBQ0osbUJBQW1CO0FBQUEsVUFDbkIsZ0JBQWdCO0FBQUEsUUFDbEI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsYUFBYTtBQUFBLElBQ2Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K