Commit f3a801ae authored by tangwei's avatar tangwei

Merge branch 'dev_upgrade' of http://172.16.10.76/station/amos-convertor-view into develop_x

# Conflicts: # mods/components/3dviewConvertor/view/equipmentLedger/FireResources/FireEquipment/index.js
parents 2aba834e 603fddd7
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
httpURI: { httpURI: {
baseURI: 'http://172.16.11.36:10005/', baseURI: 'http://172.16.11.36:10005/',
convertorURI: 'http://172.16.3.63:8083/', convertorURI: 'http://172.16.3.63:8083/',
patrolURI: 'http://172.16.3.122:8082/',
securityBaseURI: 'http://172.16.10.72:10005/', securityBaseURI: 'http://172.16.10.72:10005/',
rulesConfigURI: 'http://172.16.10.91:8080/', rulesConfigURI: 'http://172.16.10.91:8080/',
pluginURI: 'http://172.16.10.91:8091/', pluginURI: 'http://172.16.10.91:8091/',
...@@ -20,7 +21,7 @@ ...@@ -20,7 +21,7 @@
wsURI: { wsURI: {
pluginURI: 'ws://172.16.3.70:8989/', pluginURI: 'ws://172.16.3.70:8989/',
baseURI: 'ws://172.16.10.91:10600/', baseURI: 'ws://172.16.10.91:10600/',
ruleURI: 'ws://172.16.10.91:8080/', ruleURI: 'ws://172.16.3.63:8083/',
convertorView3dURI: 'ws://172.16.10.91:10600/', convertorView3dURI: 'ws://172.16.10.91:10600/',
securityBaseURI: 'ws://172.16.10.91:10600/', securityBaseURI: 'ws://172.16.10.91:10600/',
rulesConfigURI: 'ws://172.16.10.91:8080/' rulesConfigURI: 'ws://172.16.10.91:8080/'
...@@ -53,7 +54,7 @@ ...@@ -53,7 +54,7 @@
delayTime: 10 // 屏保出现时间(单位:秒) 10s delayTime: 10 // 屏保出现时间(单位:秒) 10s
}, },
//三维模型配置 yinan 沂南站 shm 上海庙站 sn 苏南 hainan 海南站 //三维模型配置 yinan 沂南站 shm 上海庙站 sn 苏南 hainan 海南站
view3dFile: '/threeres/models/hainan/index.json' view3dFile: '/mods/components/3dviewConvertor/threeres/models/yinan-new/index.json'
} }
}, },
rule: { rule: {
...@@ -111,7 +112,7 @@ ...@@ -111,7 +112,7 @@
//预案模拟报警数据 //预案模拟报警数据
planAlarm: { planAlarm: {
equipment: { equipment: {
code: 1897, code: 2,
value: 1 value: 1
} }
} }
......
import { PubSub } from 'ray-eventpool';
export const EVENTS_CONSTS = {
// 3D stage 操作
A3D_CAMERA_EFFECTS: 'a3d_camera_effects',
// --------- 画布数据操作 --------
// sketch active change. [sketch 选中]
SKETCH_ACTIVE_CHANGE: 'sketch_active_change',
// design sketch data config change. [sketch 数据配置变化]
DATA_CONFIG_CAHNGE: 'data_config_change',
// design animations config change. [场景动画配置变化]
ANIMATION_CAHNGE: 'animations_config_change',
// design sketch data need reload. [sketch 数据重新加载]
DATA_RELOAD: 'data_reload',
// design sketch visual param property change. [sketch 组件显示参数配置信息变化]
SKETCH_PARAMS_CHANGE: 'sketch_params_change',
// design scene base model change. [画布 - 基础场景模型 配置信息变化]
SCENE_BASE_MODEL_CHANGE: 'scene_base_model_change',
// design scene property change. [画布显示参数配置信息变化]
SCENE_PARAMS_CHANGE: 'scene_params_change',
// design scene change. [画布切换]
SCENE_ACTIVE_CHANGE: 'scene_active_change',
// reference change
SKETCH_REFERENCE_CHANGE: 'sketch_reference_change', // particle/routePath
// -- 细节事件 --
PICKER_COORDINATE: 'picker_coordinate', // 拾取坐标点
PICKER_COORDINATE_SAVE: 'picker_coordinate_save', // 保存拾取坐标点
// 动画中绘制路径
DRAW_PATHPOINTS: 'draw_pathpoints', // 绘制路径
DRAW_PATHPOINTS_SAVE: 'draw_pathpoints_save', // 保存绘制路径
// 线路 routeline editors
ROUTE_LINE_CHANGE: 'route_line_change', // 线路切换
// -- 场景处理 --
STAGE_CAMERA_INFO: 'stage_camera_info' // 场景摄像机信息同步
};
/**
* 操作类型
*/
export const OPERATE_TYPE = {
/** 新增 */
ADD: 'add',
/** 删除 */
DEL: 'del',
/** 修改 */
UPDATE: 'update',
/** 查询 */
SEARCH: 'search'
};
/**
* HTML Event 事件
*/
export const EVENT_TYPES = {
MOUSE_DOWN: 'on_mouse_down',
MOUSE_MOVE: 'on_mouse_move',
MOUSE_UP: 'on_mouse_up',
};
// --- general publish function
/**
* 分发画布上鼠标按下事件
* @param {*} event
*/
export function dispatchMouseDown(event) {
PubSub.publish(EVENT_TYPES.MOUSE_DOWN, event);
}
/**
* 分发画布上鼠标移动事件
* @param {*} event
*/
export function dispatchMouseMove(event) {
PubSub.publish(EVENT_TYPES.MOUSE_MOVE, event);
}
/**
* 分发画布上鼠标抬起
* @param {*} event
*/
export function dispatchMouseUp(event) {
PubSub.publish(EVENT_TYPES.MOUSE_UP, event);
}
This diff is collapsed.
/**
* path mapping
*
* import { parseText } from 'amos-tool';
* const stage = parseText(pathMapping.stage, { objkey });
*/
export const pathMapping = {
// stage: '/main/config/rulecenter/stage/{objkey}'
pointList: '/biz/patrolpoint', //巡检点列表
pointCheckList: '/biz/patrolpoint/checklist', //巡检点检查清单
pointCheckDetail: '/biz/patrolpoint/checkdetail', //巡检点检查详情
pointInfo: '/biz/patrolpoint/pointInfo', //
dangerList: '/biz/task', //隐患治理信息
matchEquipment: '/biz/matchequipment', //重点设备配套装备
equipment: '/biz/equipment', //重点设备
waterResource: '/biz/waterResource',
stationResource: '/biz/stationResource',
stationMatches: '/biz/stationmatches', //消防小室/泡沫间配套装备
firetruckinfo: '/biz/firetruckinfo', //消防车详情
riskModel: '/biz/riskModel',
differentiateDetail: '/biz/differentiateDetail', // 智能判别详情
fireResource: '/biz/fireresource', // 消防资源
alarmVideoMonitor: '/biz/alarmVideoMonitor', //报警视频监控页面
assessmentView: '/biz/assessment' // 风险评估页面
};
\ No newline at end of file
import { SysConsts } from 'amos-processor';
/**
* 额外配置
*/
const security = {
USER: '__user__',
BIZ_PERMISSION: 'BIZ_PERMISSION'
};
const SecurityConsts = Object.assign({}, SysConsts, security);
export const UNIFIED_PLATFORM = {
token: 'token',
/** 应用 key,平台应用填入 `AMOS_ADMIN` */
appKey: 'appKey',
/** 应用,平台的应用填入 `AMOS-WEB-ADMIN` */
product: 'product'
};
export default SecurityConsts;
/**
* 获取系统内置配置信息
*/
export const getInnerConfig = () => {
return window.innerConfig || {};
};
/**
* 三维视图和业务视图通信标识常量
*/
export const CONSTS = {
control: 'control', // 控制类型 例如 注销
forward: 'forward', // 页面跳转
menu_change: 'menu_change', // 菜单切换
region_change: 'region_change', // 厂区切换
plan_detail: 'plan_detail_onclick'
};
export const sessionConsts = {
systemMenu: 'systemMenu'
};
const getAll = function(consts){
return Object.values(consts) || [];
};
export default getAll;
This diff is collapsed.
import * as endConf from 'amos-processor/lib/config/endconf';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { Store } from 'amos-tool';
import SysConsts from 'amos-processor/lib/config/consts';
const lsTool = Store.lsTool;
const completePrefix = endConf.completePrefix;
const AmosConfig = endConf.AmosConfig;
const convertorView3dURI = AmosConfig.wsURI.convertorView3dURI;
const ruleURI = AmosConfig.wsURI.ruleURI;
const getToken = () => {
return lsTool.read(SysConsts.token);
};
export default {
rulews: completePrefix(ruleURI, 'rule.ws?token={token}'),
convertorView3d: completePrefix(convertorView3dURI, '3dViewMessage')
};
export const completeToken = (url) => {
const token = getToken();
const result = formatUrl(url, { token });
return result;
};
import ConvertorView3DRoot from './view/ConvertorView3DRoot';
export default {
key: 'convertorView3DRoot',
component: ConvertorView3DRoot
};
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import * as helper from 'base-r3d/lib/utils/helper';
import { FscSerUrl, FasSerUrl } from './../consts/urlConsts';
import { commonGet, commonPost, singleFetch } from './../utils/request';
//---------------- 加载模型、解析模型json -----------
export const getObjFromNet = (url, callback) => {
return singleFetch(url).then(data => {
const objs = helper.parseModelConfig(data);
// 临时将 asyncModels 也放在主线程
const { basePath, asyncModels = [] } = data;
const _asyncModels = asyncModels.map(m => ({
basePath,
...m
}));
// const _objs = objs.concat(_asyncModels);
callback(objs, _asyncModels);
});
};
//---------------- 三维视图 -----------
/**
* 获取各个类型的marker
* @param {string} type
*/
export const initView3DAction = (type,riskSourceId) => {
if (!riskSourceId) {
riskSourceId="";
}
const url = formatUrl(FscSerUrl.view3dInitUrl, {type,riskSourceId});
return commonGet(url);
};
/**
* 获取巡检路线
*/
export const initView3DLinkAction = () => {
return commonGet(FscSerUrl.view3dInitLinkUrl);
};
/**
* 右侧菜单-检索-区域集合
*/
export const searchRegionListAction = () => {
return commonGet(FscSerUrl.searchRegionListUrl);
};
/**
* 右侧菜单-检索
*/
export const searchAction = (inputText, dataLevel, orgCode, nodeState, protectObjName, routeName, type, page, pageSize) => {
return commonGet(formatUrl(FscSerUrl.searchViewUrl, { inputText, dataLevel, orgCode, nodeState, protectObjName, routeName, type, page, pageSize }));
};
/**
* 检索 -- 单条巡检线
*/
export const searchLinkAction = (linkId) => {
return commonGet(formatUrl(FscSerUrl.searchLinkUrl, { linkId }));
};
/**
* 右侧菜单-监控-区域集合
*/
export const monitorRegionListAction = () => {
return commonGet(FscSerUrl.monitorRegionListUrl);
};
/**
* 右侧菜单-监控
*/
export const monitorAction = (filter, page, size) => {
return commonPost(formatUrl(FscSerUrl.monitorUrl, { page, size }), filter);
};
/**
* 右侧菜单-记录-状态集合
*/
export const recordStatusListAction = () => {
return commonGet(FscSerUrl.recordStatusListUrl);
};
/**
* 右侧菜单-记录
*/
export const recordAction = (filter, page, size) => {
return commonPost(formatUrl(FscSerUrl.recordUrl, { page, size }), filter);
};
/**
* 右侧菜单-轨迹-人员集合
*/
export const trajectoryPersonListAction = (type) => {
return commonGet(formatUrl(FscSerUrl.trajectoryPersonListUrl, { type }));
};
/**
* 右侧菜单-轨迹
*/
export const trajectoryAction = (filter, page, size) => {
return commonPost(formatUrl(FscSerUrl.trajectoryUrl, { page, size }), filter);
};
/**
* 右侧菜单-消息-类别集合
*/
export const msgCategoryListAction = () => {
return commonGet(FscSerUrl.msgCategoryListUrl);
};
/**
* 右侧菜单-消息
*/
export const msgAction = (filter, page, size) => {
let { time = '', category = '', title = '' } = filter;
let url = formatUrl(FscSerUrl.msgUrl, { time, category, title, page, size });
return commonGet(url);
};
/**
* 右侧菜单-播报-类型集合
*/
export const broadcastTypeListAction = () => {
return commonGet(FscSerUrl.broadcastTypeListUrl);
};
/**
* 右侧菜单-动态预案
*/
export const broadcastAction = (instanceNo,recordType) => {
return commonGet(formatUrl(FscSerUrl.broadcastUrl, { instanceNo,recordType }));
};
/**
* 三维地图中各种点详情
*/
export const markerDetailsAction = (id, type) => {
return commonGet(formatUrl(FscSerUrl.markerDetailsUrl, { id, type }));
};
export const getImpEquipmentAction = () => {
return commonGet(FasSerUrl.equipNoPageListUrl);
};
/**
* 3d屏保数据
*/
export const getScreenSaverDataAction = () => {
let url = FasSerUrl.screenSaverDataUrl;
return commonGet(url);
};
/**
* 获取巡检点详情
*/
export const pointInfoAction = (pointId) => {
return commonGet(formatUrl(FscSerUrl.pointInfoUrl, { pointId }));
};
/**
*
* @param {*查询执行记录} batchNo
*/
export const exeRecordAction = (filter, page, size)=>{
return commonPost(formatUrl(FscSerUrl.stepUrl, { page, size }), filter);
};
export const query3DStatistics = (markerType) => {
return commonGet(formatUrl(FasSerUrl.view3DStatisticsUrl, { markerType }));
};
export const queryContingencyWater = () => {
return commonGet(formatUrl(FasSerUrl.contingencyWaterUrl));
}
/**
* 颗粒/重点设备 模式点查询
* @param {模式} model
*/
export const pointModelistAction = ( model ) => {
return commonGet(formatUrl(FasSerUrl.pointModelistUrl, { model }));
};
import {commonGet, commonPost, commonPut, commonDelete } from './../utils/request';
import {FscSerUrl} from './../consts/urlConsts';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
/**
* 巡检点列表查询条件初始化数据
*/
export const fetchPointQueryCriteria = () => {
const url = `${FscSerUrl.fetchPointQueryCriteria}`;
return commonGet(url);
};
export const batchDeletePointMeasuresAction = (data) => {
const url = `${FscSerUrl.batchDeletePointMeasuresAction}`;
return commonPost(url, data);
};
export const fetchPointStatistics = (data) => {
const url = `${FscSerUrl.fetchPointStatistics}`;
return commonGet(url);
};
/**
* 任务列表查询条件初始化数据
*/
export const fetchTaskQueryCriteria = () => {
const url = `${FscSerUrl.fetchTaskQueryCriteria}`;
return commonGet(url);
};
export const queryRoutePlanPointAction = (filter) => {
return commonPost(formatUrl(FscSerUrl.routePlanPointPageUrl), filter);
};
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { commonGet, commonPost, commonPut, commonDelete } from './../utils/request';
import { FscSerUrl, FasSerUrl } from './../consts/urlConsts';
/**
* 根据ID获取巡检记录详情
*/
export const fetchCheckDetailById = (data) => {
const url = `${FscSerUrl.fetchCheckDetailById}/`;
return commonPost(FscSerUrl.fetchCheckDetailById, data);
};
export const fetchCheckInputById = (data) => {
const url = `${FscSerUrl.fetchCheckInputById}/`;
return commonPost(FscSerUrl.fetchCheckInputById, data);
};
/**
* 三维地图中各种点详情
*/
export const dialogDetailsAction = (dialogId, type) => {
return commonGet(formatUrl(FasSerUrl.dialogPointDetailUrl, { dialogId, type }));
};
/**
* 风险点预警信息
*/
export const queryRiskSoureWarningAction = (riskSourceId) => {
return commonGet(formatUrl(FasSerUrl.riskSoureWarningUrl, { riskSourceId }));
};
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import * as helper from 'base-r3d/lib/utils/helper';
// import { helper } from 'amos-3d/lib/threeTools';
import { ModuleEditUrl } from './../consts/urlConsts';
import { commonGet, commonPost, singleFetch } from './../utils/request';
export const downloadBasicScene = (modelURI) => {
if (!modelURI.endsWith('.json')){
modelURI += '/index.json';
}
return singleFetch(modelURI);
};
/**
* 通过 subjectId 获取场景配置信息
* @param {String} subjectId
*/
export const getDesignerParamAction = (subjectId) => {
// return singleFetch('/_mock/empty.json');
// return singleFetch('/_mock/plant.json');
// return commonGet('/_mock/plant.json');
// const url = formatUrl(GraphURL.getDesignUrl, { subjectId });
// return commonGet(url);
};
/**
* 保存设计视图
* @param {object} object
*/
export const saveDesignAction = object => {
// return commonPost(GraphURL.saveDesignUrl, object);
};
export const getAreaTreeAction = () => {
return commonGet(ModuleEditUrl.getAreaTreeUrl);
}
export const getAreaTreeDetailAction = (id) => {
return commonGet(`${ModuleEditUrl.getPointTreeDetailUrl}/${id}`);
}
export const getPointTreeDetailAction = (pointId, type ) => {
return commonGet(formatUrl(ModuleEditUrl.getPointTreeDetailUrl,{ pointId, type }));
}
export const getPointTreeAction = (type) => {
return commonGet(`${ModuleEditUrl.getPointTreeUrl}/${type}`);
}
/**
* 保存区域
* @param {*} routePathParams
*/
export const saveAreaDataAction = (routePathParams) => {
return commonPost(ModuleEditUrl.saveAreaDataUrl, routePathParams);
}
export const getPointTypeAction = () => {
return commonGet(ModuleEditUrl.getPointTypeUrl);
}
/**
* 获取风险点
* @param {点类型} type
* @param {区域id} riskSourceId
*/
export const getPointListAction = (type,riskSourceId) => {
if (type) {
return commonGet(`${ModuleEditUrl.getPointListUrl}?type=${type}&riskSourceId=${riskSourceId}`);
} else {
return commonGet(`${ModuleEditUrl.getPointListUrl}`);
}
}
/**
* 保存风险点
* @param {*} bindParams
*/
export const savePointListAction = (bindParams) => {
return commonPost(ModuleEditUrl.savePointListUrl, bindParams);
}
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import * as helper from 'base-r3d/lib/utils/helper';
import { FscSerUrl } from './../consts/urlConsts';
import { commonGet, commonPost } from './../utils/request';
/**
* 今日安全指数
*/
export const safetyIndexAction = () => {
return commonGet(FscSerUrl.safetyIndexUrl);
};
/**
* 今日安全指数详情
*/
export const safetyIndexDetailAction = ( type ) => {
return commonGet(formatUrl(FscSerUrl.safetyIndexDetailUrl,{ type }));
};
/**
* 消防安全执行天数
*/
export const onlineDayAction = ( ) => {
return commonGet(formatUrl(FscSerUrl.onlineDayUrl));
};
/**
* 告警列表最新5条
*/
export const safetyExecuteListAction = ( type ) => {
return commonGet(formatUrl(FscSerUrl.safetyExecuteListUrl,{ type }));
};
/**
* 设备状态消息最新5条
*/
export const equipStatusListAction = () => {
return commonGet(FscSerUrl.equipStatusListUrl);
};
/**
* 一周安全指数趋势查询
*/
export const safetyIndexWeekAction = () => {
return commonGet(FscSerUrl.safetyIndexWeekUrl);
};
/**
* 今日巡检统计接口
*/
export const statisticsCheckAction = () => {
return commonGet(FscSerUrl.statisticsCheckUrl);
};
/**
* 今日值班统计
*/
export const statisticsDutyAction = () => {
return commonGet(FscSerUrl.statisticsDutyUrl);
};
/**
* 异常区域
*/
export const exceptionRegionListAction = ()=>{
return commonGet(FscSerUrl.exceptionRegionListUrl);
};
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { FasSerUrl } from './../consts/urlConsts';
import { commonGet, commonPost, commonDelete, commonPut } from './../utils/request';
export const queryDeptByOrgCodeAction = () => {
return commonGet(formatUrl(FasSerUrl.deptByOrgCodeUrl, {}));
};
export const getRiskSourceSecondLevelAction = () => {
return commonGet(formatUrl(FasSerUrl.riskSourceSecondLevelUrl,{}));
};
\ No newline at end of file
import * as endConf from 'amos-processor/lib/config/endconf';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { commonPut,commonGet } from './../utils/request';
import { ConvertorURI, FscSerUrl } from './../consts/urlConsts';
const completePrefix = endConf.completePrefix;
/**
* 调用规则通用服务
*/
export const ruleAction = (content,confirm) => {
let requestUrl = completePrefix(ConvertorURI,`${content.requestUrl}?batchNo=${content.batchNo}&stepCode=${content.stepCode}&buttonCode=${content.code}&confirm=${confirm}&contingencyPlanId=${content.contingencyPlanId}&stepState=${content.stepState}`);
return commonPut(requestUrl, {});
};
/**
* 预案重新播放
*/
export const ruleRePlayAction = (batchNo) => {
return commonGet(formatUrl(FscSerUrl.ruleRePlayUrl,{ batchNo }));
};
import { commonGet, commonPost, commonDelete } from './../utils/request';
import { FasSerUrl } from './../consts/urlConsts';
export const getSelectedOrgInfoAction = (id) => {
return commonGet(FasSerUrl.selectedOrgInfoUrl);
};
\ No newline at end of file
.action-pane-data{
position: absolute;
bottom: 5%;
left: 50%;
transform: translateX(-50%);
.action-list {
height: 40px;
padding: 0 1rem;
border-radius: 6px;
background:rgba(216,216,216,0.24);
border:1px solid rgba(146,149,151,1);
.action-item{
float: left;
width: 40px;
height: 38px;
text-align: center;
cursor: pointer ;
border:1px solid rgba(146,149,151,1);
.action-item-title{
color: #e0e0e0;
position: absolute;
top: -20px;
white-space: nowrap;
width: 51px;
-webkit-transform-origin-x: 0;
-webkit-transform: scale(0.80);
text-align: center;
}
.action-item-content{
text-align: center;
position: relative;
width: 100%;
height: 100%;
.action-item-icon{
margin: 8px;
width: 21px;
height: 21px;
position: relative;
}
}
}
.action-active{
background: linear-gradient(180deg,rgba(0,96,154,0.8) 0%,rgba(0,54,105,0.5) 100%);
}
}
}
.amos-cardpane-body {
padding: 0px !important;
}
.amos-cardpane-head {
height: 40px !important;
}
.plan-step-view-modal {
.amos-modal-content {
max-height: 45rem;
padding: 0;
.fire-truck-toolbar {
position: absolute;
top: 54px;
right: 17px;
}
.ant-table-content {
.ant-table-header {
margin-bottom: -1px !important;
overflow: hidden !important;
}
.ant-table-body {
max-height: 615px !important;
overflow-y: hidden !important;
}
}
}
}
.broadcast-detail-operate {
width: 214px;
padding: 10px 0;
margin: 0 auto;
.amos-btn {
&.broadcast-button {
width: 107px;
height: 28px;
padding: 0 3px;
margin: 0;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-weight: 700;
color: black;
background-color: #f2f2f2;
border-color: #deddde;
border-style: solid;
border-width: 1px;
}
}
}
.broadcast-detail-message {
padding: 10px;
}
.card-pane-front {
.amos-cardpane-head-title {
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-size: 15px;
font-style: normal;
color: #345fa6;
font-weight: 700;
text-align: left;
}
}
// 系统主题配色
$core-color: #333; // 主色
$core-color-shallow-1: rgb(56, 56, 56); // 低于主色 #383838
$core-color-shallow-2: rgb(58, 58, 58); // 低于主色 #3a3a3a
$core-tint-color: #282828;
$core-deep-color: #0d0d0d;
$core-border-color: #222;
$core-border-radius: 6px;
$core-bg: linear-gradient(180deg, $core-color 0%, $core-color 0%, $core-tint-color 100%, $core-tint-color 100%);
$core-item-active-bg: linear-gradient(180deg, $core-deep-color 0%, $core-deep-color 0%, $core-tint-color 100%, $core-tint-color 100%);
$danger-color: #f06;
$danger-color-deep: #f30;
$core-close: linear-gradient(180deg, $danger-color 0%, $danger-color 0%, $danger-color-deep 100%, $danger-color-deep 100%);
// 组件颜色
$component-bg: $core-color;
$component-bg-active: #4a4a4a;
$component-bg-linear: linear-gradient(180deg, $core-color-shallow-2 0%, $core-color-shallow-2 0%, $core-color 100%, $core-color 100%);
// header font color
$core-header-color: white;
// 系统主题配色
$core-color: rgb(52, 95, 166); // 主色
$core-color-shallow-1: rgb(45, 82, 145);
$core-color-shallow-2: rgb(45, 82, 145);
$core-tint-color: rgb(52, 95, 166);
$core-deep-color: rgb(45, 82, 145);
$core-border-color: rgb(221, 221, 222);
$core-border-radius: 6px;
$core-bg: linear-gradient(180deg, $core-tint-color 0%, $core-tint-color 0%, $core-deep-color 100%, $core-deep-color 100%);
$core-item-active-bg: linear-gradient(180deg, $core-color-shallow-1 0%, $core-color-shallow-1 0%, $core-color-shallow-2 100%, $core-color-shallow-2 100%);
$danger-color: #f06;
$danger-color-deep: #f30;
$core-close: $core-color;//linear-gradient(180deg, $danger-color 0%, $danger-color 0%, $danger-color-deep 100%, $danger-color-deep 100%);
// 组件颜色
$component-bg: rgb(242, 242, 242);
$component-bg-active: linear-gradient(180deg, #aeaeae 0%, #aeaeae 0%, #c9c9c9 100%, #c9c9c9 100%);//rgb(228, 228, 228);
$component-bg-linear: linear-gradient(180deg, white 0%, white 0%, $component-bg 100%, $component-bg 100%);
// header font color
$core-header-color: white;
// 系统主题配色
$core-color: red; // 主色
$core-color-shallow-1: rgb(153, 0, 0);
$core-color-shallow-2: rgb(153, 0, 51);
$core-tint-color: rgb(255, 51, 51);
$core-deep-color: rgb(204, 0, 0);
$core-border-color: rgb(222, 221, 222);
$core-border-radius: 6px;
$core-bg: linear-gradient(180deg, $core-tint-color 0%, $core-tint-color 0%, $core-deep-color 100%, $core-deep-color 100%);
$core-item-active-bg: linear-gradient(180deg, $core-color-shallow-1 0%, $core-color-shallow-1 0%, $core-color-shallow-2 100%, $core-color-shallow-2 100%);
$danger-color: #f06;
$danger-color-deep: #f30;
$core-close: linear-gradient(180deg, $danger-color 0%, $danger-color 0%, $danger-color-deep 100%, $danger-color-deep 100%);
// 组件颜色
$component-bg: rgb(242, 242, 242);
$component-bg-active: linear-gradient(180deg, #aeaeae 0%, #aeaeae 0%, #c9c9c9 100%, #c9c9c9 100%);//rgb(228, 228, 228);
$component-bg-linear: linear-gradient(180deg, white 0%, white 0%, $component-bg 100%, $component-bg 100%);
// header font color
$core-header-color: white;
// close
.common-close {
display: inline-block;
width: 2.5rem;
height: 2.5rem;
text-align: center;
cursor: pointer;
background: $core-close;
i {
font-size: 1.7rem;
line-height: 1.5;
color: white;
}
}
// footers
.common-footer {
text-align: center;
background: transparent;//$core-color;
// border: 1px solid $core-border-color;
// border-radius: $core-border-radius;
.common-footer-item {
display: inline-block;
//width: $dialog-footer-width;
width: 100px;
height: $dialog-footer-height;
overflow: hidden;
cursor: pointer;
padding-top: 10px;
background: transparent;
//border: 1px solid $core-border-color;
border-top: 0;
box-sizing: border-box;
& + .common-footer-item {
border-left: 0;
}
&.common-footer-item-active {
background: $dialog-footer-item-bg-active;
}
.footer-item-text {
}
}
}
// values
.common-values {
padding: 0 0.5rem 0.5rem;
.values-item {
font-size: 14px;
line-height: 1.8;
letter-spacing: 1px;
.item-label {
margin-right: 0.3rem;
}
}
}
// dialog
.dialog-body-portal-wrapper {
.dialog-body {
position: absolute;
top: 50%;
left: 50%;
z-index: 5;
display: flex;
width: $dialog-min-width;
height: $dialog-height;
overflow: hidden;
transform: translate(-50%, -50%);
transition: all 0.5s ease;
&.show-body-max {
width: $dialog-min-width + $dialog-max-width;
}
.dialog-body-min {
position: relative;
// width: $dialog-min-width;
// height: $dialog-height;
height:497px;
width: 866px !important;
min-width: $dialog-min-width;
//color: black;
// background: $content-color;
// border: 1px solid $core-border-color;
// border-radius: $core-border-radius;
// box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
// box-sizing: border-box;
background-image: url('/mods/components/3dviewConvertor/assets/convertor/3dview/dialogbg.png');
background-color: rgba(25, 86, 147, 0.5);
.body-min-header {
position: relative;
height: 2.5rem;
margin-left: 1rem;
.dialog-min-title{
position: absolute;
line-height: 2.5rem;
padding-top: 1rem;
left: 9px;
font-size: 18px;
color: #fff;
}
.common-close {
position: absolute;
right: 0;
background: red;
i {
font-size: 12px;
line-height: 2.5;
color: white;
}
}
}
.body-min-content {
margin-top: 2.5rem;
height: calc(35% - 50px - 2.5rem);
margin-right: 1rem;
margin-left: 1rem;
}
.body-min-table {
height: calc(65% - 50px - 2.5rem);
margin-right: 1rem;
margin-left: 1rem;
.ant-table-title {
display: none;
}
.ant-table-thead {
tr {
th {
// color: $biz-table-font-color;
// background: $biz-table-title-color;//rgba(40, 40, 40, 1);
// border-color: $core-border-color;
color:#fff;
background-color: transparent;
}
}
}
.ant-table-body {
tr {
td {
// color: $biz-table-font-color;//#ffffff;
// background: $content-color;//rgba(51, 51, 51, 1);
// border-color: $core-border-color;//#252525;
color:#fff;
background-color: transparent;
}
}
max-height: 273px !important;
overflow-y: scroll;
}
.ant-table-placeholder {
//color: $biz-table-font-color;
//background-color: $content-color;//rgba(40, 40, 40, 1);
background-color: transparent;
color: #fff;
}
.highlight-row {
background: #ecf6fd;
}
}
}
.common-footer {
position: absolute;
bottom: 0;
width: 100%;
height: 50px;
color: red;
border-bottom: none;
border-top-right-radius: 0;
border-top-left-radius: 0;
.common-footer-item {
border-top: 0;
}
}
}
.dialog-body-max {
width: $dialog-max-width;
height: $dialog-height;
// min-width: $dialog-max-width;
margin-left: 0.5rem;
background: $content-color;
border: 1px solid $core-border-color;
border-radius: 6px;
}
}
@media only screen and (min-width: 1500px) {
.dialog-body-portal-wrapper {
.dialog-body {
width: 66rem;
&.show-body-max {
width: 78rem;
}
.dialog-body-max {
width: 66rem;
}
}
}
}
$vender-prefix: amos;
$base-color: black;
$base-color-1: rgba($base-color, 0.65);
$base-color-2: rgba($base-color, 0.35);
$top-height: 3.5rem;
$content-height: calc(100% - 3.5rem);
$background-color: #203957;
$font-family: 'Microsoft YaHei';
$font-size: 12px;
$tab-width: 12rem;
/** Colors */
// Background color for `<body>`
$body-background: white;
// Base background color for most components
$component-background: white;
$primary-color-light: #cfeeff;
$primary-color: #27b3fe;
$primary-color-deep: #19afff;
$primary-color-deeper: #00a6ff;
$success-color: #4cd964;
$danger-color: #f94242;
$warning-color: #faad14;
$error-color: #f5222d;
$color-grey: #ccc;
$color-white: white;
$color-disable: #f4f4f4;
$active-hover-foucs-bg-color: rgba(222, 222, 222, 0.2);
$primary-1: lighten($primary-color, 1);
$primary-2: lighten($primary-color, 2);
$primary-3: lighten($primary-color, 3);
$primary-4: lighten($primary-color, 4);
$primary-5: lighten($primary-color, 5);
$primary-6: $primary-color;
$primary-7: lighten($primary-color, 7);
$primary-8: lighten($primary-color, 8);
$primary-9: lighten($primary-color, 9);
$primary-10: lighten($primary-color, 10);
$disabled-color: #9e9e9e;
$disabled-border-color: #eaeaea;
$disabled-bg-color: #eceff1;
$minor-color: #ccc;
$minor-bg-color: #f8f8f8;
$minor-bg-color-hover: #f1f1f1;
$minor-bg-color-active: #eaeaea;
$minor-border-color: #c6c6c6;
/** border */
$border-radius-base: 4px;
$border-radius-sm: 2px;
// base
// ---
$base-height-xl: 40px !default;
$base-height-lg: 36px !default;
$base-height: 32px !default;
$base-height-sm: 28px !default;
$base-height-xs: 24px !default;
$base-padding-xl: 14px !default;
$base-padding-lg: 12px !default;
$base-padding: 10px !default;
$base-padding-sm: 8px !default;
$base-padding-xs: 4px !default;
$base-fontSize-xl: 18px !default;
$base-fontSize-lg: 16px !default;
$base-fontSize: 14px !default;
$base-fontSize-sm: 14px !default;
$base-fontSize-xs: 12px !default;
$base-radius-xl: 6px !default;
$base-radius-lg: 5px !default;
$base-radius: 4px !default;
$base-radius-sm: 4px !default;
$base-radius-xs: 4px !default;
/** font */
$font-size-base: 12px;
$font-size-lg: $font-size-base + 2px;
$font-color: white;
// Border color
$border-color-base: #d8d8d8;
$border-color-split: #e8e8e8;
$border-style-base: solid;
// text color
$text-color: rgba(black, 65%);
$text-color-secondary: rgba(black, 45%);
$heading-color-dark: rgba(white, 100%);
$text-color-dark: rgba(white, 85%);
$text-color-secondary-dark: rgba(white, 65%);
$heading-color: rgba(black, 85%);
$text-shadow-color: #badfff;
// LINK
$link-color: $primary-color;
$link-hover-color: $primary-5;
$link-active-color: $primary-7;
$link-decoration: none;
$link-hover-decoration: none;
/** nav theme */
/** Animation */
$ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
$ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
$ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
$ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46);
$ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6);
$ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46);
$ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1);
$ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34);
$ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86);
$ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
$ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
$ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
// media
// Media queries breakpoints
// Extra small screen / phone
$screen-xs: 480px;
$screen-xs-min: $screen-xs;
// Small screen / tablet
$screen-sm: 576px;
$screen-sm-min: $screen-sm;
// Medium screen / desktop
$screen-md: 768px;
$screen-md-min: $screen-md;
// Large screen / wide desktop
$screen-lg: 992px;
$screen-lg-min: $screen-lg;
// Extra large screen / full hd
$screen-xl: 1200px;
$screen-xl-min: $screen-xl;
// Extra extra large screen / large descktop
$screen-xxl: 1600px;
$screen-xxl-min: $screen-xxl;
// provide a maximum
$screen-xs-max: ($screen-sm-min - 1px);
$screen-sm-max: ($screen-md-min - 1px);
$screen-md-max: ($screen-lg-min - 1px);
$screen-lg-max: ($screen-xl-min - 1px);
$screen-xl-max: ($screen-xxl-min - 1px);
//
$line-height-base: 1.5;
// zindex
$zindex-sidepane: 9;
$zindex-popover: 10;
$zindex-marker-tooltip: 5;
.control-item {
text-align: center;
vertical-align: middle;
.fasicon {
font-size: 20px !important;
}
}
.side-pane-data {
bottom: 0;
.datapane-drawer {
height: 100%;
}
}
.datapane-container {
display: flex;
width: 100%;
height: 100%;
flex-direction: column;
font-size: 13px;
color: $biz-table-font-color;
.datapanel-search {
width: 100%;
height: 40px;
border-bottom: $content-border;
.search-input {
width: 100%;
height: 100%;
padding: 0 1rem;
line-height: 35px;
background: $component-bg-linear;
input {
width: calc(100% - 38px);
height: 24px;
padding: 0 11px;
color: $biz-table-font-color;
background: white;//transparent;
border-color: $datapane-border-color;
border-radius: 12px;
}
button {
height: auto;
padding: 0;
margin-left: 10px;
background: transparent;
border: 0;
img {
width: 23px;
}
}
.amos-group {
width: 100%;
.amos-select-dropdown {
width: 40% !important;
}
.amos-input {
width: 40% !important;
height: 30px !important;
padding: 0;
margin-left: 10px;
line-height: 28px;
}
}
}
}
.datapane-filter {
height: 45px;
border-bottom: $content-border;
.datapane-filter-content {
display: flex;
width: 100%;
height: 100%;
align-items: center;
padding: 0 15px;
background: $component-bg-linear;
.datapane-filter-item {
flex: 1;
width: 0;
height: 28px;
margin-right: 6px;
border-radius: 4px;
&:last-child {
margin-right: 0;
}
}
.datapane-filter-input {
text-align: center;
background: white;//transparent;
border: $content-border;
&::-webkit-input-placeholder {
color: red;//$content-color;
}
&::-moz-placeholder {
color: red;//$content-color;
}
&::-ms-input-placeholder {
color: red;//$content-color;
}
}
.datapane-filter-date {
input {
height: 28px;
font-size: 13px;
color: $core-color;//$content-color;
text-align: center;
background: white;//transparent;
border: $content-border;
-webkit-text-fill-color: $core-color;
&::-webkit-input-placeholder {
color: red;//$content-color;
}
&::-moz-placeholder {
color: red;//$content-color;
}
&::-ms-input-placeholder {
color: red;//$content-color;
}
}
.ant-calendar-picker-clear {
color: $content-color;
background: transparent;
}
}
.datapane-filter-select {
min-width: 70px;
padding-right: 18px;
font-size: 13px;
line-height: 26px;
color: $core-color;//$content-color;
text-align: center;
background: white;//transparent;
border: $content-border;
border-radius: 4px;
.amos-select-title {
padding-left: 5px;
}
.amos-select-dropdown-icon {
position: absolute;
right: 5px;
display: inline-block;
font-size: 12px;
}
}
}
}
.datapane-content {
flex: 1;
width: 100%;
background: $content-color;
.search-welcome {
display: flex;
width: 100%;
padding: 38px;
font-size: 13px;
color: $content-color;
flex-direction: column;
align-items: center;
.search-welcome-img {
width: 29px;
margin-bottom: 28px;
}
}
.datapane-list-content {
padding: 10px;
.datapane-item {
position: relative;
padding: 10px;
margin-bottom: 8px;
line-height: 2;
border: $content-border;
&:hover {
// color: red;
background-color: #e6f7ff;//$content-item-bg-active;
border: 1px solid $core-color;
}
}
}
}
.trajectory-play-btn {
position: absolute;
right: 0;
bottom: 0;
height: auto;
padding: 6px;
font-size: 12px;
cursor: pointer;
background-color: $content-color;
border: $content-border;
border-right: 0;
border-bottom: 0;
p {
color: $biz-table-font-color;
}
}
}
.amos-select-dropdown-popover {
> .amos-popover-content {
min-height: auto;
.datapane-select-option {
padding-right: 16px;
padding-left: 8px;
color: $biz-table-font-color;
background: $content-color;
&.amos-select-option-selected {
color: $selected-color;
.amos-select-option-icon-selected {
right: 3px;
font-size: 13px;
}
}
}
}
}
.list-paginate {
.list-paginate-more {
width: 100%;
background: $list-paginate-color;
height: auto;
padding: 6px;
border: 0;
}
.list-paginate-nomore {
display: block;
text-align: center;
margin-top: 8px;
img {
width: 35px;
position: relative;
vertical-align: middle;
top: -3px;
margin-right: 5px;
}
}
.list-paginate-loading {
display: block;
width: 100%;
text-align: center;
img {
width: 70px;
}
}
}
.list-group-item {
position: relative;
border-left: $content-border;
padding: 0px 5px;
padding-left: 10px;
font-size: 13px;
.broadcast-item {
line-height: 2;
padding: 10px;
&:hover {
border: $content-border;
background: $list-group-hover;
}
}
&.list-group-first-item {
padding-top: 18px;
margin-top: 8px;
.list-group-start {
position: absolute;
top: -6px;
left: 7px;
}
&::before {
content: "";
display: block;
width: 8px;
height: 8px;
border-radius: 4px;
background: $content-color;
position: absolute;
left: -5px;
top: 0;
}
}
}
.datapane-setting {
width: 100%;
height: 100%;
color: $content-color;
background: $content-color;
.datapane-setting-content {
padding: 5px;
}
.region-select {
height: 28px;
margin: 18px 0;
color: $core-color;
background: $list-group-hover;
border: $content-border;
border-radius: 18px;
}
.datapane-setting-collapse {
background: transparent;
border: 0;
.amos-collapse-item {
margin-bottom: 3px;
background: transparent;
border: 0;
.amos-collapse-header {
padding: 2px 5px 2px 15px;
color: $biz-table-font-color;
background: $content-header-bg;
i {
font-size: 13px;
position: absolute;
right: 0;
}
}
.amos-collapse-content {
padding: 5px;
overflow: hidden;
color: rgba(0, 0, 0, 0.65);
background-color: $content-color;//transparent;
.amos-collapse-content-box {
margin: 0;
color: $biz-table-font-color;
}
&::after {
height: 0px;
display: inline;
}
&::before {
height: 0px;
display: inline;
}
}
}
}
.datapane-setting-user {
display: flex;
padding: 20px 5px;
.user-info {
flex: 1;
padding-right: 5px;
padding-left: 12px;
font-size: 13px;
line-height: 2;
}
.user-img {
width: 94px;
img {
width: 94px;
height: 94px;
padding: 10px;
border: $content-border;
}
}
button {
height: 28px;
margin-top: 18px;
color: $core-color;
background: $list-group-hover;
border: $content-border;
border-radius: 18px;
}
}
.datapane-setting-shortcutkey {
padding: 5px;
.shortcutkey-table {
width: 100%;
font-size: 13px;
.shortcutkey-header {
text-align: center;
border: $content-border;
background: $shortcutkey-header-color;
td {
padding: 4px;
border: $content-border;
}
}
.shortcutkey-group {
td {
padding: 12px 5px;
}
}
.shortcutkey-item {
border: $content-border;
td {
padding: 7px 5px 7px 12px;
border: $content-border;
}
}
}
}
}
import './index.scss';
import './../assets/bizFont/iconfont.js';
import './view/index.scss';
@import './var.scss';
@import './config.scss';
@import './common.scss';
@import './mask.scss';
@import './points.scss';
@import './markers.scss';
@import './datapane.scss';
@import './pointsDetails.scss';
@import './rules.scss';
@import './screensaver.scss';
@import './preControl.scss';
@import './planDetail.scss';
@import './actionbar.scss';
@import './moduleEdit.scss';
@import './searchpane.scss';
@import './reservePlan.scss';
@import './../assets/bizFont/iconfont.css';
@import './../assets/amosFont/iconfont.css';
.obj-loading-coms {
position: absolute;
top: 50%;
left: 50%;
min-width: 15rem;
transform: translate(-50%, -50%);
.loading-tip {
font-size: 18px;
color: white;
}
.amos-progress-text {
color: white;
}
}
#app>div{
height: 100%;
>div{
height: 100%;
}
}
.sys-view-3d {
height: 100%;
.three-renderer {
.three-container {
position: absolute;
top: 0;
width: 100%;
height: 100%;
}
.css2d-label {
width: 129px;
max-width: 25rem;
margin-top: -3rem !important;
font-size: 12px;
font-weight: 700;
color: #f9f4f4;
text-align: center;
background: url('./../assets/convertor/3dview/prePlan/shapan-qipao2.svg') no-repeat;
background-size: cover;
box-shadow: none;
&::before {
display: none;
}
&::after {
display: none;
}
}
}
}
.side-control-pane,
.side-pane-data {
z-index: $zindex-sidepane;
}
.marker-icon-title {
z-index: $zindex-marker-tooltip;
}
.fire-confirm-modal {
.amos-modal-container {
width: 270px !important;
.amos-modal-close {
.amos-modal-close-x {
width: 30px;
height: 30px;
line-height: 30px;
color: white;
background: red;
}
}
.amos-modal-header {
height: 30px;
padding: 0;
padding-left: 10px;
background: $model-header-color-3d;
.amos-modal-title {
line-height: 30px;
}
}
.amos-modal-footer {
background: $model-header-color-3d;
}
}
}
.root-3dview {
.view-port {
.content-body {
top: 0;
height: 100%;
}
}
}
%plan-border-img {
border-top: 50px solid;
border-right: 50px solid;
border-bottom: 50px solid;
border-left: 50px solid;
border-image-slice: 50 50 50 50;
border-image-repeat: stretch;
}
.marker-icon {
width: 24px;
height: 24px;
font-size: 13px;
font-weight: bold;
line-height: 20px;
color: white;
text-align: center;
&.marker-anim {
.marker-icon-title {
min-width: 17.3rem;
}
}
.marker-icon-title {
position: absolute;
// bottom: 30px;
bottom: 40px;
// left: -45px;
left: -7.8rem;
// min-width: 20rem;
min-width: 17.3rem;
font-size: 12px;
line-height: 2.5rem;
// color: #5e5b5b;
color: white;
text-align: center;
img {
display: inline-block;
width: 15px;//2rem;
// padding-top: 5px;
// vertical-align: text-top;
margin-left: 70px;
vertical-align: unset;
& + img {
// margin-left: 0.5rem;
margin-left: 40px;
}
}
.title-text {
position: absolute;
top: 50%;
left: 50%;
width: 17.3rem;
height: 40px;
background: url('./../assets/convertor/3dview/prePlan/shapan-qipao2.svg') no-repeat;
background-size: 100% 100%;
transform: translate(-50%, -50%);
}
.title-child {
// padding-left: 10px;
margin-bottom: 0;
text-align: left;
.title-text {
z-index: 1000;
display: inline-block;
padding-left: 5px;
font-size: 10px;
// color: black;
color: white;
text-align: center;
}
}
}
&.marker-anim {
.pulse-spread {
position: absolute;
top: -20px;
left: -20px;
width: 64px;
height: 64px;
border: 3px solid red;
border-radius: 50%;
opacity: 0;
box-shadow: 1px 1px 20px 5px red;
animation: pulseAnim 1.5s ease-out;
animation-iteration-count: infinite;
}
.marker-icon-title {
// left: -26px;
min-width: 10rem;
}
}
// .marker-icon-title:after {
// content:'';
// position: absolute;
// left: 0;
// right: 0;
// margin: 0 auto;
// width: 0;
// height: 0;
// border-top: 25px solid #6A0136;
// border-left: 50px solid transparent;
// border-right: 50px solid transparent;
// }
.marker-icon-line {
position: absolute;
top: -10px;
left: 20px;
width: 14px;
height: 18px;
background: url('./../assets/convertor/3dview/markers/line-dot.png') no-repeat;
background-size: contain;
}
.maker-top-img-div {
position: absolute;
bottom: 45px;
left: -55px;
min-width: 10rem;
padding: 5px;
font-size: 12px;
color: #5e5b5b;
background: white;
.maker-top-img {
width: 10rem;
}
}
.maker-top-img-div::before {
position: absolute;
bottom: -10px;
left: 4.5rem;
border-top: 10px solid white;
border-right: 10px solid transparent;
border-left: 10px solid transparent;
content: '';
}
}
.three3d-marker-wrapper {
.marker-icon {
&.marker-anim {
.marker-icon-title {
min-width: 17.3rem;
}
}
}
}
.marker-statistics-icon {
width: 24px;
height: 24px;
font-size: 13px;
font-weight: bold;
line-height: 20px;
color: white;
text-align: center;
.icon-title {
position: absolute;
bottom: 212px;
width: max-content;
height: 35px;
transform: translateX(-50%);
line-height: 35px;
background: inherit;
background-color: rgba(242, 242, 242, 0.7);
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: rgba(121, 121, 121, 1);
border-radius: 10px;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-weight: 700;
font-style: normal;
font-size: 14px;
color: #333333;
padding-left: 20px;
padding-right: 20px;
}
.marker-icon-title {
// background: blueviolet;
width: 79px !important;
height: 88px;
background: url('./../assets/convertor/3dview/liubianxing.png') no-repeat;
position: absolute;
bottom: 122px;
left: -3.3rem;
// min-width: 17.3rem;
font-size: 12px;
// line-height: 100px;
color: white;
text-align: center;
// clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
.title-content {
width: 100%;
text-align: center;
padding-top: 30%;
.title-child {
// margin-bottom: 0;
// text-align: left;
// height: 20px;
.title-text {
display: inline-block;
padding-left: 5px;
font-size: 10px;
color: white;
text-align: center;
}
}
}
}
.marker-icon-line {
position: absolute;
top: -100px;
left: 0px;
border-right: 1px dashed white;
height: 100px;
width: 1px;
}
}
.three-ui-anchor{
white-space: nowrap;
width: 90px;
text-align: center;
color:#cecdcd;
background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.3) 24%, rgba(0, 0, 0, 0.3) 78%, rgba(255, 255, 255, 0) 100%);
}
%control-porver-content {
min-width: $innate-pop-width;
padding: 0;
color: black;
text-align: center;
background: $pane-bg;
}
// 左侧控制区
.side-control-pane {
color: black;
text-align: center;
.control-pane-biz {
padding: 1rem 0;
background: $pane-bg;
border-radius: 6px;
.control-list {
.control-item {
width: $control-item-width;
height: $control-item-heigth;
padding: 0.5rem 0;
padding-top: 10px;
cursor: pointer;
background: $side-item-bg;
border: 1px solid $border-color;
&:hover,
&.control-active {
background: $side-item-bg-active;
}
+ .control-item {
border-top: none;
.fasicon {
padding-top: 10px;
font-size: 20px !important;
}
}
.fasicon {
padding-top: 10px;
font-size: 20px !important;
}
}
.marker-icon-title {
position: absolute;
left: 6rem;
min-width: 6rem;
font-size: 12px;
line-height: 2.5rem;
color: #5e5b5b;
text-align: center;
background: #e6f7ff;
border: 1px solid rgb(141, 189, 252);
box-shadow: 5px 3px 8px 0;
}
}
}
.control-pane-innate {
padding: 1rem 0;
margin-top: 1rem;
background: $pane-bg;
border-radius: 6px;
.control-innate-item {
width: $control-item-width;
height: $control-item-heigth;
padding: 0.5rem 0;
line-height: 35px;//$control-item-heigth;
cursor: pointer;
background: $side-item-bg;
border: 1px solid $border-color;
&:hover,
&.control-active {
background: $side-item-bg-active;
}
+ .control-innate-item {
border-top: none;
}
img {
width: 2rem;
height: 2rem;
}
.marker-icon-title {
position: absolute;
left: 6rem;
z-index: 1000;
min-width: 6rem;
font-size: 12px;
line-height: 2.5rem;
color: #5e5b5b;
text-align: center;
background: #e6f7ff;
border: 1px solid rgb(141, 189, 252);
box-shadow: 5px 3px 8px 0;
}
}
}
}
.control-item-popver {
z-index: 10 !important;
&::after {
border-right-color: $core-border-color;
}
.amos-popover-content {
@extend %control-porver-content;
.sub-control-item {
height: $innate-pop-item-height;
line-height: $innate-pop-item-height;
cursor: pointer;
background: $side-item-bg;
border: 1px solid $border-color;
&:hover,
&.control-active {
background: $side-item-bg-active;
}
+ .sub-control-item {
border-top: none;
}
.sub-control-item-dot {
display: inline-block;
width: 8px;
height: 8px;
margin-right: 0.5rem;
border-radius: 50%;
}
}
}
}
.layer-popver {
&::after {
border-right-color: $core-border-color;
}
.amos-popover-content {
@extend %control-porver-content;
.layer-item {
height: $innate-pop-item-height;
line-height: $innate-pop-item-height;
cursor: pointer;
background: $side-item-bg;
border: 1px solid $border-color;
&:hover,
&.control-active {
background: $side-item-bg-active;
}
+ .layer-item {
border-top: none;
}
}
}
}
// 右侧数据区
.datapane-drawer {
display: flex;
// background: $datapane-drawer;
.drawer-bar {
margin-top: $content-header-height;
.bar-top {
height: 42px;
background: url('./../assets/convertor/3dview//bar-top.png') no-repeat;
}
.bar-bottom {
height: 42px;
background: url('./../assets/convertor/3dview//bar-bottom.png') no-repeat;
}
.drawer-bar-list {
color: black;
background: $datapane-drawer;
.drawer-bar-item {
position: relative;
width: $drawer-bar-width;
height: $drawer-bar-height;
padding: 0.5rem 0;
text-align: center;
cursor: pointer;
background: $content-bg;
border: $content-border;
.bar-status-dot {
position: absolute;
right: 0.1rem;
display: inline-block;
width: 8px;
height: 8px;
background: #fd2222;
border-radius: 50%;
}
.bar-info {
padding: 0.5rem 0;
}
&:hover,
&.drawer-bar-item-active {
background: $side-item-bg-active;
}
+ .drawer-bar-item {
border-top: none;
}
.fasicon {
font-size: 20px !important;
}
.marker-icon-title {
position: absolute;
top: 10px;
right: 60px;
min-width: 6rem;
font-size: 12px;
line-height: 2.5rem;
color: #5e5b5b;
text-align: center;
background: #e6f7ff;
border: 1px solid rgb(141, 189, 252);
box-shadow: 5px 3px 8px 0;
}
}
}
}
.drawer-content {
width: $content-width;
height: 100%;
background: $content-bg;
border-radius: 1rem 1rem 0 0;
.drawer-content-header {
display: flex;
height: $content-header-height;
padding-left: 0.3rem;
font-size: 1.25rem;
line-height: 1.8;
color: black;
align-items: center;
justify-content: space-between;
background: $content-header-bg;
border: $content-border;
.drawer-content-header-title {
display: inline-block;
height: $content-header-height;
span {
margin-left: 0.5rem;
}
}
.drawer-content-header-close {
width: $content-header-height;
height: $content-header-height;
text-align: center;
cursor: pointer;
background: $core-close;
i {
font-size: 1.7rem;
line-height: 1.5;
color: white;
}
}
}
.drawer-content-body {
height: calc(100% - 2.5rem);
min-height: 3rem;
overflow: auto;
color: white;
border: $content-border;
border-top: 0;
border-left: 0;
.plan-step-footer {
position: absolute;
bottom: 0;
height: 45px;
color: black;
text-align: center;
background: white;
td {
width: 45px;
height: 45px;
cursor: pointer;
border: 1px solid lightgray;
}
button {
width: 40px;
height: 44px;
padding: 0 !important;
}
.marker-icon-title {
position: fixed;
bottom: 50px;
font-size: 12px;
line-height: 2.5rem;
color: #5e5b5b;
text-align: center;
background: #e6f7ff;
border: 1px solid rgb(141, 189, 252);
box-shadow: 5px 3px 8px 0;
.title-text {
margin: 0 5px;
}
}
}
}
}
}
// explain 操作说明
.operate-explain {
position: absolute;
bottom: 5rem;
left: 50%;
width: 452px;
height: 223px;
background: white;
border: 1px solid #e4e4e4;
border-radius: 6px;
transform: translateX(-50%);
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.35);
&-header {
display: flex;
height: 30px;
align-items: center;
justify-content: space-between;
background: #f1f1f1;
border-bottom: 1px solid #d2d2d2;
border-top-right-radius: 6px;
border-top-left-radius: 6px;
.header-title {
display: inline-block;
margin-left: 1rem;
font-size: 14px;
}
.header-close {
display: inline-block;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
background: $core-close;
border-top-right-radius: 6px;
.aficon-cross {
color: white;
}
}
}
.amos-tabs {
.amos-tabs-list {
text-align: center;
background: #f1f1f1;
border-bottom: 1px solid #d2d2d2;
.explain-tab {
.explain-tab-text {
padding: 0 1rem;
}
}
}
.amos-tabs-tabitem {
.amos-tabs-tabitem-inner {
border-left: 1px solid #deddde;
&:hover {
color: #333;
background-color: #d6d6d6;
}
}
&.amos-tabs-tabitem-active {
> .amos-tabs-tabitem-inner {
color: #333;
background-color: #d6d6d6;
}
}
& + .amos-tabs-tabitem {
.amos-tabs-tabitem-inner {
border-right: 1px solid #deddde;
}
}
}
.amos-tabs-panel {
.explain-mouse,
.explain-keyboard {
line-height: 2;
text-align: center;
&-item {
display: inline-block;
width: 8rem;
font-size: 16px;
i {
font-size: 30px;
}
}
}
}
}
}
.ModuleEditPage {
position: relative;
height: 100%;
::-webkit-scrollbar { /* 血槽宽度 */
width:5px;
height: 5px;
background-color: rgba(10, 53, 62, 1);
border-radius: 5px;
}
::-webkit-scrollbar-thumb { /* 拖动条 */
border-radius: 5px;
background-color: rgba(255, 255, 255, 0.4);
}
::-webkit-scrollbar-track { /* 背景槽 */
background-color:rgba(17, 44, 88, 0.2);
}
.topBox {
position: absolute;
top: 34px;
left: 50%;
transform: translateX(-50%);
span {
display: inline-block;
}
.editTitle {
width:257px;
height:55px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/title.png') no-repeat 100% 100%;
// opacity:0.4;
font-size: 24px;
text-align: center;
color: #fff;
vertical-align: top;
.titleText {
width: 100%;
height: 100%;
line-height: 55px;
// border-bottom:2px transparent solid;
// border-image:linear-gradient(90deg,rgba(50,217,239,0) 2%,rgba(50,217,239,0.49) 29%,rgba(50,217,239,0.73) 73%,rgba(50,217,239,0) 100%);
}
}
.quipBtn {
width: 169px;
height: 44px;
margin-top: 10px;
margin-left: 70px;
cursor: pointer;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/quip.png') no-repeat 100% 100%;
}
}
.bottomBox {
position: absolute;
bottom: 34px;
left: 50%;
transform: translateX(-50%);
span {
display: inline-block;
width: 177px;
height: 42px;
line-height: 42px;
background: rgba(46,217,239,0.2);
// border: 2px solid #2ED9EF;
margin: 0 10px;
text-align: center;
font-size: 16px;
// color: #2ED9EF;
cursor: pointer;
}
.editAreaBtn {
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/areaBtn.png') no-repeat 100% 100%;
}
.editPointBtn {
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/pointBtn.png') no-repeat 100% 100%;
}
.editAreaBtn.selected {
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/areaBtn_select.png') no-repeat 100% 100%;
}
.editPointBtn.selected {
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/poingBtn_select.png') no-repeat 100% 100%;
}
}
// 左侧树
.leftTree {
position: absolute;
top: 0;
left: 32px;
width: 264px;
height: 100%;
padding: 32px 0;
user-select: none;
.leftContainer {
width: 100%;
height: 100%;
background-color: rgba(10, 53, 62, 0.68);
border: 1px solid rgba(46, 217, 239, 0.59);
padding: 12px;
}
.topForm {
.leftSelect {
height: 39px;
width: 100%;
margin-bottom: 10px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/selectBox.png') no-repeat 100% 100%;
border: none;
line-height: 31px;
padding: 5px;
color: #F0DF2D;
}
.leftSearch {
height: 33px;
line-height: 33px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/searchBg.png') no-repeat 100% 100%;
input {
background-color: transparent;
box-shadow: none;
padding-left: 15px;
color: #fff;
}
.amosicon-search {
color: #2ED9EF;
}
}
}
.treeBox {
height: calc(100% - 132px);
overflow-y: auto;
.amos-tree {
color: rgba(15, 235, 255, 1);
.amos-tree-node-content-wrapper {
color: #fff;
font-size: 15px;
}
}
.icon {
margin-left: 5px;
vertical-align: middle;
img {
vertical-align: initial;
margin-left: 10px;
}
}
}
.bottomBtns {
padding-top: 15px;
text-align: center;
.sureBtn {
width: 100px;
height: 33px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/sureBtn.png') no-repeat 100% 100%;
border: none;
}
.deleteBtn {
width: 100px;
height: 33px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/deleteBtn.png') no-repeat 100% 100%;
border: none;
}
}
}
// 右侧面板
.rightEditPanel {
position: absolute;
top: 0;
right: 32px;
width: 264px;
height: 100%;
padding: 32px 0;
.rightContainer {
position: relative;
width: 100%;
height: 100%;
background-color: rgba(10, 53, 62, 0.68);
border: 1px solid rgba(46, 217, 239, 0.59);
padding: 12px;
color: #fff;
.basic-demo{
height: calc(100% - 53px);
overflow-y: auto;
}
.amos-form-item-label {
color: #fff;
}
.topForm {
.rightTitle{
margin-left: -15px;
.titleText{
margin-left: 5px;
}
}
.amos-input{
background-color: rgba(4, 30, 36,0.4);
border-radius: 1px;
border: solid 1px rgba(46, 217, 239, 0.59);
font-size: 14px;
color:#fff;
}
.moduleTitle{
height: 50px;
display: flex;
align-items: center;
.titleText{
margin-left: 5px;
}
}
height: calc(100% - 48px);
padding-left: 20px;
.amos-input {
width: 100%;
}
.amos-select {
width: 100%;
}
.radio-text{
color:#fff
}
}
}
.bottomBtns {
position: absolute;
bottom:15px;
padding-top: 15px;
left:50%;
margin-left: -100px;
.sureBtn {
width: 100px;
height: 33px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/sureBtn.png') no-repeat 100% 100%;
border: none;
}
.deleteBtn {
width: 100px;
height: 33px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/deleteBtn.png') no-repeat 100% 100%;
border: none;
}
.cancelBtn {
width: 100px;
height: 33px;
background: url('/mods/components/3dviewConvertor/assets/convertor/moduleEdit/cancelBtn.png') no-repeat 100% 100%;
border: none;
}
}
}
.editButton {
position: absolute;
bottom: 100px;
left: 50%;
}
}
.ant-notification {
right: 45% !important;
}
.ant-notification-notice {
padding: 0 !important;
}
.ant-notification-notice-message {
display: none !important;
}
.amos-divider-horizontal {
margin: 0 0 24px !important;
}
.ant-notification-notice-with-icon .ant-notification-notice-description {
height: 40px !important;
}
\ No newline at end of file
This diff is collapsed.
// control
@mixin create-point-level($level, $color) {
&.point-#{$level} {
color: $color;
.sub-control-item-dot {
background: $color;
}
}
}
.sub-control-item {
@include create-point-level('level_1', $point-color-level-1);
@include create-point-level('level_2', $point-color-level-2);
@include create-point-level('level_3', $point-color-level-3);
@include create-point-level('level_4', $point-color-level-4);
@include create-point-level('level_5', $point-color-level-5);
@include create-point-level('risk_0', $risk-color-level-0);
@include create-point-level('risk_1', $risk-color-level-1);
@include create-point-level('risk_2', $risk-color-level-2);
@include create-point-level('risk_3', $risk-color-level-3);
}
.point-details-picture {
width: 100%;
height: 100%;
}
.points-details-empty {
display: flex;
width: 100%;
height: 100%;
justify-content: center;
flex-direction: column;
align-items: center;
padding-bottom: 70px;
font-size: 21px;
color: $biz-table-font-color;
img {
display: inline-block;
width: 35px;
margin-bottom: 10px;
}
}
.point-details-monitor {
width: 100%;
height: 100%;
}
.carousel-content {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
.carousel-inner {
position: absolute;
top: 0;
left: 0;
height: 100%;
transition: left 0.5s;
.carousel-item {
float: left;
height: 100%;
}
}
.carousel-img {
width: 100%;
height: 100%;
padding: 5px
}
.carousel-indicators {
position: absolute;
bottom: 10px;
display: flex;
height: 60px;
transition: left 0.5s;
.carousel-left-bar {
width: 15px;
margin-right: 10px;
line-height: 53px;
color: $details-color;
text-align: center;
cursor: pointer;
background: $carouselbar-color;
border-radius: 4px 0 0 4px;
}
.carousel-right-bar {
width: 15px;
line-height: 53px;
color: $details-color;
text-align: center;
cursor: pointer;
background: $carouselbar-color;
border-radius: 0 4px 4px 0;
}
.carousel-center-bar {
position: relative;
height: 100%;
overflow: hidden;
ul {
position: absolute;
top: 0;
left: 0;
height: 100%;
.carousel-bar-item {
float: left;
height: 100%;
margin-right: 10px;
cursor: pointer;
&.active {
border: 1px solid $carouselbar-active-color;
}
}
}
}
}
}
.point-detail-table {
display: inline;
font-size: 7px;
line-height: 40px;
//color: $biz-table-font-color;//white;
color:#fff;
.colTitle {
padding-left: 8px;
}
.colValue {
padding-left: 8px;
}
.point-detail-table-row1 {
display: flex;
border: 1px solid $core-border-color;
border-bottom: 0;
}
.point-detail-table-row2 {
display: flex;
border: 1px solid $core-border-color;
}
.colTitle {
float: left;
width: 131px;//9.84%;
height: 40px;
//background: $biz-table-title-color;//#333;
background: rgba(25, 86, 147, 1);
// border-left: 1px solid $core-border-color;
box-sizing: border-box;
flex: 1;
}
.colValue {
float: left;
width: 131px;//9.83%;
height: 40px;
//background: $content-color;//rgb(97, 96, 96);
background: transparent;
flex: 1;
//border-left: 1px solid $core-border-color;
}
}
.point-dialog-modal{
width: 100%;
height: 100%;
.amos-modal-container{
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/toolmodalbg.png');
background-repeat: no-repeat;
height:262px;
width: 452px !important;
background-color: rgba(255,255,255,0);
.amos-modal-close{
color: white;
background: linear-gradient(180deg, rgba(255, 0, 102, 1) 0%, rgba(255, 0, 102, 1) 0%, rgba(255, 51, 0, 1) 100%, rgba(255, 51, 0, 1) 100%);
.amos-modal-close-x{
width: 30px;
height: 30px;
line-height: 30px;
}
}
.amos-modal-header{
background: rgba(255,255,255,0);
height: 50px;
padding: 0;
border-width: 0em;
.amos-modal-title{
line-height: 50px;
padding-left: 9px;
color: #fff;
font-size: 18px;
}
}
.amos-modal-content{
padding: 0;
.point-dialog-body{
margin:10px;
max-height: 180px;
color: #fff;
.point-dialog-modal-row {
border: solid 1px rgba(234, 234, 234, 0.3);
display: flex;
background: transparent;
.colTitle {
float: left;
font-weight: bold;
height: 40px;
padding-left: 8px;
line-height: 40px;
box-sizing: border-box;
flex: 1;
background-color: rgba(25, 86, 147, 0.6);
}
.colValue {
float: left;
height: 40px;
padding-left: 8px;
line-height: 40px;
flex: 1.5;
}
}
}
}
}
}
.risk-warn-modal{
::-webkit-scrollbar { /* 血槽宽度 */
width: 14px;
height: 8px;
}
::-webkit-scrollbar-thumb { /* 拖动条 */
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/scrollslider.png') ;
background-repeat: no-repeat;
height: 10px;
}
::-webkit-scrollbar-track { /* 背景槽 */
background-color:rgba(17, 44, 88, 0.2);
}
::-webkit-scrollbar-button{
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/scrollbutton.png') ;
background-repeat: no-repeat;
}
height:100%;
.amos-modal-container{
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/modalbg.png');
height:497px;
width: 866px !important;
background-color: rgba(255,255,255,0);
.amos-modal-close{
color: white;
background: linear-gradient(180deg, rgba(255, 0, 102, 1) 0%, rgba(255, 0, 102, 1) 0%, rgba(255, 51, 0, 1) 100%, rgba(255, 51, 0, 1) 100%);
.amos-modal-close-x{
width: 30px;
height: 30px;
line-height: 30px;
}
}
.amos-modal-header{
background: rgba(255,255,255,0);
height: 50px;
padding: 0;
border-width: 0em;
.amos-modal-title{
line-height: 50px;
padding-left: 9px;
color: #fff;
font-size: 18px;
}
}
.amos-modal-content{
.risk-warn{
.risk-warn-header{
margin-bottom: 1rem;
color:#fff;
}
.risk-warn-table{
background-color: transparent;
.ant-table-title{
display: none;
}
span{
font-size: 14px;
}
.ant-table-placeholder {
//color: $biz-table-font-color;
//background-color: $content-color;//rgba(40, 40, 40, 1);
background-color: transparent;
color: #fff;
}
.ant-table-thead {
tr {
th {
color:#fff;
background-color: rgba(25, 86, 147, 1);
}
}
}
.ant-table-body {
tr {
td {
color:#fff;
background-color: transparent;
}
}
}
.ant-table-body{
max-height: 35rem !important;
background-color:transparent;
}
}
.risk-warn-content{
padding: 15px;
border: 1px solid rgba(255, 255, 255, 0.3);;
margin-top: 1rem;
margin-bottom: 2em;
span{
color: #fff;
}
}
}
}
}
}
.risk-warn-toast{
width: 740px;
.amos-toast-inner-content{
.amos-toast-inner-title{
width: 100%;
height: 31px;
background: $model-header-color-3d;
line-height: 31px;
padding-left: 9px;
}
.amos-toast-inner-content{
.risk-warn{
.risk-warn-header{
padding-bottom: 1rem;
padding-top: 0.5rem;
padding-left: 0.5rem;
border: 1px solid $core-border-color;
margin-bottom: 1rem;
}
.risk-warn-table{
.ant-table-title{
display: none;
}
.ant-table-body{
max-height: 35rem !important;
}
}
.risk-warn-content{
padding-bottom: 2rem;
border: 1px solid $core-border-color;
margin-top: 1rem;
}
}
}
}
.amos-toast-inner-close{
color: white;
top: 22px;
i{
padding: 9px;
background: red;
}
}
}
This diff is collapsed.
.step-cxt-root {
z-index: 9;
.drawer-content {
width: $content-width;
height: 100%;
// background: $content-bg;
// border-radius: 1rem 1rem 0 0;
background-image: url('../assets/convertor/3dview/prePlan/zhixingtanchuang.png');
background-repeat: no-repeat;
-moz-background-size: 100% 100%;
background-size: 100% 100%;
.drawer-content-header {
display: flex;
height: $content-header-height;
font-size: 1.25rem;
line-height: 1.8;
align-items: center;
justify-content: space-between;
text-align: center;
.drawer-content-header-title {
display: inline-block;
// height: $content-header-height;
width: 87px;
margin: 0 auto;
font-family: 'PingFangSC-Semibold';
font-size: 15px;
font-weight: 600;
line-height: 26px;
color: white;
span {
margin-left: 0.5rem;
}
}
.drawer-content-header-close {
width: $content-header-height;
height: $content-header-height;
text-align: center;
cursor: pointer;
i {
font-size: 1.7rem;
line-height: 1.5;
color: red;
}
}
}
.drawer-content-body {
height: calc(100% - 4.5rem);
min-height: 3rem;
overflow: auto;
color: white;
}
::-webkit-scrollbar {
/* 隐藏滚轮 */
display: none;
}
}
}
%operate-button-root-common {
display: flex;
align-items: center;
width: 400px;
height: 65px;
justify-content: space-between;
.operate-button-left {
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
img{
width: 30px;
height: 30px;
}
.operate-button-content {
margin-left: 15px;
font-family: 'PingFangSC-Semibold';
font-weight: 600;
line-height: 26px;
color: white;
.button-name {
font-size: 15px;
}
.button-desc {
font-size: 10px;
}
}
}
.operate-button-right {
width: 91px;
.operate-button-button {
width: 91px;
height: 35px;
padding: 0 1rem;
color: white;
background-repeat: no-repeat;
background-size: 100% 100%;
border-radius: 4px;
opacity: 1;
}
.amos-btn + .amos-btn {
margin-left: 0;
}
:nth-child(2) {
margin-top: 2px;
}
}
}
.operate-button-root {
@extend %operate-button-root-common;
}
.operate-button-root + .operate-button-root {
padding-left: 19px;
margin-left: 19px;
border-left: 2px solid #13b1d4;
}
.step-cxt-line-root {
display: flex;
align-items: center;
height: 63px;
margin: 10px 15px 0;
margin-top: 10px;
justify-content: space-between;
background: linear-gradient(180deg, rgba(9, 65, 124, 1) 0%, rgba(0, 0, 0, 0) 100%);
border: 1px solid rgba(255, 195, 0, 1);
.step-cxt-line-left {
display: flex;
padding-left: 20px;
align-items: center;
flex: 0 0 40%;
}
.step-cxt-line-content {
margin-left: 15px;
font-size: 15px;
}
.step-cxt-line-right {
padding-right: 20px;
.operate-button-button {
width: 91px;
height: 35px;
padding: 0 8px;
color: white;
background-repeat: no-repeat;
background-size: 100% 100%;
opacity: 1;
}
}
}
.reserve-plan-root {
@extend %plan-border-img;
display: flex;
height: 100px;
align-items: center;
justify-content: center;
border-image: url('../assets/convertor/3dview/prePlan/jiaohuqu-duan.png');
}
.operate-button-display-root {
@extend %operate-button-root-common;
.render-spinner-stick {
width: 21px;
background: #ffc000;
}
}
.amos-message-custom {
width: 30rem;
height: 5rem;
line-height: 3rem;
color: white;
text-align: center;
background: #3d3d3d;
border: 1px solid $core-border-color;
border-radius: 6px;
.amosicon {
color: $danger-color;
}
.amos-message-remove {
top: 0;
right: 0;
width: 2rem;
height: 2rem;
background: $core-close;
border-radius: 0;
border-top-right-radius: 6px;
}
}
.amos-timeline-item-content {
padding-right: 10px;
}
.screen-saver-view {
// padding: 12% 15%;
// margin: 10% 15%;
align-items: center;
height: 100%;
padding-top: 12%;
padding-right: 15%;
padding-left: calc((100% - 1360px) / 2);
background: transparent;//#747879;
.amos-cardpane-head {
padding-top: 10px;
padding-left: 25px;
.amos-cardpane-head-title {
.fasicon {
font-size: 25px;
color: white !important;
}
}
}
.amos-cardpane-body {
padding: 6px;
// padding-top: 15% !important;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-size: 28px;
font-style: normal;
font-weight: 700;
line-height: 40px;
color: white;
text-align: center;
border: 0;
}
.amos-cardpane-footer {
padding-left: 25px;
font-family: '微软雅黑';
font-size: 16px;
font-style: normal;
font-weight: 400;
color: white;
border: 0;
}
.amos-cardpane-bordered {
border: 0;
}
.amos-cardpane {
border-radius: 0;
}
.amos-row {
display: flex;
margin-left: 0 !important;
.col {
flex: 1;
height: 457px;
max-width: 340px;
min-width: 340px;
min-height: 457px;
padding-right: 20px !important;
padding-left: 20px !important;
.row-1 {
display: inherit;
height: 300px;
}
.row-2 {
top: 17px;
display: inherit;
.col-2-2 {
padding-left: 10px;
}
}
.screen-saver-view-rpn {
height: 100%;
max-width: 300px;
min-width: 300px;
font-size: 15px;
color: white;
background: #1c43f2;
.guard-days {
padding-top: 20px;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-size: 40px;
font-style: normal;
font-weight: 700;
line-height: 40px;
color: #0c0;
}
.guard-text {
width: 75px;
margin-top: 30px;
margin-left: 40px;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-size: 15px;
font-style: normal;
font-weight: 700;
line-height: 13px;
color: #0c0;
text-align: center;
}
.amos-cardpane-body {
height: 200px;
padding-top: 15% !important;
text-align: center;
.screen-saver-guard {
width: 160px;
height: 156px;
// margin-top: 15%;
margin-left: 22%;
background: url('./../assets/convertor/fas/img/screensaver-guard.png') no-repeat;
background-position: center center;
border-radius: 5px;
}
.screen-saver-rpn {
width: 160px;
height: 156px;
margin-top: 15%;
margin-left: 22%;
background: url('./../assets/convertor/fas/img/screensaver-guard.png') no-repeat;
background-position: center center;
border-radius: 5px;
.guard-text {
margin-top: 50px;
line-height: 25px;
.nochange {
font-family: monospace;
color: #1e1efc;
.hr-bar {
width: 8px;
background: #1e1efc;
border-color: #1e1efc;
float: right;
height: 1px;
text-align: center;
vertical-align: middle;
margin-top: 10px;
}
}
.up {
font-family: monospace;
color: red;
}
.down {
font-family: monospace;
color: #0c0;
}
}
}
}
}
.screen-saver-view-equipment {
height: 100%;
max-width: 300px;
min-width: 300px;
color: white;
background: #a726fd;
.amos-cardpane-body {
height: 200px;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-size: 72px;
font-style: normal;
font-weight: 700;
line-height: 200px;
color: white;
text-align: center;
}
.amos-cardpane-footer {
margin-top: 19px;
}
}
.screen-saver-view-detector {
height: 100%;
max-width: 140px;
max-height: 140px;
min-width: 140px;
min-height: 140px;
color: white;
background: #0abdd4;
.amos-cardpane-body {
margin-top: 19px;
}
}
.screen-saver-view-monitor {
height: 100%;
max-width: 140px;
max-height: 140px;
min-width: 140px;
min-height: 140px;
color: white;
background: #ffb518;
.amos-cardpane-body {
margin-top: 19px;
}
}
.screen-saver-view-riskpoint {
height: 100%;
max-width: 300px;
min-width: 300px;
color: white;
background: #4ab60b;
.amos-cardpane-body {
height: 80.5%;
margin-top: 15px;
.amos-echarts-container {
top: -40px;
min-height: 240px;
}
}
.amos-cardpane-footer {
margin-top: -8px;
}
}
.screen-saver-view-patrolpoint {
height: 100%;
max-width: 300px;
min-width: 300px;
color: white;
background: #534bff;
.amos-cardpane-body {
height: 80.5%;
margin-top: 15px;
.amos-echarts-container {
top: -40px;
min-height: 240px;
}
}
.amos-cardpane-footer {
margin-top: -8px;
}
}
.risk-point-pie1 {
// position: absolute;
}
.pie-legend {
margin-top: -40px;
.pie-legend-item {
width: 100%;
padding: 2% 25%;
.pie-legend-item-icon {
display: table-cell;
}
.pie-legend-item-text {
display: table-cell;
padding-left: 10px;
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: 16px;
}
}
}
}
}
}
.screen-saver-view-modal {
z-index: 10000;
.amos-modal-container {
top: 0 !important;
height: 100%;
background: #000000b8;
.amos-modal-content {
overflow: unset;
}
}
}
.search-pane-bg{
position: absolute;
right: 20px;
bottom: 20px;
width: 460px;
height: 600px;
background: url('/mods/components/3dviewConvertor/assets//convertor//3dview//searchpane-background.png');
filter:blur(3px);
background-repeat: no-repeat;
background-size: 100% 100%;
z-index: 99;
}
.search-pane{
position: absolute !important;
right: 20px !important;
bottom: 20px !important;
left: unset !important;
top: unset !important;
width: 460px;
height: 600px;
color: white;
z-index: 999 !important;
border:1px solid rgba(39,85,162,0.3);
border-radius: 10px;
.search-pane-close{
position: absolute;
width: 30px;
height: 30px;
right: 0;
background-image: linear-gradient(0deg,
#eb0404 0%,
#ff0057 100%);
opacity: 0.6;
text-align: center;
.amosicon-close{
font-style: normal;
}
}
.amos-tabs-list{
border: none !important;
height: 30px;
background: #13428f !important;
border-radius: 5px;
.amos-tabs-tabitem{
background-color: #2755a2;
margin-right: 8px;
border-radius: 5px;
.amos-tabs-tabitem-inner{
padding: 3px 15px;
.amos-tabs-tabitem-content{
color: white;
}
}
}
.amos-tabs-tabitem-active{
background-color: #036fa7 !important;
color: white;
border-radius: 2px 2px 0 0;
}
}
.params-header{
padding: 5px 14px;
height: 40px;
width: 100%;
.amos-group-item{
float: left;
}
.amos-select-dropdown{
border: none !important;
background-color: #13428f;
border-radius: 5px;
}
.amos-input{
width: 100%;
border: none !important;
background-color: #13428f;
border-radius: 5px;
float: left;
}
.params-input-img{
position: absolute;
width: 28px;
height: 28px;
right: 14px;
}
.params-input-img1{
position: absolute;
width: 28px;
height: 28px;
right: 160px;
}
// .params-datePicker{
.ant-input{
background-color: #13428f;
border: none !important;
border-radius: 5px;
color: white;
}
// }
.ant-calendar-picker-icon:after{
color: white;
}
::-webkit-input-placeholder {
color: white;
}
}
.amos-tabs .amos-tabs-panel {
padding-top: 0px !important;
}
// .search-pane-table{
.ant-table-title{
display: none;
}
.ant-table-body{
max-height: 35rem !important;
}
.ant-table-thead {
}
.ant-table-content {
height: 100%;
.ant-table-header {
overflow: hidden !important;
}
.ant-table-placeholder {
position: absolute;
width: 100%;
top: 55px;
border: none !important;
}
.ant-table-body {
color: white;
max-height: 500px !important ;
min-height: 500px !important ;
overflow-y: auto !important;
overflow-x: hidden;
background:transparent!important;
border:1px solid rgba(234,234,234,0.3);
table {
border-color: transparent !important;
td {
border:1px solid rgba(234,234,234,0.3) !important;
}
th {
color: white;
background: #2755a2;
}
}
}
.ant-table-placeholder{
background:transparent!important;
color: white;
}
.ant-table-thead > tr >th{
color: white;
background: #2755a2 !important;
//background: #222b51 !important;
border-color: transparent !important;
text-align: center;
}
.ant-table-thead > tr.ant-table-row-hover > td, .ant-table-tbody > tr.ant-table-row-hover > td, .ant-table-thead > tr:hover > td, .ant-table-tbody > tr:hover > td {
background: rgba(255,255,255,0.3);
}
//滚动条样式
.ant-table-body{
&::-webkit-scrollbar {
width: 10px;
height: 10px;
}
&::-webkit-scrollbar-thumb {
background: rgba(39,85,162,0.8);
border-radius: 10px;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(2,11,45,0.5);
border: none;
}
&::-webkit-scrollbar-corner {
background: transparent;
}
&::-webkit-scrollbar-thumb:hover {
background: rgba(39,85,162,1);
}
}
}
.ant-table-pagination {
margin: 0 10px;
float: right;
.ant-select-selection{
display: none;
}
.ant-pagination-prev{
background-color: rgba(255,255,255,0.5);
}
.ant-pagination-next{
background-color: rgba(255,255,255,0.5);
}
.ant-pagination-item{
background-color: rgba(255,255,255,0.5);
}
.ant-pagination-jump-prev {
background-color: rgba(255,255,255,0.5);
}
.ant-pagination-jump-next {
background-color: rgba(255,255,255,0.5);
}
.ant-pagination-item-active a, .ant-pagination-item-active:focus a, .ant-pagination-item-active:hover a {
color: #fff;
}
}
// }
}
\ No newline at end of file
// 导入系统色系
// @import './colorSeries/basic.scss';
// @import './colorSeries/red.scss';
@import './colorSeries/blue.scss';
// header
$header-height: 40px;
// $header-background: linear-gradient(180deg, $core-deep-color 0%, $core-deep-color 0%, $core-tint-color 100%, $core-tint-color 100%);
$header-background: $core-color;//rgba($core-deep-color, 0.8);
$header-item-active: $core-deep-color;
$nav-item-border: 1px solid $core-deep-color;
// control
$side-item-bg: $component-bg-linear;//linear-gradient(180deg, #afafaf 0%, #afafaf 0%, #c8c8c8 100%, #c8c8c8 100%);
$side-item-bg-active: $component-bg-active;
$border-color: $core-border-color;
$pane-bg: $component-bg;
$control-item-width: 50px;
$control-item-heigth: 50px;
$innate-pop-width: 70px;
$innate-pop-item-height: 40px;
// point level color
$point-color-level-1: rgb(236, 32, 32);
$point-color-level-2: rgb(255, 126, 0);
$point-color-level-3: rgb(255, 200, 0);
$point-color-level-4: rgb(0, 108, 233);
$point-color-level-5: rgb(0, 108, 233);//rgb(102, 213, 0);
$risk-color-level-0: rgb(153, 153, 153);
$risk-color-level-1: rgb(102, 227, 0);
$risk-color-level-2: rgb(255, 81, 36);
$risk-color-level-3: rgb(215, 11, 11);
// datapane
$content-width: 25rem;
$content-header-bg: $component-bg-linear;
$content-bg: $component-bg;
$content-border: 1px solid $core-border-color;
$content-item-bg-active: $component-bg-active;
$datapane-drawer: $core-color-shallow-1;
$content-header-height: 2.5rem;
$drawer-bar-width: 50px;
$drawer-bar-height: 50px;
$content-color: white;
$play-color: $core-color;
$datapane-border-color: $core-border-color;
$shortcutkey-header-color: $pane-bg;
$list-paginate-color: #bf465b;
$selected-color: #19afff;
$list-group-hover: $component-bg-linear;
// dialog
$dialog-min-width: 60rem;
$dialog-height: 500px;
$dialog-max-width: 60rem;
$dialog-footer-item-bg: $component-bg;
$dialog-footer-item-bg-active: $component-bg-active;
$dialog-footer-width: 43px;
$dialog-footer-height: 50px;
$dialog-footer-height: 50px;
//pointDetails
$details-color: $content-color;
$carouselbar-color: $component-bg;
$carouselbar-active-color: $component-bg-active;
$core-bg1: #e3e3e3;
$core-bg2-color: #f2f2f2;
//biz table
$biz-table-font-color: black;
$biz-table-title-color: $component-bg;
$biz-title-color: rgba(243, 243, 243, 1);//$component-bg-active;
$biz-border-color: rgba(201, 201, 201, 1);
$model-header-color-3d: #ebebeb;
$model-body-color-3d: #f9f9f9;
@import './statistical.scss';
.sys-view-panoramic {
position: absolute;
top: 40px;
width: 100%;
height: calc(100% - 40px);
}
import _amosTool,{ UUID } from 'amos-tool';
import SysConsts from 'amos-processor/lib/config/consts';
const ls = _amosTool.Store.lsTool;
const apiKey = SysConsts.api_key;
const token = SysConsts.token;
/*
* 图片的绝对路径地址 转换成base64编码 如下代码:
*/
const getBase64Image = img => {
let canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
let ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, img.width, img.height);
let ext = img.src.substring(img.src.lastIndexOf('.') + 1).toLowerCase();
let dataURL = canvas.toDataURL('image/' + ext);
return {
dataURL,
type: 'image/' + ext
};
};
const convertBase64UrlToFile = (base64, filename) => {
let urlData = base64.dataURL;
let type = base64.type;
let mime = type.split('/')[1];
let bytes = window.atob(urlData.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
let ab = new ArrayBuffer(bytes.length);
let ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new File([ia], filename, { type: mime });
};
export const getBase64 = file => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
};
export const convertImgUrlToFile = (imgUrl, filename, callBack) => {
let image = new Image();
image.crossOrigin = '';
image.src = imgUrl;
image.onload = function() {
let base64 = getBase64Image(image);
let file = convertBase64UrlToFile(base64, filename);
file.uid = UUID.uuidFast();
file.url = imgUrl;
callBack(file);
};
};
export const downLoadFilePost = (url,searchParam)=>{
fetch(url, {
method: 'post',
headers: {
Accept: 'application/vnd.ms-excel',
'Content-Type': 'application/json; charset=utf-8',
'X-Api-Key': _amosTool.Store.getCookieByName(apiKey),
'X-Access-Token': ls.read(token),
'appKey': 'CONVERTER_STATION',
'product': 'CONVERTER_STATION_WEB',
'token':ls.read(token)
},
body: JSON.stringify(searchParam)
}).then(e => {
e.blob().then(blob => {
const a = window.document.createElement('a');
const downUrl = window.URL.createObjectURL(blob);
let currDate = new Date();
const filename = [currDate.getTime(), 'xls'];
a.href = downUrl;
a.download = `${decodeURI(filename[0])}.${filename[1]}`;
a.click();
window.URL.revokeObjectURL(downUrl);
});
}).catch(e => {
_amosTool.Log.error(e.message);
});
};
import { Store } from 'amos-tool';
const lsTool = Store.lsTool;
export const cacheConsts = {
_days: 1,
CURRENT_REGION: 'CURRENT_REGION'
};
export const setRegion = (data) => {
lsTool.write(cacheConsts.CURRENT_REGION, JSON.stringify(data));
};
export const getRegion = () => {
return lsTool.read(cacheConsts.CURRENT_REGION);
};
export default function(data, delRequest){
window.setLoading && window.setLoading(false);
return new Promise((resolve, reject) => {
if (data) {
if (data.dataList || data.dataList === null){
if(data.result==='SUCCESS'){
resolve(data.dataList);
}else{
resolve(data.result);
}
} else if (data.result || data.result === null){
resolve(data.result);
}else{
resolve(data);
}
} else {
if (data) {
reject(data.message);
} else {
reject(data);
}
}
});
}
import amosRequest, { singleFetch } from 'amos-processor/lib/fetch/amosRequest';
import { utils, Store } from 'amos-tool';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import SysConsts from 'amos-processor/lib/config/consts';
import payload from './payload';
import imgStatic from './../consts/imgStatic';
const panoramicIcon = imgStatic.panoramicIcon;
const lsTool = Store.lsTool;
const defaultPageable = {
page: 0,
size: 10
};
const defaultHeaders = {
appKey: 'CONVERTER_STATION',
product: 'CONVERTER_STATION_WEB',
channelType: '3dpage'
};
const compleHeaders = () => {
return {
...defaultHeaders,
// token: getToken(),
'X-Access-Token': getToken()
};
};
/**
* 获取 token
*/
const getToken = () => {
return lsTool.read(SysConsts.token);
// return "582ca8b2-e439-4ba2-a1dc-0206d752a7fa";
}
/**
* 删除全局变量requests中的地址
* @param {*} url
* @param {*} method
*/
const delRequest = (url, method) => {
if (window.requests && window.requests.length > 0) {
window.requests = window.requests.filter(e => e.url !== url && e.method !== method);
}
};
/**
* 构建分页
*/
const buildPageable = (url, pageable = defaultPageable) => {
let { page, size } = pageable;
return `${url}?page=${page}&size=${size}`;
};
/**
* 转换指定值为 JSON
* @param {array} dataList
* @param {string} key
*/
const convertDatalist = (dataList = [], key = 'content') => {
const newDL = dataList.map(d => {
if (!utils.isNil(d[key]) && utils.isString(d[key])) {
d[key] = JSON.parse(d[key]);
}
return d;
});
return newDL;
};
export function commonGet(url) {
window.setLoading && window.setLoading(true);
return amosRequest(url, {
timeout: 10000000 ,
method: 'GET',
headers: compleHeaders(),
reject(error){
window.setLoading && window.setLoading(false);
delRequest(url, 'GET');
//message.danger(error.message || '请求失败,服务器错误!');
}
}).then(data => payload(data));
}
export function commonPost(url, data, params) {
window.setLoading && window.setLoading(true);
return amosRequest(url, {
timeout: 10000000,
method: 'POST',
headers: compleHeaders(),
body: data,
reject(error){
delRequest(url, 'POST');
window.setLoading && window.setLoading(false);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).then(data => payload(data));
}
export function commonPut(url, data, params) {
window.setLoading && window.setLoading(true);
return amosRequest(url, {
timeout: 10000000,
method: 'PUT',
headers: compleHeaders(),
body: data,
reject(error){
delRequest(url, 'PUT');
window.setLoading && window.setLoading(false);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).then(data => payload(data));
}
export function commonDelete(url, data, params) {
window.setLoading && window.setLoading(true);
return amosRequest(url, {
timeout: 10000000 ,
method: 'DELETE',
headers: compleHeaders(),
body: data,
reject(error){
window.setLoading && window.setLoading(false);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).then(data => payload(data));
}
export const getWithCookie = (url) => {
return commonGet(url, {
hasCookie: true
});
};
export const getIcon = (alarmType) => {
return panoramicIcon[`${alarmType}`];
};
export { amosRequest, singleFetch, convertDatalist, buildPageable, formatUrl };
import React from 'react';
import PropTypes from 'prop-types';
import { Connect, Modal } from 'amos-framework';
import Basic from 'amos-designer/lib/pages/sketchs';
import * as endConf from 'amos-processor/lib/config/endconf';
import PilotController from 'amos-viz/lib/board/PilotController';
import ScreenSaverView from './screenSaver/ScreenSaverView';
import View3D from './View3D';
import Statistical from './../view/panoramic/statistical';
// 引入换流站3dview模块主体样式文件
import './../styles';
const eventConnect = Connect.eventConnect;
const AmosConfig = endConf.AmosConfig;
const enableScreenSaver = AmosConfig.sysConf.convertor.screenSaverConf.enable;
const delayTime = AmosConfig.sysConf.convertor.screenSaverConf.delayTime;
/**
* 换流站3dview
*
* @class ConvertorView3DRoot
* @extends {Basic}
*/
@eventConnect
class ConvertorView3DRoot extends Basic {
constructor(props) {
super(props);
this.state = {
showScreenSaver: false, //是否打开屏保
isEdit: false
};
this.pushTimeOutId = null;
}
componentDidMount() {}
componentWillUnmount() {
if (this.pushTimeOutId){
clearTimeout(this.pushTimeOutId);
this.pushTimeOutId = null;
}
}
editModelChange = (status) => {
this.setState({
isEdit: status
});
}
onLoadCompleted = () => {
console.log('3d resources load completed');
this.setState({
showScreenSaver: true
});
};
getScreenSaverContext = () => {
return <ScreenSaverView />;
};
getScreenSaver() {
const { showScreenSaver } = this.state;
return enableScreenSaver && showScreenSaver && (
<PilotController delayTime={delayTime}>
<Modal
className="screen-saver-view-modal"
width="100%"
height="100%"
closable={false}
noDefaultHeader
visible
destroyContent
noDefaultFooter
content={this.getScreenSaverContext()}
/>
</PilotController>
);
}
hiddenScreenSaver = () => {
this.setState({ showScreenSaver: false });
if (enableScreenSaver) {
this.pushTimeOutId = setTimeout(() => {
this.setState({
showScreenSaver: true
});
}, 1000);
}
}
refshExceptAreaData = ()=>{
this.view3d.initExceptionAreasData && this.view3d.initExceptionAreasData();
}
render() {
const { isEdit } = this.state;
return (
<div style={{ height: '100%' }}>
{ isEdit ? '' : <Statistical refshExceptAreaData={this.refshExceptAreaData} /> }
<div className="sys-view-3d">
<View3D
ref={node => this.view3d = node}
onLoadCompleted={this.onLoadCompleted}
hiddenScreenSaver={this.hiddenScreenSaver}
editModelChange={this.editModelChange}
/>
{this.getScreenSaver()}
</div>
</div>
);
}
}
ConvertorView3DRoot.propTypes = {
subscribe: PropTypes.func,
trigger: PropTypes.func
};
export default ConvertorView3DRoot;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Connect, SidePane } from 'amos-framework';
import AmosWebSocket from 'amos-websocket';
import * as endConf from 'amos-processor/lib/config/endconf';
import ReservePlan from './reservePlan/index';
import PlanDetail from './plan/PlanDetail';
import RecordView from './preControl/records/RecordView';
import StepView from './preControl/steps/StepView';
import TopView from './preControl/topNews/TopView';
import MonitorView from './preControl/monitor/MonitorView';
import Water from './preControl/water/Water';
import { eventTopics } from './consts';
const eventConnect = Connect.eventConnect;
const AmosConfig = endConf.AmosConfig;
const sidepaneStyles = {
topArea: {
left: '50%',
top: 0,
transform: 'translateX(-50%)'
},
operatePos: {
left: '50%',
bottom: 30,
transform: 'translateX(-50%)',
zIndex: 10
}
};
@eventConnect
class LayerPool extends Component {
constructor(props) {
super(props);
this.state = {
displayDetail: true,
stepMonitorAreaShow: false,
fireResourceData: null,
detailPos: {
right: 20,
top: 21,
planStartTop: 46,
bottom: 154
},
recordPos: {
left: 21,
bottom: 33
},
setupPos: {
left: 21,
top: 21
},
monitorPos: {
left: 21,
top: 236
},
waterPos: {
left: 21,
top: 310
}
};
}
componentDidMount() {
this.screenChange();
this._bindPubSubEvents();
}
componentWillReceiveProps(nextProps) {
this.setState({ planStarted: nextProps.planStarted });
}
onCancal = () => {
this.setState({ displayDetail: false });
};
_bindPubSubEvents = () => {
this.props.subscribe(eventTopics.plan_detail, (topic, content) => {
this.setState({ displayDetail: true });
});
};
screenChange = () => {
window.addEventListener('resize', this.resize);
};
handleData = data => {
this.setState({fireResourceData: data});
}
resize = () => {};
render() {
const { detailPos, recordPos, setupPos, operatePos, monitorPos, waterPos, displayDetail, planStarted, fireResourceData } = this.state;
const { animationProps, planStart, planQuit } = this.props;
let detailTop = planStarted ? detailPos.top : detailPos.planStartTop;
let wsURL = AmosConfig.wsURI.securityBaseURI + 'plan';
return (
<div className="layer-pool">
<AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect debug />
<SidePane
className={displayDetail ? 'precontrol-sidePlan-detail-display' : 'precontrol-sidePlan-detail'}
left={false}
right={detailPos.right}
top={detailTop}
bottom={detailPos.bottom}
{...animationProps}
>
<PlanDetail cancal={this.onCancal} />
</SidePane>
<SidePane className='record-view' top={false} left={recordPos.left} bottom={recordPos.bottom} {...animationProps}>
<RecordView />
</SidePane>
<SidePane left={setupPos.left} top={setupPos.top} {...animationProps}>
<StepView />
</SidePane>
<SidePane className='monitor-view' left={monitorPos.left} top={monitorPos.top} {...animationProps}>
<MonitorView planStart={planStart} />
</SidePane>
<SidePane className='monitor-view' left={waterPos.left} top={waterPos.top} {...animationProps}>
<Water planStart={planStart} fireResourceData={fireResourceData} />
</SidePane>
<SidePane top={false} left={false} style={sidepaneStyles.operatePos} {...animationProps}>
<ReservePlan />
</SidePane>
<SidePane className="rule-pool-topview" top={false} left={false} style={sidepaneStyles.topArea}>
<TopView planStart={planStart} planQuit={planQuit} planStarted={planStarted} />
</SidePane>
</div>
);
}
}
LayerPool.propTypes = {
planStart: PropTypes.func,
animationProps: PropTypes.any,
subscribe: PropTypes.func,
planQuit: PropTypes.func,
planStarted: PropTypes.bool
};
export default LayerPool;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment