@vtx/ol-map 2.0.0-beta.12 → 2.0.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-2.js","names":["_react","_interopRequireWildcard","require","_antd","_Modal","_interopRequireDefault","_html2canvas","_interaction","_Vector","_Tile","_Image","_Vector2","_Draw","_Draw2","_useProps2","_olMap","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_createForOfIteratorHelper","length","_n","F","s","done","value","a","u","next","_regenerator","toStringTag","c","prototype","Generator","create","_regeneratorDefine2","p","y","G","v","d","bind","l","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","displayName","w","m","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","ownKeys","keys","getOwnPropertySymbols","filter","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","pageSizeOptions","pageSizeMap","A4","width","height","A3","A2","A1","A0","DIMENSION_DPI","EXPORT_DPI","PREVIEW_HEIGHT","PREVIEW_WIDTH","DIMENSION_INPUT_DEBOUNCE","pxToMm","px","dpi","undefined","mmToPx","mm","mmToPt","isValidExtent","extent","every","item","isFinite","calcMetricsFromZoom","view","zoom","resolution","getResolutionForZoom","getResolution","geoWidth","geoHeight","pixelWidth","pixelHeight","widthMm","heightMm","ratio","calcSplitPlan","_ref","totalWidthMm","totalHeightMm","pageSize","_ref$overlapMargin","overlapMargin","paper","safeOverlap","Math","max","stepX","stepY","cols","ceil","rows","sheets","row","col","xMm","yMm","min","id","concat","index","isPartial","paperWidthMm","paperHeightMm","totalSheets","buildSheetExtent","sheet","plan","totalExtent","_totalExtent","minX","minY","maxX","maxY","xScale","yScale","left","right","top","bottom","buildSheetFrameExtent","_totalExtent2","buildPreviewFrameExtent","_totalExtent3","frameWidthMm","frameHeightMm","cloneVectorSource","source","getFeatures","VectorSource","features","map","feature","clone","cloneLayer","layer","_layer$getOpacity","_layer$getVisible","_layer$getZIndex","_layer$getExtent","common","opacity","getOpacity","visible","getVisible","zIndex","getZIndex","getExtent","VectorLayer","clonedLayer","getSource","style","getStyle","TileLayer","ImageLayer","clearClonedLayers","mapInstance","getLayers","getArray","removeLayer","syncBusinessLayers","sourceMap","targetMap","excludeLayer","_layer$getVisible2","addLayer","waitNextFrame","requestAnimationFrame","waitMapRender","_mapInstance$renderSy","finish","once","setTimeout","renderSync","captureDomCanvas","_ref2","_callee","dom","_context","html2canvas","useCORS","allowTaint","backgroundColor","scale","_x","_x2","_x3","dataUrlToUint8Array","dataUrl","base64","split","binary","atob","bytes","Uint8Array","charCodeAt","createPdfFromImages","_ref3","images","pageWidthMm","pageHeightMm","title","encoder","TextEncoder","pageWidthPt","pageHeightPt","chunks","size","pushString","encode","pushBytes","objectStarts","beginObject","endObject","pageRefs","nextObjectId","imageBytes","url","pageId","contentId","imageId","imageName","content","pagesOffset","join","xrefOffset","offset","padStart","blob","Blob","type","URL","createObjectURL","document","createElement","href","download","decodeURIComponent","body","appendChild","click","removeChild","revokeObjectURL","_default","props","_splitPlan$sheets2","onClose","_useProps","useProps","TextEnum","_Form$useForm","Form","useForm","_Form$useForm2","form","_useState","useState","_useState2","previewVisible","setPreviewVisible","_useState3","_useState4","sheetVisible","setSheetVisible","_useState5","_useState6","formVal","setFormVal","_useState7","_useState8","metrics","setMetrics","_useState9","_useState0","setTotalWidthMm","_useState1","_useState10","setTotalHeightMm","_useState11","_useState12","widthInputMm","setWidthInputMm","_useState13","_useState14","heightInputMm","setHeightInputMm","_useState15","_useState16","previewReady","setPreviewReady","_useState17","_useState18","previewImage","setPreviewImage","_useState19","_useState20","sheetImages","setSheetImages","_useState21","_useState22","selectedSheetIds","setSelectedSheetIds","_useState23","_useState24","generating","setGenerating","_useState25","_useState26","previewMapVersion","setPreviewMapVersion","drawTool","useRef","boxExtentRef","boxLayerRef","exportMapRef","exportStageRef","renderLayersSyncedRef","previewRenderSeqRef","previewRenderTimerRef","dimensionChangeTimerRef","_useState27","_useState28","exportSize","setExportSize","useEffect","setFieldsValue","range","boxSource","boxLayer","drawStyle","tool","Draw","geometryFunction","createBox","current","setActive","on","clear","showTip","clickAgainToEnd","event","getGeometry","leftClickToStart","addInteraction","clearTimeout","removeInteraction","hideTip","splitPlan","useMemo","previewFrameExtent","previewFramePixels","pixelsPerMmX","pixelsPerMmY","selectedRangeCoverage","widthPercent","heightPercent","handleRangeChange","_drawTool$current","_boxLayerRef$current","handleExportMapCreated","exportMap","getInteractions","ensureRenderMapLayers","handleSubmit","values","_map$getView$getZoom","_map$getView","getView","calculateExtent","getSize","round","getZoom","nextMetrics","console","log","rangeMode","printZoom","toFixed","handleWidthChange","nextWidth","nextHeight","handleHeightChange","renderSheetImage","_ref4","_callee2","_exportMapRef$current","_exportMapRef$current2","sheetExtent","sheetFrameExtent","frameWidthPx","frameHeightPx","pageWidthPx","pageHeightPx","contentWidthPx","contentHeightPx","center","sourceCanvas","pageCanvas","ctx","_context2","sheetId","sheetIndex","sheetWidthMm","sheetHeightMm","updateSize","setCenter","setZoom","getContext","fillStyle","fillRect","drawImage","toDataURL","_x4","renderPreviewImage","_ref5","_callee3","seq","_exportMapRef$current3","_exportMapRef$current4","canvas","_context3","_x5","handleGenerateSheets","_ref6","_callee4","_splitPlan$sheets","_iterator","_step","image","_t","_context4","handleExportPdf","selectedImages","includes","toolMapSheetPrint","labelCol","span","wrapperCol","onFinish","Item","label","mapTitle","rules","required","message","pleaseInputTitle","Input","placeholder","pleaseInput","downloadRange","pleaseSelect","Select","allowClear","onChange","options","currentView","manualBoxSelect","InputNumber","precision","Button","htmlType","Modal","open","preview","onCancel","onOk","okText","cancelText","cancel","getViewport","clientWidth","centered","wrapClassName","confirmLoading","destroyOnHidden","display","gap","alignItems","marginBottom","color","marginLeft","position","overflow","background","border","inset","justifyContent","Spin","transformOrigin","src","alt","pointerEvents","boxSizing","key","padding","fontSize","Checkbox","indeterminate","checked","target","gridTemplateColumns","maxHeight","borderRadius","ref","Map","tk","hidePopupTable","createdMap"],"sources":["tools/Toolbox/MapSheetPrint/index-2.js"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Modal, Button, Select, Form, Input, InputNumber, Checkbox, Spin } from 'antd';\nimport DivModal from '../../components/Modal';\nimport html2canvas from 'html2canvas';\nimport { Draw } from 'ol/interaction';\nimport VectorLayer from 'ol/layer/Vector';\nimport TileLayer from 'ol/layer/Tile';\nimport ImageLayer from 'ol/layer/Image';\nimport VectorSource from 'ol/source/Vector';\nimport { createBox } from 'ol/interaction/Draw';\nimport { drawStyle } from '../../Utils/Draw';\nimport useProps from '../../../use-props';\nimport { Map as OlMapComponent } from '@vtx/ol-map';\nimport './index.less';\n\nconst pageSizeOptions = ['A4', 'A3', 'A2', 'A1', 'A0'];\n\nconst pageSizeMap = {\n A4: { width: 210, height: 297 },\n A3: { width: 297, height: 420 },\n A2: { width: 420, height: 594 },\n A1: { width: 594, height: 841 },\n A0: { width: 841, height: 1189 },\n};\n\nconst DIMENSION_DPI = 96;\nconst EXPORT_DPI = 144;\nconst PREVIEW_HEIGHT = 610;\nconst PREVIEW_WIDTH = 980;\nconst DIMENSION_INPUT_DEBOUNCE = 300;\n\nconst pxToMm = (px, dpi = DIMENSION_DPI) => (px * 25.4) / dpi;\nconst mmToPx = (mm, dpi = EXPORT_DPI) => (mm * dpi) / 25.4;\nconst mmToPt = mm => (mm * 72) / 25.4;\n\nconst isValidExtent = extent => {\n return (\n Array.isArray(extent) &&\n extent.length === 4 &&\n extent.every(item => Number.isFinite(item)) &&\n extent[2] > extent[0] &&\n extent[3] > extent[1]\n );\n};\n\n// 按指定层级把地理范围换算成屏幕像素和毫米尺寸。\n// 这里算出来的宽高是后面分幅、预览和导出的统一基础数据。\nconst calcMetricsFromZoom = (extent, view, zoom) => {\n if (!isValidExtent(extent)) {\n return null;\n }\n\n const resolution = view.getResolutionForZoom(zoom) || view.getResolution();\n const geoWidth = extent[2] - extent[0];\n const geoHeight = extent[3] - extent[1];\n const pixelWidth = geoWidth / resolution;\n const pixelHeight = geoHeight / resolution;\n const widthMm = pxToMm(pixelWidth, DIMENSION_DPI);\n const heightMm = pxToMm(pixelHeight, DIMENSION_DPI);\n\n return {\n extent,\n zoom,\n resolution,\n geoWidth,\n geoHeight,\n pixelWidth,\n pixelHeight,\n widthMm,\n heightMm,\n ratio: heightMm / widthMm,\n };\n};\n\n// 根据总宽高、纸张尺寸和重叠边距,计算需要切成多少张纸,\n// 以及每一张纸在整幅图中的毫米位置。\nconst calcSplitPlan = ({ totalWidthMm, totalHeightMm, pageSize, overlapMargin = 0 }) => {\n const paper = pageSizeMap[pageSize];\n if (!paper || !totalWidthMm || !totalHeightMm) {\n return null;\n }\n\n const safeOverlap = Math.max(0, Number(overlapMargin) || 0);\n const stepX = Math.max(1, paper.width - safeOverlap);\n const stepY = Math.max(1, paper.height - safeOverlap);\n const cols = Math.max(1, Math.ceil(totalWidthMm / stepX));\n const rows = Math.max(1, Math.ceil(totalHeightMm / stepY));\n const sheets = [];\n\n for (let row = 0; row < rows; row++) {\n for (let col = 0; col < cols; col++) {\n const xMm = col * stepX;\n const yMm = row * stepY;\n const widthMm = Math.min(paper.width, totalWidthMm - xMm);\n const heightMm = Math.min(paper.height, totalHeightMm - yMm);\n\n sheets.push({\n id: `${row + 1}-${col + 1}`,\n index: row * cols + col + 1,\n row: row + 1,\n col: col + 1,\n xMm,\n yMm,\n widthMm,\n heightMm,\n isPartial: widthMm < paper.width || heightMm < paper.height,\n });\n }\n }\n\n return {\n paperWidthMm: paper.width,\n paperHeightMm: paper.height,\n overlapMargin: safeOverlap,\n totalWidthMm,\n totalHeightMm,\n stepX,\n stepY,\n cols,\n rows,\n totalSheets: sheets.length,\n sheets,\n };\n};\n\n// 把某一张分幅纸在整幅图中的毫米位置,映射回真实地图 extent。\nconst buildSheetExtent = (sheet, plan, totalExtent) => {\n const [minX, minY, maxX, maxY] = totalExtent;\n const xScale = (maxX - minX) / plan.totalWidthMm;\n const yScale = (maxY - minY) / plan.totalHeightMm;\n const left = minX + sheet.xMm * xScale;\n const right = left + sheet.widthMm * xScale;\n const top = maxY - sheet.yMm * yScale;\n const bottom = top - sheet.heightMm * yScale;\n\n return [left, bottom, right, top];\n};\n\n// 单张纸的固定视窗范围。这里始终按完整纸张大小取视野,\n// 末页如果内容不足一整张,超出的部分在最终图片里留白处理。\nconst buildSheetFrameExtent = (sheet, plan, totalExtent) => {\n const [minX, minY, maxX, maxY] = totalExtent;\n const xScale = (maxX - minX) / plan.totalWidthMm;\n const yScale = (maxY - minY) / plan.totalHeightMm;\n const left = minX + sheet.xMm * xScale;\n const right = left + plan.paperWidthMm * xScale;\n const top = maxY - sheet.yMm * yScale;\n const bottom = top - plan.paperHeightMm * yScale;\n\n return [left, bottom, right, top];\n};\n\n// 预览区显示的是“完整纸张网格”的外框,不是仅仅显示用户选中的蓝框范围。\n// 这样最后一张纸即使没铺满,虚线纸张尺寸也仍然是完整的。\nconst buildPreviewFrameExtent = (plan, totalExtent) => {\n if (!plan || !isValidExtent(totalExtent)) {\n return null;\n }\n\n const [minX, minY, maxX, maxY] = totalExtent;\n const xScale = (maxX - minX) / plan.totalWidthMm;\n const yScale = (maxY - minY) / plan.totalHeightMm;\n const frameWidthMm = plan.cols * plan.paperWidthMm;\n const frameHeightMm = plan.rows * plan.paperHeightMm;\n\n return [\n minX,\n maxY - frameHeightMm * yScale,\n minX + frameWidthMm * xScale,\n maxY,\n ];\n};\n\n// 预览/导出地图会复用原地图的图层源。\n// 矢量图层这里做一份克隆,避免直接操作原图层上的 feature。\nconst cloneVectorSource = source => {\n if (!source?.getFeatures) {\n return source;\n }\n\n return new VectorSource({\n features: source.getFeatures().map(feature => feature.clone()),\n });\n};\n\n// 这里只同步常见业务图层到隐藏导出地图中,\n// 不把框选图层、高亮层和底图标注层混进去,避免预览污染。\nconst cloneLayer = layer => {\n const common = {\n opacity: layer.getOpacity?.(),\n visible: layer.getVisible?.(),\n zIndex: layer.getZIndex?.(),\n extent: layer.getExtent?.(),\n };\n\n if (layer instanceof VectorLayer) {\n const clonedLayer = new VectorLayer({\n ...common,\n source: cloneVectorSource(layer.getSource()),\n style: layer.getStyle(),\n });\n clonedLayer.set('__sheetPrintClone', true);\n return clonedLayer;\n }\n\n if (layer instanceof TileLayer) {\n const clonedLayer = new TileLayer({\n ...common,\n source: layer.getSource(),\n });\n clonedLayer.set('__sheetPrintClone', true);\n return clonedLayer;\n }\n\n if (layer instanceof ImageLayer) {\n const clonedLayer = new ImageLayer({\n ...common,\n source: layer.getSource(),\n });\n clonedLayer.set('__sheetPrintClone', true);\n return clonedLayer;\n }\n\n return null;\n};\n\nconst clearClonedLayers = mapInstance => {\n if (!mapInstance) {\n return;\n }\n\n mapInstance\n .getLayers()\n .getArray()\n .filter(layer => layer.get('__sheetPrintClone'))\n .forEach(layer => mapInstance.removeLayer(layer));\n};\n\n// 隐藏导出地图和主地图不是同一个实例,所以需要把当前可见业务图层同步过去。\nconst syncBusinessLayers = (sourceMap, targetMap, excludeLayer) => {\n if (!sourceMap || !targetMap) {\n return;\n }\n\n clearClonedLayers(targetMap);\n\n sourceMap\n .getLayers()\n .getArray()\n .filter(layer => {\n if (layer === excludeLayer) {\n return false;\n }\n if (!layer?.getVisible?.()) {\n return false;\n }\n if (layer.get('key') === 'Highlight') {\n return false;\n }\n if (layer.get('key') === '__TDT_TILE' || layer.get('key') === '__TDT_MARK') {\n return false;\n }\n\n return (\n layer instanceof VectorLayer || layer instanceof TileLayer || layer instanceof ImageLayer\n );\n })\n .forEach(layer => {\n const clonedLayer = cloneLayer(layer);\n if (clonedLayer) {\n targetMap.addLayer(clonedLayer);\n }\n });\n};\n\nconst waitNextFrame = () =>\n new Promise(resolve => {\n requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n });\n });\n\nconst waitMapRender = mapInstance =>\n new Promise(resolve => {\n if (!mapInstance) {\n resolve();\n return;\n }\n\n let done = false;\n const finish = () => {\n if (done) {\n return;\n }\n done = true;\n resolve();\n };\n\n mapInstance.once('rendercomplete', finish);\n setTimeout(finish, 600);\n mapInstance.renderSync?.();\n });\n\n// 统一用 html2canvas 截取隐藏导出地图的 DOM,\n// 预览图和最终分幅图片都走这条截图链路。\nconst captureDomCanvas = async (dom, width, height) => {\n return html2canvas(dom, {\n width,\n height,\n useCORS: true,\n allowTaint: false,\n backgroundColor: '#ffffff',\n scale: 1,\n });\n};\n\nconst dataUrlToUint8Array = dataUrl => {\n const base64 = dataUrl.split(',')[1];\n const binary = atob(base64);\n const bytes = new Uint8Array(binary.length);\n\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n\n return bytes;\n};\n\n// 这里没有依赖第三方 PDF 库,直接把多张 jpeg 包成一个简单 PDF。\nconst createPdfFromImages = ({ images, pageWidthMm, pageHeightMm, title }) => {\n const encoder = new TextEncoder();\n const pageWidthPt = mmToPt(pageWidthMm);\n const pageHeightPt = mmToPt(pageHeightMm);\n const chunks = [];\n let size = 0;\n\n const pushString = value => {\n const bytes = encoder.encode(value);\n chunks.push(bytes);\n size += bytes.length;\n };\n\n const pushBytes = value => {\n chunks.push(value);\n size += value.length;\n };\n\n const objectStarts = [];\n const beginObject = id => {\n objectStarts[id] = size;\n pushString(`${id} 0 obj\\n`);\n };\n\n const endObject = () => {\n pushString('\\nendobj\\n');\n };\n\n pushString('%PDF-1.4\\n');\n\n beginObject(1);\n pushString('<< /Type /Catalog /Pages 2 0 R >>');\n endObject();\n\n const pageRefs = [];\n let nextObjectId = 3;\n\n images.forEach((item, index) => {\n const imageBytes = dataUrlToUint8Array(item.url);\n const pageId = nextObjectId;\n const contentId = nextObjectId + 1;\n const imageId = nextObjectId + 2;\n const imageName = `/Im${index + 1}`;\n const content = `q\\n${pageWidthPt} 0 0 ${pageHeightPt} 0 0 cm\\n${imageName} Do\\nQ`;\n pageRefs.push(`${pageId} 0 R`);\n\n beginObject(pageId);\n pushString(\n `<< /Type /Page /Parent 2 0 R /MediaBox [0 0 ${pageWidthPt} ${pageHeightPt}] /Resources << /XObject << ${imageName} ${imageId} 0 R >> >> /Contents ${contentId} 0 R >>`,\n );\n endObject();\n\n beginObject(contentId);\n pushString(`<< /Length ${content.length} >>\\nstream\\n${content}\\nendstream`);\n endObject();\n\n beginObject(imageId);\n pushString(\n `<< /Type /XObject /Subtype /Image /Width ${item.pixelWidth} /Height ${item.pixelHeight} /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length ${imageBytes.length} >>\\nstream\\n`,\n );\n pushBytes(imageBytes);\n pushString('\\nendstream');\n endObject();\n\n nextObjectId += 3;\n });\n\n const pagesOffset = size;\n objectStarts[2] = pagesOffset;\n pushString(\n `2 0 obj\\n<< /Type /Pages /Count ${images.length} /Kids [${pageRefs.join(' ')}] >>\\nendobj\\n`,\n );\n\n const xrefOffset = size;\n pushString(`xref\\n0 ${nextObjectId}\\n0000000000 65535 f \\n`);\n for (let i = 1; i < nextObjectId; i++) {\n const offset = objectStarts[i] || 0;\n pushString(`${String(offset).padStart(10, '0')} 00000 n \\n`);\n }\n pushString(`trailer\\n<< /Size ${nextObjectId} /Root 1 0 R >>\\nstartxref\\n${xrefOffset}\\n%%EOF`);\n\n const blob = new Blob(chunks, { type: 'application/pdf' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = decodeURIComponent(`${title || 'map-sheet-print'}.pdf`);\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n setTimeout(() => URL.revokeObjectURL(url), 1000);\n};\n\nexport default function(props) {\n const { onClose } = props;\n const { map, TextEnum } = useProps();\n const [form] = Form.useForm();\n const [previewVisible, setPreviewVisible] = useState(false);\n const [sheetVisible, setSheetVisible] = useState(false);\n const [formVal, setFormVal] = useState({});\n const [metrics, setMetrics] = useState(null);\n const [totalWidthMm, setTotalWidthMm] = useState(null);\n const [totalHeightMm, setTotalHeightMm] = useState(null);\n const [widthInputMm, setWidthInputMm] = useState(null);\n const [heightInputMm, setHeightInputMm] = useState(null);\n const [previewReady, setPreviewReady] = useState(false);\n const [previewImage, setPreviewImage] = useState('');\n const [sheetImages, setSheetImages] = useState([]);\n const [selectedSheetIds, setSelectedSheetIds] = useState([]);\n const [generating, setGenerating] = useState(false);\n const [previewMapVersion, setPreviewMapVersion] = useState(0);\n const drawTool = useRef(null);\n const boxExtentRef = useRef(null);\n const boxLayerRef = useRef(null);\n const exportMapRef = useRef(null);\n const exportStageRef = useRef(null);\n const renderLayersSyncedRef = useRef(false);\n const previewRenderSeqRef = useRef(0);\n const previewRenderTimerRef = useRef(null);\n const dimensionChangeTimerRef = useRef(null);\n const [exportSize, setExportSize] = useState({ width: 1, height: 1 });\n\n useEffect(() => {\n form.setFieldsValue({\n range: '1',\n pageSize: 'A4',\n overlapMargin: 0,\n });\n }, []);\n\n useEffect(() => {\n const boxSource = new VectorSource();\n const boxLayer = new VectorLayer({\n source: boxSource,\n style: drawStyle(),\n zIndex: 9999,\n });\n const tool = new Draw({\n source: boxSource,\n type: 'Circle',\n style: feature => drawStyle(feature),\n geometryFunction: createBox(),\n });\n\n boxLayerRef.current = boxLayer;\n drawTool.current = tool;\n tool.setActive(false);\n\n tool.on('drawstart', () => {\n boxSource.clear();\n map.showTip(TextEnum.clickAgainToEnd);\n });\n\n tool.on('drawend', event => {\n const extent = event.feature.getGeometry().getExtent();\n boxExtentRef.current = extent;\n map.showTip(TextEnum.leftClickToStart);\n });\n\n map.addLayer(boxLayer);\n map.addInteraction(tool);\n\n return () => {\n if (previewRenderTimerRef.current) {\n clearTimeout(previewRenderTimerRef.current);\n }\n if (dimensionChangeTimerRef.current) {\n clearTimeout(dimensionChangeTimerRef.current);\n }\n boxSource.clear();\n map.removeLayer(boxLayer);\n map.removeInteraction(tool);\n map.hideTip();\n };\n }, []);\n\n const splitPlan = useMemo(() => {\n return calcSplitPlan({\n totalWidthMm,\n totalHeightMm,\n pageSize: formVal.pageSize,\n overlapMargin: formVal.overlapMargin,\n });\n }, [totalWidthMm, totalHeightMm, formVal.pageSize, formVal.overlapMargin]);\n\n const previewFrameExtent = useMemo(() => {\n return buildPreviewFrameExtent(splitPlan, metrics?.extent);\n }, [splitPlan, metrics?.extent]);\n\n const previewFramePixels = useMemo(() => {\n if (!splitPlan || !totalWidthMm || !totalHeightMm || !metrics?.pixelWidth || !metrics?.pixelHeight) {\n return null;\n }\n\n // 这里必须使用“当前编辑后的总宽高”来反推像素密度。\n // 如果继续用初始的 metrics.widthMm / metrics.heightMm,\n // 一旦用户改了宽高,预览网格和单张导出就会不在同一套比例尺上。\n const pixelsPerMmX = metrics.pixelWidth / totalWidthMm;\n const pixelsPerMmY = metrics.pixelHeight / totalHeightMm;\n\n return {\n width: splitPlan.cols * splitPlan.paperWidthMm * pixelsPerMmX,\n height: splitPlan.rows * splitPlan.paperHeightMm * pixelsPerMmY,\n };\n }, [splitPlan, metrics, totalWidthMm, totalHeightMm]);\n\n const selectedRangeCoverage = useMemo(() => {\n if (!splitPlan || !totalWidthMm || !totalHeightMm) {\n return null;\n }\n\n return {\n widthPercent: (totalWidthMm / (splitPlan.cols * splitPlan.paperWidthMm)) * 100,\n heightPercent: (totalHeightMm / (splitPlan.rows * splitPlan.paperHeightMm)) * 100,\n };\n }, [splitPlan, totalWidthMm, totalHeightMm]);\n\n useEffect(() => {\n if (splitPlan) {\n setSelectedSheetIds(splitPlan.sheets.map(item => item.id));\n }\n }, [splitPlan]);\n\n useEffect(() => {\n setWidthInputMm(totalWidthMm);\n }, [totalWidthMm]);\n\n useEffect(() => {\n setHeightInputMm(totalHeightMm);\n }, [totalHeightMm]);\n\n const handleRangeChange = value => {\n if (value === '1') {\n map.hideTip();\n boxLayerRef.current?.getSource()?.clear();\n boxExtentRef.current = null;\n } else {\n map.showTip(TextEnum.leftClickToStart);\n }\n\n drawTool.current?.setActive(value === '2');\n };\n\n const handleExportMapCreated = exportMap => {\n exportMapRef.current = exportMap;\n exportMap.getInteractions().forEach(item => item.setActive(false));\n syncBusinessLayers(map, exportMap, boxLayerRef.current);\n };\n\n // 隐藏导出地图只在第一次真正需要时补同步业务图层,\n // 后面同一轮预览/导出尽量复用,避免频繁清空重建。\n const ensureRenderMapLayers = () => {\n if (!exportMapRef.current) {\n return false;\n }\n\n if (!renderLayersSyncedRef.current) {\n syncBusinessLayers(map, exportMapRef.current, boxLayerRef.current);\n renderLayersSyncedRef.current = true;\n }\n\n return true;\n };\n\n // 点击“执行分幅”时,直接读取外部主地图当前层级,\n // 也就是“外面地图是什么层级,进去就按什么层级算”。\n const handleSubmit = values => {\n const extent =\n values.range === '1'\n ? map.getView().calculateExtent(map.getSize())\n : boxExtentRef.current;\n\n if (!isValidExtent(extent)) {\n return;\n }\n\n const zoom = Math.round(map.getView().getZoom?.() || 0);\n const nextMetrics = calcMetricsFromZoom(extent, map.getView(), zoom);\n if (!nextMetrics) {\n return;\n }\n\n console.log('[MapSheetPrint] 执行分幅参数', {\n rangeMode: values.range,\n extent,\n zoom,\n pageSize: values.pageSize,\n overlapMargin: values.overlapMargin,\n metrics: {\n geoWidth: nextMetrics.geoWidth,\n geoHeight: nextMetrics.geoHeight,\n pixelWidth: nextMetrics.pixelWidth,\n pixelHeight: nextMetrics.pixelHeight,\n widthMm: nextMetrics.widthMm,\n heightMm: nextMetrics.heightMm,\n ratio: nextMetrics.ratio,\n },\n });\n\n setFormVal({\n ...values,\n printZoom: zoom,\n });\n setMetrics(nextMetrics);\n setTotalWidthMm(Number(nextMetrics.widthMm.toFixed(3)));\n setTotalHeightMm(Number(nextMetrics.heightMm.toFixed(3)));\n setWidthInputMm(Number(nextMetrics.widthMm.toFixed(3)));\n setHeightInputMm(Number(nextMetrics.heightMm.toFixed(3)));\n setPreviewReady(false);\n setPreviewImage('');\n renderLayersSyncedRef.current = false;\n setPreviewMapVersion(current => current + 1);\n setSheetImages([]);\n setSheetVisible(false);\n setPreviewVisible(true);\n };\n\n const handleWidthChange = value => {\n if (!metrics || !value) {\n return;\n }\n\n const nextWidth = Number(value);\n const nextHeight = Number((nextWidth * metrics.ratio).toFixed(3));\n setWidthInputMm(nextWidth);\n setHeightInputMm(nextHeight);\n\n if (dimensionChangeTimerRef.current) {\n clearTimeout(dimensionChangeTimerRef.current);\n }\n dimensionChangeTimerRef.current = setTimeout(() => {\n setTotalWidthMm(nextWidth);\n setTotalHeightMm(nextHeight);\n }, DIMENSION_INPUT_DEBOUNCE);\n };\n\n const handleHeightChange = value => {\n if (!metrics || !value) {\n return;\n }\n\n const nextHeight = Number(value);\n const nextWidth = Number((nextHeight / metrics.ratio).toFixed(3));\n setHeightInputMm(nextHeight);\n setWidthInputMm(nextWidth);\n\n if (dimensionChangeTimerRef.current) {\n clearTimeout(dimensionChangeTimerRef.current);\n }\n dimensionChangeTimerRef.current = setTimeout(() => {\n setTotalHeightMm(nextHeight);\n setTotalWidthMm(nextWidth);\n }, DIMENSION_INPUT_DEBOUNCE);\n };\n\n const renderSheetImage = async sheet => {\n if (!metrics?.extent || !splitPlan || !exportMapRef.current || !exportStageRef.current) {\n return null;\n }\n\n // 第二步导出必须和第一步预览使用同一套“完整纸张网格视窗”,\n // 不能因为末页内容不足就缩小 fit 范围,否则两步看到的结果会不一致。\n const sheetExtent = buildSheetExtent(sheet, splitPlan, metrics.extent);\n const sheetFrameExtent = buildSheetFrameExtent(sheet, splitPlan, metrics.extent);\n // 单张图幅的渲染像素尺寸也要跟“当前编辑后的总宽高”保持一致,\n // 否则一改宽高,导出图幅会沿用旧比例,导致重复和漏缝。\n const pixelsPerMmX = metrics.pixelWidth / totalWidthMm;\n const pixelsPerMmY = metrics.pixelHeight / totalHeightMm;\n const frameWidthPx = Math.max(1, Math.round(splitPlan.paperWidthMm * pixelsPerMmX));\n const frameHeightPx = Math.max(1, Math.round(splitPlan.paperHeightMm * pixelsPerMmY));\n const pageWidthPx = Math.max(1, Math.round(mmToPx(splitPlan.paperWidthMm, EXPORT_DPI)));\n const pageHeightPx = Math.max(1, Math.round(mmToPx(splitPlan.paperHeightMm, EXPORT_DPI)));\n const contentWidthPx = Math.max(1, Math.round(mmToPx(sheet.widthMm, EXPORT_DPI)));\n const contentHeightPx = Math.max(1, Math.round(mmToPx(sheet.heightMm, EXPORT_DPI)));\n\n console.log('[MapSheetPrint] 生成单张图幅', {\n sheetId: sheet.id,\n sheetIndex: sheet.index,\n sheetExtent,\n sheetFrameExtent,\n sheetWidthMm: sheet.widthMm,\n sheetHeightMm: sheet.heightMm,\n frameWidthPx,\n frameHeightPx,\n contentWidthPx,\n contentHeightPx,\n pageWidthPx,\n pageHeightPx,\n });\n\n // 这里隐藏导出地图的渲染像素尺寸必须和第一步预览保持同一套像素密度,\n // 否则同样的 zoom 下,视口越大看到的地理范围越大,就会出现图幅大量重叠。\n setExportSize({ width: frameWidthPx, height: frameHeightPx });\n await waitNextFrame();\n ensureRenderMapLayers();\n exportMapRef.current.updateSize?.();\n const view = exportMapRef.current.getView();\n const center = [\n (sheetFrameExtent[0] + sheetFrameExtent[2]) / 2,\n (sheetFrameExtent[1] + sheetFrameExtent[3]) / 2,\n ];\n view.setCenter(center);\n view.setZoom(metrics.zoom);\n await waitMapRender(exportMapRef.current);\n\n const sourceCanvas = await captureDomCanvas(\n exportStageRef.current,\n frameWidthPx,\n frameHeightPx,\n );\n const pageCanvas = document.createElement('canvas');\n pageCanvas.width = pageWidthPx;\n pageCanvas.height = pageHeightPx;\n const ctx = pageCanvas.getContext('2d');\n ctx.fillStyle = '#fff';\n ctx.fillRect(0, 0, pageWidthPx, pageHeightPx);\n ctx.drawImage(sourceCanvas, 0, 0, pageWidthPx, pageHeightPx);\n\n // 末列/末行不足一整张纸时,把超出真实选区的部分盖成白色,\n // 这样纸张尺寸保持完整,但内容范围仍然严格等于第一步的蓝框选区。\n if (contentWidthPx < pageWidthPx) {\n ctx.fillRect(contentWidthPx, 0, pageWidthPx - contentWidthPx, pageHeightPx);\n }\n if (contentHeightPx < pageHeightPx) {\n ctx.fillRect(0, contentHeightPx, pageWidthPx, pageHeightPx - contentHeightPx);\n }\n\n return {\n ...sheet,\n url: pageCanvas.toDataURL('image/jpeg', 0.92),\n pixelWidth: pageWidthPx,\n pixelHeight: pageHeightPx,\n };\n };\n\n // 预览图显示的是“整套纸张网格下的总览图”:\n // 蓝框表示真实选区,虚线表示每一张纸的边界。\n // 这里会按当前层级和纸张网格尺寸,重新驱动隐藏地图渲染一张总览图。\n const renderPreviewImage = async seq => {\n if (\n !previewVisible ||\n !metrics?.extent ||\n !previewFrameExtent ||\n !previewFramePixels ||\n !exportMapRef.current ||\n !exportStageRef.current\n ) {\n return;\n }\n\n console.log('[MapSheetPrint] 生成预览图', {\n seq,\n extent: metrics.extent,\n zoom: metrics.zoom,\n totalWidthMm,\n totalHeightMm,\n previewFrameExtent,\n previewFramePixels,\n splitPlan: splitPlan\n ? {\n cols: splitPlan.cols,\n rows: splitPlan.rows,\n totalSheets: splitPlan.totalSheets,\n paperWidthMm: splitPlan.paperWidthMm,\n paperHeightMm: splitPlan.paperHeightMm,\n stepX: splitPlan.stepX,\n stepY: splitPlan.stepY,\n }\n : null,\n });\n\n setExportSize({\n width: Math.max(1, Math.round(previewFramePixels.width)),\n height: Math.max(1, Math.round(previewFramePixels.height)),\n });\n await waitNextFrame();\n if (seq !== previewRenderSeqRef.current) {\n return;\n }\n if (!ensureRenderMapLayers()) {\n return;\n }\n\n exportMapRef.current.updateSize?.();\n const view = exportMapRef.current.getView();\n const center = [\n (previewFrameExtent[0] + previewFrameExtent[2]) / 2,\n (previewFrameExtent[1] + previewFrameExtent[3]) / 2,\n ];\n view.setCenter(center);\n view.setZoom(metrics.zoom);\n await waitMapRender(exportMapRef.current);\n await waitNextFrame();\n if (seq !== previewRenderSeqRef.current) {\n return;\n }\n\n const canvas = await captureDomCanvas(\n exportStageRef.current,\n Math.max(1, Math.round(previewFramePixels.width)),\n Math.max(1, Math.round(previewFramePixels.height)),\n );\n if (seq !== previewRenderSeqRef.current) {\n return;\n }\n setPreviewImage(canvas.toDataURL('image/jpeg', 0.92));\n setPreviewReady(true);\n };\n\n useEffect(() => {\n if (previewRenderTimerRef.current) {\n clearTimeout(previewRenderTimerRef.current);\n }\n\n if (!previewVisible) {\n return;\n }\n\n const seq = previewRenderSeqRef.current + 1;\n previewRenderSeqRef.current = seq;\n previewRenderTimerRef.current = setTimeout(() => {\n renderPreviewImage(seq);\n }, 120);\n\n return () => {\n if (previewRenderTimerRef.current) {\n clearTimeout(previewRenderTimerRef.current);\n }\n };\n }, [previewVisible, previewMapVersion, metrics?.zoom, previewFrameExtent, previewFramePixels]);\n\n useEffect(() => {\n if (!splitPlan) {\n return;\n }\n\n console.log('[MapSheetPrint] 分幅计算结果', {\n totalWidthMm,\n totalHeightMm,\n pageSize: formVal.pageSize,\n overlapMargin: formVal.overlapMargin,\n cols: splitPlan.cols,\n rows: splitPlan.rows,\n totalSheets: splitPlan.totalSheets,\n paperWidthMm: splitPlan.paperWidthMm,\n paperHeightMm: splitPlan.paperHeightMm,\n sheets: splitPlan.sheets.map(item => ({\n id: item.id,\n index: item.index,\n xMm: item.xMm,\n yMm: item.yMm,\n widthMm: item.widthMm,\n heightMm: item.heightMm,\n isPartial: item.isPartial,\n })),\n });\n }, [splitPlan, totalWidthMm, totalHeightMm, formVal.pageSize, formVal.overlapMargin]);\n\n const handleGenerateSheets = async () => {\n if (!splitPlan?.sheets?.length) {\n return;\n }\n\n setGenerating(true);\n try {\n const images = [];\n\n for (const sheet of splitPlan.sheets) {\n const image = await renderSheetImage(sheet);\n if (image) {\n images.push(image);\n }\n }\n\n setSheetImages(images);\n setSelectedSheetIds(images.map(item => item.id));\n setPreviewVisible(false);\n setSheetVisible(true);\n } finally {\n setGenerating(false);\n }\n };\n\n const handleExportPdf = () => {\n const selectedImages = sheetImages.filter(item => selectedSheetIds.includes(item.id));\n if (!selectedImages.length || !splitPlan) {\n return;\n }\n\n createPdfFromImages({\n images: selectedImages,\n pageWidthMm: splitPlan.paperWidthMm,\n pageHeightMm: splitPlan.paperHeightMm,\n title: formVal.title,\n });\n };\n\n return (\n <DivModal title={TextEnum.toolMapSheetPrint} onClose={onClose}>\n <Form\n form={form}\n name=\"mapSheetPrint\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n onFinish={handleSubmit}\n >\n <Form.Item\n label={TextEnum.mapTitle}\n name=\"title\"\n rules={[{ required: true, message: TextEnum.pleaseInputTitle }]}\n >\n <Input placeholder={TextEnum.pleaseInput} />\n </Form.Item>\n\n <Form.Item\n label={TextEnum.downloadRange}\n name=\"range\"\n rules={[{ required: true, message: TextEnum.pleaseSelect }]}\n >\n <Select\n placeholder={TextEnum.pleaseSelect}\n allowClear\n onChange={handleRangeChange}\n options={[\n { value: '1', label: TextEnum.currentView },\n { value: '2', label: TextEnum.manualBoxSelect },\n ]}\n />\n </Form.Item>\n\n <Form.Item\n label=\"纸张尺寸\"\n name=\"pageSize\"\n rules={[{ required: true, message: TextEnum.pleaseSelect }]}\n >\n <Select\n placeholder={TextEnum.pleaseSelect}\n allowClear\n options={pageSizeOptions.map(item => ({\n value: item,\n label: item,\n }))}\n />\n </Form.Item>\n\n <Form.Item label=\"重叠边距\" name=\"overlapMargin\">\n <InputNumber min={0} precision={0} style={{ width: 'calc(100% - 40px)' }} />\n (mm)\n </Form.Item>\n\n <Form.Item wrapperCol={{ offset: 8, span: 16 }}>\n <Button type=\"primary\" htmlType=\"submit\">\n 执行分幅\n </Button>\n </Form.Item>\n </Form>\n\n <Modal\n open={previewVisible}\n title={TextEnum.preview}\n onCancel={() => setPreviewVisible(false)}\n onOk={handleGenerateSheets}\n okText=\"确定\"\n cancelText={TextEnum.cancel}\n width={map.getViewport().clientWidth - 80}\n centered\n wrapClassName=\"ol-mapprint-modal\"\n confirmLoading={generating}\n destroyOnHidden={false}\n >\n <div style={{ display: 'flex', gap: 12, alignItems: 'center', marginBottom: 12 }}>\n <span>宽</span>\n <InputNumber\n min={0.001}\n precision={3}\n value={widthInputMm}\n onChange={handleWidthChange}\n />\n <span>mm</span>\n <span style={{ color: '#999' }}>固定比例</span>\n <span>高</span>\n <InputNumber\n min={0.001}\n precision={3}\n value={heightInputMm}\n onChange={handleHeightChange}\n />\n <span>mm</span>\n {splitPlan && (\n <span style={{ marginLeft: 'auto', color: '#666' }}>\n {splitPlan.cols} 列 x {splitPlan.rows} 行,共 {splitPlan.totalSheets} 幅\n </span>\n )}\n </div>\n\n <div\n style={{\n position: 'relative',\n height: PREVIEW_HEIGHT,\n overflow: 'auto',\n background: '#f5f5f5',\n border: '1px solid #e5e5e5',\n }}\n >\n {!previewReady && (\n <div\n style={{\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 2,\n background: 'rgba(255,255,255,0.72)',\n }}\n >\n <Spin />\n </div>\n )}\n\n {metrics && previewFramePixels && splitPlan && (\n <div\n style={{\n position: 'relative',\n width: previewFramePixels.width,\n height: previewFramePixels.height,\n transformOrigin: 'top left',\n }}\n >\n <div\n style={{\n width: previewFramePixels.width,\n height: previewFramePixels.height,\n display: previewImage ? 'block' : 'none',\n }}\n >\n <img\n src={previewImage}\n alt=\"sheet-preview\"\n style={{\n width: '100%',\n height: '100%',\n display: 'block',\n }}\n />\n </div>\n\n {selectedRangeCoverage && selectedRangeCoverage.widthPercent < 100 && (\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: `${100 - selectedRangeCoverage.widthPercent}%`,\n height: `${selectedRangeCoverage.heightPercent}%`,\n background: 'rgba(255,255,255,0.96)',\n pointerEvents: 'none',\n }}\n />\n )}\n\n {selectedRangeCoverage && selectedRangeCoverage.heightPercent < 100 && (\n <div\n style={{\n position: 'absolute',\n left: 0,\n bottom: 0,\n width: '100%',\n height: `${100 - selectedRangeCoverage.heightPercent}%`,\n background: 'rgba(255,255,255,0.96)',\n pointerEvents: 'none',\n }}\n />\n )}\n\n {selectedRangeCoverage && (\n <div\n style={{\n position: 'absolute',\n left: 0,\n top: 0,\n width: `${selectedRangeCoverage.widthPercent}%`,\n height: `${selectedRangeCoverage.heightPercent}%`,\n border: '2px solid rgba(24, 144, 255, 0.9)',\n boxSizing: 'border-box',\n pointerEvents: 'none',\n }}\n />\n )}\n\n {splitPlan?.sheets?.map(sheet => (\n <div\n key={sheet.id}\n style={{\n position: 'absolute',\n left: `${(sheet.xMm / (splitPlan.cols * splitPlan.paperWidthMm)) * 100}%`,\n top: `${(sheet.yMm / (splitPlan.rows * splitPlan.paperHeightMm)) * 100}%`,\n width: `${(splitPlan.paperWidthMm / (splitPlan.cols * splitPlan.paperWidthMm)) * 100}%`,\n height: `${(splitPlan.paperHeightMm / (splitPlan.rows * splitPlan.paperHeightMm)) * 100}%`,\n border: '2px dashed #333',\n boxSizing: 'border-box',\n pointerEvents: 'none',\n }}\n >\n <div\n style={{\n position: 'absolute',\n top: 4,\n left: 4,\n background: 'rgba(255,255,255,0.92)',\n padding: '0 4px',\n fontSize: 12,\n }}\n >\n {sheet.index}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </Modal>\n\n <Modal\n open={sheetVisible}\n title=\"图幅结果\"\n onCancel={() => setSheetVisible(false)}\n onOk={handleExportPdf}\n okText=\"打印\"\n cancelText={TextEnum.cancel}\n width={map.getViewport().clientWidth - 80}\n centered\n wrapClassName=\"ol-mapprint-modal\"\n >\n <div style={{ marginBottom: 12 }}>\n <Checkbox\n indeterminate={\n selectedSheetIds.length > 0 && selectedSheetIds.length < sheetImages.length\n }\n checked={sheetImages.length > 0 && selectedSheetIds.length === sheetImages.length}\n onChange={e =>\n setSelectedSheetIds(e.target.checked ? sheetImages.map(item => item.id) : [])\n }\n >\n 全选\n </Checkbox>\n </div>\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(240px, 1fr))',\n gap: 16,\n maxHeight: '70vh',\n overflow: 'auto',\n }}\n >\n {sheetImages.map(item => (\n <label\n key={item.id}\n style={{\n display: 'block',\n border: '1px solid #ddd',\n borderRadius: 6,\n padding: 12,\n background: '#fff',\n }}\n >\n <div style={{ marginBottom: 8, display: 'flex', alignItems: 'center', gap: 8 }}>\n <Checkbox\n checked={selectedSheetIds.includes(item.id)}\n onChange={e => {\n setSelectedSheetIds(current =>\n e.target.checked\n ? [...current, item.id]\n : current.filter(id => id !== item.id),\n );\n }}\n />\n <span>\n 第 {item.index} 幅 ({item.row}-{item.col})\n </span>\n </div>\n <img\n src={item.url}\n alt={`sheet-${item.index}`}\n style={{ width: '100%', display: 'block', border: '1px solid #eee' }}\n />\n </label>\n ))}\n </div>\n </Modal>\n\n <div\n style={{\n position: 'absolute',\n left: '-100000px',\n top: 0,\n width: exportSize.width,\n height: exportSize.height,\n overflow: 'hidden',\n }}\n >\n <div ref={exportStageRef} style={{ width: exportSize.width, height: exportSize.height }}>\n <OlMapComponent\n width={`${exportSize.width}px`}\n height={`${exportSize.height}px`}\n tk=\"1adbb6e47668cb33757cd799548bf1f4\"\n hidePopupTable={true}\n createdMap={handleExportMapCreated}\n />\n </div>\n </div>\n </DivModal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ .ol-mapprint-modal .ant-modal {
2
+ width: calc(100% - 200px) !important;
3
+ min-width: 800px;
4
+ min-height: 70vh;
5
+ }
6
+ .ol-mapprint-modal .ant-modal .ant-modal-container {
7
+ width: 100%;
8
+ height: 100%;
9
+ }
10
+ .ol-mapprint-modal .ant-modal .ant-modal-container .ant-modal-body {
11
+ width: 100%;
12
+ height: calc(100% - 108px) !important;
13
+ background-color: var(--ant-color-bg-container);
14
+ padding: 24px;
15
+ }
16
+ .ol-mapprint-modal .ant-modal .ant-modal-container .ant-modal-header {
17
+ padding: 16px 24px;
18
+ border-bottom: 1px solid var(--ant-color-border);
19
+ margin-bottom: 0;
20
+ }
21
+ .ol-mapprint-modal .ant-modal .ant-modal-container .ant-modal-footer {
22
+ padding: 10px 24px;
23
+ border-top: 1px solid var(--ant-color-border);
24
+ margin-top: 0;
25
+ }