This commit is contained in:
zh
2025-10-29 16:40:58 +08:00
parent a4098d7036
commit 1266217e05
9 changed files with 2689 additions and 1470 deletions

View File

@ -4,6 +4,10 @@ directories:
buildResources: build buildResources: build
files: files:
- 'out/**/*'
- 'package.json'
- 'resources/**/*'
- 'node_modules/**/*'
- '!**/.vscode/*' - '!**/.vscode/*'
- '!src/*' - '!src/*'
- '!electron.vite.config.{js,ts,mjs,cjs}' - '!electron.vite.config.{js,ts,mjs,cjs}'
@ -11,8 +15,19 @@ files:
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}' - '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}' - '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
extraFiles:
- from: './ffplay/'
to: './ffplay'
extraResources:
- from: 'node_modules'
to: 'node_modules'
asar: true
asarUnpack: asarUnpack:
- resources/** - resources/**
- node_modules/**/*.node
- node_modules/**/*.dll
win: win:
executableName: 实景三维电子沙盘系统 executableName: 实景三维电子沙盘系统
icon: build/icons/81.ico icon: build/icons/81.ico

4051
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -29,11 +29,11 @@
"archiver": "^7.0.1", "archiver": "^7.0.1",
"axios": "^1.11.0", "axios": "^1.11.0",
"clipboard": "^2.0.11", "clipboard": "^2.0.11",
"compressing": "^2.0.0", "compressing": "^1.5.1",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"dayjs": "^1.11.18", "dayjs": "^1.11.18",
"echarts": "^6.0.0", "echarts": "^6.0.0",
"electron-store": "^8.1.0", "electron-store": "8.1.0",
"electron-updater": "^6.3.9", "electron-updater": "^6.3.9",
"element-plus": "^2.10.4", "element-plus": "^2.10.4",
"express": "^5.1.0", "express": "^5.1.0",

View File

