sky-ui-kit 0.1.5 → 0.1.6

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.
Files changed (36) hide show
  1. package/components.json +811 -6
  2. package/dist/components/DefenseMapLayout.vue.d.ts +13 -0
  3. package/dist/components/GlobalMapLayerDock.vue.d.ts +34 -0
  4. package/dist/components/ManagementFormDialog.vue.d.ts +33 -0
  5. package/dist/components/ManagementResourceLayout.vue.d.ts +28 -0
  6. package/dist/components/MapBottomProcessPanel.vue.d.ts +25 -0
  7. package/dist/components/MapEditorDialog.vue.d.ts +33 -0
  8. package/dist/components/MapFeatureListPanel.vue.d.ts +41 -0
  9. package/dist/components/MapLayerControl.vue.d.ts +6 -0
  10. package/dist/components/MapOperationPanel.vue.d.ts +28 -1
  11. package/dist/components/MapPointProcessDialog.vue.d.ts +24 -0
  12. package/dist/components/MapSchemeSelect.vue.d.ts +20 -0
  13. package/dist/components/MapSideMenu.vue.d.ts +1 -0
  14. package/dist/components/MapTools.vue.d.ts +4 -0
  15. package/dist/components/MapWorkspacePanel.vue.d.ts +21 -0
  16. package/dist/components/NationalHydroSidebar.vue.d.ts +69 -0
  17. package/dist/components/ProcessChart.vue.d.ts +6 -0
  18. package/dist/components/ProjectMenu.vue.d.ts +1 -0
  19. package/dist/components/SpatialScopeInput.vue.d.ts +61 -0
  20. package/dist/components/TemplateLayout.vue.d.ts +19 -9
  21. package/dist/components/WorkbenchShell.vue.d.ts +23 -3
  22. package/dist/components/element-plus.d.ts +2 -0
  23. package/dist/components/index.d.ts +840 -15
  24. package/dist/components/mapContextMenuStyles.d.ts +2 -0
  25. package/dist/components.js +3299 -2033
  26. package/dist/style.css +1 -1
  27. package/docs/AI-CHANGELOG.md +155 -2
  28. package/docs/AI-GUIDE.md +1 -1
  29. package/docs/COMPONENT-API.md +281 -7
  30. package/docs/CONSUMERS.md +149 -2
  31. package/docs/CSS-THEME.md +104 -2
  32. package/docs/ELEMENT-PLUS-COVERAGE.md +1 -1
  33. package/docs/INTEGRATION.md +18 -14
  34. package/llms-full.txt +692 -16
  35. package/llms.txt +1 -1
  36. package/package.json +82 -82
@@ -217,7 +217,160 @@ WorkbenchShell 添加 management-layout 样式变体:顶部栏、侧栏、滚
217
217
 
218
218
 
219
219
  2026-10-14 / dev.20:一体机雨量站按参考平台 /atlas/elments/rain 原源码迁移,保留 RainfallRankingTable、RainfallProcessChart、MapValueLegend 的 DOM、CSS、分级与交互,主题变量仅映射到既有 userssite 命名。公开 RainfallRankingTable、RainfallProcessChart、MapValueLegend、AtlasRankingPanel、AtlasProcessPanel、AtlasProcessChart、StationComparisonPanel、MapOperationPanel、SpaceAnalysisPanel;MapTools 新增 before/after/panel 插槽。TemplateLayout 增加 variant=atlas,采用原页面右栏贴右、工具栏右栏左侧、右下图例与底部过程面板的避让几何,workbench 默认行为保留。图表通过 provide('sky-chart-engine', engine) 注入,无业务请求或地图实例进入组件库。MapOperationPanel 接受 tools 和 drawTools;SpaceAnalysisPanel 接受 selectionStore 与 provider,绘制、GIS、空间分析业务由消费方注入。消费项目新雨量页通过平台地图单例绘制非聚合圆点,多数据源各自独立图层,原七级雨量颜色和缩放半径;复用原时间范围、数据源差量请求与批量过程接口。未构建、未打包、未浏览器验证、未发布 npm。需用户发布含新出口版本后更新消费包;当前项目保留旧包兼容显示,避免缺少新出口导致白屏。
220
-
220
+
221
221
  2026-10-14:TemplateLayout 新增 contentTop(布局相对地图容器的顶部避让)和 edge(右栏与工具栏共用边距)。工具栏默认顶部跟随右栏,移除186独立偏移;toolbar插槽内MapTools/map-toolbar取消再次绝对定位,避免偏移叠加。当前仅源码修改,发布时必须重新构建产物,再升级版本发布;消费项目仍安装0.1.4,尚未获得此修复。
222
-
222
+
223
223
  0.1.5 / 2026-10-14:右侧插槽容器采用flex并限制内部溢出,AtlasRankingPanel铺满容器;图例默认底部与右侧面板共用 --template-right-bottom,过程图展开时才额外避让。contentTop/edge控制顶部工作区和共同间距,toolbar插槽的工具栏取消重复绝对定位。修复雨量分级与虚拟行局部CSS变量命名、过程图tooltip参数类型。移除误加的本地消费项目file依赖,库不能依赖使用它的业务项目。打包和类型检查通过;地图页面已检查工具栏/右面板顶部76px、面板/图例底部874px对齐。
