Commit c9796a25 authored by 涂伟's avatar 涂伟
parents 7a754d79 46fd6d9d
Pipeline #95415 failed with stages
......@@ -94,9 +94,11 @@
"@wangeditor/editor-for-react": "^1.0.6",
"@wisdom-cesium/cesium": "1.1.12",
"@wisdom-cesium/krpano": "^1.0.29-60",
"@wisdom-map/amap":"^2.0.15",
"@wisdom-map/arcgismap":"^2.0.97",
"@wisdom-map/basemap":"^2.0.4",
"@wisdom-map/gis-component": "^1.0.25",
"@wisdom-map/gis-utils": "^1.0.20",
"@wisdom-map/pd-map": "^1.0.106",
"@wisdom-utils/components": "0.1.337",
"@wisdom-utils/utils": "0.1.377",
"ace-builds": "^1.4.12",
......@@ -129,7 +131,7 @@
"jszip": "^3.10.1",
"lodash": "4.17.11",
"minimist": "1.2.0",
"panda-xform": "6.10.69",
"panda-xform": "6.10.87",
"parseForm": "^2.3.8",
"prop-types": "15.7.2",
"qrcode.react": "^3.1.0",
......
......@@ -8,7 +8,6 @@ import 'sanitize.css/sanitize.css';
import React from 'react';
import ReactDOM from 'react-dom';
// import { ArcGISMap as MapComponent } from '@wisdom-map/arcgismap';
import { ConfigProvider } from 'antd';
import zhCN from 'antd/es/locale/zh_CN';
import { ConnectedRouter } from 'connected-react-router/immutable';
......
/* eslint-disable no-new */
import React, { useEffect, useState, useRef } from 'react';
import { ArcGISMap, Drawtool, geomUtils } from '@wisdom-map/arcgismap';
// import { AMapScene, PointLayer } from '@wisdom-map/Amap';
import {
Modal,
Form,
......@@ -114,12 +112,12 @@ const Map = props => {
mapRef.current.changeBoundWidthValue(obj.layers[index].boundWidth);
break;
case 'areaName':
Drawtool.deactivate(false);
// Drawtool.deactivate(false);
obj.layers[index].areaName = changedFields[0].value[changedFields[0].value.length - 1];
mapRef.current.changeAreaName(obj.layers[index].areaName);
break;
case 'schemename':
Drawtool.deactivate(false);
// Drawtool.deactivate(false);
let setttings;
obj.layers.forEach(item => {
if (item.schemename === changedFields[0].value) {
......@@ -146,36 +144,36 @@ const Map = props => {
};
// 选择范围
const onTangleClick = e => {
Drawtool.activate({
view: mapInfo.current,
action: 'extent',
drawEnd: data => {
const geom = geomUtils.toGeometry({
type: 'extent',
xmin: data.rings[0][0][0],
xmax: data.rings[0][2][0],
ymin: data.rings[0][0][1],
ymax: data.rings[0][1][1],
});
form.setFieldsValue({
extent: `${data.rings[0][0][0]},${data.rings[0][0][1]},${data.rings[0][2][0]},${data.rings[0][1][1]
}`,
});
mapRef.current.gotoGeometry(geom);
},
});
// Drawtool.activate({
// view: mapInfo.current,
// action: 'extent',
// drawEnd: data => {
// const geom = geomUtils.toGeometry({
// type: 'extent',
// xmin: data.rings[0][0][0],
// xmax: data.rings[0][2][0],
// ymin: data.rings[0][0][1],
// ymax: data.rings[0][1][1],
// });
// form.setFieldsValue({
// extent: `${data.rings[0][0][0]},${data.rings[0][0][1]},${data.rings[0][2][0]},${data.rings[0][1][1]
// }`,
// });
// mapRef.current.gotoGeometry(geom);
// },
// });
};
const onFinish = () => {
console.log(form.getFieldValue('extent'));
console.log(Drawtool.graphic, 'Drawtool');
if (!Drawtool.graphic) {
notification.error({
message: '提示',
duration: 3,
description: '请选择复位范围再保存',
});
return;
}
// console.log(form.getFieldValue('extent'));
// console.log(Drawtool.graphic, 'Drawtool');
// if (!Drawtool.graphic) {
// notification.error({
// message: '提示',
// duration: 3,
// description: '请选择复位范围再保存',
// });
// return;
// }
const obj = form.getFieldsValue();
const jsConfig = {
......@@ -271,7 +269,7 @@ const Map = props => {
</div>
<div className={styles.mapBox}>
{canLoadMap && (
<ArcGISMap ref={mapRef} getMapInfo={e => getMapInfo(e)} config={mapsettings} />
// <ArcGISMap ref={mapRef} getMapInfo={e => getMapInfo(e)} config={mapsettings} />
)}
</div>
</div>
......
......@@ -822,16 +822,16 @@ const BookConfigNew = props => {
<Select style={{ width: 100 }} options={pagingOptions} />
</Form.Item>
</Col>
<Col span={3}>
{/* <Col span={3}>
<Form.Item
{...switchLayout}
valuePropName="checked"
label="时间筛选"
name="EnableTimeFilter"
>
<Switch checkedChildren="是" unCheckedChildren="否" />
<Switch checkedChildren="是" unCheckedChildren="否" disabled/>
</Form.Item>
</Col>
</Col> */}
<Col span={3}>
<Form.Item
{...switchLayout}
......
This diff was suppressed by a .gitattributes entry.
This diff is collapsed.
This diff is collapsed.
......@@ -412,7 +412,7 @@ const FlowChart = props => {
ExtendPageList: [],
FlowNodeBackfillConfigs: [],
FlowTimerList: [],
TurnOnCc: 1,
TurnOnCc: 0,
NodeAliasName: '',
TableName: '',
Fields: '',
......
......@@ -70,7 +70,7 @@ const ConfigOperate = (props, ref) => {
}
loadRollbackNodes({ flowNodeId: editMsg.ActivityId }).then(res => {
if (res.code === 0) {
setBackNodes(res.data);
setBackNodes([...res.data, { Name: '自定义节点', AliasName: '自定义节点' }]);
}
});
};
......
......@@ -328,3 +328,15 @@
.schemeBox {
height: calc(100% - 51px);
}
.layerTitle{
display: flex;
align-items: center;
gap: 5px;
cursor: pointer;
.layerTitle_icon{
width: 3px;
border-radius: 2px;
height: 16px;
background-color: #4699f4;
}
}
import React, { useEffect, useState, useRef } from 'react';
import { Spin, notification, Table, Modal, Tooltip } from 'antd';
import { Spin, notification, Table, Modal, Tooltip, message } from 'antd';
import { ApartmentOutlined, PartitionOutlined } from '@ant-design/icons';
import Tree from '@/components/ExpendableTree';
import { GetLayerList, GetMetaDataPreview, GetLayerMetaDataPreview } from '@/services/gis/gis';
import { GetLayerList, GetMetaDataPreview, GetLayerMetaDataPreview, EditLayerMetaDataInfo } from '@/services/gis/gis';
import { set } from 'lodash';
import styles from '../SchemeConfig.less';
const MeteDataModal = props => {
......@@ -12,8 +12,8 @@ const MeteDataModal = props => {
const [isLoading, setIsLoading] = useState(false);
const [loading, setLoading] = useState(false);
const [expendKey, setExpendKey] = useState(''); // 保存默认展开项
const [recored, setRecored] = useState('');
const setRowClassName = e => (e.layerID === recored.layerID ? styles.clickRowStyle : '');
const [selectLayerIds,setSelectLayerIds] = useState ([])
const layerList = useRef([])
useEffect(() => {
if (visible) {
......@@ -24,12 +24,52 @@ const MeteDataModal = props => {
}
}, [visible]);
const handleLayerTree = (list) =>{
let treeList = []
list.forEach(i=>{
if(i.parentLayerId == -1){
let param= {
title:<span onClick={()=>{onSelect(i)}}>{i.title}</span>,
key:i.key,
children:list.filter(j=>j.parentLayerId === i.layerID).map(k=>{
return {
title: <span onClick={()=>{onSelect(k)}}>{k.title}</span>,
key:k.key,
children:[]
}
})
}
treeList.push(param)
}
})
return treeList
}
const getMeteData = () => {
setIsLoading(true)
GetLayerList({ serviceName: metaData.GISServerProjectName }).then(res => {
setIsLoading(false)
if (res.success) {
getTree();
setMetedataList(res.root);
setRecored(res.root[0]);
let allKeys = []
let roots = []
res.root.forEach(i=>{
if(i.layerID){
let key = `${i.parentLayerId}_${i.layerID}`
let params = {
...i,
title:i.layerName,
key,
}
if(i.defaultVisibility && i.parentLayerId != -1){
allKeys.push(key)
}
roots.push(params)
}
})
layerList.current = roots
setSelectLayerIds(allKeys)
setMetedataList(handleLayerTree(roots));
} else {
notification.error({
message: '提示',
......@@ -43,21 +83,15 @@ const MeteDataModal = props => {
const getTree = () => {
setLoading(true);
GetMetaDataPreview({ serviceName: metaData.GISServerProjectName }).then(res => {
console.log(res);
setExpendKey('0-0');
setLoading(false);
setCurrentMeta(res);
});
};
const columns = [
{
title: '图层',
dataIndex: 'layerName',
width: 150,
key: 'layerName',
},
];
const handleCheck = (keys) =>{
setSelectLayerIds(keys)
}
// 渲染机构树
const mapTree = org => {
......@@ -95,10 +129,8 @@ const MeteDataModal = props => {
};
const onSelect = e => {
console.log(e);
setRecored(e);
setLoading(true);
if (e.layerID != null) {
if (e?.layerID != null) {
GetLayerMetaDataPreview({
serviceName: metaData.GISServerProjectName,
layerID: e.layerID,
......@@ -111,7 +143,30 @@ const MeteDataModal = props => {
}
};
const onSubmit = () => {};
const onSubmit = () => {
let items = [];
layerList.current.forEach(i => {
let defaultVisibility = selectLayerIds.includes(i.key)
if(i.parentLayerId == -1 ){
defaultVisibility = selectLayerIds.some(j=>j.includes(`${i.layerID}_`))
}
let name = i.layerName.split(':')[1]
items.push({
name,
infos: {
defaultVisibility,
},
});
});
EditLayerMetaDataInfo(metaData.GISServerProjectName,items).then(res=>{
if(res.code ==0){
onCancel()
return message.success(res.data)
}else{
return message.info(res?.data || '元数据信息修改失败!')
}
})
};
return (
<Modal
visible={visible}
......@@ -128,22 +183,25 @@ const MeteDataModal = props => {
<Spin spinning={isLoading}>
<div style={{ width: '1000px', height: '640px', display: 'flex' }}>
<div style={{ width: '300px' }}>
<Table
onRow={record => ({
onClick: e => {
onSelect(record);
}, // 点击行
})}
bordered
rowClassName={setRowClassName}
pagination={false}
style={{ width: '300px' }}
columns={columns}
dataSource={metedataList}
size="small"
scroll={{
y: '600px',
<div
className={styles.layerTitle}
onClick={() => {
onSelect();
}}
>
<div className={styles.layerTitle_icon} />
<span>地图文档</span>
</div>
<Tree
showIcon="true"
blockNode
defaultExpandAll
treeData={metedataList}
checkable
autoExpandParent={true}
onCheck={handleCheck}
checkedKeys={selectLayerIds}
expandedKeys = {metedataList?.[0]?.key || ''}
/>
</div>
<Spin spinning={loading}>
......
......@@ -3,9 +3,8 @@ import React, { useEffect, useState, useRef } from 'react';
import SiteModal from '@/components/Modal/SiteModa';
import { Spin } from 'antd';
import { GetMetaDataPreview, GetTransformationGeom } from '@/services/gis/gis';
import { ArcGISSceneMap } from '@wisdom-map/arcgismap';
import {PdMap} from '@wisdom-map/pd-map'
import axios from 'axios';
import { getConditionList } from '@wisdom-map/basemap';
const VectorPreviewModal = props => {
const { metaData, visible } = props;
......@@ -67,7 +66,7 @@ const VectorPreviewModal = props => {
id: metaData?.GISServerProjectName,
title: metaData?.GISServerProjectName,
icon: '',
layerType: '',
layerType: 'PipenetLayer',
url: `/PandaGIS/MapServer/${metaData?.GISServerProjectName}`,
opacity: '1.0',
showLegend: true,
......@@ -80,7 +79,7 @@ const VectorPreviewModal = props => {
origin: '',
tileMatrix: '',
wmtsUrl: '',
schemename: '',
schemename: '测试方案',
roles: '',
areaName: '',
boundColor: '#86c8f8',
......@@ -141,9 +140,9 @@ const VectorPreviewModal = props => {
<Spin spinning={isLoading}>
<div style={{ width: '1000px', height: '500px' }}>
{currentMeta && (
<ArcGISSceneMap
getMapInfo={e => getMapInfo(e)}
config={currentMeta}
<PdMap
getPdScene={e => getMapInfo(e)}
config={currentMeta?.layers}
client="sandbox"
widgets={[]}
/>
......
......@@ -38,7 +38,7 @@ const ChangePasswordModal = props => {
email: currentUser.email || '',
});
passwordForm.setFieldsValue({
oldPassword: currentUser.password,
// oldPassword: currentUser.password,
newPassword: '',
passwordConfirm: '',
});
......@@ -121,7 +121,7 @@ const ChangePasswordModal = props => {
// 提交-修改密码
const submitChangePassword = () => {
const oldPassword = passwordForm.getFieldValue('oldPassword');
// const oldPassword = passwordForm.getFieldValue('oldPassword');
const newPassword = passwordForm.getFieldValue('newPassword');
const passwordConfirm = passwordForm.getFieldValue('passwordConfirm');
if (
......@@ -133,7 +133,7 @@ const ChangePasswordModal = props => {
) {
updateUserPassword({
UserId: +currentUser.userId,
OldPassWord: oldPassword,
// OldPassWord: oldPassword,
NewPassWord: encipher(newPassword, pasType ? pasType : '').toUpperCase(),
})
.then(res => {
......@@ -152,7 +152,7 @@ const ChangePasswordModal = props => {
});
}
passwordForm.setFieldsValue({
oldPassword: currentUser.password,
// oldPassword: currentUser.password,
newPassword: '',
passwordConfirm: '',
});
......@@ -214,9 +214,9 @@ const ChangePasswordModal = props => {
>
<div className={styles.modalContent}>
<Form form={passwordForm} labelCol={{ span: 4 }} onFieldsChange={changeValue}>
<Form.Item name="oldPassword" label="原始密码">
{/* <Form.Item name="oldPassword" label="原始密码">
<Input disabled />
</Form.Item>
</Form.Item> */}
<div className={styles.formBox}>
<Form.Item
name="newPassword"
......
......@@ -157,6 +157,9 @@ const Holidays = asyncComponent(() => import('@/pages/bsmanager/workOrder/holida
const Maintenance = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/maintenance/maintenance'),
);
const QrcodeManager = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/qrcodeManager'),
);
const MaintenanceOld = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/maintenance/maintenanceOld'),
);
......@@ -392,6 +395,11 @@ export default {
name: '设备巡检(旧)',
component: MaintenanceOld,
},
{
path: '/biz/patrolMaintenance/qrcodeManger',
name: '二维码管理',
component: QrcodeManager,
},
],
},
],
......
......@@ -5,7 +5,7 @@
* @LastEditTime: 2022-08-17 10:10:50
* @LastEditors: leizhe
*/
import { get, post, PUBLISH_SERVICE, PANDA_GIS } from '@/services/index';
import { get, post, PUBLISH_SERVICE, PANDA_GIS, PANDAWORKFLOW } from '@/services/index';
// 工单流程列表查询
export const reloadFlows = param =>
get(`${PUBLISH_SERVICE}/WorkOrderCenter/CM_Flow_ReloadFlows`, param);
......@@ -120,3 +120,5 @@ export const BatchEditDeviceQRCodeConfig = query => post(`${PUBLISH_SERVICE}/Wor
//修改流程节点顺序
export const UpdateFlowNodeOrder = query => get(`${PUBLISH_SERVICE}/WorkOrderCenter/UpdateFlowNodeOrder`, query);
export const GetAllDeviceDetails = query => get(`${PANDAWORKFLOW}/DevicePatrol/GetAllDeviceDetails`, query);
import { get, post, PUBLISH_SERVICE, CITY_SERVICE, PANDA_GIS } from '@/services/index';
import { request } from '@wisdom-utils/utils';
// 1.获取全部地图方案配置
export const GetAllConfig = param => get(`${CITY_SERVICE}/OMS.svc/GetAllConfig`, param);
// 2.获取元数据
......@@ -26,3 +29,16 @@ export const GetLayerMetaDataPreview = param =>
// 查看
export const LayerSetting = param => get(`${PANDA_GIS}/MapLayer/LayerSetting`, param);
// 编辑图层元数据信息
export const EditLayerMetaDataInfo = (mapServerName,data) =>
request({
url:`${PANDA_GIS}/MetaData/EditLayerMetaDataInfo?mapServerName=${mapServerName}`,
method: 'post',
headers: {
accept: 'text/plain',
'Content-Type': 'application/json',
},
data: JSON.stringify(data),
})
......@@ -16,6 +16,7 @@ const WebSERVICE = '/PandaConfiguration/Raw';
const CoreSERVICE = '/PandaCore/GCK';
const PANDA_GIS = '/PandaGIS/MapServer';
const PandaCore = '/PandaCore/GateWay';
const PANDAWORKFLOW = '/PandaWorkFlow/WorkFlow';
const get = async (url, params, options = {}) =>
request({
url,
......@@ -48,4 +49,5 @@ export {
CoreSERVICE,
PANDA_GIS,
PandaCore,
PANDAWORKFLOW
};
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