|
@@ -1,216 +1,228 @@
|
|
|
<template>
|
|
|
- <div class="menu-content">
|
|
|
- <div class="gradient-text common-dialog-title2">实时标绘</div>
|
|
|
- <CollaborativeOperationBar
|
|
|
- v-model="collaboration"
|
|
|
- :title="collaborativeTitle"
|
|
|
- :data="currentState"
|
|
|
- @closeCollaboration="handleCloseCollaboration"
|
|
|
- @confirm="getList"
|
|
|
- />
|
|
|
- <div class="line">
|
|
|
- <div class="tabs1">
|
|
|
- <div v-for="(item, index) in menu" :key="index" :class="menuActive1 === index ? 'tab tab_active' : 'tab'" @click="clickTab(index)">
|
|
|
- {{ item.name }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="btn-box">
|
|
|
- <div class="btn1" @click="handleScreenshot">
|
|
|
- <div class="icon1" />
|
|
|
- 当前地图截图导出
|
|
|
- </div>
|
|
|
- <div v-show="!collaboration" class="btn2" @click="handlePlotting">协同标绘</div>
|
|
|
- <div v-show="collaboration" class="btn2" @click="handleShowLayer">查看图层</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div v-if="menuActive1 === 0" class="content">
|
|
|
- <div class="box1">
|
|
|
- <div v-show="!showSetting" class="box-item">
|
|
|
- <div class="btn" @click="handleUndo">
|
|
|
- <div class="revoke-icon" />
|
|
|
- 撤回
|
|
|
- </div>
|
|
|
- <div class="line2"></div>
|
|
|
- <div class="btn">
|
|
|
- <div class="delete-icon" />
|
|
|
- 删除
|
|
|
- </div>
|
|
|
- <div class="line2"></div>
|
|
|
- <div class="btn" @click="handleShowDialog">
|
|
|
- <div class="save-icon" />
|
|
|
- 保存
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div v-show="showSetting" class="box-item">
|
|
|
- <div class="btn" @click="handleQuitSetting">
|
|
|
- <div class="revoke-icon"></div>
|
|
|
- 退出设置
|
|
|
+ <div>
|
|
|
+ <div class="menu-content">
|
|
|
+ <div class="gradient-text common-dialog-title2">实时标绘</div>
|
|
|
+ <CollaborativeOperationBar
|
|
|
+ v-model="collaboration"
|
|
|
+ :title="collaborativeTitle"
|
|
|
+ :data="currentState"
|
|
|
+ @closeCollaboration="handleCloseCollaboration"
|
|
|
+ @confirm="getList"
|
|
|
+ />
|
|
|
+ <div class="line">
|
|
|
+ <div class="tabs1">
|
|
|
+ <div v-for="(item, index) in menu" :key="index" :class="menuActive1 === index ? 'tab tab_active' : 'tab'" @click="clickTab(index)">
|
|
|
+ {{ item.name }}
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="box-item">
|
|
|
- <div class="btn">
|
|
|
- <i class="template-icon" />
|
|
|
- 模板导入
|
|
|
- </div>
|
|
|
- <div class="line2"></div>
|
|
|
- <div class="btn">
|
|
|
- <i class="categoryImport-icon" />
|
|
|
- 分类导入
|
|
|
- </div>
|
|
|
- <div class="line2"></div>
|
|
|
- <div class="btn" @click="handleOpenSetting">
|
|
|
- <i class="setting-icon" />
|
|
|
- 设置
|
|
|
+ <div class="btn-box">
|
|
|
+ <div class="btn1" @click="handleScreenshot">
|
|
|
+ <div class="icon1" />
|
|
|
+ 当前地图截图导出
|
|
|
</div>
|
|
|
+ <div v-show="!collaboration" class="btn2" @click="handlePlotting">协同标绘</div>
|
|
|
+ <div v-show="collaboration" class="btn2" @click="handleShowLayer">查看图层</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="tab-content">
|
|
|
- <div class="tabs2">
|
|
|
- <div
|
|
|
- v-for="(item, index) in menu[menuActive1].children"
|
|
|
- :key="index"
|
|
|
- :class="menuActive2 === index ? 'tab tab_active' : 'tab'"
|
|
|
- @click="clickTab2(index)"
|
|
|
- >
|
|
|
- {{ item.name }}
|
|
|
+ <div v-if="menuActive1 === 0" class="content">
|
|
|
+ <div class="box1">
|
|
|
+ <div v-show="!showSetting" class="box-item">
|
|
|
+ <div class="btn" @click="handleUndo">
|
|
|
+ <div class="revoke-icon" />
|
|
|
+ 撤回
|
|
|
+ </div>
|
|
|
+ <div class="line2"></div>
|
|
|
+ <div class="btn">
|
|
|
+ <div class="delete-icon" />
|
|
|
+ 删除
|
|
|
+ </div>
|
|
|
+ <div class="line2"></div>
|
|
|
+ <div class="btn" @click="handleShowDialog">
|
|
|
+ <div class="save-icon" />
|
|
|
+ 保存
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="tab-content2">
|
|
|
- <div v-show="menuActive2 === 0" class="line3">
|
|
|
- <LineWidthSelect v-model="mouseToolState.lineWidth" :options="lineWidthOptions" />
|
|
|
- <div class="color-container">
|
|
|
- <el-color-picker v-model="mouseToolState.color" size="small" popper-class="custom-color-picker" show-alpha />
|
|
|
+ <div v-show="showSetting" class="box-item">
|
|
|
+ <div class="btn" @click="handleQuitSetting">
|
|
|
+ <div class="revoke-icon"></div>
|
|
|
+ 退出设置
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="box-item">
|
|
|
+ <div class="btn">
|
|
|
+ <i class="template-icon" />
|
|
|
+ 模板导入
|
|
|
+ </div>
|
|
|
+ <div class="line2"></div>
|
|
|
+ <div class="btn">
|
|
|
+ <i class="categoryImport-icon" />
|
|
|
+ 分类导入
|
|
|
+ </div>
|
|
|
+ <div class="line2"></div>
|
|
|
+ <div class="btn" @click="handleOpenSetting">
|
|
|
+ <i class="setting-icon" />
|
|
|
+ 设置
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="menu[menuActive1] && menu[menuActive1].children && menu[menuActive1].children[menuActive2]" class="tab-list">
|
|
|
+ </div>
|
|
|
+ <div class="tab-content">
|
|
|
+ <div class="tabs2">
|
|
|
<div
|
|
|
- v-for="(item, index) in menu[menuActive1].children[menuActive2].children"
|
|
|
+ v-for="(item, index) in menu[menuActive1].children"
|
|
|
:key="index"
|
|
|
- :class="menuActive3 === index ? 'tab tab_active' : 'tab'"
|
|
|
- @click="clickTab3(item, index)"
|
|
|
+ :class="menuActive2 === index ? 'tab tab_active' : 'tab'"
|
|
|
+ @click="clickTab2(index)"
|
|
|
>
|
|
|
- <div v-show="!showSetting" :class="menuActive3 === index ? 'checked2' : 'checked1'"></div>
|
|
|
- <img :src="getImageUrl(item.image)" class="icon" />
|
|
|
{{ item.name }}
|
|
|
- <div v-if="!!showSetting" class="setting-btn" @click="handleShowSetting(item)" />
|
|
|
- <div v-if="item.showSetting" class="setting-menu">
|
|
|
- <div class="menu-item" @click="handleShowSwitch(item)">
|
|
|
- <i class="icon-switch" />
|
|
|
- <span>更换</span>
|
|
|
- </div>
|
|
|
- <div class="menu-item" @click="handleMenuItemHide(item)">
|
|
|
- <i class="icon-eye" />
|
|
|
- <span>{{ item.visible === '0' ? '隐藏' : '显示' }}</span>
|
|
|
- </div>
|
|
|
- <div class="menu-item" @click="handleMenuItemDelete(item)">
|
|
|
- <i class="icon-delete" />
|
|
|
- <span>删除</span>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="tab-content2">
|
|
|
+ <div v-show="menuActive2 === 0" class="line3">
|
|
|
+ <LineWidthSelect v-model="mouseToolState.lineWidth" :options="lineWidthOptions" />
|
|
|
+ <div class="color-container">
|
|
|
+ <el-color-picker v-model="mouseToolState.color" size="small" popper-class="custom-color-picker" show-alpha />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="showSetting" class="tab" @click="handleShowAddClass">
|
|
|
- <el-icon color="#7495b4" :size="35"><Plus /></el-icon>
|
|
|
+ <div v-if="menu[menuActive1] && menu[menuActive1].children && menu[menuActive1].children[menuActive2]" class="tab-list">
|
|
|
+ <div
|
|
|
+ v-for="(item, index) in menu[menuActive1].children[menuActive2].children"
|
|
|
+ :key="index"
|
|
|
+ :class="menuActive3 === index ? 'tab tab_active' : 'tab'"
|
|
|
+ @click="clickTab3(item, index)"
|
|
|
+ >
|
|
|
+ <div v-show="!showSetting" :class="menuActive3 === index ? 'checked2' : 'checked1'"></div>
|
|
|
+ <img :src="getImageUrl(item.image)" class="icon" />
|
|
|
+ {{ item.name }}
|
|
|
+ <div v-if="!!showSetting" class="setting-btn" @click="handleShowSetting(item)" />
|
|
|
+ <div v-if="item.showSetting" class="setting-menu">
|
|
|
+ <div class="menu-item" @click="handleShowSwitch(item)">
|
|
|
+ <i class="icon-switch" />
|
|
|
+ <span>更换</span>
|
|
|
+ </div>
|
|
|
+ <div class="menu-item" @click="handleMenuItemHide(item)">
|
|
|
+ <i class="icon-eye" />
|
|
|
+ <span>{{ item.visible === '0' ? '隐藏' : '显示' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="menu-item" @click="handleMenuItemDelete(item)">
|
|
|
+ <i class="icon-delete" />
|
|
|
+ <span>删除</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-if="showSetting" class="tab" @click="handleShowAddClass">
|
|
|
+ <el-icon color="#7495b4" :size="35">
|
|
|
+ <Plus />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div v-else-if="menuActive1 === 1" class="tab-content3">
|
|
|
- <!-- <div class="box1">-->
|
|
|
- <!-- <div class="box-item">-->
|
|
|
- <!-- <div class="btn">-->
|
|
|
- <!-- <div class="merge-icon"></div>-->
|
|
|
- <!-- 合并-->
|
|
|
- <!-- </div>-->
|
|
|
- <!-- </div>-->
|
|
|
- <!-- </div>-->
|
|
|
- <div class="params-box">
|
|
|
- <el-input v-model="queryParams.pattern_name" class="custom-input" placeholder="请输入" @input="handleQuery">
|
|
|
- <template #prefix>
|
|
|
- <el-icon class="el-input__icon"><search /></el-icon>
|
|
|
- </template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div class="custom-table">
|
|
|
- <div class="table-header">
|
|
|
- <div class="th">预案名称</div>
|
|
|
- <div class="th">操作</div>
|
|
|
+ <div v-else-if="menuActive1 === 1" class="tab-content3">
|
|
|
+ <!-- <div class="box1">-->
|
|
|
+ <!-- <div class="box-item">-->
|
|
|
+ <!-- <div class="btn">-->
|
|
|
+ <!-- <div class="merge-icon"></div>-->
|
|
|
+ <!-- 合并-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <div class="params-box">
|
|
|
+ <el-input v-model="queryParams.pattern_name" class="custom-input" placeholder="请输入" @input="handleQuery">
|
|
|
+ <template #prefix>
|
|
|
+ <el-icon class="el-input__icon">
|
|
|
+ <search />
|
|
|
+ </el-icon>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
</div>
|
|
|
- <div class="table-content">
|
|
|
- <div v-for="(item, index) in patternList" :key="index" class="tr" @click="handleShowConfirm(item)">
|
|
|
- <div class="td">
|
|
|
- <div>{{ item.pattern_name }}</div>
|
|
|
- </div>
|
|
|
- <div class="td td2">
|
|
|
- <div class="btn" @click.stop="handleDelete(item.id)">
|
|
|
- <div class="delete-icon"></div>
|
|
|
- 删除
|
|
|
- </div>
|
|
|
- <div class="line2"></div>
|
|
|
- <div class="btn" @click.stop="handleEdit(item.id)">
|
|
|
- <div class="edit-icon"></div>
|
|
|
- 编辑
|
|
|
+ <div class="custom-table">
|
|
|
+ <div class="table-header">
|
|
|
+ <div class="th">预案名称</div>
|
|
|
+ <div class="th">操作</div>
|
|
|
+ </div>
|
|
|
+ <div class="table-content">
|
|
|
+ <div v-for="(item, index) in patternList" :key="index" class="tr" @click="handleShowConfirm(item)">
|
|
|
+ <div class="td">
|
|
|
+ <div>{{ item.pattern_name }}</div>
|
|
|
</div>
|
|
|
- <div class="line2"></div>
|
|
|
- <div class="btn" @click.stop="handleShare('2', item.id)">
|
|
|
- <div class="share-icon"></div>
|
|
|
- 分享
|
|
|
+ <div class="td td2">
|
|
|
+ <div class="btn" @click.stop="handleDelete(item.id)">
|
|
|
+ <div class="delete-icon"></div>
|
|
|
+ 删除
|
|
|
+ </div>
|
|
|
+ <div class="line2"></div>
|
|
|
+ <div class="btn" @click.stop="handleEdit(item.id)">
|
|
|
+ <div class="edit-icon"></div>
|
|
|
+ 编辑
|
|
|
+ </div>
|
|
|
+ <div class="line2"></div>
|
|
|
+ <div class="btn" @click.stop="handleShare('2', item.id)">
|
|
|
+ <div class="share-icon"></div>
|
|
|
+ 分享
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="footer">
|
|
|
- <el-pagination
|
|
|
- v-model:current-page="queryParams.page"
|
|
|
- v-model:page-size="queryParams.pageSize"
|
|
|
- background
|
|
|
- :hide-on-single-page="true"
|
|
|
- layout="total, prev, pager, next"
|
|
|
- :total="total"
|
|
|
- @current-change="getList"
|
|
|
- />
|
|
|
+ <div class="footer">
|
|
|
+ <el-pagination
|
|
|
+ v-model:current-page="queryParams.page"
|
|
|
+ v-model:page-size="queryParams.pageSize"
|
|
|
+ background
|
|
|
+ :hide-on-single-page="true"
|
|
|
+ layout="total, prev, pager, next"
|
|
|
+ :total="total"
|
|
|
+ @current-change="getList"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!--添加修改分类弹窗-->
|
|
|
+ <EditClassDialog
|
|
|
+ v-if="showAddDialog"
|
|
|
+ :id="selectEditId"
|
|
|
+ v-model="showAddDialog"
|
|
|
+ :template-id="selectTemplateId"
|
|
|
+ @update-data="getTemplateTreeData"
|
|
|
+ />
|
|
|
+ <!--添加文字-->
|
|
|
+ <TextEdit v-if="showTextEdit" v-model="showTextEdit" @add-text="addText" />
|
|
|
+ <!--绘制提示信息-->
|
|
|
+ <div v-show="tipTitle !== ''" class="tipTitle">{{ tipTitle }}</div>
|
|
|
+ <!--保存修改弹窗-->
|
|
|
+ <EditDialog v-if="showEdit" v-model="showEdit" :edit-data="editData" @submit="handleSubmit" />
|
|
|
+ <Contact v-if="shareState.showShare" v-model="shareState.showShare" @close="handleCloseShare" @confirm="handleShareConfirm" />
|
|
|
+ <!--修改预案-->
|
|
|
+ <Dialog v-if="showForm" v-model="showForm" custom-show title="协同标绘" type="xs" @close="showForm = false" @confirm="handleSendForm">
|
|
|
+ <div style="display: flex; align-items: center">
|
|
|
+ <div style="font-size: 16px">预案名称:</div>
|
|
|
+ <el-input v-model="form.pattern_name" class="custom-input" placeholder="请输入" style="flex: 1" />
|
|
|
+ </div>
|
|
|
+ </Dialog>
|
|
|
+ <!--加载预案确认-->
|
|
|
+ <Dialog
|
|
|
+ v-if="showConfirmDialog"
|
|
|
+ v-model="showConfirmDialog"
|
|
|
+ custom-show
|
|
|
+ title="提示"
|
|
|
+ height="auto"
|
|
|
+ type="xs"
|
|
|
+ @close="handleCancel"
|
|
|
+ @confirm="handleShowPatternData"
|
|
|
+ >
|
|
|
+ <div>是否确定加载该预案到地图上?</div>
|
|
|
+ </Dialog>
|
|
|
+ <LayerDetail
|
|
|
+ v-if="showLayer"
|
|
|
+ v-model="showLayer"
|
|
|
+ :pattern-id="patternId"
|
|
|
+ :showAnnotationName="showAnnotationName"
|
|
|
+ @showAnnotationNameChange="showAnnotationNameChange"
|
|
|
+ />
|
|
|
+ <!--协同标绘选择弹窗-->
|
|
|
+ <SelectPoltting v-if="showOnlinePlotting" v-model="showOnlinePlotting" @confirm="handleOpenPlotting" />
|
|
|
</div>
|
|
|
- <!--添加修改分类弹窗-->
|
|
|
- <EditClassDialog
|
|
|
- v-if="showAddDialog"
|
|
|
- :id="selectEditId"
|
|
|
- v-model="showAddDialog"
|
|
|
- :template-id="selectTemplateId"
|
|
|
- @update-data="getTemplateTreeData"
|
|
|
- />
|
|
|
- <!--添加文字-->
|
|
|
- <TextEdit v-if="showTextEdit" v-model="showTextEdit" @add-text="addText" />
|
|
|
- <!--绘制提示信息-->
|
|
|
- <div v-show="tipTitle !== ''" class="tipTitle">{{ tipTitle }}</div>
|
|
|
- <!--保存修改弹窗-->
|
|
|
- <EditDialog v-if="showEdit" v-model="showEdit" :edit-data="editData" @submit="handleSubmit" />
|
|
|
- <Contact v-if="shareState.showShare" v-model="shareState.showShare" @close="handleCloseShare" @confirm="handleShareConfirm" />
|
|
|
- <!--修改预案-->
|
|
|
- <Dialog v-if="showForm" v-model="showForm" custom-show title="协同标绘" type="xs" @close="showForm = false" @confirm="handleSendForm">
|
|
|
- <div style="display: flex; align-items: center">
|
|
|
- <div style="font-size: 16px">预案名称:</div>
|
|
|
- <el-input v-model="form.pattern_name" class="custom-input" placeholder="请输入" style="flex: 1" />
|
|
|
- </div>
|
|
|
- </Dialog>
|
|
|
- <!--加载预案确认-->
|
|
|
- <Dialog
|
|
|
- v-if="showConfirmDialog"
|
|
|
- v-model="showConfirmDialog"
|
|
|
- custom-show
|
|
|
- title="提示"
|
|
|
- height="auto"
|
|
|
- type="xs"
|
|
|
- @close="handleCancel"
|
|
|
- @confirm="handleShowPatternData"
|
|
|
- >
|
|
|
- <div>是否确定加载该预案到地图上?</div>
|
|
|
- </Dialog>
|
|
|
- <LayerDetail v-if="showLayer" v-model="showLayer" :pattern-id="patternId" :showAnnotationName="showAnnotationName" @showAnnotationNameChange="showAnnotationNameChange" />
|
|
|
- <!--协同标绘选择弹窗-->
|
|
|
- <SelectPoltting v-if="showOnlinePlotting" v-model="showOnlinePlotting" @confirm="handleOpenPlotting" />
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup name="OnlinePlotting">
|
|
@@ -1148,13 +1160,16 @@ onUnmounted(() => {
|
|
|
:deep(.el-color-dropdown__link-btn) {
|
|
|
display: none;
|
|
|
}
|
|
|
+
|
|
|
.line {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
align-items: center;
|
|
|
}
|
|
|
+
|
|
|
.tabs1 {
|
|
|
display: flex;
|
|
|
+
|
|
|
.tab {
|
|
|
width: 123px;
|
|
|
height: 30px;
|
|
@@ -1166,6 +1181,7 @@ onUnmounted(() => {
|
|
|
color: #b7c1d5;
|
|
|
font-family: YouSheBiaoTiHei;
|
|
|
padding-left: 28px;
|
|
|
+
|
|
|
&:hover {
|
|
|
width: 123px;
|
|
|
height: 30px;
|
|
@@ -1174,6 +1190,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.tab_active {
|
|
|
width: 123px;
|
|
|
height: 30px;
|
|
@@ -1182,6 +1199,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.btn1 {
|
|
|
width: 200px;
|
|
|
height: 60px;
|
|
@@ -1193,6 +1211,7 @@ onUnmounted(() => {
|
|
|
cursor: pointer;
|
|
|
font-size: 14px;
|
|
|
color: #edfaff;
|
|
|
+
|
|
|
.icon1 {
|
|
|
width: 22px;
|
|
|
height: 22px;
|
|
@@ -1201,6 +1220,7 @@ onUnmounted(() => {
|
|
|
margin-right: 6px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.btn2 {
|
|
|
width: 104px;
|
|
|
height: 29px;
|
|
@@ -1211,6 +1231,7 @@ onUnmounted(() => {
|
|
|
cursor: pointer;
|
|
|
font-size: 16px;
|
|
|
color: #edfaff;
|
|
|
+
|
|
|
.icon1 {
|
|
|
width: 42px;
|
|
|
height: 42px;
|
|
@@ -1218,6 +1239,7 @@ onUnmounted(() => {
|
|
|
margin-right: 12px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.box1 {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
@@ -1227,15 +1249,18 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/box1.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
padding: 10px 12px;
|
|
|
+
|
|
|
.box-item {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.btn {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
cursor: pointer;
|
|
|
+
|
|
|
.revoke-icon {
|
|
|
width: 24px;
|
|
|
height: 25px;
|
|
@@ -1243,6 +1268,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/revoke.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.delete-icon {
|
|
|
width: 25px;
|
|
|
height: 25px;
|
|
@@ -1250,6 +1276,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/delete.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.edit-icon {
|
|
|
width: 23px;
|
|
|
height: 23px;
|
|
@@ -1257,6 +1284,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/edit.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.cancel-icon {
|
|
|
width: 25px;
|
|
|
height: 25px;
|
|
@@ -1264,6 +1292,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/cancel.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.save-icon {
|
|
|
width: 23px;
|
|
|
height: 23px;
|
|
@@ -1271,6 +1300,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/save.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.share-icon {
|
|
|
width: 23px;
|
|
|
height: 24px;
|
|
@@ -1278,6 +1308,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/share.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.setting-icon {
|
|
|
width: 24px;
|
|
|
height: 25px;
|
|
@@ -1285,6 +1316,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/setting.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.template-icon {
|
|
|
width: 24px;
|
|
|
height: 26px;
|
|
@@ -1292,6 +1324,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/template.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.categoryImport-icon {
|
|
|
width: 24px;
|
|
|
height: 26px;
|
|
@@ -1299,6 +1332,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/categoryImport.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.merge-icon {
|
|
|
width: 26px;
|
|
|
height: 26px;
|
|
@@ -1307,12 +1341,14 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.line2 {
|
|
|
width: 1px;
|
|
|
height: 10px;
|
|
|
background-color: #a7ccdf;
|
|
|
margin: 0 10px;
|
|
|
}
|
|
|
+
|
|
|
.tabs2 {
|
|
|
width: 115px;
|
|
|
min-width: 115px;
|
|
@@ -1321,6 +1357,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
overflow-y: auto;
|
|
|
padding: 10px 0;
|
|
|
+
|
|
|
.tab {
|
|
|
width: 100%;
|
|
|
height: 35px;
|
|
@@ -1330,29 +1367,36 @@ onUnmounted(() => {
|
|
|
padding: 0 25px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
+
|
|
|
&:hover {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/tabActive2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.tab_active {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/tabActive2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.tab-content {
|
|
|
display: flex;
|
|
|
margin-top: 6px;
|
|
|
+
|
|
|
.tab-content2 {
|
|
|
padding: 18px 15px;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
+
|
|
|
.line {
|
|
|
height: 100px;
|
|
|
}
|
|
|
+
|
|
|
.line3 {
|
|
|
display: flex;
|
|
|
}
|
|
|
+
|
|
|
.tab-list {
|
|
|
width: 100%;
|
|
|
flex: 1;
|
|
@@ -1361,16 +1405,19 @@ onUnmounted(() => {
|
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|
|
|
align-content: baseline;
|
|
|
+
|
|
|
.icon {
|
|
|
width: 45px;
|
|
|
height: 25px;
|
|
|
margin-bottom: 8px;
|
|
|
}
|
|
|
+
|
|
|
.tab {
|
|
|
&:nth-child(3n-1) {
|
|
|
margin: 18px 23px 0;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.setting-btn {
|
|
|
position: absolute;
|
|
|
bottom: 7px;
|
|
@@ -1381,6 +1428,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+
|
|
|
.setting-menu {
|
|
|
position: absolute;
|
|
|
bottom: -103px;
|
|
@@ -1392,6 +1440,7 @@ onUnmounted(() => {
|
|
|
background-color: #091432;
|
|
|
//box-shadow: inset 0 0 60px #596891;
|
|
|
padding: 6px 0;
|
|
|
+
|
|
|
&::after {
|
|
|
content: '';
|
|
|
width: 14px;
|
|
@@ -1406,6 +1455,7 @@ onUnmounted(() => {
|
|
|
transform: rotate(45deg);
|
|
|
background-color: #091432;
|
|
|
}
|
|
|
+
|
|
|
.menu-item {
|
|
|
width: 100%;
|
|
|
display: flex;
|
|
@@ -1415,6 +1465,7 @@ onUnmounted(() => {
|
|
|
font-size: 14px;
|
|
|
height: 26px;
|
|
|
cursor: pointer;
|
|
|
+
|
|
|
.icon-switch {
|
|
|
display: inline-block;
|
|
|
width: 12px;
|
|
@@ -1423,6 +1474,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
margin-right: 6px;
|
|
|
}
|
|
|
+
|
|
|
.icon-eye {
|
|
|
display: inline-block;
|
|
|
width: 12px;
|
|
@@ -1431,6 +1483,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
margin-right: 6px;
|
|
|
}
|
|
|
+
|
|
|
.icon-eye2 {
|
|
|
display: inline-block;
|
|
|
width: 12px;
|
|
@@ -1439,6 +1492,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
margin-right: 6px;
|
|
|
}
|
|
|
+
|
|
|
.icon-delete {
|
|
|
display: inline-block;
|
|
|
width: 11px;
|
|
@@ -1447,21 +1501,26 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
margin-right: 6px;
|
|
|
}
|
|
|
+
|
|
|
&:hover {
|
|
|
color: #00fde7;
|
|
|
background: #1e3b77;
|
|
|
+
|
|
|
.icon-switch {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/switch2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.icon-eye {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/show2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.icon-eye2 {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/hide2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.icon-delete {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/delete2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
@@ -1470,6 +1529,7 @@ onUnmounted(() => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.tab {
|
|
|
width: 129px;
|
|
|
height: 91px;
|
|
@@ -1485,10 +1545,12 @@ onUnmounted(() => {
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
margin-top: 18px;
|
|
|
+
|
|
|
&:hover {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/boxHover2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.checked1 {
|
|
|
position: absolute;
|
|
|
top: 8px;
|
|
@@ -1498,6 +1560,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/checked1.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.checked2 {
|
|
|
position: absolute;
|
|
|
top: 8px;
|
|
@@ -1508,6 +1571,7 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.tab_active {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/boxActive2.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
@@ -1527,29 +1591,35 @@ onUnmounted(() => {
|
|
|
background-color: rgba(0, 0, 0, 0.4);
|
|
|
border-radius: 10px;
|
|
|
}
|
|
|
+
|
|
|
.tab-content3 {
|
|
|
.custom-table {
|
|
|
width: 100%;
|
|
|
color: #000;
|
|
|
+
|
|
|
.table-header {
|
|
|
display: flex;
|
|
|
font-size: 14px;
|
|
|
width: 100%;
|
|
|
background-color: #194ba0;
|
|
|
+
|
|
|
.th {
|
|
|
padding: 11px;
|
|
|
flex: 1;
|
|
|
color: #edfaff;
|
|
|
+
|
|
|
&:last-child {
|
|
|
flex: unset;
|
|
|
width: 180px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.table-content {
|
|
|
max-height: 355px;
|
|
|
overflow: auto;
|
|
|
}
|
|
|
+
|
|
|
.tr {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
@@ -1559,19 +1629,23 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
margin-top: 10px;
|
|
|
cursor: pointer;
|
|
|
+
|
|
|
&:hover {
|
|
|
background: url('@/assets/images/map/rightMenu/onlinePlotting/trActive.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
.td {
|
|
|
padding: 11px;
|
|
|
color: #edfaff;
|
|
|
flex: 1;
|
|
|
+
|
|
|
.icon {
|
|
|
margin: 0 10px;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.td2 {
|
|
|
flex: unset;
|
|
|
display: flex;
|
|
@@ -1592,8 +1666,10 @@ onUnmounted(() => {
|
|
|
background-color: #0d3980;
|
|
|
border: 1px solid #0b5fbb;
|
|
|
margin-left: 8px;
|
|
|
+
|
|
|
:deep(.el-color-picker) {
|
|
|
height: 14px !important;
|
|
|
+
|
|
|
.el-color-picker__trigger {
|
|
|
width: 14px;
|
|
|
height: 14px;
|
|
@@ -1601,6 +1677,7 @@ onUnmounted(() => {
|
|
|
border: none;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
&::before {
|
|
|
content: '';
|
|
|
position: absolute;
|
|
@@ -1611,6 +1688,7 @@ onUnmounted(() => {
|
|
|
background: url('@/assets/images/inputIcon1.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
+
|
|
|
&::after {
|
|
|
content: '';
|
|
|
position: absolute;
|
|
@@ -1622,50 +1700,61 @@ onUnmounted(() => {
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.params-box {
|
|
|
margin: 10px 0;
|
|
|
}
|
|
|
+
|
|
|
.footer {
|
|
|
display: flex;
|
|
|
justify-content: flex-end;
|
|
|
margin-top: 15px;
|
|
|
+
|
|
|
:deep(.el-pagination__total) {
|
|
|
color: #a7ccdf !important;
|
|
|
}
|
|
|
+
|
|
|
:deep(.el-pagination) {
|
|
|
.btn-next,
|
|
|
.btn-prev {
|
|
|
background-color: transparent !important;
|
|
|
border: none !important;
|
|
|
+
|
|
|
.el-icon {
|
|
|
color: #a7ccdf !important;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.btn-prev:disabled,
|
|
|
.btn-next:disabled {
|
|
|
background-color: transparent !important;
|
|
|
border: none !important;
|
|
|
}
|
|
|
+
|
|
|
.el-pager li {
|
|
|
text-align: center;
|
|
|
color: #a7ccdf !important;
|
|
|
background-color: #0e3064 !important;
|
|
|
border: 1px solid #0c57a7 !important;
|
|
|
+
|
|
|
&:hover {
|
|
|
background-color: #038dff !important;
|
|
|
border: 1px solid #038dff !important;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.el-pager li.is-active {
|
|
|
background-color: #038dff !important;
|
|
|
border: 1px solid #038dff !important;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.btn-box {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
}
|
|
|
+
|
|
|
.btn-text {
|
|
|
color: #5983df;
|
|
|
cursor: pointer;
|