224
+
225
+ 0.1.6 / 2026-10-15:MapSideMenu items支持children子菜单(同一菜单树、同一搜索入口),multiple模式父子key共享activeKeys;点击已选父项折叠/展开子项,子项支持独立多选。消费方从change拆分模块与子项,不再拼接第二个菜单。
226
+
227
+ 0.1.6打包与包类型检查通过;npm publish返回E404,未发布成功。消费项目临时使用vendor/sky-ui-kit-0.1.6.tgz。
228
+
229
+ 2026-10-15:MapSideMenu移除固定360px高度与tree-scroll内部滚动,菜单按内容自然展开;宿主负责左侧整列边界。
230
+
231
+ 2026-10-15:父项点击只收展,选中状态由子项决定;取消最后一个子项移除父key,展开状态与选中独立。
232
+
233
+ 2026-10-15:管理布局统一使用 WorkbenchShell 的 management、groups、v-model:active;库内部渲染侧栏与 ProjectMenu。header、workspace、sidebar-footer 为内容插槽,workspaceStyle 传地图工作区变量。切换 management 不重建 workspace,默认插槽兼容旧用法。未构建、打包或发布,旧 npm 包不含新增 API。
234
+
235
+ ```vue
236
+ <WorkbenchShell management :groups="groups" v-model:active="active">
237
+ <template #header><UiHeader class="app-header">管理平台</UiHeader></template>
238
+ <template #workspace><section class="data-workspace">业务内容</section></template>
239
+ <template #sidebar-footer>管理平台</template>
240
+ </WorkbenchShell>
241
+ ```
242
+
243
+ 2026-10-15:修复ProjectMenu纵向一级与二级间距:原.project-menu ul重置覆盖menu-list padding-top;改用更高优先级菜单列表规则,顶部10、子级缩进12、行距6(随cp-font缩放)。管理侧栏纵向菜单统一16/12内边距,移除嵌套卡片边框与背景。仅共享库源码修改,应用公开源码入口自动使用;未构建、打包或浏览器验证。
244
+
245
+ 2026-10-15:管理布局统一可读字体规格:正文/表格/表单/按钮14px,卡片标题16px,页标题24px,辅助信息12px,标签和提示13px;表格行高22px、单元格上下12px,正文与表头使用主题正文色。规则仅作用management-layout,不改变地图业务密集标签。修复旧后台10/11px说明过小,消费方不加字体皮肤。未构建、打包或浏览器验证。
246
+
247
+ 2026-10-15:进一步定位后台表格字体未改根因:workbench.css原生table规则11px作用于ElTable内部原生表格,.cell继承该字号;原生th/td及第二列宽度同样污染UiTable。将四类原生选择器排除.el-table后代,management内明确table/cell/单元格14px并重置横向padding和第二列宽,兼容已引入旧包CSS。用户/角色操作通过公开UiSpace同行排列。未构建、打包或浏览器验证。
248
+
249
+ 2026-10-15:新增公开 SpatialScopeInput,复用 UiCascader(省市县多选/搜索)、UiSelect、UiUpload及现有表单展示,统一catalog/upload/draw三种互斥范围方式。modelValue={mode,regionCodes,reservoirCodes};regions/reservoirs为调用方选项;boundaryName/boundaryCount展示有效面;loading/error/busy承载请求状态;upload(File)/draw/clear/retry交由业务方处理。组件库不请求行政区接口、不解析SHP、不创建地图、不执行后端授权。编辑时可切换方式,保存只保留当前方式。源码已接入一体机,尚未打包发布。
250
+
251
+ ```vue
252
+ <SpatialScopeInput v-model="scope" :regions="regionOptions" :reservoirs="reservoirOptions"
253
+ :boundary-name="boundaryName" :boundary-count="boundaryCount" :busy="busy"
254
+ @upload="readShp" @draw="pickPolygon" @clear="clearBoundary" />
255
+ ```
256
+
257
+ 2026-10-15:MapOperationPanel沿用原平台地图工具DOM与操作,新增title及showDraw/showMeasure/showMap/showImport/showExport(默认均保留原行为);message与footer(带snapshot)插槽允许嵌入校验、确认/返回动作。面板高度受宿主限制,内部可滚动。SpatialScopeInput增加view事件和“在地图上查看”按钮,绘制说明统一双击/Enter完成、Esc取消、完成后拖动编辑。调用方提供地图工具引擎,库不管理地图或GIS数据。
258
+ 示例:<MapOperationPanel :tools="tools" :draw-tools="areaDrawTools" title="地图工具 · 授权范围" :show-measure="false" :show-import="false"><template #footer><UiButton @click="confirmScope">确认范围</UiButton></template></MapOperationPanel>。本次源码修改,未构建、打包或发布。
259
+
260
+ 2026-10-15:新增公开MapEditorDialog:modelValue/title/hint,update:modelValue与ready(HTMLElement)事件;map/tools/message/footer插槽。统一地图弹窗尺寸、地图/工具两列布局、窄屏上下排列、操作提示和确认区;Esc不关闭弹窗,留给绘图引擎取消草图。组件仅提供地图宿主,调用方负责挂载既有地图与退出恢复,不初始化地图。
261
+ SpatialScopeInput新增previewUrl/previewPaths展示小地图截图或SVG轮廓,点击预览触发view。库维护布局与样式,调用方提供截图或轮廓路径。示例:<MapEditorDialog v-model="open" @ready="mountExistingMap"><template #tools><MapOperationPanel :tools="tools" :draw-tools="drawTools" /></template><template #footer><UiButton @click="confirm">确认范围</UiButton></template></MapEditorDialog>。源码修改,未构建/打包/发布。
262
+
263
+ 2026-10-15:修复UiSelect搜索时双边框/内层圆角框:workbench原生input默认皮肤及focus-visible规则误作用于Element输入内核。原生input规则排除Element选择/输入/级联/日期/勾选等控件后代;共享workbench-controls中明确el-select__input使用透明无边框无描边的内部输入样式,保留外层选择器焦点框,并兼容联调时仍引入旧版style.css。仅修改组件库,无页面样式补丁,未构建/打包/浏览器验证。
264
+
265
+ 2026-10-15 最新范围规则(覆盖此前“上传/绘制无需选行政区”和“保存清空目录选择”的约定):所有模式必须选择行政区,上传/绘制只补充边界并保留regionCodes/reservoirCodes。SpatialScopeValue新增boundaryTarget(region/reservoir)、reservoirName。水库边界必须明确名称,可选平台水库自动填入,也可手填用户水库名称;修改名称不匹配平台选项时自动解除ID关联,避免名称与编码错绑。自定义水库边界关联单个水库,行政区模式授权水库仍可多选。
266
+ 新增公开ManagementFormDialog,统一宽分区表单弹窗:modelValue/title/split/busy,update:modelValue,primary/default/message/footer插槽。split模式1180px上限,基本信息260px及范围区;SpatialScopeInput范围字段和预览区两栏。90dvh限制,头尾固定,仅内容区溢出滚动,小屏自动上下排列。角色single模式640px上限。布局、滚动与预览样式均由共享库维护。未构建/打包/发布/浏览器验证。
267
+
268
+ 2026-10-15:截图仍显示旧600px编辑弹窗与级联内双框。共享workbench-controls的输入内核重置从el-select__input补齐el-cascader__search-input(无padding/border/radius/outline/background、继承字体),清除旧包原生input规则影响,不增加页面补丁。只读HTTP检查5174服务返回AccessManagement已引用ManagementFormDialog、无旧600px宽度,库模块返回1180px及分栏结构;截图旧弹窗需关闭刷新重开以加载新结构,未进行浏览器运行验证。不构建/打包。
269
+
270
+ 2026-10-15:ManagementFormDialog底部footer插槽新增库内操作容器,右对齐、12px间距并支持换行,重置相邻Element按钮默认左间距,避免UiButton主题包装层使相邻按钮选择器失效或重复间距。消费页不加CSS补丁;未构建、打包、发布或浏览器验证。
271
+
272
+
273
+ 2026-10-15:新增公开ManagementResourceLayout:title/description属性;summary/filters/heading/actions/default插槽。统一资源管理页主题介绍区、查询栏、表格工具栏、操作间距及响应式布局,使用Element主题变量。示例:<ManagementResourceLayout title="菜单目录"><template #filters><UiInput placeholder="搜索菜单" /></template><UiTable :data="rows" /></ManagementResourceLayout>。消费项目使用公开布局及UiTable树形能力,不新增页面CSS;业务数据及CRUD由应用负责。未构建、打包、发布或浏览器验证。
274
+
275
+ 2026-10-15:ManagementResourceLayout默认内容槽新增management-resource-body纵向16px间距,统一表格、提示、筛选和分页的节奏;查询栏表单项去除多余底距。API及主题保持不变,消费方不加CSS。未构建/打包/发布/浏览器验证。
276
+
277
+ 2026-10-15:ProjectMenuItem新增可选children(递归菜单项)。vertical模式父项仅展开/收起,叶子项沿用update:active/select,后代选中高亮父项,active变化自动展开祖先及分组;支持键盘按钮及aria-expanded。原平铺/横向API保持兼容。WorkbenchShell groups直接支持此树形结构,无需消费方另写侧栏。
278
+ 示例:<WorkbenchShell management :groups="[{label:'管理平台',items:[{key:'data',label:'数据接入',children:[{key:'data:rain',label:'雨量站'}]}]}]" v-model:active="active" />。
279
+ ManagementResourceLayout查询区使用底部对齐;内层el-form统一flex gap20px,form-item清零margin,标签8px下间距,行政区级联280px、雨量来源160px,刷新按钮和输入框对齐。尺寸/间距维护在库内,消费方不加CSS。库类型检查及SFC静态检查通过,未构建、打包、发布或浏览器验证。
280
+
281
+ 2026-10-15:ManagementResourceLayout新增showIntro:boolean,默认true。宿主已提供页标题时传false隐藏介绍卡,避免两套页头重复;summary槽随介绍卡一起隐藏,可将统计通过UiSpace放入heading。示例:<ManagementResourceLayout :show-intro="false"><template #heading><UiSpace><strong>数据列表</strong><UiTag>共10条</UiTag></UiSpace></template></ManagementResourceLayout>。未构建/打包/发布/浏览器验证。
282
+
283
+ 2026-10-15:cloud-server数据接入使用已有UiSelect multiple、UiButton/UiSpace及ManagementResourceLayout,保存本地行政区与多来源默认配置;业务配置、接口与空间过滤均留消费方,库未增加业务状态或页面皮肤。本次未改库组件,无需发包;详细边界见消费方docs/UI-KIT-INTEGRATION.md。未构建/发布/浏览器验证。
284
+
285
+ 2026-10-15:新增公开GlobalMapLayerDock:title/subtitle/enabled/expanded,update:enabled/update:expanded,default/status插槽。通用全局地图叠加卡:左下浮动、可收起、开关、控件与状态,宽420px上限、小屏自适应;展开体限高滚动,主题采用库变量。default插槽可用UiForm/UiSelect/UiSlider/UiSpace;global-map-layer-dock__legend为插槽色带容器,调用方传业务色带颜色,库不持有降水颜色。示例:<GlobalMapLayerDock title="降水等值面" v-model:enabled="enabled" v-model:expanded="expanded"><UiSelect v-model="batch" /><template #status>点击地图查询</template></GlobalMapLayerDock>。
286
+ 新增公开MapPointProcessDialog:modelValue/title/subtitle/loading/error/rows/engine/unit,update:modelValue。复用UiDialog与ProcessChart,统一地图选点过程弹窗、状态、缺测与300px图表宿主。engine由消费方提供;示例:<MapPointProcessDialog v-model="open" :rows="rows" :engine="chartEngine" subtitle="选定位置及批次" />。库仅展示,不查询API、不初始化地图。共享源码联调,未构建、打包、发布或浏览器验证。
287
+
288
+ 2026-10-15:修复右键菜单黑边/原生按钮皮肤。DOM菜单、箭头、临时标记补userssite-theme;可复用菜单样式迁至共享库公开mapContextMenuStyles,业务ContextMenu仍管理事件/DOM/地图动作,不复制库皮肤。共享样式提供Element主题及浅色边框/阴影fallback。rainContextMenu命中补已注册临时面/边界层;核心queryTemporaryPolygonFeatures对可见line/fill注册数据做Polygon/MultiPolygon内部判断(含孔洞、边界),返回完整面,避免只命中描边。优先完整面替代同source瓦片裁切面,保留站点命中与重叠候选切换。选面后已有面内站点选择/对比/Tip动作可用,名称补name/NAME。全局WMS为栅格,无矢量面要素,不伪造等值面多边形。共享库与地图核心类型检查通过,未构建/打包/发布/浏览器验证;依赖现有Vite共享源码alias,已发布npm包不含此次导出。
289
+
290
+
291
+ 2026-10-15:集水区右侧移除旧空白提示面板,使用共享库公开MapFeatureListPanel,统一蓝色标题、关闭、搜索和表格。按catchmentId(旧记录按名称+关联水库)分组显示真实信息,点击通过核心locateGeoJson定位完整边界。集水区工具栏改用现有StationMapToolbar,面板开关接布局rightOpen,不写页面皮肤。保存默认配置补catchmentId/reservoirCode。面雨量尚未计算。三SFC静态检查、库与核心类型检查通过;未构建、打包、发布或浏览器验证。当前Vite共享源码联调,npm旧包尚无新增导出。
292
+
293
+
294
+ 2026-10-15:修复集水区共用工具栏右键开关反向:共享MapTools内部默认false,StationMapToolbar业务context默认true,旧tool-click二次翻转使视觉启用时业务被关闭。MapTools增加可选contextEnabled及update:contextEnabled(支持v-model:context-enabled),未传时保持原内部状态;原context-change/tool-click兼容。StationMapToolbar绑定唯一context并跳过tool-click再次取反。默认开启且高亮一致。库类型检查、两SFC检查通过,未构建/打包/发布/浏览器验证;当前源码联调。
295
+
296
+
297
+ 2026-10-15:修正此前仅集水区隐藏按钮的局部处理。一张图六业务模块统一组件库公开MapTools:雨量/水库/水文停止引用本地rain/components/MapTools并删除各自按钮数组;视频/工程/集水区通过共用StationMapToolbar使用同一公开组件,移除hiddenTools特例。默认按钮由库单点维护为layers/refresh/locate/settings/context,移除module/analysis/system;保留before列表展开。统一map-tools宿主类应用库紧凑尺寸。雨量/水库/水文补v-model:context-enabled,删除tool-click二次翻转,避免右键状态反向。业务事件与地图引擎保留模块适配,不复制UI。六SFC静态检查和库类型检查通过,未构建/打包/发布/浏览器验证。当前源码联调,npm旧包不含默认菜单变更。
298
+
299
+
300
+ 2026-10-15:统一地图工具与集水区面板尺寸。MapTools和AtlasRightToggleButton共用--userssite-map-tool-size(默认cp-font-1×34),workbench-controls移除固定32px覆盖;MapTools基础尺寸选择器补宿主以覆盖源码联调仍加载的旧包规则。MapFeatureListPanel标题改同雨量cp-font-19/900字重/54单位高度,表格cp-font-12、行高44单位、搜索框32单位及cp-font-13,不再固定16px小标题。共享库类型检查通过;未构建/打包/发布/浏览器验证。
301
+
302
+
303
+ 2026-10-15最新尺寸约定覆盖上一条:用户明确雨量站正确、集水区错误。撤回上一轮共用工具尺寸改动:MapTools恢复control-height-l,工作台恢复原32px按钮,折叠按钮恢复原34个cp单位,不再用新map-tool-size变量改变雨量。只在MapFeatureListPanel对照雨量调整54单位标题栏、19号900字重标题、30单位关闭按钮、搜索间距、表头12号850字重、行文字13号/序号框与行高44单位。库类型检查通过,未构建/打包/发布/浏览器验证。
304
+
305
+
306
+ 2026-10-15:共用地图工具按钮纵向间距由工作台2px增至8px,按钮大小不变。MapTools组件同步8px并用宿主选择器覆盖源码联调仍加载的旧包2px规则,六模块统一生效。未构建/打包/发布或浏览器验证。
307
+
308
+
309
+ 2026-10-15:集水区左键降水过程、右键实况与预报对比。用户确认暂无接口,明确要求示例;src/catchment/demoRainfall.js提供固定2026-10-15的24小时演示实况/预报,含0且同时间对齐,不写配置、不请求接口、不冒充真实面平均雨量。App按集水区属性关联右侧同条记录,左键单序列、右键对比双序列,TemplateLayout.timeline放共享MapBottomProcessPanel,地图底部非模态、不居中;切离集水区/配置变更关闭,右侧关闭后底部宽度随布局调整。全局栅格选点避让configured-catchments,防止一次点击开两个过程。StationMapToolbar追加catchment-compare事件,右键动作仅命中集水区时显示。
310
+ 共享ProcessChart增加可选series(name/rows)多序列,时间并集排序、缺测null、不同主题色,旧rows用法兼容;新增公开MapBottomProcessPanel(title/subtitle/demo/series/engine/unit、close),图表引擎消费方提供。TemplateLayout.timeline补z-index12使底部过程盖过全局图层卡。六SFC静态、共享库类型、按源码alias右键链类型检查通过;ui:check仍为原App和五Workspace历史问题。未构建/打包/发布/浏览器验证,npm旧包未包含新增导出,当前Vite源码联调。
311
+
312
+
313
+ 2026-10-15:修复悬浮顶部ProjectMenu无法点击。sidebar-hidden的app-header为地图空白区域穿透设置pointer-events:none,原来仅brand/header-actions恢复auto,遗漏header-menu。共享workbench-controls补header-menu的pointer-events:auto,保持空白区域地图交互;未复制页面皮肤、未更改路由逻辑。当前源码联调生效,未构建、打包、发布或浏览器验证。
314
+
315
+
316
+ 2026-10-15:ProjectMenu横向胶囊对齐修正:容器与按钮显式border-box,滚动行清除margin/padding并与32单位按钮等高,按钮margin归零、align-self:center;取消hover/focus向上位移,避免鼠标悬停时文字偏上。未添加定位偏移或消费页面皮肤。未构建、发布或浏览器验证。
317
+
318
+
319
+ 2026-10-15:用户截图确认上轮顶部菜单对齐未解决,撤回“已视觉修复”的判断。横向ProjectMenu补独立primary-nav-label,按钮用grid/place-items:center定位文字行盒;胶囊显式40单位border-box高度、上下3单位内边距,内行与按钮stretch占满可用高度,文字line-height:1.4;增强限定选择器覆盖宿主通用规则,不用translateY补偿。仅静态检查,未构建或浏览器验证,实际视觉效果仍待用户确认。
320
+
321
+
322
+ 2026-10-15:顶部切换整栏横跳根因为应用当前模块UiSelect仅一张图显示,右侧宽度变化触发header-menu的flex auto margin重新分配。共享悬浮布局将header-menu以header为包含块left/top50%+translate居中并清除auto margin,不再依赖左右区域宽度;仅地图sidebar-hidden布局生效,保留pointer-events:auto及胶囊尺寸,管理布局不受影响。选中态本身未改变margin/字号。未构建、打包、发布或浏览器验证。
323
+
324
+
325
+ 2026-10-15:预报方案工作流首版。公共TemplateLayout增加left插槽与leftPanelWidth(默认320px),left与right共享上下边距;timeline在有left插槽时自动避让左面板,无left时原行为保持。新增公开MapWorkspacePanel(title/subtitle,actions/default/footer插槽),提供统一标题、可滚动内容及底部操作区,供方案列表/详情使用。例:
326
+ ```vue
327
+ <TemplateLayout left-panel-width="300px" right-panel-width="360px" right-open>
328
+ <template #left><MapWorkspacePanel title="预报方案"><template #actions><UiButton>新建方案</UiButton></template>方案列表</MapWorkspacePanel></template>
329
+ <template #right><MapWorkspacePanel title="方案详情">业务内容</MapWorkspacePanel></template>
330
+ </TemplateLayout>
331
+ ```
332
+ 业务数据、文件解析、地图与计算均由消费项目提供。未构建、打包或发布,当前metrics仍通过Vite源码alias消费;npm旧包尚无新组件/插槽。
333
+
334
+
335
+ 2026-10-15:全国水文原页样式迁入。新增公开NationalHydroSidebar,来源参考平台views/hydroforecast/mapHydro/components/Sidebar.vue:保留原分组卡片、当前拾取、坐标、原生单选、AppSelect、标题/间距/字号/按钮 scoped 样式,仅主题token转userssite命名、根类重命名避免工作台.sidebar覆盖。props沿用selected/locationLng/locationLat/meteoSource/model/batchId/batchList/selectedTimeZone/timeZoneOptions;事件沿用updateLocationField/coordinateLocate/updateMeteoSource/updateModel/updateBatchId/updateTimeZone/openStyle,追加status插槽承载消费方错误/加载状态。无业务接口或地图引擎。例:<NationalHydroSidebar :selected="selected" :batch-list="batches" :batch-id="batchId" @update-batch-id="batchId=$event" />,其余筛选由消费方传入并绑定事件。
336
+ 共享ProcessChart/MapBottomProcessPanel新增可选timeZone/currentTime:轴标签按时区显示,当前时刻数据点高亮,未传时保留原行为;图表引擎由消费方提供。TemplateLayout.timeline改flex纵向gap,容纳底部过程+时间轴。库vue-tsc通过;未构建、打包、发布或浏览器验证,metrics当前通过公开出口源码alias使用,npm旧包尚未包含新增出口。
337
+
338
+
339
+ 2026-10-15:方案页移除整列左侧白色列表,改TemplateLayout.top插槽的公开MapSchemeSelect:可搜索方案下拉+新建按钮。无left插槽时底部过程图自动恢复左边距,释放地图空间;演示标记保留在方案详情。新增MapSchemeSelect(modelValue/options/placeholder,update:modelValue/create),皮肤集中共享库;TemplateLayout.top改用right-top变量,与右侧上沿一致(默认仍88px)。未构建、发布或浏览器验证。
340
+
341
+ ## 2026-10-15:DefenseMapLayout 综合研判多视图
342
+
343
+ 新增公开 DefenseMapLayout(默认 slot,无业务数据或地图实例),将参考 DefenseMapLinkage 的多视图、设置、图例、过程卡和简报展示样式封装到 .sky-defense-layout 内,使用 userssite 主题变量,适配工作台顶部64px导航;不包含业务 API、Pinia、MapLibre/DeckGL/ECharts引擎。设置抽屉 append-to=".sky-defense-layout" 保持主题与样式作用域,双击放大由消费方控制 is-fullscreen-* 类。基础 UiScrollbar 补公共封装,TimelinePoint / MapValueLegendItem / MapValueLegendGradientStop 补公共类型出口。消费项目 D:/Work/01-项目code/一体化平台/一体机项目 /defense-map-linkage 使用上述源码;本次未构建打包发布,npm 0.1.6 不包含新增能力。
344
+
345
+ 使用示例:
346
+ ```vue
347
+ <script setup>
348
+ import { DefenseMapLayout, UiButton } from 'sky-ui-kit'
349
+ </script>
350
+ <template>
351
+ <DefenseMapLayout>
352
+ <main class="defense-map-page">
353
+ <section v-for="id in ['forecast','observed','hydro','report']" :key="id" class="defense-map-panel">
354
+ <div class="defense-map-heading"><strong>{{ id }}</strong></div>
355
+ <!-- 消费方在此挂载地图引擎或简报内容 -->
356
+ </section>
357
+ </main>
358
+ </DefenseMapLayout>
359
+ </template>
360
+ ```
361
+
362
+ MapLayerControl 增加 closable/showLocate/showOpacity(均默认 true);综合研判嵌入公共图层设置时设 false,只展示已接入的原页显隐/排序/移除能力,其他消费方保持不变。
363
+
364
+ 2026-10-16:TemplateLayout支持timelineLeft/timelineRight可选CSS长度,单独控制时间轴插槽避让外部面板;原有默认布局保持。metricslab全局降水时间轴迁出设置浮窗,放地图底部timeline插槽,未构建/发布。
365
+
366
+ 2026-10-16:TemplateLayout legend插槽支持全局时间轴高度避让,增加timeline-height事件和--map-global-timeline-height继承变量;metricslab降水全局时间轴向宿主上报高度,雨量等现有图例自动抬高。未构建发布。
367
+
368
+ 2026-10-16:GlobalMapLayerDock补actions插槽;metricslab降水刷新批次改头部图标,移除面板底部重复色带,不影响地图legend。
369
+
370
+ 2026-10-16:SpatialScopeInput支持reservoirOnly,metricslab用户授权改水库边界,移除行政区必填,保留平台水库/自建名称、上传绘制预览。不发布。
371
+
372
+ ## 2026-10-19 · 0.1.6 发布准备
373
+
374
+ 按当前源码重新生成 AI 文档、组件 API 与类型产物,汇集现有布局、图层、时间轴与空间范围相关更新;发布完成状态以 npm 注册表为准。
375
+
376
+ 0.1.6 发布检查修复:导出 NationalHydroSidebar 的 SelectedFeature、BatchOption、TimeZoneOption 属性类型,修复类型声明生成 TS4023;运行行为不变。
package/docs/AI-GUIDE.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  适用于 Vue 3 + TypeScript。此文件描述包的真实 API 和约束,不是自动执行的代理指令。AI 工具需要主动读取这些文档;安装包不会自动改变其上下文。
4
4
 