@ -193,9 +193,12 @@ export default {
speedUnit: '速度单位', speedUnit: '速度单位',
administrativeArea: '行政区划', administrativeArea: '行政区划',
skinList: { skinList: {
yingguangse: '荧光色', color1: '标准蓝',
gonganlan: '科技蓝', color2: '军队绿',
hong: '烈日红' color3: '湖光绿',
color4: '科技蓝',
color5: '骄阳红',
color6: '活力橙',
} }
}, },
searchWay: { searchWay: {

View File

@ -193,9 +193,12 @@ export default {
speedUnit: 'speed', speedUnit: 'speed',
administrativeArea: 'administrativeArea', administrativeArea: 'administrativeArea',
skinList: { skinList: {
yingguangse: 'Fluorescent', color1: 'Standard Blue',
gonganlan: 'Tech Blue', color2: 'Army Green',
hong: 'Sun Red' color3: 'Lake Green',
color4: 'Technology Blue',
color5: 'Sun Red',
color6: 'Vibrant Orange',
} }
}, },
searchWay: { searchWay: {

View File

@ -193,10 +193,13 @@ export default {
speedUnit: '速度單位', speedUnit: '速度單位',
administrativeArea: '行政區劃', administrativeArea: '行政區劃',
skinList: { skinList: {
yingguangse: '熒光色', color1: '標准藍',
gonganlan: '科技藍', color2: '軍隊綠',
hong: '烈日紅' color3: '湖光綠',
}, color4: '科技藍',
color5: '驕陽紅',
color6: '活力橙',
}
}, },
searchWay: { searchWay: {
title: '搜索方式', title: '搜索方式',

View File

@ -3,7 +3,7 @@
<div class="head_box"> <div class="head_box">
<!-- <span class="head_title">实景三维电子沙盘系统</span> --> <!-- <span class="head_title">实景三维电子沙盘系统</span> -->
<!-- <headSvg style="width: 100%;height: 100%;"></headSvg> --> <!-- <headSvg style="width: 100%;height: 100%;"></headSvg> -->
<img width="100%" height="100%" :src="`../../../src/assets/images/theme/${skinInfo}/head.png`" alt="" /> <img width="100%" height="100%" :src="headImg" alt="" />
</div> </div>
<div class="dateTime"> <div class="dateTime">
<span>{{ date.hms }}</span> <span>{{ date.hms }}</span>
@ -27,6 +27,32 @@ import { useI18n } from 'vue-i18n'
import setTool from './components/setTool/setTool.vue' import setTool from './components/setTool/setTool.vue'
import weather from './components/weather/index.vue' import weather from './components/weather/index.vue'
import headSvg from './components/head_svg.vue' import headSvg from './components/head_svg.vue'
import color1 from '@/assets/images/theme/color1/head.png'
import color2 from '@/assets/images/theme/color2/head.png'
import color3 from '@/assets/images/theme/color3/head.png'
import color4 from '@/assets/images/theme/color4/head.png'
import color5 from '@/assets/images/theme/color5/head.png'
import color6 from '@/assets/images/theme/color6/head.png'
const headImg = computed(() => {
switch (skinInfo.value) {
case 'color1':
return color1
case 'color2':
return color2
case 'color3':
return color3
case 'color4':
return color4
case 'color5':
return color5
case 'color6':
return color6
default:
return color1
}
})
const skinInfo = ref(JSON.parse(localStorage.getItem("systemSetting") || '{}').skinInfo || 'color1') const skinInfo = ref(JSON.parse(localStorage.getItem("systemSetting") || '{}').skinInfo || 'color1')

View File

@ -93,7 +93,7 @@
<div class="td" style="width: 80px; flex: 0 80px; min-width: 80px">{{ item.type }}</div> <div class="td" style="width: 80px; flex: 0 80px; min-width: 80px">{{ item.type }}</div>
<div class="td" style="width: 126px; flex: 0 126px; min-width: 126px">{{ item.ip }}</div> <div class="td" style="width: 126px; flex: 0 126px; min-width: 126px">{{ item.ip }}</div>
<div class="td" style="width: 80px; flex: 0 80px; min-width: 80px">{{ item.port }}</div> <div class="td" style="width: 80px; flex: 0 80px; min-width: 80px">{{ item.port }}</div>
<div class="td" style="width: 80px; flex: 0 80px; min-width: 80px">{{ item.userName }}</div> <div class="td" style="width: 80px; flex: 0 80px; min-width: 80px">{{ item.username }}</div>
<div class="td">{{ item.password }}</div> <div class="td">{{ item.password }}</div>
</div> </div>
</div> </div>

View File

@ -571,7 +571,7 @@ export const useTree = () => {
let res = await TreeApi.getTreeList() let res = await TreeApi.getTreeList()
if ([0, 200].includes(res.code)) { if ([0, 200].includes(res.code)) {
res.data.sort((a: any, b: any) => { res.data.list.sort((a: any, b: any) => {
if (a.treeIndex && b.treeIndex) { if (a.treeIndex && b.treeIndex) {
return a.treeIndex - b.treeIndex return a.treeIndex - b.treeIndex
} }
@ -586,28 +586,28 @@ export const useTree = () => {
//将模型压平 //将模型压平
(window as any).pressModelMap = new Map(); (window as any).pressModelMap = new Map();
(window as any).pressModelEntities = new Map(); (window as any).pressModelEntities = new Map();
for (let i = res.data.length - 1; i >= 0; i--) { for (let i = res.data.list.length - 1; i >= 0; i--) {
if (!res.data[i].id) { if (!res.data.list[i].id) {
// res.data.splice(i, 1); // res.data.list.splice(i, 1);
res.data[i].id = generateRandomString(20, false) res.data.list[i].id = generateRandomString(20, false)
} }
if (res.data[i].sourceType == "pressModel") { if (res.data.list[i].sourceType == "pressModel") {
const obj = JSON.parse(res.data[i].params); const obj = JSON.parse(res.data.list[i].params);
(window as any).pressModelMap.set(res.data[i].id + "_" + obj.modelId, res.data[i]); (window as any).pressModelMap.set(res.data.list[i].id + "_" + obj.modelId, res.data.list[i]);
} }
if (arr.includes(res.data[i].sourceType) && !res.data[i].params) { if (arr.includes(res.data.list[i].sourceType) && !res.data.list[i].params) {
res.data[i].params = JSON.stringify({ res.data.list[i].params = JSON.stringify({
id: res.data[i].id, id: res.data.list[i].id,
name: res.data[i].sourceName, name: res.data.list[i].sourceName,
show: res.data[i].isShow, show: res.data.list[i].isShow,
alpha: 1, alpha: 1,
brightness: 1 brightness: 1
}) })
} }
res.data[i].svg = await cusNodeIcon(res.data[i]); res.data.list[i].svg = await cusNodeIcon(res.data.list[i]);
} }
} }
zNodes.value = res.data zNodes.value = res.data.list
treeObj.value = $.fn.zTree.init($(selector), setting, zNodes.value); treeObj.value = $.fn.zTree.init($(selector), setting, zNodes.value);
window.treeObj = treeObj.value; window.treeObj = treeObj.value;
window.AllNodes = treeObj.value.getNodes(); window.AllNodes = treeObj.value.getNodes();