点标注编辑框语言更改

This commit is contained in:
zh
2025-11-12 10:45:51 +08:00
parent 54ebdb1163
commit 8a0fa5c1bd
6 changed files with 624 additions and 360 deletions

View File

@ -33,7 +33,6 @@ export default {
addTrajectory: '轨迹运动', addTrajectory: '轨迹运动',
addXlsx: '添加作战数据', addXlsx: '添加作战数据',
showAttr: '查看属性', showAttr: '查看属性',
importHeader: '导入表头',
resetPerspective: '重置透视', resetPerspective: '重置透视',
addEvent: '添加态势事件', addEvent: '添加态势事件',
}, },
@ -236,13 +235,82 @@ export default {
title: '图标选择', title: '图标选择',
setting: '默认图标参数设置' setting: '默认图标参数设置'
}, },
vector: {
: '导入表头',
: '下载字典模板',
: '导出',
},
general: {
: '颜色',
: '经度',
: '纬度',
: '海拔高度',
: '高度',
: '视野缩放',
: '最近距离',
: '最远距离',
: '属性信息',
: '空间信息',
: '标注风格',
: '内容类型',
: '富文本',
: '链接',
IP摄像头: 'IP摄像头',
ISC摄像头: 'ISC摄像头',
: '传感器',
: '全景图',
: '物资',
: '编辑内容',
: '打开文本编辑器',
: '添加链接',
: '名称',
: '操作',
: '编辑',
: '删除',
: '确认',
: '取消',
: '暂无数据',
: '搜索',
: '设备名称',
: '设备类型',
IP: '设备IP',
: '设备端口',
: '用户名',
: '密码',
: '绑定',
: '序号',
: '数量',
: '高度模式',
: '相对地表',
: '依附地表',
: '依附模型',
: '小数格式',
: '度分格式',
: '度分秒格式',
: '度',
: '分',
: '秒',
: '更新高程',
: '平移',
: '旋转',
: '关闭',
: '确定',
: '图标设置',
: '显隐',
: '图标',
: '默认图标',
: '图标倍数',
: '倍',
: '文字设置',
: '字体选择',
: '文字大小',
: '文字颜色',
: '黑体',
: '思源黑体',
: '庞门正道标题体',
: '数黑体',
},
dialog: { dialog: {
name: '名称',
color: '颜色',
longitude: '经度',
latitude: '纬度',
altitude: '海拔高度',
height: '高度',
point: { point: {
title: '点属性', title: '点属性',
WGS84: 'WGS84坐标', WGS84: 'WGS84坐标',

View File

@ -32,7 +32,6 @@ export default {
addTrajectory: 'addTra jectory', addTrajectory: 'addTra jectory',
addXlsx: 'add Xlsx', addXlsx: 'add Xlsx',
showAttr: 'show Attribute', showAttr: 'show Attribute',
importHeader: 'import Header',
resetPerspective: 'reset Perspective', resetPerspective: 'reset Perspective',
addEvent: 'add Event', addEvent: 'add Event',
@ -235,13 +234,82 @@ export default {
title: 'Icon', title: 'Icon',
setting: 'default settings' setting: 'default settings'
}, },
vector: {
: 'Import Header',
: 'Download Header Template',
: 'Export',
},
general: {
: 'Color',
: 'Longitude',
: 'Latitude',
: 'Altitude',
: 'Height',
: 'Field of view zoom',
: 'Shortest distance',
: 'Farthest distance',
: 'Attribute',
: 'Spatial info',
: 'Mark style',
: 'Content type',
: 'Rich text',
: 'Link',
IP摄像头: 'IP Camera',
ISC摄像头: 'ISC Camera',
: 'Sensor',
: 'Panorama photo',
: 'Materials',
: 'Edit content',
: 'Open the editor',
: 'Add Link',
: 'Name',
: 'Actions',
: 'Edit',
: 'Delete',
: 'Confirm',
: 'Cancel',
: 'No Data',
: 'Search',
: 'Device Name',
: 'Device Type',
IP: 'Device IP',
: 'Device Port',
: 'User Name',
: 'Password',
: 'Bind',
: 'No.',
: 'Quantity',
: 'Height mode',
: 'Relative to the surface',
: 'Adhere to the surface',
: 'Adhere to the model',
: 'Decimal',
: 'degree-minute',
: 'degree-minute-second',
: 'degree',
: 'minute',
: 'second',
: 'Update Altitude',
: 'Translate',
: 'Rotate',
: 'Close',
: 'Confirm',
: 'Icon settings',
: 'show',
: 'Icon',
: 'Default icon',
: 'Icon scale',
: 'times',
: 'text settings',
: 'Font',
: 'Text size',
: 'Text color',
: 'SimHei',
: 'SourceHanSansTi',
: 'PMZDBTTi',
: 'AlimamaShuHeiTi',
},
dialog: { dialog: {
name: 'Name',
color: 'Color',
longitude: 'Longitude',
latitude: 'Latitude',
altitude: 'Altitude',
height: 'Height',
point: { point: {
title: 'Edit node', title: 'Edit node',
WGS84: 'WGS84 coordinates', WGS84: 'WGS84 coordinates',

View File

@ -32,7 +32,6 @@ export default {
addTrajectory: '軌跡運動', addTrajectory: '軌跡運動',
addXlsx: '添加作戰數據', addXlsx: '添加作戰數據',
showAttr: '查看屬性', showAttr: '查看屬性',
importHeader: '導入表头',
resetPerspective: '重置透視', resetPerspective: '重置透視',
addEvent: '添加態勢事件', addEvent: '添加態勢事件',
}, },
@ -234,13 +233,82 @@ export default {
title: '圖標選擇', title: '圖標選擇',
setting: '默認圖標參數設置' setting: '默認圖標參數設置'
}, },
vector: {
: '導入表頭',
: '下載字典模板',
: '導出',
},
general: {
: '顏色',
: '經度',
: '緯度',
: '海拔高度',
: '高度',
: '視野縮放',
: '最近距離',
: '最遠距離',
: '屬性信息',
: '空間信息',
: '標注風格',
: '內容類型',
: '富文本',
: '鏈接',
IP摄像头: 'IP攝像頭',
ISC摄像头: 'ISC攝像頭',
: '傳感器',
: '全景圖',
: '物資',
: '編輯內容',
: '打開文本編輯器',
: '添加鏈接',
: '名稱',
: '操作',
: '編輯',
: '刪除',
: '確認',
: '取消',
: '暫無數據',
: '搜索',
: '設備名稱',
: '設備類型',
IP: '設備IP',
: '設備端口',
: '用戶名',
: '密碼',
: '綁定',
: '序號',
: '數量',
: '高度模式',
: '相對地表',
: '依附地表',
: '依附模型',
: '小數格式',
: '度分格式',
: '度分秒格式',
: '度',
: '分',
: '秒',
: '更新高程',
: '平移',
: '旋轉',
: '關閉',
: '確定',
: '圖標設置',
: '顯隱',
: '圖標',
: '默認圖標',
: '圖標倍數',
: '倍',
: '文字設置',
: '字體選擇',
: '文字大小',
: '文字顔色',
: '黑體',
: '思源黑體',
: '龐門正道標題體',
: '數黑體',
},
dialog: { dialog: {
name: '名稱',
color: '顏色',
longitude: '經度',
latitude: '緯度',
altitude: '海拔高度',
height: '高度',
point: { point: {
title: '點屬性', title: '點屬性',
WGS84: 'WGS84座標', WGS84: 'WGS84座標',

View File

@ -2,9 +2,9 @@
<div class="attribute"> <div class="attribute">
<div class="row"> <div class="row">
<div class="col attribute-select-box"> <div class="col attribute-select-box">
<span class="label" style="line-height: 32px">内容类型</span> <span class="label" style="line-height: 32px">{{ t('general.内容类型') }}</span>
<el-select style="width: 175px" v-model="attributeType" @change="attributeChange" placeholder="请选择"> <el-select style="width: 175px" v-model="attributeType" @change="attributeChange" placeholder="请选择">
<el-option v-for="item in attributeSelect" :key="item.key" :label="item.name" :value="item.key"> <el-option v-for="item in attributeSelect" :key="item.key" :label="t('general.' + item.name)" :value="item.key">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
@ -12,14 +12,14 @@
<div class="attribute-content attribute-content-richText" v-show="attributeType === 'richText'"> <div class="attribute-content attribute-content-richText" v-show="attributeType === 'richText'">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span class="label">编辑内容</span> <span class="label">{{ t('general.编辑内容') }}</span>
<button @click="openRichTextEditor">打开文本编辑器</button> <button @click="openRichTextEditor">{{ t('general.打开文本编辑器') }}</button>
</div> </div>
</div> </div>
</div> </div>
<div class="row attribute-content attribute-content-link" v-show="attributeType === 'link'"> <div class="row attribute-content attribute-content-link" v-show="attributeType === 'link'">
<div class="col"> <div class="col">
<span class="label">添加链接</span> <span class="label">{{ t('general.添加链接') }}</span>
<div style="flex: 1; position: relative"> <div style="flex: 1; position: relative">
<input class="input link_add" type="text" v-model="addlinkInput" /> <input class="input link_add" type="text" v-model="addlinkInput" />
<i class="link_add_btn" @click="_addLink"></i> <i class="link_add_btn" @click="_addLink"></i>
@ -30,9 +30,9 @@
<div class="table"> <div class="table">
<div class="table-head"> <div class="table-head">
<div class="tr"> <div class="tr">
<div class="th">名称</div> <div class="th">{{ t('general.名称') }}</div>
<div class="th">链接</div> <div class="th">{{ t('general.链接') }}</div>
<div class="th">操作</div> <div class="th">{{ t('general.操作') }}</div>
</div> </div>
</div> </div>
<div class="table-body" v-if="attribute.link && attribute.link.content && attribute.link.content.length > 0"> <div class="table-body" v-if="attribute.link && attribute.link.content && attribute.link.content.length > 0">
@ -46,40 +46,40 @@
</div> </div>
<div class="td" v-else>{{ item.url }}</div> <div class="td" v-else>{{ item.url }}</div>
<div class="td" v-if="linkEditActive.index === index"> <div class="td" v-if="linkEditActive.index === index">
<button @click="linkConfirmEdit(index)">确认</button> <button style="width: 76px;flex: 0 0 76px" @click="linkConfirmEdit(index)">{{ t('general.确认') }}</button>
<button @click="linkCancelEdit">取消</button> <button style="width: 76px;flex: 0 0 76px" @click="linkCancelEdit">{{ t('general.取消') }}</button>
</div> </div>
<div class="td" v-else> <div class="td" v-else>
<button @click="linkEdit(index, item)">编辑</button> <button style="width: 76px;flex: 0 0 76px" @click="linkEdit(index, item)">{{ t('general.编辑') }}</button>
<button @click="linkDelete(index)">删除</button> <button style="width: 76px;flex: 0 0 76px" @click="linkDelete(index)">{{ t('general.删除') }}</button>
</div> </div>
</div> </div>
</div> </div>
<div class="table-empty" v-else> <div class="table-empty" v-else>
<div class="empty-img"></div> <div class="empty-img"></div>
<p>暂无数据</p> <p>{{ t('general.暂无数据') }}</p>
</div> </div>
</div> </div>
</div> </div>
<div class="attribute-content attribute-content-camera" v-show="attributeType === 'camera'"> <div class="attribute-content attribute-content-camera" v-show="attributeType === 'camera'">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span class="label">编辑内容</span> <span class="label">{{ t('general.编辑内容') }}</span>
<input class="input" type="text" v-model="cameraParams.keyWord" style="width: 180px;margin-right: 10px;" /> <input class="input" type="text" v-model="cameraParams.keyWord" style="width: 180px;margin-right: 10px;" />
<button class="select btn" @click="cameraSelect({page: 1, limit: cameraParams.pageSize })">搜索</button> <button class="select btn" @click="cameraSelect({page: 1, limit: cameraParams.pageSize })">{{ t('general.搜索') }}</button>
</div> </div>
</div> </div>
<div> <div>
<div class="table camera-table"> <div class="table camera-table">
<div class="table-head"> <div class="table-head">
<div class="tr"> <div class="tr">
<div class="th">操作</div> <div class="th">{{ t('general.操作') }}</div>
<div class="th">设备名称</div> <div class="th">{{ t('general.设备名称') }}</div>
<div class="th" style="width: 80px; flex: 0 80px; min-width: 80px">设备类型</div> <div class="th" style="width: 80px; flex: 0 80px; min-width: 80px">{{ t('general.设备类型') }}</div>
<div class="th" style="width: 126px; flex: 0 126px; min-width: 126px">设备IP</div> <div class="th" style="width: 126px; flex: 0 126px; min-width: 126px">{{ t('general.设备IP') }}</div>
<div class="th" style="width: 80px; flex: 0 80px; min-width: 80px">设备端口</div> <div class="th" style="width: 80px; flex: 0 80px; min-width: 80px">{{ t('general.设备端口') }}</div>
<div class="th" style="width: 80px; flex: 0 80px; min-width: 80px">用户名</div> <div class="th" style="width: 80px; flex: 0 80px; min-width: 80px">{{ t('general.用户名') }}</div>
<div class="th">密码</div> <div class="th">{{ t('general.密码') }}</div>
</div> </div>
</div> </div>
<div class="table-body" v-if="cameraList && cameraList.length > 0"> <div class="table-body" v-if="cameraList && cameraList.length > 0">
@ -87,7 +87,7 @@
<div class="td"> <div class="td">
<input type="checkbox" :value="item.id" v-model="item.checked" <input type="checkbox" :value="item.id" v-model="item.checked"
@change="changeAttributeCamera(item)" /> @change="changeAttributeCamera(item)" />
<span>绑定</span> <span>{{ t('general.绑定') }}</span>
</div> </div>
<div class="td">{{ item.cameraName }}</div> <div class="td">{{ item.cameraName }}</div>
<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>
@ -99,7 +99,7 @@
</div> </div>
<div class="table-empty" v-else> <div class="table-empty" v-else>
<div class="empty-img"></div> <div class="empty-img"></div>
<p>暂无数据</p> <p>{{ t('general.暂无数据') }}</p>
</div> </div>
</div> </div>
</div> </div>
@ -110,9 +110,9 @@
<div class="attribute-content attribute-content-isc" v-show="attributeType === 'isc'"> <div class="attribute-content attribute-content-isc" v-show="attributeType === 'isc'">
<!-- <div class="row"> <!-- <div class="row">
<div class="col"> <div class="col">
<span class="label">编辑内容</span> <span class="label">{{ t('general.编辑内容') }}</span>
<input class="input" type="text" @model="ISCName" style="width: 100px;"> <input class="input" type="text" @model="ISCName" style="width: 100px;">
<button class="select btn" @click="ISCSelect">搜索</button> <button class="select btn" @click="ISCSelect">{{ t('general.搜索') }}</button>
</div> </div>
</div> --> </div> -->
<div> <div>
@ -146,7 +146,7 @@
</div> </div>
<div class="row attribute-content attribute-content-vr" v-show="attributeType === 'vr'"> <div class="row attribute-content attribute-content-vr" v-show="attributeType === 'vr'">
<div class="col"> <div class="col">
<span class="label">添加链接</span> <span class="label">{{ t('general.添加链接') }}</span>
<div style="flex: 1; position: relative"> <div style="flex: 1; position: relative">
<input class="input vr_add" type="text" v-model="addvrInput" /> <input class="input vr_add" type="text" v-model="addvrInput" />
<i class="vr_add_btn" @click="_addRr"></i> <i class="vr_add_btn" @click="_addRr"></i>
@ -157,9 +157,9 @@
<div class="table"> <div class="table">
<div class="table-head"> <div class="table-head">
<div class="tr"> <div class="tr">
<div class="th">名称</div> <div class="th">{{ t('general.名称') }}</div>
<div class="th">链接</div> <div class="th">{{ t('general.链接') }}</div>
<div class="th">操作</div> <div class="th">{{ t('general.操作') }}</div>
</div> </div>
</div> </div>
<div class="table-body" v-if="attribute.vr && attribute.vr.content && attribute.vr.content.length > 0"> <div class="table-body" v-if="attribute.vr && attribute.vr.content && attribute.vr.content.length > 0">
@ -173,18 +173,18 @@
</div> </div>
<div class="td" v-else>{{ item.url }}</div> <div class="td" v-else>{{ item.url }}</div>
<div class="td" v-if="vrEditActive.index === index"> <div class="td" v-if="vrEditActive.index === index">
<button @click="vrConfirmEdit(index)">确认</button> <button style="width: 76px;flex: 0 0 76px" @click="vrConfirmEdit(index)">{{ t('general.确认') }}</button>
<button @click="vrCancelEdit">取消</button> <button style="width: 76px;flex: 0 0 76px" @click="vrCancelEdit">{{ t('general.取消') }}</button>
</div> </div>
<div class="td" v-else> <div class="td" v-else>
<button @click="vrEdit(index, item)">编辑</button> <button style="width: 76px;flex: 0 0 76px" @click="vrEdit(index, item)">{{ t('general.编辑') }}</button>
<button @click="vrDelete(index)">删除</button> <button style="width: 76px;flex: 0 0 76px" @click="vrDelete(index)">{{ t('general.删除') }}</button>
</div> </div>
</div> </div>
</div> </div>
<div class="table-empty" v-else> <div class="table-empty" v-else>
<div class="empty-img"></div> <div class="empty-img"></div>
<p>暂无数据</p> <p>{{ t('general.暂无数据') }}</p>
</div> </div>
</div> </div>
</div> </div>
@ -192,18 +192,18 @@
<div> <div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span class="label">编辑内容</span> <span class="label">{{ t('general.编辑内容') }}</span>
<input class="input goods-select-input" type="text" style="width: 180px;margin-right: 10px;" <input class="input goods-select-input" type="text" style="width: 180px;margin-right: 10px;"
v-model="goodsKeywords"> v-model="goodsKeywords">
<button class="select btn" @click="goodsFilter">搜索</button> <button class="select btn" @click="goodsFilter">{{ t('general.搜索') }}</button>
</div> </div>
</div> </div>
<div class="table goods-table"> <div class="table goods-table">
<div class="table-head"> <div class="table-head">
<div class="tr"> <div class="tr">
<div class="th" style="width: 60px; flex: 0 60px;min-width: 60px;">序号</div> <div class="th" style="width: 60px; flex: 0 60px;min-width: 60px;">{{ t('general.序号') }}</div>
<div class="th" style="flex: 0 0 280px;">名称</div> <div class="th" style="flex: 0 0 280px;">{{ t('general.名称') }}</div>
<div class="th">数量</div> <div class="th">{{ t('general.数量') }}</div>
</div> </div>
</div> </div>
<div class="table-body" v-if="goodsList && goodsList.length > 0"> <div class="table-body" v-if="goodsList && goodsList.length > 0">
@ -217,7 +217,7 @@
</div> </div>
<div class="table-empty" v-else> <div class="table-empty" v-else>
<div class="empty-img"></div> <div class="empty-img"></div>
<p>暂无数据</p> <p>{{ t('general.暂无数据') }}</p>
</div> </div>
</div> </div>
</div> </div>
@ -230,6 +230,8 @@ import { ref } from 'vue'
import { inject } from 'vue' import { inject } from 'vue'
import { deviceApi } from '@/api/deviceManage' import { deviceApi } from '@/api/deviceManage'
import { MaterialApi } from '@/api/material' import { MaterialApi } from '@/api/material'
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
let ipcRenderer; let ipcRenderer;
if (window && window.process && window.process.type === 'renderer') { if (window && window.process && window.process.type === 'renderer') {
@ -414,7 +416,7 @@ const openRichTextEditor = () => {
const _addLink = async () => { const _addLink = async () => {
if (addlinkInput.value) { if (addlinkInput.value) {
let link = { let link = {
name: '链接', name: t('general.链接'),
url: addlinkInput.value url: addlinkInput.value
} }
attribute.value.link.content.push(link) attribute.value.link.content.push(link)
@ -435,7 +437,7 @@ const _addLink = async () => {
if (filePaths.length > 0) { if (filePaths.length > 0) {
filePaths.forEach((item) => { filePaths.forEach((item) => {
attribute.value.link.content.push({ attribute.value.link.content.push({
name: '链接', name: t('general.链接'),
url: item url: item
}) })
}) })
@ -514,7 +516,7 @@ const linkCancelEdit = () => {
const _addRr = () => { const _addRr = () => {
if (addvrInput.value) { if (addvrInput.value) {
let link = { let link = {
name: '全景图', name: t('general.全景图'),
url: addvrInput.value url: addvrInput.value
} }
attribute.value.vr.content.push(link) attribute.value.vr.content.push(link)
@ -532,7 +534,7 @@ const _addRr = () => {
if (filePaths.length > 0) { if (filePaths.length > 0) {
filePaths.forEach((item) => { filePaths.forEach((item) => {
attribute.value.vr.content.push({ attribute.value.vr.content.push({
name: '全景图', name: t('general.全景图'),
url: item url: item
}) })
}) })
@ -627,4 +629,133 @@ const changeAttributeCamera = (e) => {
} }
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss">
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .th:nth-child(1),
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td:nth-child(1),
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .th:nth-child(1),
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td:nth-child(1) {
width: 164px;
flex: 0 0 164px;
}
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .th:nth-child(2),
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td:nth-child(2),
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .th:nth-child(2),
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td:nth-child(2) {
width: 226px;
flex: 0 0 226px;
}
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .th:nth-child(3),
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td:nth-child(3),
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .th:nth-child(3),
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td:nth-child(3) {
flex: 0 0 150px;
width: 150px;
justify-content: center;
}
.YJ-custom-base-dialog.dialog-en>.content .attribute-content-link .table .tr .th:nth-child(3),
.YJ-custom-base-dialog.dialog-en>.content .attribute-content-link .table .tr .td:nth-child(3),
.YJ-custom-base-dialog.dialog-en>.content .attribute-content-vr .table .tr .th:nth-child(3),
.YJ-custom-base-dialog.dialog-en>.content .attribute-content-vr .table .tr .td:nth-child(3) {
flex: 0 0 190px;
width: 190px;
justify-content: center;
}
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td .input-group .input,
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td .input-group .input {
border-radius: 5px 0 0 5px;
}
.YJ-custom-base-dialog>.content .attribute-content-materials .table .tr .th:nth-child(1),
.YJ-custom-base-dialog>.content .attribute-content-materials .table .tr .td:nth-child(1) {
flex: 0 0 60px;
}
.YJ-custom-base-dialog>.content .table.camera-table {
overflow-x: auto;
}
.YJ-custom-base-dialog>.content .table.isc-table {
overflow: hidden;
}
.YJ-custom-base-dialog>.content .table.camera-table .tr {
display: inline-flex;
}
.YJ-custom-base-dialog>.content .table.isc-table .tr {
display: flex;
}
.YJ-custom-base-dialog>.content .table.camera-table .tr:last-child,
.YJ-custom-base-dialog>.content .table.isc-table .tr:last-child {
border-bottom: 1px solid rgba(var(--color-base1), 0.5);
}
.YJ-custom-base-dialog>.content .table.camera-table .tr .td span,
.YJ-custom-base-dialog>.content .table.isc-table .tr .td span {
white-space: nowrap;
margin-left: 10px;
}
.YJ-custom-base-dialog>.content .table.camera-table .tr .td input[type=checkbox],
.YJ-custom-base-dialog>.content .table.isc-table .tr .td input[type=checkbox] {
cursor: pointer;
}
.YJ-custom-base-dialog>.content .table.camera-table .table-body,
.YJ-custom-base-dialog>.content .table.isc-table .table-body {
display: inline-flex;
flex-direction: column;
height: 186px;
width: auto;
}
.YJ-custom-base-dialog>.content .table.camera-table .tr .th,
.YJ-custom-base-dialog>.content .table.camera-table .tr .td {
flex: 0 0 100px;
width: 100px;
min-width: 100px;
}
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .th,
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .td {
flex: 0 0 110px;
width: 110px;
min-width: 110px;
}
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .th:nth-of-type(3),
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .td:nth-of-type(3) {
flex: 0 0 110px !important;
width: 110px !important;
min-width: 110px !important;
}
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .th:nth-of-type(5),
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .td:nth-of-type(5) {
flex: 0 0 95px !important;
width: 95px !important;
min-width: 95px !important;
}
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .th:nth-of-type(6),
.YJ-custom-base-dialog.dialog-en>.content .table.camera-table .tr .td:nth-of-type(6) {
flex: 0 0 95px !important;
width: 95px !important;
min-width: 95px !important;
}
.YJ-custom-base-dialog>.content .table.isc-table .tr .th,
.YJ-custom-base-dialog>.content .table.isc-table .tr .td {
flex: 1;
width: auto;
min-width: auto;
}
.YJ-custom-base-dialog>.content .table.camera-table .tr .th:first-child,
.YJ-custom-base-dialog>.content .table.camera-table .tr .td:first-child,
.YJ-custom-base-dialog>.content .table.isc-table .tr .th:first-child,
.YJ-custom-base-dialog>.content .table.isc-table .tr .td:first-child {
flex: 0 74px;
min-width: 74px;
}
</style>

View File

@ -1,18 +1,12 @@
<template> <template>
<Dialog <Dialog ref="baseDialog" :title="t('dialog.point.title')" left="180px" top="100px" :className="'billboard-object'"
ref="baseDialog" :closeCallback="closeCallback">
:title="t('dialog.point.title')"
left="180px"
top="100px"
:className="'billboard-object'"
:closeCallback="closeCallback"
>
<template #content> <template #content>
<span class="custom-divider"></span> <span class="custom-divider"></span>
<div class="div-item"> <div class="div-item">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span class="label" style="flex: unset">{{ t('dialog.name') }}</span> <span class="label" style="flex: unset">{{ t('general.名称') }}</span>
<input class="input" type="text" v-model="entityOptions.labelText" @change="changeName" /> <input class="input" type="text" v-model="entityOptions.labelText" @change="changeName" />
</div> </div>
<div class="col"></div> <div class="col"></div>
@ -21,57 +15,47 @@
<span class="custom-divider"></span> <span class="custom-divider"></span>
<div class="div-item"> <div class="div-item">
<div class="row"> <div class="row">
<div style="width: 46%"> <div class="title1">
<div class="row"> <div class="row">
<p class="lable-left-line">{{ t('dialog.point.WGS84') }}</p> <p class="lable-left-line">{{ t('dialog.point.WGS84') }}</p>
</div> </div>
</div>
<div class="title2">
<div class="row coordinate-select-box">
<div class="lable-left-line">
{{ t('dialog.point.转换坐标选择') }}
<el-select class="input input-select coordinate-select" style="width: 155px; margin-left: 20px"
v-model="coordinate" @change="coordinateChange" placeholder="请选择">
<el-option v-for="item in epsg_map" :key="item.epsg" :label="item.name" :value="item.epsg">
</el-option>
</el-select>
</div>
</div>
</div>
</div>
<div class="row">
<div style="width: 46%">
<div class="row" style="margin-bottom: 5px"> <div class="row" style="margin-bottom: 5px">
<div class="col"> <div class="col">
<span class="label">{{ t('dialog.longitude') }}</span> <span class="label">{{ t('general.经度') }}</span>
<input <input class="input" type="number" title="" min="-180" max="180" v-model="entityOptions.lng"
class="input" @change="changLng" @input="$handleInputLimit" />
type="number"
title=""
min="-180"
max="180"
v-model="entityOptions.lng"
@change="changLng"
@input="$handleInputLimit"
/>
</div> </div>
</div> </div>
<div class="row" style="margin-bottom: 5px"> <div class="row" style="margin-bottom: 5px">
<div class="col"> <div class="col">
<span class="label">{{ t('dialog.latitude') }}</span> <span class="label">{{ t('general.纬度') }}</span>
<input <input class="input" type="number" title="" min="-90" max="90" v-model="entityOptions.lat"
class="input" @change="changLat" @input="$handleInputLimit" />
type="number"
title=""
min="-90"
max="90"
v-model="entityOptions.lat"
@change="changLat"
@input="$handleInputLimit"
/>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span class="label">{{ t('dialog.altitude') }}</span> <span class="label">{{ t('general.海拔高度') }}</span>
<div <div class="input-number input-number-unit-1 alt-box"
class="input-number input-number-unit-1 alt-box" :class="{ disabled: heightMode == 2 || heightMode === 3 }">
:class="{ disabled: heightMode == 2 || heightMode === 3 }" <input class="input" type="number" title="" min="-9999999" max="999999999" v-model="entityOptions.alt"
> @change="changAlt" @input="$handleInputLimit" />
<input
class="input"
type="number"
title=""
min="-9999999"
max="999999999"
v-model="entityOptions.alt"
@change="changAlt"
@input="$handleInputLimit"
/>
<span class="unit">m</span> <span class="unit">m</span>
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
@ -79,57 +63,22 @@
</div> </div>
</div> </div>
<div style="width: 50%;"> <div style="width: 50%;">
<div class="row coordinate-select-box">
<div class="lable-left-line">
{{ t('dialog.point.转换坐标选择') }}
<el-select
class="input input-select coordinate-select"
style="width: 155px; margin-left: 20px"
v-model="coordinate"
@change="coordinateChange"
placeholder="请选择"
>
<el-option
v-for="item in epsg_map"
:key="item.epsg"
:label="item.name"
:value="item.epsg"
>
</el-option>
</el-select>
</div>
</div>
<div class="row" style="margin-bottom: 5px"> <div class="row" style="margin-bottom: 5px">
<div class="col"> <div class="col">
<span class="label">{{ t('dialog.point.XAxis') }}:</span> <span class="label">{{ t('dialog.point.XAxis') }}:</span>
<input <input style="border: none; background: none" class="input convert-x" readonly v-model="x" />
style="border: none; background: none"
class="input convert-x"
readonly
v-model="x"
/>
</div> </div>
</div> </div>
<div class="row" style="margin-bottom: 5px"> <div class="row" style="margin-bottom: 5px">
<div class="col"> <div class="col">
<span class="label">{{ t('dialog.point.YAxis') }}:</span> <span class="label">{{ t('dialog.point.YAxis') }}:</span>
<input <input style="border: none; background: none" class="input convert-y" readonly v-model="y" />
style="border: none; background: none"
class="input convert-y"
readonly
v-model="y"
/>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span class="label">{{ t('dialog.point.ZAxis') }}:</span> <span class="label">{{ t('dialog.point.ZAxis') }}:</span>
<input <input style="border: none; background: none" class="input convert-z" readonly v-model="z" />
style="border: none; background: none"
class="input convert-z"
readonly
v-model="z"
/>
</div> </div>
</div> </div>
</div> </div>
@ -139,37 +88,23 @@
<div class="div-item"> <div class="div-item">
<div class="row"> <div class="row">
<div class="col" style="flex: 0 0 120px"> <div class="col" style="flex: 0 0 120px">
<span class="label">视野缩放</span> <span class="label">{{ t('general.视野缩放') }}</span>
<input class="btn-switch" type="checkbox" v-model="entityOptions.scaleByDistance" /> <input class="btn-switch" type="checkbox" v-model="entityOptions.scaleByDistance" />
</div> </div>
<div class="col"> <div class="col">
<span class="label">最近距离</span> <span class="label">{{ t('general.最近距离') }}</span>
<div class="input-number input-number-unit-1"> <div class="input-number input-number-unit-1">
<input <input class="input" type="number" title="" min="1" max="99999999" v-model="entityOptions.near"
class="input" @input="$handleInputLimit" />
type="number"
title=""
min="1"
max="99999999"
v-model="entityOptions.near"
@input="$handleInputLimit"
/>
<span class="unit">m</span> <span class="unit">m</span>
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<span class="label">最远距离</span> <span class="label">{{ t('general.最远距离') }}</span>
<div class="input-number input-number-unit-1"> <div class="input-number input-number-unit-1">
<input <input class="input" type="number" title="" min="1" max="99999999" v-model="entityOptions.far"
class="input" @input="$handleInputLimit" />
type="number"
title=""
min="1"
max="99999999"
v-model="entityOptions.far"
@input="$handleInputLimit"
/>
<span class="unit">m</span> <span class="unit">m</span>
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
@ -177,42 +112,24 @@
</div> </div>
<div class="row"> <div class="row">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="属性信息" name="1"> <el-tab-pane :label="t('general.属性信息')" name="1">
<attribute :entityOptions="entityOptions"></attribute> <attribute :entityOptions="entityOptions"></attribute>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="空间信息" name="2"> <el-tab-pane :label="t('general.空间信息')" name="2">
<div class="row"> <div class="row">
<div class="col height-mode-box"> <div class="col height-mode-box">
<span class="label" style="flex: 0 0 56px">高度模式</span> <span class="label" style="flex: 0 0 56px">{{ t('general.高度模式') }}</span>
<el-select <el-select class="input input-select height-mode-scelect" style="width: 155px; margin-left: 20px"
class="input input-select height-mode-scelect" v-model="heightMode" @change="heightModeChange" placeholder="请选择">
style="width: 155px; margin-left: 20px" <el-option v-for="item in heightModeData" :key="item.key" :label="t('general.' + item.name)" :value="item.key">
v-model="heightMode"
@change="heightModeChange"
placeholder="请选择"
>
<el-option
v-for="item in heightModeData"
:key="item.key"
:label="item.name"
:value="item.key"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="col height-box" v-show="heightMode == 0 || heightMode == 1"> <div class="col height-box" v-show="heightMode == 0 || heightMode == 1">
<span class="label" style="flex: 0 0 56px">高度</span> <span class="label" style="flex: 0 0 56px">{{ t('general.高度') }}</span>
<div class="input-number input-number-unit-1"> <div class="input-number input-number-unit-1">
<input <input class="input height" type="number" title="" min="-9999999" max="999999999" v-model="height"
class="input height" @change="changHeight" @input="$handleInputLimit" />
type="number"
title=""
min="-9999999"
max="999999999"
v-model="height"
@change="changHeight"
@input="$handleInputLimit"
/>
<span class="unit">m</span> <span class="unit">m</span>
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
@ -220,39 +137,24 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<div <div class="YJ-custom-checkbox-box" style="display: flex; align-items: center; cursor: pointer"
class="YJ-custom-checkbox-box" @click="formatChange(1)">
style="display: flex; align-items: center; cursor: pointer"
@click="formatChange(1)"
>
<input type="checkbox" class="YJ-custom-checkbox" v-model="format1" /> <input type="checkbox" class="YJ-custom-checkbox" v-model="format1" />
<span style="margin-left: 10px; margin-bottom: 1px; user-select: none" <span style="margin-left: 10px; margin-bottom: 1px; user-select: none">{{ t('general.小数格式') }}</span>
>小数格式</span
>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div <div class="YJ-custom-checkbox-box" style="display: flex; align-items: center; cursor: pointer"
class="YJ-custom-checkbox-box" @click="formatChange(2)">
style="display: flex; align-items: center; cursor: pointer"
@click="formatChange(2)"
>
<input type="checkbox" class="YJ-custom-checkbox" v-model="format2" /> <input type="checkbox" class="YJ-custom-checkbox" v-model="format2" />
<span style="margin-left: 10px; margin-bottom: 1px; user-select: none" <span style="margin-left: 10px; margin-bottom: 1px; user-select: none">{{ t('general.度分格式') }}</span>
>度分格式</span
>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div <div class="YJ-custom-checkbox-box" style="display: flex; align-items: center; cursor: pointer"
class="YJ-custom-checkbox-box" @click="formatChange(3)">
style="display: flex; align-items: center; cursor: pointer"
@click="formatChange(3)"
>
<input type="checkbox" class="YJ-custom-checkbox" v-model="format3" /> <input type="checkbox" class="YJ-custom-checkbox" v-model="format3" />
<span style="margin-left: 10px; margin-bottom: 1px; user-select: none" <span style="margin-left: 10px; margin-bottom: 1px; user-select: none;white-space: nowrap;">{{ t('general.度分秒格式') }}</span>
>度分秒格式</span
>
</div> </div>
</div> </div>
<div class="col"></div> <div class="col"></div>
@ -262,14 +164,14 @@
<div class="proj-input-box" v-show="format1"> <div class="proj-input-box" v-show="format1">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span style="flex: 0 0 40px">经度</span> <span style="flex: 0 0 40px">{{ t('general.经度') }}</span>
<input class="input lng" readonly :value="entityOptions.lng" /> <input class="input lng" readonly :value="entityOptions.lng" />
</div> </div>
<div class="col"></div> <div class="col"></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<span style="flex: 0 0 40px">纬度</span> <span style="flex: 0 0 40px">{{ t('general.纬度') }}</span>
<input class="input lat" readonly :value="entityOptions.lat" /> <input class="input lat" readonly :value="entityOptions.lat" />
</div> </div>
<div class="col"></div> <div class="col"></div>
@ -279,19 +181,19 @@
<div class="row"> <div class="row">
<div class="col" style="flex-direction: column"> <div class="col" style="flex-direction: column">
<div class="row" style="margin-bottom: 15px"> <div class="row" style="margin-bottom: 15px">
<span style="flex: 0 0 40px">经度</span> <span style="flex: 0 0 40px">{{ t('general.经度') }}</span>
<input class="input lng-dm-d" style="flex: 1" readonly :value="lngDmD" /> <input class="input lng-dm-d" style="flex: 1" readonly :value="lngDmD" />
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span> <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.度') }}</span>
<input class="input lng-dm-m" style="flex: 1" readonly :value="lngDmM" /> <input class="input lng-dm-m" style="flex: 1" readonly :value="lngDmM" />
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span> <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.分') }}</span>
<span class="top-line"></span> <span class="top-line"></span>
</div> </div>
<div class="row"> <div class="row">
<span style="flex: 0 0 40px">纬度</span> <span style="flex: 0 0 40px">{{ t('general.纬度') }}</span>
<input class="input lat-dm-d" style="flex: 1" readonly :value="latDmD" /> <input class="input lat-dm-d" style="flex: 1" readonly :value="latDmD" />
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span> <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.度') }}</span>
<input class="input lat-dm-m" style="flex: 1" readonly :value="latDmM" /> <input class="input lat-dm-m" style="flex: 1" readonly :value="latDmM" />
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span> <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.分') }}</span>
<span class="bottom-line"></span> <span class="bottom-line"></span>
</div> </div>
</div> </div>
@ -301,53 +203,23 @@
<div class="row"> <div class="row">
<div class="col" style="flex-direction: column"> <div class="col" style="flex-direction: column">
<div class="row" style="margin-bottom: 15px"> <div class="row" style="margin-bottom: 15px">
<span style="flex: 0 0 40px">经度</span> <span style="flex: 0 0 40px">{{ t('general.经度') }}</span>
<input <input class="input lng-dms-d" style="flex: 1" readonly :value="lngDmsD" />
class="input lng-dms-d" <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.度') }}</span>
style="flex: 1" <input class="input lng-dms-m" style="flex: 1" readonly :value="lngDmsM" />
readonly <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.分') }}</span>
:value="lngDmsD" <input class="input lng-dms-s" style="flex: 1" readonly :value="lngDmsS" />
/> <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.秒') }}</span>
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span>
<input
class="input lng-dms-m"
style="flex: 1"
readonly
:value="lngDmsM"
/>
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span>
<input
class="input lng-dms-s"
style="flex: 1"
readonly
:value="lngDmsS"
/>
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span>
<span class="top-line"></span> <span class="top-line"></span>
</div> </div>
<div class="row"> <div class="row">
<span style="flex: 0 0 40px">纬度</span> <span style="flex: 0 0 40px">{{ t('general.纬度') }}</span>
<input <input class="input lat-dms-d" style="flex: 1" readonly :value="latDmsD" />
class="input lat-dms-d" <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.度') }}</span>
style="flex: 1" <input class="input lat-dms-m" style="flex: 1" readonly :value="latDmsM" />
readonly <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.分') }}</span>
:value="latDmsD" <input class="input lat-dms-s" style="flex: 1" readonly :value="latDmsS" />
/> <span class="label" style="flex: 0 0 14px; margin: 0 10px">{{ t('general.秒') }}</span>
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span>
<input
class="input lat-dms-m"
style="flex: 1"
readonly
:value="latDmsM"
/>
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span>
<input
class="input lat-dms-s"
style="flex: 1"
readonly
:value="latDmsS"
/>
<span class="label" style="flex: 0 0 14px; margin: 0 10px"></span>
<span class="bottom-line"></span> <span class="bottom-line"></span>
</div> </div>
</div> </div>
@ -356,90 +228,63 @@
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="标注风格" name="3"> <el-tab-pane :label="t('general.标注风格')" name="3">
<div> <div>
<h4>图标设置</h4> <h4>{{ t('general.图标设置') }}</h4>
<div class="row" style="margin-bottom: 10px"> <div class="row" style="margin-bottom: 10px">
<div class="col" style="flex: 0 0 80px"> <div class="col" style="flex: 0 0 80px">
<span class="label" style="flex: none">显隐</span> <span class="label" style="flex: none">{{ t('general.显隐') }}</span>
<input <input class="btn-switch" type="checkbox" v-model="entityOptions.billboardShow" />
class="btn-switch"
type="checkbox"
v-model="entityOptions.billboardShow"
/>
</div> </div>
<div class="col" style="flex: 0 0 90px"> <div class="col" style="flex: 0 0 90px">
<span class="label" style="flex: none">图标</span> <span class="label" style="flex: none">{{ t('general.图标') }}</span>
<div class="image-box" @click="clickChangeImage"> <div class="image-box" @click="clickChangeImage">
<img class="image" :src="entityOptions.billboardImage" alt="" /> <img class="image" :src="entityOptions.billboardImage" alt="" />
</div> </div>
</div> </div>
<div class="col" style="flex: 0 0 90px"> <div class="col" style="flex: 0 0 90px">
<span class="label" style="flex: none">默认图标</span> <span class="label" style="flex: none">{{ t('general.默认图标') }}</span>
<div class="image-box" @click="clickChangeDefaultImage"> <div class="image-box" @click="clickChangeDefaultImage">
<img class="image" :src="entityOptions.billboardDefaultImage" alt="" /> <img class="image" :src="entityOptions.billboardDefaultImage" alt="" />
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<span class="label">图标倍数</span> <span class="label" style="flex: none">{{ t('general.图标倍数') }}</span>
<div class="input-number input-number-unit-2"> <div class="input-number input-number-unit-2">
<input <input class="input" type="number" title="" min="0.1" max="99"
class="input" v-model="entityOptions.billboardScale" @input="$handleInputLimit" />
type="number" <span class="unit">{{ t('general.倍') }}</span>
title=""
min="0.1"
max="99"
v-model="entityOptions.billboardScale"
@input="$handleInputLimit"
/>
<span class="unit"></span>
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div> <div>
<h4>文字设置</h4> <h4>{{ t('general.文字设置') }}</h4>
<div class="row"> <div class="row">
<div class="col" style="flex: 0 0 80px"> <div class="col" style="flex: 0 0 80px;">
<span class="label" style="flex: none">显隐</span> <span class="label" style="flex: none;">{{ t('general.显隐') }}</span>
<input class="btn-switch" type="checkbox" v-model="entityOptions.labelShow" /> <input class="btn-switch" type="checkbox" v-model="entityOptions.labelShow" />
</div> </div>
<div class="col font-select-box"> <div class="col font-select-box">
<span class="label" style="flex: none">字体选择</span> <span class="label" style="flex: none;">{{ t('general.字体选择') }}</span>
<el-select <el-select class="input input-select font-select" style="width: 100px"
class="input input-select font-select" v-model="entityOptions.labelFontFamily">
style="width: 100px" <el-option v-for="item in fontList" :key="item.key" :label="t('general.' + item.name)" :value="item.key">
v-model="entityOptions.labelFontFamily"
>
<el-option
v-for="item in fontList"
:key="item.key"
:label="item.name"
:value="item.key"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="col"> <div class="col">
<span class="label">文字大小</span> <span class="label" style="flex: none;">{{ t('general.文字大小') }}</span>
<div class="input-number input-number-unit-2"> <div class="input-number input-number-unit-2">
<input <input class="input" type="number" title="" min="1" max="99" v-model="entityOptions.labelFontSize"
class="input" style="min-width: 70px;" @input="$handleInputLimit" />
type="number"
title=""
min="1"
max="99"
v-model="entityOptions.labelFontSize"
style="width: 70px"
@input="$handleInputLimit"
/>
<span class="unit">px</span> <span class="unit">px</span>
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<span class="label">文字颜色</span> <span class="label" style="flex: none;">{{ t('general.文字颜色') }}</span>
<div class="labelColor" ref="labelColorRef"></div> <div class="labelColor" ref="labelColorRef"></div>
</div> </div>
</div> </div>
@ -453,13 +298,14 @@
<div style="position: absolute; left: 24px; display: flex"> <div style="position: absolute; left: 24px; display: flex">
<button @click="updateHeight"> <button @click="updateHeight">
<svg class="icon-updateheigh"> <svg class="icon-updateheigh">
<use xlink:href="#yj-icon-updateheight"></use></svg>更新高程 <use xlink:href="#yj-icon-updateheight"></use>
</svg>{{ t('general.更新高程') }}
</button> </button>
<button style="margin-left: 10px" @click="translate">平移</button> <button style="margin-left: 10px" @click="translate">{{ t('general.平移') }}</button>
</div> </div>
<button @click="remove">删除</button> <button @click="remove">{{ t('general.删除') }}</button>
<button @click="confirm">确定</button> <button @click="confirm">{{ t('general.确定') }}</button>
<button @click="close">关闭</button> <button @click="close">{{ t('general.关闭') }}</button>
</template> </template>
</Dialog> </Dialog>
</template> </template>
@ -830,5 +676,88 @@ defineExpose({
.YJ-custom-checkbox { .YJ-custom-checkbox {
pointer-events: none; pointer-events: none;
} }
::v-deep >.content {
width: 590px;
.title1 {
width: 46%;
}
.title2 {
width: 50%;
}
}
}
.billboard-object.dialog-en {
::v-deep >.content {
width: 690px;
.title1 {
width: 40%;
}
.title2 {
width: 60%;
}
.attribute-content-link .table .tr .th:nth-child(2),
.attribute-content-link .table .tr .td:nth-child(2),
.attribute-content-vr .table .tr .th:nth-child(2),
.attribute-content-vr .table .tr .td:nth-child(2) {
width: 284px;
flex: 0 0 284px;
}
}
}
.billboard-object>.content button.primary {
padding: 6px 14px;
}
.billboard-object>.content>div .row .col {
margin: 0 10px;
}
.billboard-object>.content>div .row .col:first-child {
margin-left: 0;
}
.billboard-object>.content>div .row .col:last-child {
margin-right: 0;
}
.billboard-object>.content>div .row .label {
flex: 0 0 56px;
white-space: nowrap;
}
.billboard-object.dialog-en>.content>div .div-item:nth-of-type(2) .row .label {
flex: 0 0 65px;
}
.billboard-object>.content .DIV-cy-tab-content-pane .input-select {
width: 100px;
}
.billboard-object>.content .DIV-cy-tab-content-pane h4 {
font-size: 16px;
margin-bottom: 10px;
}
.billboard-object>.content div .image-box {
width: 23px;
height: 26px;
cursor: pointer;
border: 1px solid rgba(var(--color-base1), 0.2);
display: flex;
align-items: center;
justify-content: center;
}
.billboard-object>.content div .image {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
.billboard-object.dialog-en>.content div .proj-input-box .row .col span:nth-child(1) {
flex: 0 0 70px !important;
} }
</style> </style>

View File

@ -143,7 +143,7 @@ const open = async (id: any) => {
let colorPicker = new window.YJColorPicker({ let colorPicker = new window.YJColorPicker({
el: colorRefs.value[i], el: colorRefs.value[i],
size: 'mini', //颜色box类型 size: 'mini', //颜色box类型
alpha: true, //是否开启透明度 alpha: false, //是否开启透明度
defaultColor: entityOptions.value.options.circle[i].color, defaultColor: entityOptions.value.options.circle[i].color,
disabled: false, //是否禁止打开颜色选择器 disabled: false, //是否禁止打开颜色选择器
openPickerAni: 'opacity', //打开颜色选择器动画 openPickerAni: 'opacity', //打开颜色选择器动画
@ -174,7 +174,7 @@ const addCircle = async () => {
let colorPicker = new window.YJColorPicker({ let colorPicker = new window.YJColorPicker({
el: colorRefs.value[i], el: colorRefs.value[i],
size: 'mini', //颜色box类型 size: 'mini', //颜色box类型
alpha: true, //是否开启透明度 alpha: false, //是否开启透明度
defaultColor: entityOptions.value.options.circle[i].color, defaultColor: entityOptions.value.options.circle[i].color,
disabled: false, //是否禁止打开颜色选择器 disabled: false, //是否禁止打开颜色选择器
openPickerAni: 'opacity', //打开颜色选择器动画 openPickerAni: 'opacity', //打开颜色选择器动画
@ -198,7 +198,7 @@ const minusCircle = async (index) => {
let colorPicker = new window.YJColorPicker({ let colorPicker = new window.YJColorPicker({
el: colorRefs.value[i], el: colorRefs.value[i],
size: 'mini', //颜色box类型 size: 'mini', //颜色box类型
alpha: true, //是否开启透明度 alpha: false, //是否开启透明度
defaultColor: entityOptions.value.options.circle[i].color, defaultColor: entityOptions.value.options.circle[i].color,
disabled: false, //是否禁止打开颜色选择器 disabled: false, //是否禁止打开颜色选择器
openPickerAni: 'opacity', //打开颜色选择器动画 openPickerAni: 'opacity', //打开颜色选择器动画
@ -227,7 +227,7 @@ const changeRadius = async (e) => {
let colorPicker = new window.YJColorPicker({ let colorPicker = new window.YJColorPicker({
el: colorRefs.value[i], el: colorRefs.value[i],
size: 'mini', //颜色box类型 size: 'mini', //颜色box类型
alpha: true, //是否开启透明度 alpha: false, //是否开启透明度
defaultColor: entityOptions.value.options.circle[i].color, defaultColor: entityOptions.value.options.circle[i].color,
disabled: false, //是否禁止打开颜色选择器 disabled: false, //是否禁止打开颜色选择器
openPickerAni: 'opacity', //打开颜色选择器动画 openPickerAni: 'opacity', //打开颜色选择器动画