5
- 管理布局:WorkbenchShell 使用 collapsed=false 和 management-layout 类,顶部 app-header、management-sidebar 和 workspace 组成后台布局。management-metrics / management-card 为共享信息展示样式;由消费方提供账号、菜单及数据,组件库不提供认证。新增样式在 0.1.3-dev.12 测试包中,尚未发布 npm。
5
+ 管理布局:使用 WorkbenchShell management 模式与内容插槽,详见本文末尾最新说明。账号、菜单路由和数据由消费方提供,库不提供认证。
6
6
 
7
7
  预览站已移除“统一组件入口 / 组件入口与兼容”菜单与展示示例。安装和导入方式查看快速开始,组件效果查看各组件页面;此调整不改变组件包出口或 API。
8
8
 
@@ -191,7 +191,7 @@ export type TimeRangeQuickOption = {
191
191
  Slots: No declared content slots.
192
192
 
193
193
  ```ts
194
- export interface ProjectMenuItem { key: string; label: string; disabled?: boolean; icon?: Component }
194
+ export interface ProjectMenuItem { key: string; label: string; disabled?: boolean; icon?: Component; children?: ProjectMenuItem[] }
195
195
  export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
196
196
  ```
197
197
 
@@ -229,7 +229,7 @@ export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
229
229
  Slots: No declared content slots.
230
230
 
231
231
  ```ts
232
- export interface MapMenuItem { key: string; label: string; icon?: Component }
232
+ export interface MapMenuItem { key: string; label: string; icon?: Component; children?: MapMenuItem[] }
233
233
  ```
234
234
 
235
235
  ## MapTools
@@ -242,12 +242,14 @@ export interface MapMenuItem { key: string; label: string; icon?: Component }
242
242
  | horizontal | boolean | false | false |
243
243
  | icons | Record<string, Component> | false | () => ({}) |
244
244
  | items | MapToolItem[] | false | undefined / no declared default |
245
+ | contextEnabled | boolean | false | undefined |
245
246
 
246
247
  ### Events
247
248
 
248
249
  - `update:active` — `[key: string]`
249
250
  - `tool-click` — `[key: string]`
250
251
  - `context-change` — `[enabled: boolean]`
252
+ - `update:contextEnabled` — `[enabled: boolean]`
251
253
 
252
254
  Slots: before, after, panel
253
255
 
@@ -310,12 +312,17 @@ Slots: No declared content slots.
310
312
  | Name | Type | Required | Default expression |
311
313
  |---|---|---|---|
312
314
  | collapsed | boolean | false | false |
315
+ | management | boolean | false | false |
316
+ | groups | ProjectMenuGroup[] | false | () => [] |
317
+ | active | string | false | '' |
318
+ | workspaceStyle | Record<string, string> | false | undefined / no declared default |
313
319
 
314
320
  ### Events
315
321
 
316
- No declared events.
322
+ - `update:active` — `[key: string]`
323
+ - `select` — `[item: ProjectMenuItem]`
317
324
 
318
- Slots: default
325
+ Slots: header, sidebar-footer, workspace, default
319
326
 
320
327
  ## WorkbenchPanel
321
328
 
@@ -357,10 +364,13 @@ Slots: icon
357
364
  | Name | Type | Required | Default expression |
358
365
  |---|---|---|---|
359
366
  | rows | ProcessChartRow[] | true | undefined / no declared default |
367
+ | series | { name: string; rows: ProcessChartRow[] }[] | false | undefined / no declared default |
360
368
  | engine | ProcessChartEngine | true | undefined / no declared default |
361
369
  | kind | 'rain' &#124; 'flow' &#124; 'line' | false | 'rain' |
362
370
  | unit | string | false | '' |
363
371
  | label | string | false | undefined / no declared default |
372
+ | timeZone | string | false | undefined / no declared default |
373
+ | currentTime | string | false | undefined / no declared default |
364
374
 
365
375
  ### Events
366
376
 
@@ -383,6 +393,9 @@ export interface ProcessChartEngine { init: (element: HTMLElement) => ProcessCha
383
393
  | nodes | MapLayerNode[] | true | undefined / no declared default |
384
394
  | basemap | string | false | 'imagery' |
385
395
  | annotation | boolean | false | true |
396
+ | closable | boolean | false | true |
397
+ | showLocate | boolean | false | true |
398
+ | showOpacity | boolean | false | true |
386
399
 
387
400
  ### Events
388
401
 
@@ -407,6 +420,9 @@ export interface MapLayerNode { id: string; name: string; visible?: boolean; opa
407
420
 
408
421
  | Name | Type | Required | Default expression |
409
422
  |---|---|---|---|
423
+ | timelineLeft | string | false | undefined / no declared default |
424
+ | timelineRight | string | false | undefined / no declared default |
425
+ | leftPanelWidth | string | false | '320px' |
410
426
  | rightOpen | boolean | false | false |
411
427
  | rightPanelEnabled | boolean | false | true |
412
428
  | rightPanelWidth | string | false | '' |
@@ -417,9 +433,9 @@ export interface MapLayerNode { id: string; name: string; visible?: boolean; opa
417
433
 
418
434
  ### Events
419
435
 
420
- No declared events.
436
+ - `timeline-height` — `[height: number]`
421
437
 
422
- Slots: top, toolbar, right, legend, timeline, content, default
438
+ Slots: left, top, toolbar, right, legend, timeline, content, default
423
439
 
424
440
  ## RainfallRankingTable
425
441
 
@@ -644,12 +660,18 @@ Slots: No declared content slots.
644
660
  |---|---|---|---|
645
661
  | tools | any | true | undefined / no declared default |
646
662
  | drawTools | { mode: string; label: string; iconPath: string }[] | true | undefined / no declared default |
663
+ | title | string | false | '地图工具' |
664
+ | showDraw | boolean | false | true |
665
+ | showMeasure | boolean | false | true |
666
+ | showMap | boolean | false | true |
667
+ | showImport | boolean | false | true |
668
+ | showExport | boolean | false | true |
647
669
 
648
670
  ### Events
649
671
 
650
672
  No declared events.
651
673
 
652
- Slots: No declared content slots.
674
+ Slots: message, footer
653
675
 
654
676
  ```ts
655
677
  type MapDrawMode = string
@@ -677,6 +699,258 @@ type GisSelectionRecord = any
677
699
  type SpaceAnalysisAction = any
678
700
  ```
679
701
 
702
+ ## SpatialScopeInput
703
+
704
+ ### Props
705
+
706
+ | Name | Type | Required | Default expression |
707
+ |---|---|---|---|
708
+ | reservoirOnly | boolean | false | undefined / no declared default |
709
+ | modelValue | SpatialScopeValue | true | undefined / no declared default |
710
+ | regions | Array<{ value: string; label: string; children?: any[] }> | false | () => [] |
711
+ | reservoirs | Array<{ value: string; label: string }> | false | () => [] |
712
+ | loading | boolean | false | false |
713
+ | error | string | false | '' |
714
+ | boundaryName | string | false | '' |
715
+ | boundaryCount | number | false | 0 |
716
+ | previewUrl | string | false | '' |
717
+ | previewPaths | string[] | false | () => [] |
718
+ | busy | boolean | false | false |
719
+
720
+ ### Events
721
+
722
+ - `update:modelValue` — `[value: SpatialScopeValue]`
723
+ - `upload` — `[file: File]`
724
+ - `draw` — `[]`
725
+ - `view` — `[]`
726
+ - `clear` — `[]`
727
+ - `retry` — `[]`
728
+
729
+ Slots: No declared content slots.
730
+
731
+ ```ts
732
+ export interface SpatialScopeValue { mode: 'catalog' | 'upload' | 'draw'; regionCodes: string[]; reservoirCodes: string[]; boundaryTarget?: 'region' | 'reservoir'; reservoirName?: string }
733
+ ```
734
+
735
+ ## MapEditorDialog
736
+
737
+ ### Props
738
+
739
+ | Name | Type | Required | Default expression |
740
+ |---|---|---|---|
741
+ | modelValue | boolean | true | undefined / no declared default |
742
+ | title | string | false | '地图范围编辑' |
743
+ | hint | string | false | '选择面、矩形或圆进行绘制;双击或 Enter 完成,Esc 取消,完成后可拖动编辑。' |
744
+
745
+ ### Events
746
+
747
+ - `update:modelValue` — `[value: boolean]`
748
+ - `ready` — `[host: HTMLElement]`
749
+
750
+ Slots: map, tools, message, footer
751
+
752
+ ## ManagementFormDialog
753
+
754
+ ### Props
755
+
756
+ | Name | Type | Required | Default expression |
757
+ |---|---|---|---|
758
+ | modelValue | boolean | true | undefined / no declared default |
759
+ | title | string | false | '编辑信息' |
760
+ | split | boolean | false | true |
761
+ | busy | boolean | false | false |
762
+
763
+ ### Events
764
+
765
+ - `update:modelValue` — `[value:boolean]`
766
+
767
+ Slots: message, primary, default, footer
768
+
769
+ ## ManagementResourceLayout
770
+
771
+ ### Props
772
+
773
+ | Name | Type | Required | Default expression |
774
+ |---|---|---|---|
775
+ | title | string | false | undefined / no declared default |
776
+ | description | string | false | undefined / no declared default |
777
+ | showIntro | boolean | false | true |
778
+
779
+ ### Events
780
+
781
+ No declared events.
782
+
783
+ Slots: summary, filters, heading, actions, default
784
+
785
+ ## GlobalMapLayerDock
786
+
787
+ ### Props
788
+
789
+ | Name | Type | Required | Default expression |
790
+ |---|---|---|---|
791
+ | title | string | false | '地图叠加图层' |
792
+ | subtitle | string | false | '' |
793
+ | enabled | boolean | false | false |
794
+ | expanded | boolean | false | false |
795
+
796
+ ### Events
797
+
798
+ - `update:enabled` — `[value:boolean]`
799
+ - `update:expanded` — `[value:boolean]`
800
+
801
+ Slots: actions, default, status
802
+
803
+ ## MapPointProcessDialog
804
+
805
+ ### Props
806
+
807
+ | Name | Type | Required | Default expression |
808
+ |---|---|---|---|
809
+ | modelValue | boolean | true | undefined / no declared default |
810
+ | title | string | false | '降水预报过程' |
811
+ | subtitle | string | false | '' |
812
+ | loading | boolean | false | false |
813
+ | error | string | false | '' |
814
+ | rows | ProcessChartRow[] | true | undefined / no declared default |
815
+ | engine | ProcessChartEngine | true | undefined / no declared default |
816
+ | unit | string | false | 'mm' |
817
+
818
+ ### Events
819
+
820
+ - `update:modelValue` — `[value:boolean]`
821
+
822
+ Slots: No declared content slots.
823
+
824
+ ## MapFeatureListPanel
825
+
826
+ ### Props
827
+
828
+ | Name | Type | Required | Default expression |
829
+ |---|---|---|---|
830
+ | title | string | true | undefined / no declared default |
831
+ | rows | Record<string, any>[] | false | ()=>[] |
832
+ | columns | {prop:string;label:string;width?:number}[] | false | ()=>[] |
833
+ | searchFields | string[] | false | ()=>['name'] |
834
+ | searchPlaceholder | string | false | '搜索名称' |
835
+ | emptyText | string | false | '暂无数据' |
836
+
837
+ ### Events
838
+
839
+ - `close` — `[]`
840
+ - `locate` — `[row:Record<string,any>]`
841
+
842
+ Slots: footer
843
+
844
+ ## MapBottomProcessPanel
845
+
846
+ ### Props
847
+
848
+ | Name | Type | Required | Default expression |
849
+ |---|---|---|---|
850
+ | title | string | true | undefined / no declared default |
851
+ | subtitle | string | false | '' |
852
+ | demo | boolean | false | false |
853
+ | series | {name:string;rows:ProcessChartRow[]}[] | true | undefined / no declared default |
854
+ | engine | ProcessChartEngine | true | undefined / no declared default |
855
+ | unit | string | false | 'mm' |
856
+ | timeZone | string | false | undefined / no declared default |
857
+ | currentTime | string | false | undefined / no declared default |
858
+
859
+ ### Events
860
+
861
+ - `close` — `[]`
862
+
863
+ Slots: No declared content slots.
864
+
865
+ ## MapWorkspacePanel
866
+
867
+ ### Props
868
+
869
+ | Name | Type | Required | Default expression |
870
+ |---|---|---|---|
871
+ | title | string | true | undefined / no declared default |
872
+ | subtitle | string | false | undefined / no declared default |
873
+
874
+ ### Events
875
+
876
+ No declared events.
877
+
878
+ Slots: actions, default, footer
879
+
880
+ ## NationalHydroSidebar
881
+
882
+ ### Props
883
+
884
+ | Name | Type | Required | Default expression |
885
+ |---|---|---|---|
886
+ | selected | SelectedFeature | false | () => ({ rid: '', streamOrder: null }) |
887
+ | locationLng | string | false | '' |
888
+ | locationLat | string | false | '' |
889
+ | meteoSource | string | false | 'wrf' |
890
+ | model | string | false | 'chm' |
891
+ | batchId | string | false | '' |
892
+ | batchList | BatchOption[] | false | () => [] |
893
+ | selectedTimeZone | string | false | '' |
894
+ | timeZoneOptions | TimeZoneOption[] | false | () => [] |
895
+
896
+ ### Events
897
+
898
+ - `undefined` — `void`
899
+ - `undefined` — `void`
900
+ - `undefined` — `void`
901
+ - `undefined` — `void`
902
+ - `undefined` — `void`
903
+ - `undefined` — `void`
904
+ - `undefined` — `void`
905
+
906
+ Slots: status
907
+
908
+ ```ts
909
+ type LocationField = 'lng' | 'lat'
910
+ export interface SelectedFeature {
911
+ rid?: string | number
912
+ streamOrder?: string | number | null
913
+ }
914
+ export interface BatchOption {
915
+ batchId?: string | number
916
+ [key: string]: unknown
917
+ }
918
+ export interface TimeZoneOption {
919
+ label: string
920
+ value: string
921
+ }
922
+ ```
923
+
924
+ ## MapSchemeSelect
925
+
926
+ ### Props
927
+
928
+ | Name | Type | Required | Default expression |
929
+ |---|---|---|---|
930
+ | modelValue | string | false | '' |
931
+ | options | {value:string;label:string}[] | true | undefined / no declared default |
932
+ | placeholder | string | false | '选择预报方案' |
933
+
934
+ ### Events
935
+
936
+ - `update:modelValue` — `[value:string]`
937
+ - `create` — `[]`
938
+
939
+ Slots: No declared content slots.
940
+
941
+ ## DefenseMapLayout
942
+
943
+ ### Props
944
+
945
+ | Name | Type | Required | Default expression |
946
+ |---|---|---|---|
947
+
948
+ ### Events
949
+
950
+ No declared events.
951
+
952
+ Slots: default
953
+
680
954
  ## UiAffix
681
955
 
682
956
  固钉 · 导航组件. Original: ElAffix. Import from: sky-ui-kit. [API](https://element-plus.org/zh-CN/component/affix.html). See dist/components/element-plus.d.ts.