Commit caac64e8 authored by 皮倩雯's avatar 皮倩雯

fix: '地图版本自定义行政区'

parent 1cd8ff3a
Pipeline #60533 passed with stages
......@@ -92,8 +92,8 @@
"@esri/calcite-colors": "6.0.3",
"@wisdom-cesium/cesium": "^1.0.78",
"@wisdom-map/amap": "1.1.0-beta.38",
"@wisdom-map/arcgismap": "1.4.0-50",
"@wisdom-map/basemap": "1.1.0-10",
"@wisdom-map/arcgismap": "1.4.0-51",
"@wisdom-map/basemap": "1.1.0-11",
"ace-builds": "^1.4.12",
"antd-img-crop": "^3.13.2",
"bizcharts": "^4.0.15",
......
......@@ -46,7 +46,7 @@ import {
GetCM_Event_QueryEventType,
CM_Event_AddEventTable,
} from '@/services/standingBook/api';
import { PlusOutlined, DownOutlined, InfoCircleOutlined, DeleteOutlined } from '@ant-design/icons';
import { PlusOutlined, DownOutlined, InfoCircleOutlined, DeleteOutlined, PictureOutlined } from '@ant-design/icons';
import styles from './incident.less';
import ChangeAdd from './changeAdd';
import ChangeEdit from './changeEdit';
......@@ -955,26 +955,36 @@ const AddModal = props => {
if (!name) {
return '请传入对象属性';
}
//先获取一下这个数组中有多少个"name"
//先获取一下这个数组中name的集合放进新数组
let nameArr = [];
for (let i in initialArr) {
if (nameArr.indexOf(initialArr[i][`${name}`]) === -1) {
nameArr.push(initialArr[i][`${name}`]);
}
}
console.log(nameArr);
console.log(initialArr);
//新建一个包含多个list的结果对象
let tempObj = {};
let aa =[];
// 根据不同的"name"生成多个数组
// eslint-disable-next-line guard-for-in
for (let k in nameArr) {
for (let j in initialArr) {
if (initialArr[j][`${name}`] == nameArr[k]) {
// 每次外循环时新建一个对应"name"的数组, 内循环时当前数组不变
tempObj[nameArr[k]] = tempObj[nameArr[k]] || [];
tempObj[nameArr[k]].push(initialArr[j]);
// 每次外循环时新建一个对应"name"的数组, 内循环时当前数组不变
tempObj[nameArr[k]] = tempObj[nameArr[k]] || [];
if(initialArr[j].isDefaultField==false){
tempObj[nameArr[k]].push(initialArr[j]);
}else{
aa.push(initialArr[j].fieldName);
}
}
}
}
console.log(aa);
// tempObj.内置字段 = aa;
for (let key in tempObj) {
let arr = [];
tempObj[key].map(item => {
......@@ -982,6 +992,11 @@ const AddModal = props => {
arr.push(item.fieldName);
});
}
console.log(tempObj)
if(aa.length>0){
tempObj.内置字段 = [...aa];
}
console.log(tempObj);
return tempObj;
};
......@@ -1868,12 +1883,23 @@ const AddModal = props => {
style={{
position: 'absolute',
fontSize: '18px',
left: '44px',
left: '24px',
top: '45px',
color: 'white',
zIndex:'999'
}}
/>
<PictureOutlined
onClick={pictruePreview}
style={{
position: 'absolute',
fontSize: '18px',
left: '54px',
top: '45px',
color: 'white',
zIndex:'999'
}}
/>
</>
) : (
<></>
......@@ -1884,18 +1910,19 @@ const AddModal = props => {
width="104px"
// height={100}
src="error"
onClick={pictruePreview}
fallback="data:image/png;base64,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"
/>
)}
</Item>
</Col>
<Col span={12}>
{/* <Col span={12}>
<Item>
<Button type="primary" onClick={pictruePreview} style={{ marginTop: '33px' }}>
从图片库中选择
</Button>
</Item>
</Col>
</Col> */}
</Row>
</Form>
{/* <ChangeAdd
......
......@@ -277,7 +277,7 @@
left: -9px;
height: 104px;
width: 104px;
// background: rgba(0, 0, 0, 0.5);
background: rgba(0, 0, 0, 0.5);
border-radius: 2px;
z-index:1;
}
......@@ -307,3 +307,6 @@
.panda-pro-pages-platform-center-bsmanager-work-order-incident-filed_listItem {
display: flex;
}
.ant-checkbox-wrapper ant-checkbox-group-item{
color:red;
}
......@@ -11,6 +11,7 @@ import {
PipenetStylesCenter,
MapImageLayer,
watchUtils,
SimpleFillSymbol,
} from '@wisdom-map/arcgismap';
import { getPipenetLayer } from '@wisdom-map/basemap';
import {
......@@ -32,6 +33,7 @@ import classnames from 'classnames';
import { GetWebSiteConfig } from '@/services/gis/gis';
import { SetServiceConfig, GetSpriteSheet } from '@/services/webConfig/api';
import { ContinuousLegend } from '@antv/g2/lib/dependents';
import { SettingDrawer } from '@ant-design/pro-layout';
import styles from './index.less';
const { Option } = Select;
const defaultMap = {
......@@ -89,6 +91,7 @@ const defaultMap = {
boundWidth: '10px',
backgroundOpacity: '0.6',
exportScheme: 'pandagis',
customFlag: 0,
};
const widgets = [
{
......@@ -156,6 +159,8 @@ const Map = props => {
const [borderColor, setBorderColor] = useState('');
const [colorList, setColorList] = useState('');
const [keepColor, setKeepColor] = useState('');
const [radio1, setRadio1] = useState();
const [area, setArea] = useState('');
useEffect(() => {
// GetSpriteSheet().then(res => {
......@@ -184,13 +189,16 @@ const Map = props => {
boundColor: setttings.boundColor || '#86C8F8',
boundWidth: parseInt(setttings.boundWidth) || '5',
extent: setttings.extent,
customPointExtent: setttings.customPointExtent,
schemename: setttings.schemename,
exportScheme: setttings.exportScheme || 'pandagis',
customFlag: setttings.customFlag,
});
setColorList(setttings.boundColor || '#86C8F8');
setKeepColor(setttings.boundColor || '#86C8F8');
setColor(setttings.backgroundColor || '#000000');
setRadio(setttings.exportScheme || 'pandagis');
setRadio1(setttings.customFlag);
if (setttings.id) {
setKeep(setttings);
setName(setttings.id);
......@@ -222,9 +230,9 @@ const Map = props => {
// 获取地图实例
const getMapInfo = viewObject => {
console.log(66666);
setMap(viewObject);
const { layer } = getPipenetLayer(viewObject?.map);
console.log(layer);
// const { layer } = getPipenetLayer(viewObject?.map);
// if (layer) {
// console.log(923423);
// layer.visible = false;
......@@ -232,24 +240,35 @@ const Map = props => {
watchUtils.watch(viewObject, ['zoom'], newzoom => {
// 鼠标滚动隐藏管网图
viewObject.map.layers.find(layer => {
console.log(layer);
if (layer.layerType == 'PipenetLayer') {
console.log(32423);
console.log(123);
layer.visible = false;
}
});
});
mapInfo.current = viewObject;
if (form.getFieldsValue().exportScheme == 'pandagis') {
mapInfo.current.map.layers.forEach(item => {
console.log(item);
console.log(item.layerType);
if (item.layerType && item.layerType != 'PipenetLayertest') {
// 用户自定义创建的管网图
console.log(123123);
viewObject.map.add(pandagis);
}
});
let data = mapInfo.current.map.layers.find(
item => item.layerType && item.layerType == 'PipenetLayertest',
);
console.log(mapInfo.current.map.layers);
if (!data) {
// 用户自定义创建的管网图
let aa = '';
mapsettings.map(i => {
if (i.schemename == form.getFieldsValue().schemename) {
aa = i.id;
}
});
console.log(aa);
const pandagis1 = new MapImageLayer({
id: aa,
url: `/PandaGIS/MapServer/${aa}`,
layerType: 'PipenetLayertest',
title: aa,
});
viewObject.map.add(pandagis1);
}
}
gate();
......@@ -305,15 +324,26 @@ const Map = props => {
// break;
case 'areaName':
Drawtool.deactivate(false);
setArea('');
obj[index].areaName = changedFields[0].value[changedFields[0].value.length - 1];
console.log(obj[index].areaName);
mapRef.current.changeAreaName(obj[index].areaName);
form.setFieldsValue({ customPointExtent: '' });
break;
case 'schemename':
mapInfo.current.map.layers.forEach(item => {
console.log(item.layerType);
if (item.layerType && item.layerType == 'PipenetLayertest') {
console.log(3333);
mapInfo.current.map.remove(item);
}
});
GetWebSiteConfig({ client: 'sandbox' }).then(res => {
setSchemeList(res.data);
setMapsettings(res.data);
setSetttingsSave(res.data);
});
setArea('');
Drawtool.deactivate(false);
let setttings;
......@@ -324,6 +354,7 @@ const Map = props => {
if (item.schemename === changedFields[0].value) {
item.layerType = 'PipenetLayer';
setttings = item;
console.log(item);
setSchemename(item.schemename);
setName(item.id);
setKeep(item);
......@@ -331,6 +362,7 @@ const Map = props => {
item.layerType = 'dynamic';
}
});
form.setFieldsValue({
areaName: setttings.areaName ? [setttings.areaName] : ['上海市'],
backgroundColor: setttings.backgroundColor || '#000000',
......@@ -338,13 +370,41 @@ const Map = props => {
boundColor: setttings.boundColor || '#86C8F8',
boundWidth: parseInt(setttings.boundWidth) || '5',
extent: setttings.extent,
customPointExtent: setttings.customPointExtent,
exportScheme: setttings.exportScheme || 'pandagis',
customFlag: setttings.customFlag,
});
setColorList(setttings.boundColor || '#86C8F8');
setKeepColor(setttings.boundColor || '#86C8F8');
setColor(setttings.backgroundColor || '#000000');
setRadio(setttings.exportScheme || 'pandagis');
setRadio1(setttings.customFlag);
mapRef.current.mapchange(obj);
if (form.getFieldsValue().exportScheme == 'pandagis') {
let data = mapInfo.current.map.layers.find(
item => item.layerType && item.layerType == 'PipenetLayertest',
);
console.log(data);
if (!data) {
// 用户自定义创建的管网图
let aa = '';
mapsettings.map(i => {
if (i.schemename == form.getFieldsValue().schemename) {
aa = i.id;
}
});
console.log(aa);
const pandagis1 = new MapImageLayer({
id: aa,
url: `/PandaGIS/MapServer/${aa}`,
layerType: 'PipenetLayertest',
title: aa,
});
mapInfo.current.map.add(pandagis1);
}
}
// 清除原有接口返回后端绘制的管网图
// const { layer } = getPipenetLayer(mapRef.current?.map);
// if (layer) {
......@@ -363,7 +423,7 @@ const Map = props => {
// // 用户自定义创建的管网图
// mapInfo.current.map.add(pandagisaa);
// }
setMapsettings(obj);
// setMapsettings(obj);
break;
default:
......@@ -376,8 +436,9 @@ const Map = props => {
view: mapInfo.current,
action: 'extent',
drawEnd: data => {
setArea(data);
console.log(data);
const geom = geomUtils.toGeometry({
const geom1 = geomUtils.toGeometry({
type: 'extent',
xmin: data.rings[0][0][0],
xmax: data.rings[0][2][0],
......@@ -389,17 +450,47 @@ const Map = props => {
data.rings[0][0][1]
}`,
});
mapRef.current.gotoGeometry(geom);
mapRef.current.gotoGeometry(geom1);
},
});
};
// 自定义行政区范围
const onTangleClick1 = e => {
Drawtool.activate({
view: mapInfo.current,
symbol: new SimpleFillSymbol({
color: [230, 250, 250, 0.3],
outline: {
color: [0, 51, 102, 1],
width: 1,
},
}),
action: 'polygon',
toolTip: '单击鼠标左键开始绘制,双击结束,右键取消,z回退至上一步',
autoClear: false,
drawEnd: geometry => {
console.log(geometry);
let geom1 = [];
geometry.rings[0].forEach(i => {
geom1.push({ x: i[0], y: i[1] });
});
let area = form.getFieldsValue().areaName;
mapRef.current.changeAreaName(area[0], geom1);
form.setFieldsValue({
customPointExtent: JSON.stringify(geom1),
});
},
});
};
// 提交
const onFinish = () => {
if (!Drawtool.graphic) {
if (form.getFieldsValue().customFlag == 1 && !form.getFieldsValue().customPointExtent) {
notification.error({
message: '提示',
duration: 3,
description: '请选择复位范围再保存',
description: '自定义行政区需要绘制范围',
});
return;
}
......@@ -407,6 +498,15 @@ const Map = props => {
message.error('请先保存管网前端绘制方案');
return;
}
if (!area) {
notification.error({
message: '提示',
duration: 3,
description: '请选择复位范围再保存',
});
return;
}
const obj = form.getFieldsValue();
let aa = '';
if (Array.isArray(obj.areaName)) {
......@@ -422,13 +522,16 @@ const Map = props => {
}
const jsConfig = {
extent: form.getFieldValue('extent'),
customPointExtent: obj.customPointExtent,
areaName: aa,
boundColor: list,
boundWidth: `${obj.boundWidth}px`,
backgroundColor: obj.backgroundColor,
backgroundOpacity: obj.backgroundOpacity / 100,
exportScheme: obj.exportScheme == '' ? 'pandagis' : obj.exportScheme,
customFlag: obj.customFlag,
};
console.log(jsConfig);
SetServiceConfig({
schemename: obj.schemename,
terminalType: 'web',
......@@ -440,7 +543,10 @@ const Map = props => {
schemename: obj.schemename,
terminalType: 'phone',
isBaseMap: false,
jsonCfg: JSON.stringify({ extent: form.getFieldValue('extent') }),
jsonCfg: JSON.stringify({
extent: form.getFieldValue('extent'),
customPointExtent: obj.customPointExtent,
}),
}).then();
notification.success({
message: '提示',
......@@ -456,9 +562,12 @@ const Map = props => {
mapObj[index].areaName = obj.areaName[obj.areaName.length - 1];
mapObj[index].backgroundColor = obj.backgroundColor;
mapObj[index].extent = form.getFieldValue('extent');
mapObj[index].customPointExtent = obj.customPointExtent;
mapObj[index].exportScheme = obj.exportScheme;
mapObj[index].customFlag = obj.customFlag;
setSetttingsSave(mapObj);
Drawtool.deactivate(false);
setArea('');
setKeepSave('');
} else {
notification.error({
......@@ -485,7 +594,9 @@ const Map = props => {
if (e.target.value == 'arcgis') {
// 选择前端绘制时,如果界面有自定义的管网图就隐藏,打开组件自动生成前端管网图
mapInfo.current.map.layers.forEach(item => {
console.log(item.layerType);
if (item.layerType && item.layerType == 'PipenetLayertest') {
console.log(3333);
mapInfo.current.map.remove(item);
}
});
......@@ -496,6 +607,17 @@ const Map = props => {
setRadio(e.target.value);
};
const onChange1 = e => {
if (e.target.value == 0) {
console.log(form.getFieldsValue().areaName);
let data = form.getFieldsValue().areaName;
mapRef.current.changeAreaName(data[0]);
form.setFieldsValue({ customPointExtent: '' });
Drawtool.deactivate();
}
setRadio1(e.target.value);
};
const onSave = e => {
setKeepSave(e);
};
......@@ -515,6 +637,7 @@ const Map = props => {
form={form}
labelCol={{ span: 6 }}
wrapperCol={{ span: 18 }}
labelWrap
onFieldsChange={changeValue}
onFinish={onFinish}
>
......@@ -541,6 +664,30 @@ const Map = props => {
allowClear={false}
/>
</Form.Item>
<Form.Item label="自定义行政区" name="customFlag" style={{ marginBottom: '19px' }}>
<Radio.Group onChange={onChange1} value={radio1}>
<Radio value={0}></Radio>
<Radio value={1}></Radio>
</Radio.Group>
</Form.Item>
{radio1 == 0 ? (
<span />
) : (
<Form.Item label="自定义行政区范围" style={{ marginBottom: '19px' }}>
<div style={{ display: 'flex' }}>
<Form.Item name="customPointExtent" style={{ marginBottom: '0', width: '100%' }}>
<Input.TextArea style={{ resize: 'none', height: '76px' }} disabled />
</Form.Item>
<Tooltip title="自定义行政区范围框选">
<Button
style={{ height: '76px', borderLeft: 'none' }}
icon={<EnvironmentOutlined style={{ marginTop: '5px' }} />}
onClick={e => onTangleClick1(e)}
/>
</Tooltip>
</div>
</Form.Item>
)}
<Form.Item label="遮罩颜色" name="backgroundColor" style={{ marginBottom: '19px' }}>
<div className={styles.colorContent}>
......
......@@ -239,65 +239,68 @@ const AddProjectModal = props => {
<Form form={form} {...layout} onFinish={onFinish}>
{type === 'add' ? (
<>
<Row>
<Col span={14}>
<Item
labelCol={{ span: 7 }}
label={
<div>
<Tooltip title="同一分级底图中的不同基础底图级别不能相同">
<InfoCircleOutlined
style={{
color: 'rgb(24, 144, 255)',
marginLeft: '0px',
marginRight: '5px',
}}
/>
</Tooltip>
<span>最小级别</span>
</div>
}
name="zoom"
rules={[
{ required: true, message: '请输入最小级别' },
// {
// validator: (rule, value) => {
// const obj = form.getFieldsValue().zoom;
// console.log(obj);
// if (arr.indexOf(obj) != -1) {
// console.log(111);
// return Promise.reject('已存在该级别的基础底图');
// }
// return Promise.resolve();
// },
// },
]}
>
<InputNumber min={0} max={99} />
</Item>
</Col>
<Col span={10}>
<Item
labelCol={{ span: 10 }}
label="最大级别"
name="maxzoom"
rules={[
{
validator: (rule, value) => {
const obj = form.getFieldsValue().zoom;
const objmax = form.getFieldsValue().maxzoom;
if (objmax < obj) {
return Promise.reject('最大级别不能小于最小级别');
}
return Promise.resolve();
<Item label="底图级别" style={{ marginBottom: '0px' }}>
<Row>
<Col span={7}>
<Item
// label={
// <div>
// {/* <Tooltip title="同一分级底图中的不同基础底图级别不能相同">
// <InfoCircleOutlined
// style={{
// color: 'rgb(24, 144, 255)',
// marginLeft: '0px',
// marginRight: '5px',
// }}
// />
// </Tooltip> */}
// <span>最小级别</span>
// </div>
// }
name="zoom"
rules={[
{ required: true, message: '请输入最小级别' },
// {
// validator: (rule, value) => {
// const obj = form.getFieldsValue().zoom;
// console.log(obj);
// if (arr.indexOf(obj) != -1) {
// console.log(111);
// return Promise.reject('已存在该级别的基础底图');
// }
// return Promise.resolve();
// },
// },
]}
>
<InputNumber min={0} max={99} />
</Item>
</Col>
<Col span={2}>
<div style={{ marginTop: '4px' }}>~</div>
</Col>
<Col span={10}>
<Item
// label="最大级别"
name="maxzoom"
rules={[
{
validator: (rule, value) => {
const obj = form.getFieldsValue().zoom;
const objmax = form.getFieldsValue().maxzoom;
if (objmax < obj) {
return Promise.reject('最大级别不能小于最小级别');
}
return Promise.resolve();
},
},
},
]}
>
<InputNumber min={0} max={99} />
</Item>
</Col>
</Row>
]}
>
<InputNumber min={0} max={99} />
</Item>
</Col>
</Row>
</Item>
<Item
label="基础底图"
name="serverName"
......@@ -319,12 +322,14 @@ const AddProjectModal = props => {
<Item
label="名称"
name="schemename"
labelCol={{ span: 5 }}
rules={[{ required: true, message: '请输入名称' }]}
>
<Input placeholder="请输入名称" allowClear />
</Item>
<Item
label="默认基础底图"
labelCol={{ span: 5 }}
name="baseMap"
rules={[{ required: true, message: '请选择基础底图' }]}
>
......
......@@ -122,7 +122,7 @@ const BaseMap = props => {
title={title}
bodyStyle={{ width: '100%', minHeight: '100px' }}
style={{ top: '150px' }}
width="600px"
width="500px"
destroyOnClose
maskClosable={false}
cancelText="取消"
......@@ -132,68 +132,69 @@ const BaseMap = props => {
forceRender
getContainer={false}
>
<Form form={form} {...layout} onFinish={onSubmit}>
<Row>
<Col span={12}>
<Item
labelCol={{ span: 8 }}
label={
<div>
<Tooltip title="同一分级底图中的不同基础底图级别不能相同">
<InfoCircleOutlined
style={{
color: 'rgb(24, 144, 255)',
marginLeft: '0px',
marginRight: '5px',
}}
/>
</Tooltip>
<span>最小级别</span>
</div>
}
style={{ marginTop: '20px' }}
name="zoom"
rules={[
{ required: true, message: '请输入级别' },
// {
// validator: (rule, value) => {
// const obj = form.getFieldsValue().zoom;
// console.log(obj);
// if (arr.indexOf(obj) != -1) {
// console.log(111);
// return Promise.reject('已存在该级别的基础底图');
// }
// return Promise.resolve();
// },
// },
]}
>
<InputNumber min={0} />
</Item>
</Col>
<Col span={12}>
<Item
labelCol={{ span: 6 }}
label="最大级别"
name="maxzoom"
style={{ marginTop: '20px' }}
rules={[
{
validator: (rule, value) => {
const obj = form.getFieldsValue().zoom;
const objmax = form.getFieldsValue().maxzoom;
if (objmax < obj) {
return Promise.reject('最大级别不能小于最小级别');
}
return Promise.resolve();
<Form form={form} onFinish={onSubmit}>
<Item label="底图级别" style={{ marginTop: '20px' }} labelCol={{ span: 5 }}>
<Row>
<Col span={8}>
<Item
// label={
// <div>
// <Tooltip title="同一分级底图中的不同基础底图级别不能相同">
// <InfoCircleOutlined
// style={{
// color: 'rgb(24, 144, 255)',
// marginLeft: '0px',
// marginRight: '5px',
// }}
// />
// </Tooltip>
// <span>最小级别</span>
// </div>
// }
name="zoom"
rules={[
{ required: true, message: '请输入级别' },
// {
// validator: (rule, value) => {
// const obj = form.getFieldsValue().zoom;
// console.log(obj);
// if (arr.indexOf(obj) != -1) {
// console.log(111);
// return Promise.reject('已存在该级别的基础底图');
// }
// return Promise.resolve();
// },
// },
]}
>
<InputNumber min={0} />
</Item>
</Col>
<Col span={3}>
<div style={{ marginTop: '4px' }}>~</div>
</Col>
<Col span={10}>
<Item
name="maxzoom"
rules={[
{
validator: (rule, value) => {
const obj = form.getFieldsValue().zoom;
const objmax = form.getFieldsValue().maxzoom;
if (objmax < obj) {
return Promise.reject('最大级别不能小于最小级别');
}
return Promise.resolve();
},
},
},
]}
>
<InputNumber min={0} max={99} />
</Item>
</Col>
</Row>
]}
>
<InputNumber min={0} max={99} />
</Item>
</Col>
</Row>
</Item>
</Form>
</Modal>
);
......
......@@ -196,7 +196,7 @@ const AddModal = props => {
{...props}
onOk={() => onSubmit()}
confirmLoading={loading}
forceRender={true}
forceRender
getContainer={false}
>
{visible && (
......@@ -243,15 +243,18 @@ const AddModal = props => {
rules={[{ required: true, message: '请选择工作空间名称' }]}
>
<div className={styles.imgList}>
<Select onChange={handleWorkspace} value={workSpace} style={{ width: '365px' }}>
<Select
onChange={handleWorkspace}
value={workSpace}
style={{ width: '365px' }}
showSearch
>
{workList.length
? workList.map((item, index) => {
return (
<Option key={index} value={item}>
{item}
</Option>
);
})
? workList.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
<Button
......
......@@ -135,8 +135,8 @@ const AddModal = props => {
form.resetFields();
let req1 = GetbaseMapschemeName();
let req2 = GetVectorService();
let pipeArr = [],
baseMap = [];
let pipeArr = [];
let baseMap = [];
Promise.all([req1, req2]).then(res => {
if (res[0].code == '0') {
(res[0].data || []).map(item => {
......@@ -206,7 +206,7 @@ const AddModal = props => {
{...props}
onOk={() => onSubmit()}
confirmLoading={loading}
forceRender={true}
forceRender
getContainer={false}
>
{visible && (
......@@ -215,13 +215,11 @@ const AddModal = props => {
<Item label="分级底图" name="serverName">
<Select onChange={handleChange}>
{serviceList.length
? serviceList.map((item, index) => {
return (
<Option key={index} value={item}>
{item}
</Option>
);
})
? serviceList.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
</Item>
......@@ -246,15 +244,13 @@ const AddModal = props => {
<Input placeholder="请输入方案名" allowClear />
</Item>
<Item label="管网" name="servicename" placeholder="请选择管网">
<Select onChange={handleService}>
<Select onChange={handleService} showSearch>
{pipeArr.length
? pipeArr.map((item, index) => {
return (
<Option key={index} value={item}>
{item}
</Option>
);
})
? pipeArr.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
</Item>
......@@ -278,13 +274,11 @@ const AddModal = props => {
>
<Select onChange={handleBaseMap}>
{baseMap.length
? baseMap.map((item, index) => {
return (
<Option key={index} value={item}>
{item}
</Option>
);
})
? baseMap.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
</Item>
......@@ -296,13 +290,11 @@ const AddModal = props => {
>
<Select onChange={handleBaseMap}>
{keepData.length
? keepData.map((item, index) => {
return (
<Option key={index} value={item}>
{item}
</Option>
);
})
? keepData.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
</Item>
......
......@@ -343,7 +343,7 @@ const WebConfigPage = props => {
</strong>
{tabPaneItem.existMapComponent < 9 && (
<Button type="primary" onClick={() => SyncMap(tabPaneItem)}>
同步地图组件
一键修复
</Button>
)}
</div>
......
......@@ -9,7 +9,8 @@ import { get, post, PUBLISH_SERVICE, CITY_SERVICE } from '@/services/index';
// 检查表类型重分组
export const checkTableType = param => get(`${PUBLISH_SERVICE}/CaseManage/CheckTableType`, param);
// 执行重分组表类型
export const regroupTableType = param => get(`${PUBLISH_SERVICE}/CaseManage/RegroupTableType`, param);
export const regroupTableType = param =>
get(`${PUBLISH_SERVICE}/CaseManage/RegroupTableType`, param);
// 1.获取所有已附加的表
// export const CM_Table_LoadTable = param => get(`${PUBLISH_SERVICE}/CaseManage/LoadTable`, param);
export const CM_Table_LoadTable = param => get(`${PUBLISH_SERVICE}/CaseManage/LoadTableV2`, param);
......@@ -77,3 +78,7 @@ export const updateTablePost = param => post(`${PUBLISH_SERVICE}/CaseManage/Upda
// 加载台账
export const LoadLedgers = query =>
get(`${PUBLISH_SERVICE}/WorkOrderCenter/GetCM_Ledger_LoadLedgers`, query);
// 获取各类表的的默认字段集合
export const GetDefaultTableFields = query =>
get(`${PUBLISH_SERVICE}/CaseManage/GetDefaultTableFields`, query);
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