uomtiles 0.1.0 → 0.1.2
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BQlj8Xoe.js → 0hm88Oke.js} +1 -1
- package/.output/public/_nuxt/BNfSclJ4.js +1 -0
- package/.output/public/_nuxt/BYzlinOr2.js +1 -0
- package/.output/public/_nuxt/{BiWblTbb2.js → Bd1EvHmY.js} +1 -1
- package/.output/public/_nuxt/Be4dNlar.js +1 -0
- package/.output/public/_nuxt/{C4qlzA4o.js → C7fHMLd7.js} +1 -1
- package/.output/public/_nuxt/CQ8inUdm.js +1 -0
- package/.output/public/_nuxt/{C_0VY3Cv2.js → CU486JdV2.js} +2 -2
- package/.output/public/_nuxt/Cc_JfSB1.js +1 -0
- package/.output/public/_nuxt/CgcnoKpi.js +1 -0
- package/.output/public/_nuxt/{CgdzV712.js → CovBj6WN.js} +1 -1
- package/.output/public/_nuxt/CyZDc0eO2.js +1 -0
- package/.output/public/_nuxt/{DtFVCXI9.js → CzFefJH0.js} +1 -1
- package/.output/public/_nuxt/{DL1MZZLI.js → D-t0hXHB.js} +1 -1
- package/.output/public/_nuxt/D3Pl7yw22.js +1 -0
- package/.output/public/_nuxt/D4gbGuiW.js +1 -0
- package/.output/public/_nuxt/{DkcySee1.js → DDp9lK3g.js} +1 -1
- package/.output/public/_nuxt/DIIXHC50.js +1 -0
- package/.output/public/_nuxt/DWFUvzz0.js +1 -0
- package/.output/public/_nuxt/D_VoD6-f.js +1 -0
- package/.output/public/_nuxt/{q7DkoVkj.js → DaQqwE3R.js} +6 -6
- package/.output/public/_nuxt/DfXX-x_z.js +1 -0
- package/.output/public/_nuxt/Dgyf2aNY.js +1 -0
- package/.output/public/_nuxt/DpIPeY5m.js +1 -0
- package/.output/public/_nuxt/GM5myUL22.js +1 -0
- package/.output/public/_nuxt/IC4wc76W.js +1 -0
- package/.output/public/_nuxt/IfL46N3Z.js +1 -0
- package/.output/public/_nuxt/{Oxy7pKSk.js → KEU2l6zJ.js} +1 -1
- package/.output/public/_nuxt/{DC3bhq63.js → Q79ec-Ro.js} +1 -1
- package/.output/public/_nuxt/SEETjfdJ.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/2c4adba2-91b5-44e4-91d3-50a61695207b.json +1 -0
- package/.output/public/_nuxt/entry.CZ_dkjcs.css +1 -0
- package/.output/public/_nuxt/{ByRlKR9F.js → nGp0t_eD.js} +1 -1
- package/.output/server/chunks/_/config.mjs +58 -6
- package/.output/server/chunks/_/config.mjs.map +1 -1
- package/.output/server/chunks/_/export.mjs +7 -0
- package/.output/server/chunks/_/export.mjs.map +1 -0
- package/.output/server/chunks/_/file-workspace.mjs +153 -58
- package/.output/server/chunks/_/file-workspace.mjs.map +1 -1
- package/.output/server/chunks/_/map-service.mjs +7 -7
- package/.output/server/chunks/_/map-service.mjs.map +1 -1
- package/.output/server/chunks/_/pixel-diff.mjs +1 -1
- package/.output/server/chunks/_/uom-auth.mjs +7 -7
- package/.output/server/chunks/_/uom-auth.mjs.map +1 -1
- package/.output/server/chunks/_/uom-map.mjs +6 -6
- package/.output/server/chunks/_/uom-map.mjs.map +1 -1
- package/.output/server/chunks/build/Alert-DHVVSgdD.mjs +1074 -0
- package/.output/server/chunks/build/Alert-DHVVSgdD.mjs.map +1 -0
- package/.output/server/chunks/build/{Alert-0ngTJXxP.mjs → CompletedTaskSelect-CKTpyHS3.mjs} +31 -725
- package/.output/server/chunks/build/CompletedTaskSelect-CKTpyHS3.mjs.map +1 -0
- package/.output/server/chunks/build/{PopperArrow-Bqfdf2Et.mjs → DashboardSidebarToggle-CUI9NSow.mjs} +567 -5
- package/.output/server/chunks/build/DashboardSidebarToggle-CUI9NSow.mjs.map +1 -0
- package/.output/server/chunks/build/{Empty-CkW3mADt.mjs → Empty-BGIn09cL.mjs} +2 -2
- package/.output/server/chunks/build/{Empty-CkW3mADt.mjs.map → Empty-BGIn09cL.mjs.map} +1 -1
- package/.output/server/chunks/build/{FocusScope-Cf0lg0zt.mjs → FocusScope-DNZVMnza.mjs} +2 -2
- package/.output/server/chunks/build/{FocusScope-Cf0lg0zt.mjs.map → FocusScope-DNZVMnza.mjs.map} +1 -1
- package/.output/server/chunks/build/{FormField-CEUZHcv7.mjs → FormField-DnJWfrKE.mjs} +2 -2
- package/.output/server/chunks/build/{FormField-CEUZHcv7.mjs.map → FormField-DnJWfrKE.mjs.map} +1 -1
- package/.output/server/chunks/build/{Input-BeNavYXb.mjs → Input-AdlINKtJ.mjs} +1 -1
- package/.output/server/chunks/build/{Input-BeNavYXb.mjs.map → Input-AdlINKtJ.mjs.map} +1 -1
- package/.output/server/chunks/build/{MapBaseLayerTabs-4445J6yh.mjs → MapBaseLayerTabs-CRl5Zwlr.mjs} +15 -9
- package/.output/server/chunks/build/{MapBaseLayerTabs-4445J6yh.mjs.map → MapBaseLayerTabs-CRl5Zwlr.mjs.map} +1 -1
- package/.output/server/chunks/build/{Modal-DNZtVxca.mjs → Modal-CozaqIp1.mjs} +13 -5
- package/.output/server/chunks/build/{Modal-DNZtVxca.mjs.map → Modal-CozaqIp1.mjs.map} +1 -1
- package/.output/server/chunks/build/{OnlineMap-CKwiuqUY.mjs → OnlineMap-cFSicmkV.mjs} +1 -1
- package/.output/server/chunks/build/{OnlineMap-CKwiuqUY.mjs.map → OnlineMap-cFSicmkV.mjs.map} +1 -1
- package/.output/server/chunks/build/{Pagination-CDHx4HTZ.mjs → Pagination-GvNCxmOW.mjs} +1 -1
- package/.output/server/chunks/build/{Pagination-CDHx4HTZ.mjs.map → Pagination-GvNCxmOW.mjs.map} +1 -1
- package/.output/server/chunks/build/{Slider-D-n8Y0CX.mjs → Slider-zQx1c7hB.mjs} +10 -25
- package/.output/server/chunks/build/Slider-zQx1c7hB.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-CkpSktvJ.mjs → Tooltip-DNUdH4oF.mjs} +3 -4
- package/.output/server/chunks/build/{Tooltip-CkpSktvJ.mjs.map → Tooltip-DNUdH4oF.mjs.map} +1 -1
- package/.output/server/chunks/build/{advanced-D1onodoF.mjs → advanced-5ZGMUBqC.mjs} +17 -18
- package/.output/server/chunks/build/advanced-5ZGMUBqC.mjs.map +1 -0
- package/.output/server/chunks/build/clamp-CdZXprXk.mjs +65 -0
- package/.output/server/chunks/build/clamp-CdZXprXk.mjs.map +1 -0
- package/.output/server/chunks/build/{compare-DmSAW8oA.mjs → compare-CtgF4Anj.mjs} +17 -17
- package/.output/server/chunks/build/{compare-DmSAW8oA.mjs.map → compare-CtgF4Anj.mjs.map} +1 -1
- package/.output/server/chunks/build/{dashboard-BJxrZ19n.mjs → dashboard-GneN-WPG.mjs} +25 -10
- package/.output/server/chunks/build/{dashboard-BJxrZ19n.mjs.map → dashboard-GneN-WPG.mjs.map} +1 -1
- package/.output/server/chunks/build/{details-CBMqXYyo.mjs → details-CgufnL1d.mjs} +4 -4
- package/.output/server/chunks/build/{details-CBMqXYyo.mjs.map → details-CgufnL1d.mjs.map} +1 -1
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +1 -1
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +1 -1
- package/.output/server/chunks/build/{interval-BxUMpo78.mjs → interval-9B2MrM2e.mjs} +2 -2
- package/.output/server/chunks/build/{interval-BxUMpo78.mjs.map → interval-9B2MrM2e.mjs.map} +1 -1
- package/.output/server/chunks/build/{login-lbtjN0MV.mjs → login-Cf5EiCE4.mjs} +8 -8
- package/.output/server/chunks/build/{login-lbtjN0MV.mjs.map → login-Cf5EiCE4.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-Ba0Eixbd.mjs → pages-0c5sp_lv.mjs} +8 -9
- package/.output/server/chunks/build/pages-0c5sp_lv.mjs.map +1 -0
- package/.output/server/chunks/build/{services-DuJwjAB8.mjs → services-BB49kSpd.mjs} +16 -16
- package/.output/server/chunks/build/{services-DuJwjAB8.mjs.map → services-BB49kSpd.mjs.map} +1 -1
- package/.output/server/chunks/build/{tasks-D_Q5EDnn.mjs → tasks-Aa8PwjVL.mjs} +5 -5
- package/.output/server/chunks/build/{tasks-D_Q5EDnn.mjs.map → tasks-Aa8PwjVL.mjs.map} +1 -1
- package/.output/server/chunks/build/tasks-BRcMLuRW.mjs +6121 -0
- package/.output/server/chunks/build/tasks-BRcMLuRW.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +254 -257
- package/.output/server/chunks/routes/api/auth/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +2 -2
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/base/status.get.mjs +24 -0
- package/.output/server/chunks/routes/api/map/base/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/live/status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +3 -3
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +3 -3
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/config.post.mjs +1 -0
- package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/file.post.mjs +4 -3
- package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/source.post.mjs +1 -0
- package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +4 -3
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +11 -4
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs +39 -0
- package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +3 -2
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/files.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/files.post.mjs +4 -3
- package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/services/wms.get.mjs +3 -2
- package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -1
- package/.output/server/chunks/routes/services/wmts.get.mjs +3 -2
- package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +149 -149
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/styles.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README.md +7 -1
- package/dist/package.json +68 -0
- package/dist/shared/export.js +4 -0
- package/dist/shared/types/export.js +1 -0
- package/dist/src/cli.js +20 -3
- package/dist/src/config.js +2 -0
- package/dist/src/core/grid-renderer.js +29 -15
- package/dist/src/core/png.js +59 -6
- package/dist/src/core/shell.js +37 -0
- package/dist/src/core/uomtiles.js +98 -14
- package/package.json +1 -1
- package/.output/public/_nuxt/1d1PDhA4.js +0 -1
- package/.output/public/_nuxt/981KwFWf.js +0 -1
- package/.output/public/_nuxt/B30dSvM4.js +0 -1
- package/.output/public/_nuxt/BRkljK8J.js +0 -1
- package/.output/public/_nuxt/B_MqTg2k2.js +0 -1
- package/.output/public/_nuxt/BrPwntMr.js +0 -1
- package/.output/public/_nuxt/BskybydR.js +0 -1
- package/.output/public/_nuxt/C7HxHbxA.js +0 -1
- package/.output/public/_nuxt/CPuhwLY1.js +0 -1
- package/.output/public/_nuxt/Ce26t8_Y.js +0 -1
- package/.output/public/_nuxt/CfW544W5.js +0 -1
- package/.output/public/_nuxt/D1wVNWS0.js +0 -1
- package/.output/public/_nuxt/Dz7VMlHR.js +0 -1
- package/.output/public/_nuxt/NL65vbjG2.js +0 -1
- package/.output/public/_nuxt/Pik8or8N2.js +0 -1
- package/.output/public/_nuxt/XZ59tThl.js +0 -1
- package/.output/public/_nuxt/ZpWjFsgV.js +0 -1
- package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +0 -1
- package/.output/public/_nuxt/dXz6dFgW2.js +0 -1
- package/.output/public/_nuxt/entry.P6tFNE31.css +0 -1
- package/.output/public/_nuxt/j0MRD-c3.js +0 -1
- package/.output/public/_nuxt/zZ1EGR7Y.js +0 -1
- package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +0 -569
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +0 -1
- package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +0 -1
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +0 -379
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +0 -1
- package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +0 -1
- package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +0 -1
- package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +0 -1
- package/.output/server/chunks/build/tasks-CyN9x492.mjs +0 -915
- package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{At as e,En as t,F as n,G as r,I as i,It as ee,M as a,Mn as o,N as s,P as c,Pn as l,S as u,U as d,Wn as f,_r as p,bt as m,in as h,ln as g,wt as _}from"./C97TfNgP.js";import{it as v,nt as y}from"./CgMd2Y5s.js";import{_ as te,t as ne}from"./ByRlKR9F.js";import{r as b}from"./3B2XYGg4.js";import{t as x}from"./DmN-PKW1.js";import{t as re}from"./DXm-42Fi.js";import{t as ie}from"./CfW544W5.js";import{a as ae,i as oe,n as se,r as ce,t as le}from"./C7HxHbxA.js";import{t as ue}from"./C4qlzA4o.js";import{n as de,r as S}from"#entry";import{n as fe,t as pe}from"./ZpWjFsgV.js";import{t as me}from"./DC3bhq63.js";import{r as C,t as he}from"./DkcySee1.js";import{t as w}from"./CNs_Ozdc.js";import{i as ge,n as T,r as E,t as D}from"./BiWblTbb2.js";var _e={class:`grid min-h-0 flex-1 lg:grid-cols-[20rem_minmax(0,1fr)]`},ve={class:`flex max-h-[24rem] min-h-0 flex-col overflow-hidden border-b border-default lg:max-h-none lg:border-r lg:border-b-0`},ye={class:`border-b border-default p-3`},be={class:`flex items-center justify-between gap-2 border-b border-default px-4 py-3`},O={class:`flex items-center gap-2`},k={class:`uom-mono text-xs text-muted`},A={class:`space-y-1 p-1`},j={class:`w-full min-w-0`},M={class:`flex items-center gap-2`},N={class:`min-w-0 flex-1 truncate text-sm font-medium`},xe={key:0,class:`mt-2 space-y-1.5`},Se={class:`flex items-center justify-between gap-2 text-[11px] text-muted`},Ce={class:`uom-mono`},we={class:`flex items-center justify-between gap-2 text-[11px] text-muted`},Te={class:`uom-mono`},Ee={key:1,class:`mt-1.5 flex items-center justify-between gap-3 text-xs text-muted`},De={key:0,class:`uom-mono`},Oe={key:1,class:`flex min-h-48 flex-1 flex-col items-center justify-center gap-3 px-4 text-sm text-muted`},ke={key:2,class:`flex min-h-48 flex-1 items-center justify-center px-4 py-8`},Ae={class:`flex min-h-0 flex-col`},je={class:`flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-default px-4 py-1.5`},Me={class:`min-h-0 flex-1`},Ne={class:`text-sm text-muted`},P=r({__name:`tasks`,setup(r){w({layout:`dashboard`}),b({title:`地图下载任务`});let P=v(),F=S(),I=C(),L=x(`tasks-base-map`,()=>`tianditu`),R=l(P.path===`/tasks/details`?`details`:`preview`),z=l(!1),B=l(!1),V=l(!1),H=o({filename:``}),Pe=D({filename:T().trim().min(1,`请输入文件名`).max(120,`文件名不能超过 120 个字符`).refine(e=>!e.toLowerCase().endsWith(`.uomtiles`),`扩展名由系统自动添加`)}),U,W=a(()=>I.files.value.filter(e=>e.kind===`uomtiles`)),G=a(()=>I.selected.value?.kind===`uomtiles`?I.selected.value:null),K=a(()=>!!G.value?.locked),q=a(()=>K.value?`running`:G.value?.summary?.state||`incomplete`),Fe=a(()=>!!(G.value&&q.value!==`completed`&&!K.value)),Ie=a(()=>!!(G.value&&!K.value&&!G.value.locked)),J=a(()=>G.value?.summary?.startedAt?`继续下载`:`开始下载`),Le=new Intl.DateTimeFormat(`zh-CN`,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),Y=l(Date.now()),X=a(()=>[{label:`实时预览`,icon:`i-lucide-map`,value:`preview`,disabled:!G.value},{label:`任务明细`,icon:`i-lucide-list`,value:`details`,disabled:!G.value}]);_(async()=>{await I.refresh(),U=E(()=>{Y.value=Date.now(),I.refresh()},3e3)}),m(()=>clearInterval(U)),h(()=>P.path,e=>{R.value=e===`/tasks/details`?`details`:`preview`}),h(R,e=>{G.value&&(e===`details`&&P.path!==`/tasks/details`&&y({name:`tasks-details`}),e===`preview`&&P.path!==`/tasks`&&y({name:`tasks`}))});async function Re(){try{await I.start(),z.value=!1,F.add({title:`抓取已启动`,color:`success`,icon:`i-lucide-play`})}catch(e){F.add({title:`无法启动`,description:e?.data?.statusMessage||e?.message,color:`error`})}}function Z(e){return e.locked?`running`:e.summary?.state||`incomplete`}function ze(e){return e===`running`?`进行中`:e===`completed`?`已完成`:`未完成`}function Be(e){return e===`running`?`info`:e===`completed`?`success`:`neutral`}function Ve(e){return G.value?.filename===e.filename?`primary`:Z(e)===`running`?`info`:`neutral`}function He(e){return G.value?.filename===e.filename||Z(e)===`running`?`soft`:`ghost`}function Q(e){return I.displayWorkspaceName(e)}function $(e){let t=e.summary,n=t?.roots||{},r=Object.values(n).reduce((e,t)=>e+Number(t),0),i=Number(n.completed||0);return{summary:t,total:r,completed:i,percent:r>0?i/r*100:0}}function Ue(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n>0?`${n}小时${r}分`:`${Math.max(1,r)}分钟`}function We(e){let t=$(e),n=t.summary?.startedAt?Date.parse(t.summary.startedAt):NaN;if(!Number.isFinite(n)||t.completed<=0||t.total<=t.completed)return`EST 计算中`;let r=Y.value-n;return`EST ${Ue((t.total-t.completed)*r/t.completed)}`}function Ge(){let e=new Date(Date.now()-new Date().getTimezoneOffset()*6e4).toISOString().slice(0,19).replace(/:/g,`-`);H.filename=`uom-${e}`,V.value=!0}async function Ke(){try{let e=await I.createTask(H.filename);V.value=!1,F.add({title:`任务已创建`,description:Q(e.filename),color:`success`,icon:`i-lucide-file-check-2`})}catch(e){F.add({title:`无法创建任务`,description:e?.data?.statusMessage||e?.message,color:`error`})}}async function qe(){if(G.value)try{await I.deleteTask(G.value.filename),B.value=!1,F.add({title:`任务已删除`,color:`success`,icon:`i-lucide-trash-2`})}catch(e){F.add({title:`无法删除任务`,description:e?.data?.statusMessage||e?.message,color:`error`})}}async function Je(e){if(!e.name.toLowerCase().endsWith(`.uomtiles`)){F.add({title:`请选择 .uomtiles 文件`,color:`error`});return}try{let t=await I.importFile(e);I.selectTask(t.filename)}catch(e){F.add({title:`无法打开任务文件`,description:e?.data?.message||e?.message,color:`error`})}}return(r,a)=>{let o=ne,l=se,m=fe,h=ae,_=de,v=pe,y=te,b=he,x=oe,S=ce,C=re,w=le,T=me,E=ue,D=ge,P=ie;return e(),i(u,null,[d(w,{id:`download-tasks`,class:`h-svh min-w-0 overflow-hidden`,ui:{body:`gap-0 overflow-hidden p-0 sm:gap-0 sm:p-0`}},{header:g(()=>[d(l,{title:`地图下载任务`},{right:g(()=>[d(o,{icon:`i-lucide-plus`,label:`新建任务`,color:`neutral`,variant:`outline`,size:`sm`,onClick:Ge}),d(o,{icon:`i-lucide-refresh-cw`,label:`刷新`,color:`neutral`,variant:`outline`,size:`sm`,loading:f(I).pending.value,onClick:f(I).refresh},null,8,[`loading`,`onClick`]),f(G)?(e(),c(o,{key:0,icon:`i-lucide-trash-2`,label:`删除任务`,color:`error`,variant:`outline`,size:`sm`,disabled:!f(Ie),onClick:a[0]||=e=>B.value=!0},null,8,[`disabled`])):n(``,!0),f(G)&&f(q)===`completed`?(e(),i(u,{key:1},[d(o,{to:`/api/workspace/${encodeURIComponent(f(G).filename)}/download`,target:`_blank`,icon:`i-lucide-download`,label:`UOMTiles`,color:`neutral`,variant:`outline`,size:`sm`},null,8,[`to`]),d(o,{to:`/api/workspace/${encodeURIComponent(f(G).filename)}/export/mbtiles`,target:`_blank`,icon:`i-lucide-database`,label:`MBTiles`,color:`neutral`,variant:`outline`,size:`sm`},null,8,[`to`]),d(o,{to:`/api/workspace/${encodeURIComponent(f(G).filename)}/export/pmtiles`,target:`_blank`,icon:`i-lucide-package`,label:`PMTiles`,color:`neutral`,variant:`outline`,size:`sm`},null,8,[`to`])],64)):n(``,!0),f(K)?(e(),c(o,{key:2,icon:`i-lucide-square`,label:`停止下载`,color:`warning`,variant:`outline`,size:`sm`,onClick:a[1]||=e=>f(I).stop(f(G)?.filename)})):f(Fe)?(e(),c(o,{key:3,icon:`i-lucide-play`,label:f(J),variant:`outline`,size:`sm`,onClick:a[2]||=e=>z.value=!0},null,8,[`label`])):n(``,!0)]),_:1})]),body:g(()=>[s(`div`,_e,[s(`aside`,ve,[s(`div`,ye,[d(m,{accept:`.uomtiles`,title:`导入任务`,pending:f(I).pending.value,onSelect:Je},null,8,[`pending`])]),s(`div`,be,[s(`div`,O,[a[12]||=s(`h2`,{class:`text-sm font-semibold`},`任务列表`,-1),s(`span`,k,p(f(W).length),1)])]),f(I).ready.value&&f(W).length?(e(),c(v,{key:0,class:`min-h-0 flex-1`},{default:g(()=>[s(`div`,A,[(e(!0),i(u,null,ee(f(W),t=>(e(),c(o,{key:t.filename,type:`button`,block:``,color:Ve(t),variant:He(t),class:`h-auto min-h-16 w-full items-start justify-start px-3 py-3 text-left`,"aria-pressed":f(G)?.filename===t.filename,onClick:e=>f(I).selectTask(t.filename)},{default:g(()=>[s(`div`,j,[s(`div`,M,[s(`span`,N,p(Q(t.filename)),1),d(h,{label:ze(Z(t)),color:Be(Z(t)),variant:`subtle`,size:`xs`},null,8,[`label`,`color`])]),Z(t)===`running`?(e(),i(`div`,xe,[s(`div`,Se,[s(`span`,null,p($(t).completed)+` / `+p($(t).total||6030)+` 个网格`,1),s(`span`,Ce,p(Math.floor($(t).percent))+`%`,1)]),d(_,{"model-value":$(t).percent,max:100,size:`sm`,color:`info`},null,8,[`model-value`]),s(`div`,we,[a[13]||=s(`span`,null,`正在下载`,-1),s(`span`,Te,p(We(t)),1)])])):(e(),i(`div`,Ee,[s(`span`,null,p(f(Le).format(new Date(t.modifiedAt))),1),t.summary?.roots.completed?(e(),i(`span`,De,p(t.summary.roots.completed)+` / 6030`,1)):n(``,!0)]))])]),_:2},1032,[`color`,`variant`,`aria-pressed`,`onClick`]))),128))])]),_:1})):f(I).ready.value?(e(),i(`div`,ke,[d(b,{icon:`i-lucide-files`,title:`暂无任务`})])):(e(),i(`div`,Oe,[d(y,{name:`i-lucide-loader-circle`,class:`size-5 animate-spin text-primary`}),a[14]||=s(`span`,null,`加载任务`,-1)]))]),s(`div`,Ae,[s(`div`,je,[d(x,{modelValue:f(R),"onUpdate:modelValue":a[3]||=e=>t(R)?R.value=e:null,items:f(X),content:!1,size:`sm`},null,8,[`modelValue`,`items`]),d(S,{modelValue:f(L),"onUpdate:modelValue":a[4]||=e=>t(L)?L.value=e:null},null,8,[`modelValue`])]),s(`div`,Me,[d(C)])])])]),_:1}),d(P,{open:f(V),"onUpdate:open":a[7]||=e=>t(V)?V.value=e:null,title:`新建地图下载任务`},{body:g(()=>[d(D,{id:`create-task-form`,schema:f(Pe),state:f(H),onSubmit:Ke},{default:g(()=>[d(E,{name:`filename`,label:`任务文件名`,required:``},{default:g(()=>[d(T,{modelValue:f(H).filename,"onUpdate:modelValue":a[5]||=e=>f(H).filename=e,class:`w-full`,autocomplete:`off`,icon:`i-lucide-file-database`},{trailing:g(()=>[...a[15]||=[s(`span`,{class:`uom-mono text-xs text-muted`},`.uomtiles`,-1)]]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`schema`,`state`])]),footer:g(()=>[d(o,{label:`取消`,color:`neutral`,variant:`ghost`,onClick:a[6]||=e=>V.value=!1}),d(o,{type:`submit`,form:`create-task-form`,label:`创建`,icon:`i-lucide-plus`,loading:f(I).pending.value},null,8,[`loading`])]),_:1},8,[`open`]),d(P,{open:f(z),"onUpdate:open":a[9]||=e=>t(z)?z.value=e:null,title:f(J)},{footer:g(()=>[d(o,{label:`取消`,color:`neutral`,variant:`ghost`,onClick:a[8]||=e=>z.value=!1}),d(o,{label:f(J),icon:`i-lucide-play`,onClick:Re},null,8,[`label`])]),_:1},8,[`open`,`title`]),d(P,{open:f(B),"onUpdate:open":a[11]||=e=>t(B)?B.value=e:null,title:`删除地图下载任务`},{body:g(()=>[s(`p`,Ne,`确定删除“`+p(f(G)?Q(f(G).filename):``)+`”吗?任务文件和已抓取数据将被永久删除。`,1)]),footer:g(()=>[d(o,{label:`取消`,color:`neutral`,variant:`ghost`,onClick:a[10]||=e=>B.value=!1}),d(o,{label:`确认删除`,icon:`i-lucide-trash-2`,color:`error`,loading:f(I).pending.value,onClick:qe},null,8,[`loading`])]),_:1},8,[`open`])],64)}}});export{P as default};
|