From 39ff62c47ea26dd05bf1b42d72bdbcf1fabb894a Mon Sep 17 00:00:00 2001 From: chenjw28 <792430652@qq.com> Date: Mon, 1 Jun 2026 13:40:53 +0800 Subject: [PATCH] x --- frontend/src/modules/login/LoginView.vue | 2 +- ...ignSystemView-phUbagC9.js => DesignSystemView-BZPhnSth.js} | 2 +- static/assets/{HomeView-LwI9XCn0.js => HomeView-CbnHpG1c.js} | 2 +- .../{InventoryView-DgDx8sLe.js => InventoryView-Cgv-INTo.js} | 2 +- .../assets/{LoginView-Bwqcd8du.css => LoginView--ukxbAHo.css} | 2 +- static/assets/LoginView-Ce2r7tTo.js | 1 + static/assets/LoginView-DpK1KsR0.js | 1 - ...oldInsightView-BG0m6f4M.js => MoldInsightView-O2BZ6fre.js} | 2 +- .../{ReleaseView-CCn0R8dT.js => ReleaseView-D0IDE_mx.js} | 2 +- .../assets/{ResultView-RD_BPQTj.js => ResultView-DhzFuC2H.js} | 2 +- .../assets/{UsersView-uF_CoXrs.js => UsersView-DRSsev8H.js} | 2 +- static/assets/{index-B-OcU2wj.js => index-B1sOGpZZ.js} | 4 ++-- static/index.html | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) rename static/assets/{DesignSystemView-phUbagC9.js => DesignSystemView-BZPhnSth.js} (78%) rename static/assets/{HomeView-LwI9XCn0.js => HomeView-CbnHpG1c.js} (95%) rename static/assets/{InventoryView-DgDx8sLe.js => InventoryView-Cgv-INTo.js} (99%) rename static/assets/{LoginView-Bwqcd8du.css => LoginView--ukxbAHo.css} (57%) create mode 100644 static/assets/LoginView-Ce2r7tTo.js delete mode 100644 static/assets/LoginView-DpK1KsR0.js rename static/assets/{MoldInsightView-BG0m6f4M.js => MoldInsightView-O2BZ6fre.js} (99%) rename static/assets/{ReleaseView-CCn0R8dT.js => ReleaseView-D0IDE_mx.js} (79%) rename static/assets/{ResultView-RD_BPQTj.js => ResultView-DhzFuC2H.js} (99%) rename static/assets/{UsersView-uF_CoXrs.js => UsersView-DRSsev8H.js} (98%) rename static/assets/{index-B-OcU2wj.js => index-B1sOGpZZ.js} (99%) diff --git a/frontend/src/modules/login/LoginView.vue b/frontend/src/modules/login/LoginView.vue index 0c56dfb..e336c98 100644 --- a/frontend/src/modules/login/LoginView.vue +++ b/frontend/src/modules/login/LoginView.vue @@ -44,7 +44,7 @@ const handleLogin = async () => { state.error = '' state.loading = true try { - const data = await apiRequest<{ access_token: string; token_type: string; user: Record }>('/api/auth/login', { + const data = await apiRequest<{ access_token: string; token_type: string; user: Record }>('/api/auth/login/json', { method: 'POST', body: JSON.stringify({ username: state.username, password: state.password }), }) diff --git a/static/assets/DesignSystemView-phUbagC9.js b/static/assets/DesignSystemView-BZPhnSth.js similarity index 78% rename from static/assets/DesignSystemView-phUbagC9.js rename to static/assets/DesignSystemView-BZPhnSth.js index a737721..4b878c3 100644 --- a/static/assets/DesignSystemView-phUbagC9.js +++ b/static/assets/DesignSystemView-BZPhnSth.js @@ -1 +1 @@ -import{E as e,_ as t,t as n,y as r}from"./index-B-OcU2wj.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`设计体系`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file +import{E as e,_ as t,t as n,y as r}from"./index-B1sOGpZZ.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`设计体系`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file diff --git a/static/assets/HomeView-LwI9XCn0.js b/static/assets/HomeView-CbnHpG1c.js similarity index 95% rename from static/assets/HomeView-LwI9XCn0.js rename to static/assets/HomeView-CbnHpG1c.js index 98bd9e4..528c695 100644 --- a/static/assets/HomeView-LwI9XCn0.js +++ b/static/assets/HomeView-CbnHpG1c.js @@ -1 +1 @@ -import{E as e,b as t,t as n,y as r}from"./index-B-OcU2wj.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`

Gemold 模具制造管理系统

智能模具设计与制造一体化平台,从零件分析到模具生成,全流程数字化解决方案

◈

MoldInsight

智能模具分析引擎,支持 STP/STEP 文件解析、分模设计、CAM 刀路规划

⊞

进销存管理

产品管理、采购销售、库存管理、财务管理,一站式 ERP 解决方案

⚙

AI 驱动

AI 分型面检测、模具方案评分、智能设计建议,提升设计效率

`,2)]])}var o=n(i,[[`render`,a],[`__scopeId`,`data-v-a374362f`]]);export{o as default}; \ No newline at end of file +import{E as e,b as t,t as n,y as r}from"./index-B1sOGpZZ.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`

Gemold 模具制造管理系统

智能模具设计与制造一体化平台,从零件分析到模具生成,全流程数字化解决方案

◈

MoldInsight

智能模具分析引擎,支持 STP/STEP 文件解析、分模设计、CAM 刀路规划

⊞

进销存管理

产品管理、采购销售、库存管理、财务管理,一站式 ERP 解决方案

⚙

AI 驱动

AI 分型面检测、模具方案评分、智能设计建议,提升设计效率

`,2)]])}var o=n(i,[[`render`,a],[`__scopeId`,`data-v-a374362f`]]);export{o as default}; \ No newline at end of file diff --git a/static/assets/InventoryView-DgDx8sLe.js b/static/assets/InventoryView-Cgv-INTo.js similarity index 99% rename from static/assets/InventoryView-DgDx8sLe.js rename to static/assets/InventoryView-Cgv-INTo.js index 6062b20..e4f0fe5 100644 --- a/static/assets/InventoryView-DgDx8sLe.js +++ b/static/assets/InventoryView-Cgv-INTo.js @@ -1 +1 @@ -import{A as e,C as t,D as n,E as r,M as i,O as a,P as o,S as s,T as c,_ as l,b as u,c as ee,d,f,g as te,h as p,j as m,k as ne,l as re,m as h,n as g,o as _,p as ie,r as v,s as ae,t as y,v as b,w as oe,x,y as S}from"./index-B-OcU2wj.js";import{a as se,n as C,r as w,t as T}from"./utils-COFIQvWo.js";var ce={class:`page-container`},le={class:`inventory-layout`},ue={class:`inventory-sidebar`},de={class:`inventory-menu`},fe=[`onClick`],pe={class:`inventory-menu-caret`},me={class:`inventory-menu-items`},he=[`onClick`],ge={class:`inventory-content`},_e={class:`inventory-content-header`},ve={class:`inventory-content-title`},ye={class:`inventory-breadcrumb`},be={class:`inventory-breadcrumb-current`},xe={key:0,class:`inline-alert inline-alert-warning`},Se={class:`inline-alert-message`},Ce={key:1,class:`loading-state`},we={key:2},Te={key:0,class:`dashboard-grid`},Ee={class:`stat-card`},De={class:`stat-content`},Oe={class:`stat-value`},ke={class:`stat-card`},Ae={class:`stat-content`},je={class:`stat-value`},Me={class:`stat-card`},Ne={class:`stat-content`},Pe={class:`stat-value`},Fe={class:`stat-card`},Ie={class:`stat-content`},Le={class:`stat-value`},Re={class:`stat-card`},ze={class:`stat-content`},Be={class:`stat-value`},Ve={class:`stat-card`},He={class:`stat-content`},Ue={class:`stat-value`},We={key:1},Ge={class:`table-header`},Ke={class:`table-container`},qe={class:`data-table`},Je={class:`action-btns`},Ye=[`onClick`],Xe=[`onClick`],Ze={key:2},Qe={class:`table-header`},$e={class:`table-container`},et={class:`data-table`},tt={class:`action-btns`},nt=[`onClick`],rt=[`onClick`],it={key:3},at={class:`table-header`},ot={class:`table-container`},st={class:`data-table`},ct={class:`action-btns`},lt=[`onClick`],ut=[`onClick`],dt={key:4},ft={class:`table-header mb-12`},pt={class:`table-container mb-16`},mt={class:`flex-row-center`},ht=[`value`],gt={class:`table-container`},_t={class:`data-table`},vt={class:`action-btns`},yt=[`onClick`,`disabled`],bt=[`onClick`,`disabled`],xt=[`onClick`],St=[`onClick`],Ct={key:5},wt={class:`table-header`},Tt={class:`table-container`},Et={class:`data-table`},Dt={class:`action-btns`},Ot=[`onClick`],kt=[`onClick`],At={key:6},jt={class:`table-header`},Mt={class:`table-container`},Nt={class:`data-table`},Pt={class:`action-btns`},Ft=[`onClick`],It=[`onClick`],Lt={key:7},Rt={class:`table-header mb-12`},zt={class:`table-container mb-16`},Bt={class:`flex-row-center`},Vt=[`value`],Ht={class:`table-container`},Ut={class:`data-table`},Wt={class:`action-btns`},Gt={class:`dropdown`},Kt={class:`dropdown-menu`},qt=[`onClick`],Jt=[`onClick`],Yt=[`onClick`,`disabled`],Xt=[`onClick`],Zt={key:8},Qt={class:`table-container mb-16`},$t={class:`flex-row-center`},en={class:`text-secondary`},tn={class:`dashboard-grid`},nn={class:`stat-card`},rn={class:`stat-content`},an={class:`stat-value`},on={class:`stat-card`},sn={class:`stat-content`},cn={class:`stat-value`},ln={class:`stat-card`},un={class:`stat-content`},dn={class:`stat-value`},fn={class:`stat-card`},pn={class:`stat-content`},mn={class:`stat-value`},hn={class:`table-container mt-16`},gn={class:`data-table`},_n={class:`table-container mt-16`},vn={class:`data-table`},yn={class:`table-container mt-16`},bn={class:`data-table`},xn={class:`table-container mt-16`},Sn={class:`data-table`},Cn={class:`table-container mt-16`},wn={class:`data-table`},Tn={key:9,class:`table-container`},En={class:`data-table`},Dn={class:`modal-content`},On={class:`modal-header`},kn={class:`modal-body`},An={class:`form-group`},jn=[`value`],Mn={class:`form-group`},Nn={class:`form-group`},Pn={class:`form-group`},Fn={class:`form-group`},In={class:`form-group`},Ln={class:`form-group`},Rn={key:0,class:`form-group`},zn={key:1,class:`form-group`},Bn={key:2,class:`bom-section`},Vn={class:`form-group`},Hn={class:`table-container`},Un={class:`data-table`},Wn=[`onUpdate:modelValue`],Gn=[`value`],Kn=[`onUpdate:modelValue`],qn=[`onClick`],Jn={class:`form-group`},Yn=[`value`],Xn={class:`form-group`},Zn={class:`form-group`},Qn={key:0,class:`empty-state`},$n={key:1,class:`sales-order-items`},er={class:`sales-order-item-header`},tr=[`onClick`],nr=[`onClick`],rr={class:`sales-order-item-content`},ir={key:0},ar={class:`form-group`},or=[`onUpdate:modelValue`],sr={class:`form-group`},cr=[`onUpdate:modelValue`],lr={key:1},ur={class:`form-group`},dr=[`onUpdate:modelValue`],fr=[`value`],pr={class:`sales-order-item-row`},mr={class:`sales-order-item-column`},hr={class:`form-group`},gr=[`onUpdate:modelValue`],_r={class:`sales-order-item-column`},vr={class:`form-group`},yr=[`onUpdate:modelValue`],br={class:`sales-order-item-column`},xr={class:`form-group`},Sr=[`onUpdate:modelValue`],Cr={class:`sales-order-item-actions`},wr=[`onClick`],Tr={class:`form-group form-group-spaced`},Er={key:0,class:`material-consumption-list`},Dr={class:`material-consumption-item`},Or={class:`material-consumption-item`},kr={class:`material-consumption-item`},Ar={class:`material-consumption-item`},jr={class:`material-consumption-total`},Mr={class:`material-consumption-item`},Nr={key:1,class:`empty-state`},Pr={class:`form-group`},Fr=[`value`],Ir={class:`form-group`},Lr={class:`form-group`},Rr={key:0,class:`empty-state`},zr={key:1,class:`purchase-order-items`},Br={class:`purchase-order-item-content`},Vr={class:`form-group`},Hr=[`onUpdate:modelValue`],Ur=[`value`],Wr={class:`purchase-order-item-row`},Gr={class:`purchase-order-item-column`},Kr={class:`form-group`},qr=[`onUpdate:modelValue`],Jr={class:`purchase-order-item-column`},Yr={class:`form-group`},Xr={class:`info-display`},Zr={class:`purchase-order-item-column`},Qr={class:`form-group`},$r={class:`info-display`},ei={class:`purchase-order-item-column`},ti={class:`form-group`},ni=[`onUpdate:modelValue`],ri={class:`purchase-order-item-actions`},ii=[`onClick`],ai={class:`form-group`},oi=[`value`],si={class:`form-group`},ci={class:`table-container`},li={class:`data-table`},ui=[`onUpdate:modelValue`,`max`],di={class:`form-group`},fi={class:`form-group`},pi={class:`form-group`},mi={class:`form-group`},hi={class:`form-group`},gi={class:`form-group`},_i={class:`form-group`},vi={class:`form-group`},yi={class:`form-group`},bi={class:`form-group`},xi={class:`form-group`},Si={key:0,value:null,disabled:``},Ci=[`value`],wi={class:`form-group`},Ti={key:0,value:null,disabled:``},Ei=[`value`],Di={class:`form-group`},Oi={class:`form-group`},ki={class:`form-group`},Ai={class:`form-group`},ji={class:`modal-footer`},Mi=[`disabled`],Ni={class:`modal-content`},Pi={class:`modal-header`},Fi={class:`modal-body`},Ii={key:0,class:`empty-state`},Li={key:1,class:`purchase-order-items`},Ri={class:`purchase-order-item-content`},zi={class:`form-group`},Bi=[`onUpdate:modelValue`],Vi=[`value`],Hi={class:`purchase-order-item-row`},Ui={class:`purchase-order-item-column`},Wi={class:`form-group`},Gi=[`onUpdate:modelValue`],Ki={class:`purchase-order-item-column`},qi={class:`form-group`},Ji={class:`info-display`},Yi={class:`purchase-order-item-column`},Xi={class:`form-group`},Zi={class:`info-display`},Qi={class:`purchase-order-item-column`},$i={class:`form-group`},ea=[`onUpdate:modelValue`],ta={class:`purchase-order-item-actions`},na=[`onClick`],ra={class:`modal-footer`},ia={class:`modal-content restock-modal`},aa={class:`modal-header`},oa={class:`modal-body`},sa={class:`form-section`},ca={key:0,class:`empty-state`},la={key:1,class:`purchase-order-items`},ua={class:`purchase-order-item-row`},da={class:`purchase-order-item-column restock-col-material`},fa={class:`form-group`},pa=[`onUpdate:modelValue`],ma=[`value`],ha={class:`purchase-order-item-column`},ga={class:`form-group`},_a=[`onUpdate:modelValue`],va={class:`purchase-order-item-column`},ya={class:`form-group`},ba=[`onUpdate:modelValue`],xa={class:`purchase-order-item-column`},Sa={class:`form-group`},Ca={class:`info-display`},wa={class:`purchase-order-item-column`},Ta={class:`form-group`},Ea=[`onUpdate:modelValue`],Da={class:`purchase-order-item-actions`},Oa=[`onClick`],ka={class:`modal-footer`},E=y(s({__name:`InventoryView`,setup(s){let y=ae(),E=re();ee();let D=e(null),O=e(null),k=e(null),A=e(null),j=ne({activeTab:`dashboard`,backendDbReady:!0,backendDbMessage:``,productCategory:`finished`,dashboard:null,financeSummary:null,financePeriod:{year:new Date().getFullYear(),quarter:``},financeTransactions:[],receivables:[],payables:[],customerFinanceStatement:[],supplierFinanceStatement:[],customerProductStatement:[],supplierProductStatement:[],products:[],materials:[],finishedProducts:[],purchaseOrders:[],purchaseWarehouseId:null,purchaseReceiveItems:[],productionOrders:[],productionPlan:null,productionWarehouseId:null,suppliers:[],customers:[],warehouses:[],inventory:[],movements:[],loading:!1,showModal:!1,modalType:``,editingItem:null,productBomItems:[],materialConsumptionItems:[],showMaterialConsumptionModal:!1,consumedMaterials:[],restockItems:[],showRestockModal:!1,form:{}}),Aa=e=>{if(!e)return null;let t=String(e).trim().replace(`T`,` `).slice(0,16).match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2})$/);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]),o=Number(t[5]);return Number.isFinite(n+r+i+a+o)?new Date(n,r-1,i,a,o,0):null},M=e=>{if(!e)return``;let t=String(e).trim();if(/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}/.test(t))return t.slice(0,16);if(t.includes(`T`))return t.replace(`T`,` `).slice(0,16);let n=new Date(t);if(!Number.isFinite(n.getTime()))return``;let r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())} ${r(n.getHours())}:${r(n.getMinutes())}`},ja=e=>{if(!e)return null;let t=String(e).trim();return t.includes(`T`)?t.split(`T`)[0]:t.includes(` `)?t.split(` `)[0]:t.length===10?t:e instanceof Date?`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`:t},N=e=>{if(!e)return``;let t=String(e).trim();if(t.length===10&&!t.includes(`T`)&&!t.includes(` `))return t;let n=t.replace(` `,`T`);return n.length>=16?n.slice(0,16):n},Ma=e=>{if(!e)return``;let t=String(e).trim();return t.length===10&&!t.includes(`T`)&&!t.includes(` `)?t:t.replace(`T`,` `).slice(0,16)},P=null,F=null,I=()=>{P&&=(P.destroy(),null),F&&=(F.destroy(),null)},Na=()=>{if(I(),typeof AirDatepicker==`function`){if(j.modalType===`salesOrder`&&D.value){P=new AirDatepicker(D.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{j.form.delivery_date=e||``,j.form.delivery_date_native=N(e||``)}});let e=Aa(j.form.delivery_date);e&&P.selectDate(e,{silent:!0})}if(j.modalType===`purchaseOrder`&&O.value){F=new AirDatepicker(O.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{j.form.expected_date=e||``,j.form.expected_date_native=N(e||``)}});let e=Aa(j.form.expected_date);e&&F.selectDate(e,{silent:!0})}}},L=e=>{if(e===`delivery`&&P){P.show();return}if(e===`expected`&&F){F.show();return}let t=e===`delivery`?k.value:A.value;if(t){if(typeof t.showPicker==`function`){t.showPicker();return}t.focus(),t.click()}},Pa=e=>({in:`其他入库`,out:`其他出库`,adjust:`库存调整`,purchase_in:`采购入库`,return_from_production:`生产退料入库`,outsource_return:`外协回库`,finish_in:`完工入库`,issue_to_production:`生产领料出库`,outsource_send:`外协发料出库`,shipment_out:`销售出库`,scrap_out:`报废出库`})[e]||e,Fa=e=>[`purchase_in`,`return_from_production`,`outsource_return`,`finish_in`,`in`].includes(e)?`badge-success`:[`issue_to_production`,`outsource_send`,`shipment_out`,`scrap_out`,`out`].includes(e)?`badge-error`:`badge-warning`,Ia=e=>({draft:`已下单`,pending:`已下单`,received:`已收货`,paid:`已付款`})[e]||e,R=e=>[`received`,`paid`].includes(e),z=async()=>{j.loading=!0;try{j.dashboard=await _(`/api/dashboard`)}catch(e){v(e,`加载仪表盘`)}finally{j.loading=!1}},B=async()=>{j.loading=!0;try{j.finishedProducts=await _(`/api/products?item_type=finished&limit=100`)}catch(e){v(e,`加载成品`)}finally{j.loading=!1}},V=async()=>{await B()},H=async()=>{j.loading=!0;try{j.materials=await _(`/api/products?item_type=material&limit=100`)}catch(e){v(e,`加载物料`)}finally{j.loading=!1}},U=async()=>{j.loading=!0;try{j.warehouses=await _(`/api/warehouses`)}catch(e){v(e,`加载仓库`)}finally{j.loading=!1}},La=async()=>{if(j.materials.length||await H(),j.warehouses.length||await U(),!j.warehouses.length)try{await _(`/api/warehouses`,{method:`POST`,body:JSON.stringify({name:`默认仓库`})}),await U(),g(`已自动创建默认仓库`,`success`)}catch(e){v(e,`自动创建默认仓库`)}},W=async()=>{j.loading=!0;try{j.suppliers=await _(`/api/suppliers`)}catch(e){v(e,`加载供应商`)}finally{j.loading=!1}},G=async()=>{j.loading=!0;try{let[e,t]=await Promise.all([_(`/api/sales-orders?limit=100`),_(`/api/warehouses`)]);j.productionOrders=e?.items||[],j.warehouses=t||[],j.productionWarehouseId||=j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null}catch(e){v(e,`加载按单生产数据`)}finally{j.loading=!1}},K=async()=>{j.loading=!0;try{let[e,t]=await Promise.all([_(`/api/purchase-orders?limit=100`),_(`/api/warehouses`)]);j.purchaseOrders=e?.items||[],j.warehouses=t||[],j.purchaseWarehouseId||=j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null}catch(e){v(e,`加载采购订单`)}finally{j.loading=!1}},q=async()=>{j.loading=!0;try{j.customers=await _(`/api/customers`)}catch(e){v(e,`加载客户`)}finally{j.loading=!1}},J=async()=>{j.loading=!0;try{j.inventory=(await _(`/api/inventory`))?.items||[]}catch(e){v(e,`加载库存`)}finally{j.loading=!1}},Y=async()=>{j.loading=!0;try{j.movements=(await _(`/api/stock-movements`))?.items||[]}catch(e){v(e,`加载变动记录`)}finally{j.loading=!1}},Ra=async()=>{j.loading=!0;try{let e=Number(j.financePeriod.year)||new Date().getFullYear(),t=j.financePeriod.quarter?Number(j.financePeriod.quarter):null,n=t?`year=${e}&quarter=${t}`:`year=${e}`,[r,i,a,o,s,c,l,u]=await Promise.all([_(`/api/finance/summary?${n}`),_(`/api/finance/transactions?status=confirmed&limit=20&${n}`),_(`/api/finance/receivables?limit=20&${n}`),_(`/api/finance/payables?limit=20&${n}`),_(`/api/finance/partner-statement/customer?${n}`),_(`/api/finance/partner-statement/supplier?${n}`),_(`/api/finance/partner-product-statement/customer?${n}`),_(`/api/finance/partner-product-statement/supplier?${n}`)]);j.financeSummary=r,j.financeTransactions=i,j.receivables=a,j.payables=o,j.customerFinanceStatement=s.items||[],j.supplierFinanceStatement=c.items||[],j.customerProductStatement=l.items||[],j.supplierProductStatement=u.items||[]}catch(e){v(e,`加载财务数据`)}finally{j.loading=!1}},za=()=>{j.activeTab===`finance`&&Ra()},Ba=e=>{if(j.activeTab=e,j.backendDbReady)switch(e){case`dashboard`:z();break;case`sales_orders`:G();break;case`products`:B();break;case`materials`:H();break;case`purchases`:K();break;case`inventory`:J();break;case`customers`:q();break;case`suppliers`:W();break;case`finance`:Ra();break;case`movements`:Y();break}},X=[{key:`overview`,title:`概览`,items:[{key:`dashboard`,label:`仪表盘`}]},{key:`sales`,title:`销售`,items:[{key:`sales_orders`,label:`销售订单管理`}]},{key:`purchase`,title:`采购`,items:[{key:`purchases`,label:`采购订单管理`}]},{key:`product`,title:`产品`,items:[{key:`products`,label:`成品管理`},{key:`materials`,label:`物料管理`}]},{key:`partner`,title:`往来单位`,items:[{key:`customers`,label:`客户管理`},{key:`suppliers`,label:`供应商管理`}]},{key:`warehouse`,title:`仓库`,items:[{key:`inventory`,label:`库存管理`},{key:`movements`,label:`库存变动记录`}]},{key:`finance`,title:`财务`,items:[{key:`finance`,label:`财务概览`}]}],Z=ne(Object.fromEntries(X.map(e=>[e.key,!0]))),Va=e=>{Z[e]=!Z[e]},Ha=te(()=>{for(let e of X){let t=e.items.find(e=>e.key===j.activeTab);if(t)return{group:e,item:t}}return null}),Ua=e=>{Ba(e)},Wa=async()=>{try{let e=await fetch(`/health`,{method:`GET`});if(!e.ok){j.backendDbReady=!1,j.backendDbMessage=`后端服务异常,暂无法加载业务数据`;return}let t=await e.json().catch(()=>null);if(t&&t.database_connected===!1){j.backendDbReady=!1,j.backendDbMessage=`数据库未连接,当前仅可浏览界面,业务数据暂不可用`;return}j.backendDbReady=!0,j.backendDbMessage=``}catch{j.backendDbReady=!1,j.backendDbMessage=`无法连接后端服务`}},Ga=e=>{j.modalType=`product`,j.editingItem=null,j.form={item_type:e,unit:e===`material`?`kg`:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0},j.showModal=!0},Q=async(e,n=null)=>{if(j.modalType=e,j.editingItem=n,n)if(e===`salesOrder`){if(n.status===`paid`){g(`已收款的销售订单禁止修改`,`warning`),j.modalType=``,j.editingItem=null;return}await q(),await B();let e=await _(`/api/sales-orders/${n.id}`);j.consumedMaterials=(await _(`/api/stock-movements?reference_type=sales_order&reference_id=${n.id}&movement_type=consumption`)||[]).map(e=>({material_name:e.product_name||e.product_sku||`未知物料`,quantity:Math.abs(e.quantity),unit_price:e.unit_price||0,amount:e.total_amount||0})),j.form={customer_id:e.customer_id,delivery_date:M(e.delivery_date),delivery_date_native:N(M(e.delivery_date)),remark:e.remark||``,items:(e.items||[]).map(e=>({mode:e.product_id?`existing`:`new`,product_id:e.product_id,product_sku:``,product_name:``,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark||``}))}}else if(e===`purchaseOrder`){await W(),await H();let e=await _(`/api/purchase-orders/${n.id}`);j.form={supplier_id:e.supplier_id,expected_date:M(e.expected_date),expected_date_native:N(M(e.expected_date)),remark:e.remark||``,items:(e.items||[]).map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark||``}))}}else e===`purchaseReceive`?(await U(),j.purchaseReceiveItems=((await _(`/api/purchase-orders/${n.id}`)).items||[]).map(e=>({item_id:e.id,material_label:`${e.product_sku||e.product_id} - ${e.product_name||``}`.trim(),remaining_quantity:Math.max((e.quantity||0)-(e.received_quantity||0),0),receive_quantity:Math.max((e.quantity||0)-(e.received_quantity||0),0)})).filter(e=>e.remaining_quantity>0),j.form={warehouse_id:j.purchaseWarehouseId||j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null,remark:``}):e===`product`?(j.form={...n},n.item_type===`finished`&&(await H(),j.productBomItems=((await _(`/api/products/${n.id}/materials`)).items||[]).map(e=>({material_id:e.material_id,quantity:e.quantity})))):j.form={...n};else j.form={},e===`inventoryItem`&&(await La(),j.form={product_id:j.materials[0]?.id||null,warehouse_id:j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null,quantity:0,locked_quantity:0,batch_number:``,location:``}),e===`salesOrder`&&(j.form={customer_id:null,delivery_date:``,delivery_date_native:``,remark:``,items:[]}),e===`purchaseOrder`&&(j.form={supplier_id:null,expected_date:``,expected_date_native:``,remark:``,items:[]}),e===`product`&&(j.form={item_type:`finished`,unit:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0}),e===`salesOrder`&&(await q(),await B(),j.form={customer_id:j.customers[0]?.id||null,delivery_date:``,remark:``,items:[{mode:`new`,product_id:null,product_sku:``,product_name:``,quantity:1,unit_price:0,remark:``}]}),e===`purchaseOrder`&&(await W(),await H(),j.form={supplier_id:j.suppliers[0]?.id||null,expected_date:``,remark:``,items:[{product_id:j.materials[0]?.id||null,quantity:1,remark:``}]});j.showModal=!0,t(()=>{Na()})},Ka=async()=>{if(j.modalType!==`salesOrder`){g(`请先打开销售订单编辑页面`,`warning`);return}await H(),await U(),j.materialConsumptionItems=[],j.showMaterialConsumptionModal=!0},qa=()=>{j.materialConsumptionItems.push({material_id:j.materials[0]?.id||null,quantity:1,remark:``})},Ja=e=>{j.materialConsumptionItems.splice(e,1)},Ya=async()=>{if(j.modalType!==`salesOrder`){g(`请先打开销售订单编辑页面`,`warning`);return}if(!j.editingItem){j.showMaterialConsumptionModal=!1,await mo();return}for(let[e,t]of j.materialConsumptionItems.entries()){let n=e+1;if(!t.material_id){g(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}}try{await _(`/api/sales-orders/${j.editingItem.id}/consume-materials`,{method:`POST`,body:JSON.stringify({items:j.materialConsumptionItems.map(e=>({material_id:e.material_id,quantity:e.quantity,remark:e.remark}))})}),g(`物料消耗记录保存成功`,`success`),j.showMaterialConsumptionModal=!1;let e=await _(`/api/sales-orders/${j.editingItem.id}`);j.form={...j.form,actual_material_cost:e.actual_material_cost},j.consumedMaterials=(await _(`/api/stock-movements?reference_type=sales_order&reference_id=${j.editingItem.id}&movement_type=consumption`)||[]).map(e=>({material_name:e.product_name||e.product_sku||`未知物料`,quantity:Math.abs(e.quantity),unit_price:e.unit_price||0,amount:e.total_amount||0}))}catch(e){v(e,`保存物料消耗`)}},Xa=async()=>{await H(),await W(),j.restockItems=[],j.showRestockModal=!0},Za=()=>{j.restockItems.push({material_id:j.materials[0]?.id||null,quantity:1,unit_price:0,remark:``})},Qa=e=>{j.restockItems.splice(e,1)},$a=async()=>{if(!j.restockItems||j.restockItems.length===0){g(`请至少添加一个补货物料`,`warning`);return}for(let[e,t]of j.restockItems.entries()){let n=e+1;if(!t.material_id){g(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){g(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}try{let e={supplier_id:j.suppliers[0]?.id||null,expected_date:new Date().toISOString().split(`T`)[0],remark:`物料补货`,items:j.restockItems.map(e=>({product_id:e.material_id,quantity:e.quantity,remark:e.remark}))};await _(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),g(`采购订单创建成功`,`success`),j.showRestockModal=!1,j.restockItems=[],K()}catch(e){v(e,`保存补货订单`)}},$=()=>{j.showModal=!1,j.modalType=``,j.editingItem=null,j.productBomItems=[],j.purchaseReceiveItems=[],j.form={},I()},eo=async()=>{try{j.editingItem?(await _(`/api/products/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(j.form)}),j.form.item_type===`finished`&&j.productBomItems.length>0&&await _(`/api/products/${j.editingItem.id}/materials`,{method:`PUT`,body:JSON.stringify({items:j.productBomItems})}),g(`产品更新成功`,`success`)):(await _(`/api/products`,{method:`POST`,body:JSON.stringify(j.form)}),g(`产品创建成功`,`success`)),$(),V(),H()}catch(e){v(e,`保存产品`)}},to=async e=>{if(confirm(`确定要删除这个产品吗?`))try{await _(`/api/products/${e}`,{method:`DELETE`}),g(`产品已删除`,`success`),V(),H()}catch(e){v(e,`删除产品`)}},no=()=>{j.productBomItems.push({material_id:j.materials[0]?.id||null,quantity:1})},ro=e=>{j.productBomItems.splice(e,1)},io=async()=>{try{j.editingItem?(await _(`/api/suppliers/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(j.form)}),g(`供应商更新成功`,`success`)):(await _(`/api/suppliers`,{method:`POST`,body:JSON.stringify(j.form)}),g(`供应商创建成功`,`success`)),$(),W()}catch(e){v(e,`保存供应商`)}},ao=async e=>{if(confirm(`确定要删除这个供应商吗?`))try{await _(`/api/suppliers/${e}`,{method:`DELETE`}),g(`供应商已删除`,`success`),W()}catch(e){v(e,`删除供应商`)}},oo=async()=>{try{j.editingItem?(await _(`/api/customers/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(j.form)}),g(`客户更新成功`,`success`)):(await _(`/api/customers`,{method:`POST`,body:JSON.stringify(j.form)}),g(`客户创建成功`,`success`)),$(),q()}catch(e){v(e,`保存客户`)}},so=async e=>{if(confirm(`确定要删除这个客户吗?`))try{await _(`/api/customers/${e}`,{method:`DELETE`}),g(`客户已删除`,`success`),q()}catch(e){v(e,`删除客户`)}},co=async()=>{try{j.editingItem?(await _(`/api/inventory/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify({quantity:j.form.quantity,locked_quantity:j.form.locked_quantity,batch_number:j.form.batch_number,location:j.form.location})}),g(`物料库存更新成功`,`success`)):(await _(`/api/inventory`,{method:`POST`,body:JSON.stringify(j.form)}),g(`物料库存创建成功`,`success`)),$(),J()}catch(e){v(e,`保存物料库存`)}},lo=async e=>{if(confirm(`确定要删除这个物料库存记录吗?`))try{await _(`/api/inventory/${e}`,{method:`DELETE`}),g(`物料库存已删除`,`success`),J()}catch(e){v(e,`删除物料库存`)}},uo=()=>{j.form.items=j.form.items||[],j.form.items.push({mode:`new`,product_id:null,product_sku:``,product_name:``,quantity:1,unit_price:0,remark:``})},fo=(e,t)=>{e.mode=t,t===`new`?(e.product_id=null,e.product_sku=``,e.product_name=``):(e.product_sku=``,e.product_name=``,e.product_id||=j.finishedProducts[0]?.id||null)},po=e=>{j.form.items.splice(e,1)},mo=async()=>{try{if(!j.form.customer_id){g(`请选择客户`,`warning`);return}if(!j.form.items||!j.form.items.length){g(`请至少添加一个成品明细`,`warning`);return}for(let[e,t]of j.form.items.entries()){let n=e+1;if(t.mode===`existing`){if(!t.product_id){g(`第 ${n} 行:请选择模具`,`warning`);return}}else{if(!t.product_sku||!String(t.product_sku).trim()){g(`第 ${n} 行:请输入模具SKU`,`warning`);return}if(!t.product_name||!String(t.product_name).trim()){g(`第 ${n} 行:请输入模具名称`,`warning`);return}}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){g(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}let e={customer_id:j.form.customer_id,delivery_date:ja(j.form.delivery_date),remark:j.form.remark,items:j.form.items.map(e=>({product_id:e.mode===`existing`&&e.product_id||null,product_sku:e.mode===`existing`?null:e.product_sku||null,product_name:e.mode===`existing`?null:e.product_name||null,product_category:null,product_unit:`件`,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark||``}))},t;if(j.editingItem){let n=await _(`/api/sales-orders/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(e)});t=j.editingItem.id,g(n.production_status===`bom_missing`?`订单已保存,但成品未配置BOM,未扣减物料`:`销售订单更新成功并已自动扣减物料`,n.production_status===`bom_missing`?`warning`:`success`)}else{let n=await _(`/api/sales-orders`,{method:`POST`,body:JSON.stringify(e)});t=n.id,g(n.production_status===`bom_missing`?`订单已创建,但成品未配置BOM,未扣减物料`:`销售订单创建成功并已自动扣减物料`,n.production_status===`bom_missing`?`warning`:`success`)}if(j.materialConsumptionItems&&j.materialConsumptionItems.length>0)try{await _(`/api/sales-orders/${t}/consume-materials`,{method:`POST`,body:JSON.stringify({items:j.materialConsumptionItems.map(e=>({material_id:e.material_id,quantity:e.quantity,remark:e.remark}))})}),g(`物料消耗记录保存成功`,`success`),j.materialConsumptionItems=[]}catch(e){v(e,`保存物料消耗`)}$(),G(),B(),J(),Y()}catch(e){v(e,`保存销售订单`)}},ho=async(e,t)=>{try{await _(`/api/sales-orders/${e.id}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),g(`订单状态已更新`,`success`),G()}catch(e){v(e,`更新订单状态`)}},go=async(e,t)=>{try{await _(`/api/purchase-orders/${e.id}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),g(`采购订单状态已更新`,`success`),K()}catch(e){v(e,`更新采购订单状态`)}},_o=async e=>{if(confirm(`确定删除这个销售订单吗?系统会自动回补已扣减物料。`))try{await _(`/api/sales-orders/${e}`,{method:`DELETE`}),g(`销售订单已删除并回补物料`,`success`),j.productionPlan?.sales_order_id===e&&(j.productionPlan=null),G(),J(),Y()}catch(e){v(e,`删除销售订单`)}},vo=()=>{j.form.items=j.form.items||[],j.form.items.push({product_id:j.materials[0]?.id||null,quantity:1,remark:``})},yo=e=>{j.form.items.splice(e,1)},bo=async()=>{try{if(!j.form.supplier_id){g(`请选择供应商`,`warning`);return}if(!j.form.items||!j.form.items.length){g(`请至少添加一个物料明细`,`warning`);return}for(let[e,t]of j.form.items.entries()){let n=e+1;if(!t.product_id){g(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}}let e={supplier_id:j.form.supplier_id,expected_date:ja(j.form.expected_date),remark:j.form.remark,items:j.form.items.map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark}))};j.editingItem?(await _(`/api/purchase-orders/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(e)}),g(`采购订单更新成功`,`success`)):(await _(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),g(`采购订单创建成功`,`success`)),$(),K()}catch(e){v(e,`保存采购订单`)}},xo=async e=>{if(confirm(`确定删除这个采购订单吗?`))try{await _(`/api/purchase-orders/${e}`,{method:`DELETE`}),g(`采购订单已删除`,`success`),K()}catch(e){v(e,`删除采购订单`)}},So=async()=>{try{if(!j.editingItem?.id)return;let e=(j.purchaseReceiveItems||[]).filter(e=>Number(e.receive_quantity)>0).map(e=>({item_id:e.item_id,receive_quantity:Number(e.receive_quantity)}));if(!e.length){g(`请填写本次入库数量`,`warning`);return}await _(`/api/purchase-orders/${j.editingItem.id}/receive`,{method:`POST`,body:JSON.stringify({warehouse_id:j.form.warehouse_id||j.purchaseWarehouseId,items:e,remark:j.form.remark||``})}),g(`采购到货入库成功`,`success`),$(),K(),J(),Y()}catch(e){v(e,`采购到货入库`)}};return oe(()=>{if(!y.user){E.push(`/login`);return}Wa().then(()=>{if(!j.backendDbReady){g(j.backendDbMessage||`业务服务不可用`,`warning`);return}z()})}),c(()=>{I()}),(e,t)=>(r(),S(`div`,ce,[t[183]||=l(`div`,{class:`page-header`},[l(`h1`,null,`进销存管理`),l(`p`,null,`库存、采购、销售管理`)],-1),l(`div`,le,[l(`aside`,ue,[l(`div`,de,[(r(),S(p,null,n(X,e=>l(`div`,{key:e.key,class:`inventory-menu-group`},[l(`button`,{type:`button`,class:`inventory-menu-title`,onClick:t=>Va(e.key)},[l(`span`,null,o(e.title),1),l(`span`,pe,o(Z[e.key]?`▾`:`▸`),1)],8,fe),a(l(`div`,me,[(r(!0),S(p,null,n(e.items,t=>(r(),S(`button`,{key:e.key+`-`+t.key,type:`button`,class:i([`inventory-menu-item`,{active:j.activeTab===t.key}]),onClick:e=>Ua(t.key)},o(t.label),11,he))),128))],512),[[ie,Z[e.key]]])])),64))])]),l(`section`,ge,[l(`div`,_e,[l(`div`,ve,[l(`span`,ye,o(Ha.value?.group?.title||`进销存`),1),t[55]||=l(`span`,{class:`inventory-breadcrumb-sep`},`/`,-1),l(`span`,be,o(Ha.value?.item?.label||``),1)])]),j.backendDbReady?b(``,!0):(r(),S(`div`,xe,[t[56]||=l(`div`,{class:`inline-alert-title`},`提示`,-1),l(`div`,Se,o(j.backendDbMessage),1)])),j.loading?(r(),S(`div`,Ce,[...t[57]||=[l(`div`,{class:`spinner`},null,-1),l(`span`,null,`加载中...`,-1)]])):(r(),S(`div`,we,[j.activeTab===`dashboard`?(r(),S(`div`,Te,[l(`div`,Ee,[t[59]||=l(`div`,{class:`stat-icon`},`📦`,-1),l(`div`,De,[l(`div`,Oe,o(j.dashboard?.product_count||0),1),t[58]||=l(`div`,{class:`stat-label`},`成品数量`,-1)])]),l(`div`,ke,[t[61]||=l(`div`,{class:`stat-icon`},`📊`,-1),l(`div`,Ae,[l(`div`,je,o(j.dashboard?.total_stock||0),1),t[60]||=l(`div`,{class:`stat-label`},`物料库存总量`,-1)])]),l(`div`,Me,[t[63]||=l(`div`,{class:`stat-icon`},`💰`,-1),l(`div`,Ne,[l(`div`,Pe,o(m(T)(j.dashboard?.total_value||0)),1),t[62]||=l(`div`,{class:`stat-label`},`库存价值`,-1)])]),l(`div`,Fe,[t[65]||=l(`div`,{class:`stat-icon`},`🏭`,-1),l(`div`,Ie,[l(`div`,Le,o(j.dashboard?.supplier_count||0),1),t[64]||=l(`div`,{class:`stat-label`},`供应商`,-1)])]),l(`div`,Re,[t[67]||=l(`div`,{class:`stat-icon`},`👥`,-1),l(`div`,ze,[l(`div`,Be,o(j.dashboard?.customer_count||0),1),t[66]||=l(`div`,{class:`stat-label`},`客户`,-1)])]),l(`div`,Ve,[t[69]||=l(`div`,{class:`stat-icon`},`🏪`,-1),l(`div`,He,[l(`div`,Ue,o(j.dashboard?.warehouse_count||0),1),t[68]||=l(`div`,{class:`stat-label`},`仓库`,-1)])])])):j.activeTab===`products`?(r(),S(`div`,We,[l(`div`,Ge,[l(`button`,{class:`btn btn-primary`,onClick:t[0]||=e=>Ga(`finished`)},`+ 新增成品`)]),l(`div`,Ke,[l(`table`,qe,[t[70]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`SKU`),l(`th`,null,`名称`),l(`th`,null,`分类`),l(`th`,null,`单位`),l(`th`,null,`成本价`),l(`th`,null,`销售价`),l(`th`,null,`基础物料成本`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.finishedProducts,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.sku),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.category||`-`),1),l(`td`,null,o(e.unit),1),l(`td`,null,o(m(T)(e.cost_price)),1),l(`td`,null,o(m(T)(e.sale_price)),1),l(`td`,null,o(m(T)(e.material_cost||0)),1),l(`td`,null,[l(`div`,Je,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`product`,e)},`编辑`,8,Ye),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>to(e.id)},`删除`,8,Xe)])])]))),128))])])])])):j.activeTab===`materials`?(r(),S(`div`,Ze,[l(`div`,Qe,[l(`button`,{class:`btn btn-primary`,onClick:t[1]||=e=>Ga(`material`)},`+ 新增物料`),l(`button`,{class:`btn btn-secondary`,onClick:Xa},`+ 物料补货`)]),l(`div`,$e,[l(`table`,et,[t[71]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`SKU`),l(`th`,null,`名称`),l(`th`,null,`分类`),l(`th`,null,`单位`),l(`th`,null,`成本价`),l(`th`,null,`最低库存`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.materials,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.sku),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.category||`-`),1),l(`td`,null,o(e.unit),1),l(`td`,null,o(m(T)(e.cost_price)),1),l(`td`,null,o(e.min_stock||`-`),1),l(`td`,null,[l(`div`,tt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`product`,e)},`编辑`,8,nt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>to(e.id)},`删除`,8,rt)])])]))),128))])])])])):j.activeTab===`inventory`?(r(),S(`div`,it,[l(`div`,at,[l(`button`,{class:`btn btn-primary`,onClick:t[2]||=e=>Q(`inventoryItem`)},`+ 新增物料库存`)]),l(`div`,ot,[l(`table`,st,[t[72]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`SKU`),l(`th`,null,`物料`),l(`th`,null,`仓库`),l(`th`,null,`数量`),l(`th`,null,`可用`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.inventory,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.product_sku),1),l(`td`,null,o(e.product_name),1),l(`td`,null,o(e.warehouse_name),1),l(`td`,null,o(e.quantity),1),l(`td`,null,o(e.available_quantity),1),l(`td`,null,[l(`div`,ct,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`inventoryItem`,e)},`编辑`,8,lt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>lo(e.id)},`删除`,8,ut)])])]))),128))])])])])):j.activeTab===`purchases`?(r(),S(`div`,dt,[l(`div`,ft,[l(`button`,{class:`btn btn-primary`,onClick:t[3]||=e=>Q(`purchaseOrder`)},`+ 新增采购订单`)]),l(`div`,pt,[l(`div`,mt,[t[73]||=l(`label`,null,`到货仓库`,-1),a(l(`select`,{"onUpdate:modelValue":t[4]||=e=>j.purchaseWarehouseId=e,class:`form-input w-260`},[(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`purchase-warehouse-`+e.id,value:e.id},o(e.name)+o(e.is_default?` [默认]`:``),9,ht))),128))],512),[[d,j.purchaseWarehouseId,void 0,{number:!0}]]),l(`button`,{class:`btn btn-secondary`,onClick:K},`刷新`)])]),l(`div`,gt,[l(`table`,_t,[t[74]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`采购单`),l(`th`,null,`供应商`),l(`th`,null,`状态`),l(`th`,null,`订单创建`),l(`th`,null,`预计到货`),l(`th`,null,`实际到货`),l(`th`,null,`实际付款`),l(`th`,null,`总金额`),l(`th`,null,`已付款`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.purchaseOrders,e=>(r(),S(`tr`,{key:`purchase-order-`+e.id},[l(`td`,null,o(e.order_no),1),l(`td`,null,o(e.supplier_name),1),l(`td`,null,o(Ia(e.status)),1),l(`td`,null,o(e.created_at?m(w)(e.created_at):`-`),1),l(`td`,null,o(e.expected_date?m(C)(e.expected_date):`-`),1),l(`td`,null,o(e.received_date?m(w)(e.received_date):`-`),1),l(`td`,null,o(e.paid_date?m(w)(e.paid_date):`-`),1),l(`td`,null,o(m(T)(e.total_amount||0)),1),l(`td`,null,o(m(T)(e.paid_amount||0)),1),l(`td`,null,[l(`div`,vt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`purchaseOrder`,e),disabled:R(e.status)},`编辑`,8,yt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>xo(e.id),disabled:R(e.status)},`删除`,8,bt),e.status===`pending`?(r(),S(`button`,{key:0,class:`btn btn-sm btn-primary`,onClick:t=>Q(`purchaseReceive`,e)},`到货入库`,8,xt)):e.status===`received`?(r(),S(`button`,{key:1,class:`btn btn-sm btn-success`,onClick:t=>go(e,`paid`)},`标记为已付款`,8,St)):b(``,!0)])])]))),128))])])])])):j.activeTab===`suppliers`?(r(),S(`div`,Ct,[l(`div`,wt,[l(`button`,{class:`btn btn-primary`,onClick:t[5]||=e=>Q(`supplier`)},`+ 新增供应商`)]),l(`div`,Tt,[l(`table`,Et,[t[75]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`编码`),l(`th`,null,`名称`),l(`th`,null,`联系人`),l(`th`,null,`电话`),l(`th`,null,`邮箱`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.suppliers,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.code),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.contact_person||`-`),1),l(`td`,null,o(e.phone||`-`),1),l(`td`,null,o(e.email||`-`),1),l(`td`,null,[l(`div`,Dt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`supplier`,e)},`编辑`,8,Ot),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>ao(e.id)},`删除`,8,kt)])])]))),128))])])])])):j.activeTab===`customers`?(r(),S(`div`,At,[l(`div`,jt,[l(`button`,{class:`btn btn-primary`,onClick:t[6]||=e=>Q(`customer`)},`+ 新增客户`)]),l(`div`,Mt,[l(`table`,Nt,[t[76]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`编码`),l(`th`,null,`名称`),l(`th`,null,`联系人`),l(`th`,null,`电话`),l(`th`,null,`邮箱`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.customers,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.code),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.contact_person||`-`),1),l(`td`,null,o(e.phone||`-`),1),l(`td`,null,o(e.email||`-`),1),l(`td`,null,[l(`div`,Pt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`customer`,e)},`编辑`,8,Ft),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>so(e.id)},`删除`,8,It)])])]))),128))])])])])):j.activeTab===`sales_orders`?(r(),S(`div`,Lt,[l(`div`,Rt,[l(`button`,{class:`btn btn-primary`,onClick:t[7]||=e=>Q(`salesOrder`)},`+ 新增销售订单`)]),l(`div`,zt,[l(`div`,Bt,[t[77]||=l(`label`,null,`领料仓库`,-1),a(l(`select`,{"onUpdate:modelValue":t[8]||=e=>j.productionWarehouseId=e,class:`form-input w-260`},[(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`production-warehouse-`+e.id,value:e.id},o(e.name)+o(e.is_default?` [默认]`:``),9,Vt))),128))],512),[[d,j.productionWarehouseId,void 0,{number:!0}]]),l(`button`,{class:`btn btn-secondary`,onClick:G},`刷新`)])]),l(`div`,Ht,[l(`table`,Ut,[t[79]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`销售单`),l(`th`,null,`客户`),l(`th`,null,`订单金额`),l(`th`,null,`交付日期`),l(`th`,null,`订单创建`),l(`th`,null,`实际交付`),l(`th`,null,`实际收款`),l(`th`,null,`订单状态`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.productionOrders,e=>(r(),S(`tr`,{key:`production-order-`+e.id},[l(`td`,null,o(e.order_no),1),l(`td`,null,o(e.customer_name),1),l(`td`,null,o(m(T)(e.total_amount||0)),1),l(`td`,null,o(e.delivery_date?m(C)(e.delivery_date):`-`),1),l(`td`,null,o(e.created_at?m(w)(e.created_at):`-`),1),l(`td`,null,o(e.actual_delivery_date?m(w)(e.actual_delivery_date):`-`),1),l(`td`,null,o(e.actual_payment_date?m(w)(e.actual_payment_date):`-`),1),l(`td`,null,o(e.status===`manufacturing`?`制造中`:e.status===`delivered`?`已交付`:e.status===`paid`?`已收款`:e.status),1),l(`td`,null,[l(`div`,Wt,[l(`div`,Gt,[t[78]||=l(`button`,{class:`btn btn-sm btn-secondary dropdown-toggle`},`状态`,-1),l(`div`,Kt,[l(`button`,{class:`dropdown-item`,onClick:t=>ho(e,`delivered`)},`已交付`,8,qt),l(`button`,{class:`dropdown-item`,onClick:t=>ho(e,`paid`)},`已收款`,8,Jt)])]),l(`button`,{class:i([`btn btn-sm btn-secondary`,{"btn-disabled":e.status===`paid`}]),onClick:t=>Q(`salesOrder`,e),disabled:e.status===`paid`},`编辑`,10,Yt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>_o(e.id)},`删除`,8,Xt)])])]))),128))])])])])):j.activeTab===`finance`?(r(),S(`div`,Zt,[l(`div`,Qt,[l(`div`,$t,[l(`div`,null,[t[80]||=l(`label`,{class:`mr-8`},`年份`,-1),a(l(`input`,{"onUpdate:modelValue":t[9]||=e=>j.financePeriod.year=e,type:`number`,min:`2000`,max:`2100`,class:`form-input w-inline-120`},null,512),[[f,j.financePeriod.year,void 0,{number:!0}]])]),l(`div`,null,[t[82]||=l(`label`,{class:`mr-8`},`季度`,-1),a(l(`select`,{"onUpdate:modelValue":t[10]||=e=>j.financePeriod.quarter=e,class:`form-input w-inline-140`},[...t[81]||=[u(``,5)]],512),[[d,j.financePeriod.quarter]])]),l(`button`,{class:`btn btn-primary`,onClick:za},`刷新统计`),l(`span`,en,`统计周期:`+o(j.financeSummary?.period_label||`-`),1)])]),l(`div`,tn,[l(`div`,nn,[t[84]||=l(`div`,{class:`stat-icon`},`🧾`,-1),l(`div`,rn,[l(`div`,an,o(m(T)(j.financeSummary?.receivable_total||0)),1),t[83]||=l(`div`,{class:`stat-label`},`应收总额`,-1)])]),l(`div`,on,[t[86]||=l(`div`,{class:`stat-icon`},`💸`,-1),l(`div`,sn,[l(`div`,cn,o(m(T)(j.financeSummary?.payable_total||0)),1),t[85]||=l(`div`,{class:`stat-label`},`应付总额`,-1)])]),l(`div`,ln,[t[88]||=l(`div`,{class:`stat-icon`},`💵`,-1),l(`div`,un,[l(`div`,dn,o(m(T)(j.financeSummary?.period_receipt_total||0)),1),t[87]||=l(`div`,{class:`stat-label`},`周期收款`,-1)])]),l(`div`,fn,[t[90]||=l(`div`,{class:`stat-icon`},`🏦`,-1),l(`div`,pn,[l(`div`,mn,o(m(T)(j.financeSummary?.period_payment_total||0)),1),t[89]||=l(`div`,{class:`stat-label`},`周期付款`,-1)])])]),l(`div`,hn,[t[92]||=l(`h3`,{class:`mb-12`},`客户账款(周期)`,-1),l(`table`,gn,[t[91]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`客户`),l(`th`,null,`订单数`),l(`th`,null,`流水数`),l(`th`,null,`订单金额`),l(`th`,null,`订单已收`),l(`th`,null,`实收流水`),l(`th`,null,`应收余额`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.customerFinanceStatement,e=>(r(),S(`tr`,{key:`customer-`+e.partner_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(e.transaction_count),1),l(`td`,null,o(m(T)(e.order_total)),1),l(`td`,null,o(m(T)(e.settled_total)),1),l(`td`,null,o(m(T)(e.transaction_total)),1),l(`td`,null,o(m(T)(e.outstanding_total)),1)]))),128))])])]),l(`div`,_n,[t[94]||=l(`h3`,{class:`mb-12`},`供应商账款(周期)`,-1),l(`table`,vn,[t[93]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`供应商`),l(`th`,null,`订单数`),l(`th`,null,`流水数`),l(`th`,null,`订单金额`),l(`th`,null,`订单已付`),l(`th`,null,`实付流水`),l(`th`,null,`应付余额`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.supplierFinanceStatement,e=>(r(),S(`tr`,{key:`supplier-`+e.partner_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(e.transaction_count),1),l(`td`,null,o(m(T)(e.order_total)),1),l(`td`,null,o(m(T)(e.settled_total)),1),l(`td`,null,o(m(T)(e.transaction_total)),1),l(`td`,null,o(m(T)(e.outstanding_total)),1)]))),128))])])]),l(`div`,yn,[t[96]||=l(`h3`,{class:`mb-12`},`客户-商品追溯(周期)`,-1),l(`table`,bn,[t[95]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`客户`),l(`th`,null,`SKU`),l(`th`,null,`商品`),l(`th`,null,`订单数`),l(`th`,null,`数量`),l(`th`,null,`订单金额`),l(`th`,null,`已结款`),l(`th`,null,`未结款`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.customerProductStatement,e=>(r(),S(`tr`,{key:`customer-product-`+e.partner_id+`-`+e.product_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.product_sku||`-`),1),l(`td`,null,o(e.product_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(m(se)(e.order_quantity)),1),l(`td`,null,o(m(T)(e.order_amount)),1),l(`td`,null,o(m(T)(e.settled_amount)),1),l(`td`,null,o(m(T)(e.outstanding_amount)),1)]))),128))])])]),l(`div`,xn,[t[98]||=l(`h3`,{class:`mb-12`},`供应商-商品追溯(周期)`,-1),l(`table`,Sn,[t[97]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`供应商`),l(`th`,null,`SKU`),l(`th`,null,`商品`),l(`th`,null,`订单数`),l(`th`,null,`数量`),l(`th`,null,`订单金额`),l(`th`,null,`已结款`),l(`th`,null,`未结款`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.supplierProductStatement,e=>(r(),S(`tr`,{key:`supplier-product-`+e.partner_id+`-`+e.product_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.product_sku||`-`),1),l(`td`,null,o(e.product_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(m(se)(e.order_quantity)),1),l(`td`,null,o(m(T)(e.order_amount)),1),l(`td`,null,o(m(T)(e.settled_amount)),1),l(`td`,null,o(m(T)(e.outstanding_amount)),1)]))),128))])])]),l(`div`,Cn,[t[100]||=l(`h3`,{class:`mb-12`},`最近财务流水`,-1),l(`table`,wn,[t[99]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`单号`),l(`th`,null,`类型`),l(`th`,null,`往来方`),l(`th`,null,`金额`),l(`th`,null,`状态`),l(`th`,null,`日期`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.financeTransactions,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.txn_no),1),l(`td`,null,o(e.txn_type===`receipt`?`收款`:`付款`),1),l(`td`,null,o(e.partner_type===`customer`?`客户`:`供应商`)+`#`+o(e.partner_id),1),l(`td`,null,o(m(T)(e.amount)),1),l(`td`,null,o(e.status===`confirmed`?`已确认`:`已作废`),1),l(`td`,null,o(m(w)(e.txn_date)),1)]))),128))])])])])):j.activeTab===`movements`?(r(),S(`div`,Tn,[l(`table`,En,[t[101]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`物料`),l(`th`,null,`类型`),l(`th`,null,`数量`),l(`th`,null,`变动前`),l(`th`,null,`变动后`),l(`th`,null,`时间`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.movements,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.product_name)+o(e.product_sku?` (`+e.product_sku+`)`:``),1),l(`td`,null,[l(`span`,{class:i([`badge`,Fa(e.movement_type)])},o(Pa(e.movement_type)),3)]),l(`td`,null,o(e.quantity),1),l(`td`,null,o(e.before_quantity),1),l(`td`,null,o(e.after_quantity),1),l(`td`,null,o(m(w)(e.created_at)),1)]))),128))])])])):b(``,!0)]))])]),j.showModal?(r(),S(`div`,{key:0,class:`modal-overlay`,onClick:h($,[`self`])},[l(`div`,Dn,[l(`div`,On,[l(`h3`,null,o((j.editingItem?`编辑`:`新增`)+(j.modalType===`product`?j.form.item_type===`finished`?`成品`:`物料`:j.modalType===`inventoryItem`?`物料库存`:j.modalType===`salesOrder`?`销售订单`:j.modalType===`purchaseOrder`?`采购订单`:j.modalType===`purchaseReceive`?`采购到货入库`:j.modalType===`supplier`?`供应商`:`客户`)),1),l(`button`,{class:`modal-close`,onClick:$},`×`)]),l(`div`,kn,[j.modalType===`product`?(r(),S(`form`,{key:0,onSubmit:h(eo,[`prevent`])},[l(`div`,An,[t[102]||=l(`label`,{class:`form-label`},`类型 *`,-1),l(`input`,{class:`form-input`,value:j.form.item_type===`material`?`物料(纳入库存)`:`成品(按单生产,不做库存)`,disabled:``},null,8,jn),a(l(`input`,{"onUpdate:modelValue":t[11]||=e=>j.form.item_type=e,type:`hidden`},null,512),[[f,j.form.item_type]])]),l(`div`,Mn,[t[103]||=l(`label`,{class:`form-label`},`SKU *`,-1),a(l(`input`,{"onUpdate:modelValue":t[12]||=e=>j.form.sku=e,class:`form-input`,required:``,placeholder:`产品编码`},null,512),[[f,j.form.sku]])]),l(`div`,Nn,[t[104]||=l(`label`,{class:`form-label`},`名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[13]||=e=>j.form.name=e,class:`form-input`,required:``,placeholder:`产品名称`},null,512),[[f,j.form.name]])]),l(`div`,Pn,[t[105]||=l(`label`,{class:`form-label`},`分类`,-1),a(l(`input`,{"onUpdate:modelValue":t[14]||=e=>j.form.category=e,class:`form-input`,placeholder:`产品分类`},null,512),[[f,j.form.category]])]),l(`div`,Fn,[t[106]||=l(`label`,{class:`form-label`},`单位`,-1),a(l(`input`,{"onUpdate:modelValue":t[15]||=e=>j.form.unit=e,class:`form-input`,placeholder:`件/个/箱`},null,512),[[f,j.form.unit]])]),l(`div`,In,[t[107]||=l(`label`,{class:`form-label`},`成本价`,-1),a(l(`input`,{"onUpdate:modelValue":t[16]||=e=>j.form.cost_price=e,type:`number`,step:`0.01`,class:`form-input`,placeholder:`0.00`},null,512),[[f,j.form.cost_price,void 0,{number:!0}]])]),l(`div`,Ln,[t[108]||=l(`label`,{class:`form-label`},`销售价`,-1),a(l(`input`,{"onUpdate:modelValue":t[17]||=e=>j.form.sale_price=e,type:`number`,step:`0.01`,class:`form-input`,placeholder:`0.00`},null,512),[[f,j.form.sale_price,void 0,{number:!0}]])]),j.form.item_type===`material`?(r(),S(`div`,Rn,[t[109]||=l(`label`,{class:`form-label`},`最低库存`,-1),a(l(`input`,{"onUpdate:modelValue":t[18]||=e=>j.form.min_stock=e,type:`number`,class:`form-input`,placeholder:`0`},null,512),[[f,j.form.min_stock,void 0,{number:!0}]])])):b(``,!0),j.form.item_type===`finished`?(r(),S(`div`,zn,[...t[110]||=[l(`label`,{class:`form-label`},`说明`,-1),l(`input`,{disabled:``,value:`成品不做库存,成本由下方BOM定义物料构成后自动计算`,class:`form-input`},null,-1)]])):b(``,!0),j.form.item_type===`finished`&&j.editingItem?(r(),S(`div`,Bn,[l(`div`,Vn,[t[112]||=l(`label`,{class:`form-label`},`BOM物料配置`,-1),l(`button`,{type:`button`,class:`btn btn-secondary bom-add-btn`,onClick:no},`+ 添加物料`),l(`div`,Hn,[l(`table`,Un,[t[111]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`物料`),l(`th`,null,`数量`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.productBomItems,(e,t)=>(r(),S(`tr`,{key:`edit-bom-item-`+t},[l(`td`,null,[a(l(`select`,{"onUpdate:modelValue":t=>e.material_id=t,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`edit-bom-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,Gn))),128))],8,Wn),[[d,e.material_id,void 0,{number:!0}]])]),l(`td`,null,[a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`0.0001`,step:`0.0001`,class:`form-input`,required:``},null,8,Kn),[[f,e.quantity,void 0,{number:!0}]])]),l(`td`,null,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>ro(t)},`删除`,8,qn)])]))),128))])])])])])):b(``,!0),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[113]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存`,-1)])],32)):j.modalType===`salesOrder`?(r(),S(`form`,{key:1,onSubmit:h(mo,[`prevent`])},[l(`div`,Jn,[t[114]||=l(`label`,{class:`form-label`},`客户 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[19]||=e=>j.form.customer_id=e,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.customers,e=>(r(),S(`option`,{key:`order-customer-`+e.id,value:e.id},o(e.name),9,Yn))),128))],512),[[d,j.form.customer_id,void 0,{number:!0}]])]),l(`div`,Xn,[t[116]||=l(`label`,{class:`form-label`},`交付日期`,-1),l(`div`,{class:`datetime-field`,onClick:t[23]||=e=>L(`delivery`)},[a(l(`input`,{ref_key:`deliveryDateInput`,ref:D,"onUpdate:modelValue":t[20]||=e=>j.form.delivery_date=e,type:`text`,class:`form-input air-datetime-input`,readonly:``,placeholder:`选择日期时间`},null,512),[[f,j.form.delivery_date]]),a(l(`input`,{ref_key:`deliveryDateNativeInput`,ref:k,"onUpdate:modelValue":t[21]||=e=>j.form.delivery_date_native=e,onChange:t[22]||=e=>j.form.delivery_date=Ma(j.form.delivery_date_native),type:`datetime-local`,class:`datetime-native`},null,544),[[f,j.form.delivery_date_native]]),t[115]||=l(`span`,{class:`datetime-field-icon`,"aria-hidden":`true`},`📅`,-1)])]),l(`div`,Zn,[t[117]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t[24]||=e=>j.form.remark=e,class:`form-input`,placeholder:`订单备注`},null,512),[[f,j.form.remark]])]),l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:uo},`+ 添加模具`)]),j.form.items.length===0?(r(),S(`div`,Qn,[...t[118]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无模具`,-1),l(`div`,{class:`empty-desc`},`请点击"添加模具"按钮添加订单明细`,-1)]])):(r(),S(`div`,$n,[(r(!0),S(p,null,n(j.form.items,(e,s)=>(r(),S(`div`,{key:`sales-order-line-`+s,class:`sales-order-item`},[l(`div`,er,[l(`button`,{type:`button`,class:i([`btn`,e.mode===`new`?`active`:``]),onClick:t=>fo(e,`new`)},`新模`,10,tr),l(`button`,{type:`button`,class:i([`btn`,e.mode===`existing`?`active`:``]),onClick:t=>fo(e,`existing`)},`改模`,10,nr)]),l(`div`,rr,[e.mode===`existing`?(r(),S(`div`,lr,[l(`div`,ur,[t[122]||=l(`label`,{class:`form-label`},`选择模具 *`,-1),a(l(`select`,{"onUpdate:modelValue":t=>e.product_id=t,class:`form-input`,required:``},[t[121]||=l(`option`,{value:``},`请选择模具`,-1),(r(!0),S(p,null,n(j.finishedProducts,e=>(r(),S(`option`,{key:`sales-order-product-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,fr))),128))],8,dr),[[d,e.product_id,void 0,{number:!0}]])])])):(r(),S(`div`,ir,[l(`div`,ar,[t[119]||=l(`label`,{class:`form-label`},`模具SKU *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.product_sku=t,class:`form-input`,placeholder:`请输入模具SKU`,required:``},null,8,or),[[f,e.product_sku]])]),l(`div`,sr,[t[120]||=l(`label`,{class:`form-label`},`模具名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.product_name=t,class:`form-input`,placeholder:`请输入模具名称`,required:``},null,8,cr),[[f,e.product_name]])])])),l(`div`,pr,[l(`div`,mr,[l(`div`,hr,[t[123]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`1`,class:`form-input`,placeholder:`请输入数量`,required:``},null,8,gr),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,_r,[l(`div`,vr,[t[124]||=l(`label`,{class:`form-label`},`单价 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.unit_price=t,type:`number`,min:`0`,step:`0.01`,class:`form-input`,placeholder:`请输入单价`,required:``},null,8,yr),[[f,e.unit_price,void 0,{number:!0}]])])]),l(`div`,br,[l(`div`,xr,[t[125]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,Sr),[[f,e.remark]])])]),l(`div`,Cr,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>po(Number(s))},`删除`,8,wr)])])])]))),128))])),l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:Ka},`+ 消耗物料`)]),l(`div`,Tr,[t[131]||=l(`label`,{class:`form-label`},`已消耗物料`,-1),j.editingItem&&j.editingItem.actual_material_cost>0?(r(),S(`div`,Er,[t[129]||=u(`
物料名称
数量
单价
金额
`,1),(r(!0),S(p,null,n(j.consumedMaterials,(e,t)=>(r(),S(`div`,{key:`consumed-material-`+t,class:`material-consumption-row`},[l(`div`,Dr,o(e.material_name),1),l(`div`,Or,o(e.quantity),1),l(`div`,kr,o(m(T)(e.unit_price)),1),l(`div`,Ar,o(m(T)(e.amount)),1)]))),128)),l(`div`,jr,[t[126]||=l(`div`,{class:`material-consumption-item`},`合计`,-1),t[127]||=l(`div`,{class:`material-consumption-item`},null,-1),t[128]||=l(`div`,{class:`material-consumption-item`},null,-1),l(`div`,Mr,o(m(T)(j.editingItem.actual_material_cost)),1)])])):(r(),S(`div`,Nr,[...t[130]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无物料消耗记录`,-1),l(`div`,{class:`empty-desc`},`点击"消耗物料"按钮添加物料消耗明细`,-1)]]))]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[132]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存订单`,-1)])],32)):j.modalType===`purchaseOrder`?(r(),S(`form`,{key:2,onSubmit:h(bo,[`prevent`])},[l(`div`,Pr,[t[133]||=l(`label`,{class:`form-label`},`供应商 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[25]||=e=>j.form.supplier_id=e,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.suppliers,e=>(r(),S(`option`,{key:`purchase-supplier-`+e.id,value:e.id},o(e.name),9,Fr))),128))],512),[[d,j.form.supplier_id,void 0,{number:!0}]])]),l(`div`,Ir,[t[135]||=l(`label`,{class:`form-label`},`预计到货`,-1),l(`div`,{class:`datetime-field`,onClick:t[29]||=e=>L(`expected`)},[a(l(`input`,{ref_key:`expectedDateInput`,ref:O,"onUpdate:modelValue":t[26]||=e=>j.form.expected_date=e,type:`text`,class:`form-input air-datetime-input`,readonly:``,placeholder:`选择日期时间`},null,512),[[f,j.form.expected_date]]),a(l(`input`,{ref_key:`expectedDateNativeInput`,ref:A,"onUpdate:modelValue":t[27]||=e=>j.form.expected_date_native=e,onChange:t[28]||=e=>j.form.expected_date=Ma(j.form.expected_date_native),type:`datetime-local`,class:`datetime-native`},null,544),[[f,j.form.expected_date_native]]),t[134]||=l(`span`,{class:`datetime-field-icon`,"aria-hidden":`true`},`📅`,-1)])]),l(`div`,Lr,[t[136]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t[30]||=e=>j.form.remark=e,class:`form-input`,placeholder:`采购单备注`},null,512),[[f,j.form.remark]])]),l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:vo},`+ 添加物料`)]),j.form.items.length===0?(r(),S(`div`,Rr,[...t[137]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无物料`,-1),l(`div`,{class:`empty-desc`},`请点击"添加物料"按钮添加采购明细`,-1)]])):(r(),S(`div`,zr,[(r(!0),S(p,null,n(j.form.items,(e,i)=>(r(),S(`div`,{key:`purchase-order-line-`+i,class:`purchase-order-item`},[l(`div`,Br,[l(`div`,Vr,[t[139]||=l(`label`,{class:`form-label`},`物料 *`,-1),a(l(`select`,{"onUpdate:modelValue":t=>e.product_id=t,class:`form-input`,required:``},[t[138]||=l(`option`,{value:``},`请选择物料`,-1),(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`purchase-order-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,Ur))),128))],8,Hr),[[d,e.product_id,void 0,{number:!0}]])]),l(`div`,Wr,[l(`div`,Gr,[l(`div`,Kr,[t[140]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`1`,class:`form-input`,placeholder:`请输入数量`,required:``},null,8,qr),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,Jr,[l(`div`,Yr,[t[141]||=l(`label`,{class:`form-label`},`单价`,-1),l(`div`,Xr,` ¥`+o((j.materials.find(t=>t.id===e.product_id)?.cost_price||0).toFixed(2)),1)])]),l(`div`,Zr,[l(`div`,Qr,[t[142]||=l(`label`,{class:`form-label`},`总价`,-1),l(`div`,$r,` ¥`+o(((j.materials.find(t=>t.id===e.product_id)?.cost_price||0)*(e.quantity||0)).toFixed(2)),1)])]),l(`div`,ei,[l(`div`,ti,[t[143]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,ni),[[f,e.remark]])])]),l(`div`,ri,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>yo(Number(i))},`删除`,8,ii)])])])]))),128))])),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[144]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存采购单`,-1)])],32)):j.modalType===`purchaseReceive`?(r(),S(`form`,{key:3,onSubmit:h(So,[`prevent`])},[l(`div`,ai,[t[145]||=l(`label`,{class:`form-label`},`入库仓库 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[31]||=e=>j.form.warehouse_id=e,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`purchase-receive-warehouse-`+e.id,value:e.id},o(e.name)+o(e.is_default?` [默认]`:``),9,oi))),128))],512),[[d,j.form.warehouse_id,void 0,{number:!0}]])]),l(`div`,si,[t[146]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t[32]||=e=>j.form.remark=e,class:`form-input`,placeholder:`到货说明`},null,512),[[f,j.form.remark]])]),l(`div`,ci,[l(`table`,li,[t[147]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`物料`),l(`th`,null,`明细ID`),l(`th`,null,`剩余待入库`),l(`th`,null,`本次入库`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.purchaseReceiveItems,e=>(r(),S(`tr`,{key:`purchase-receive-line-`+e.item_id},[l(`td`,null,o(e.material_label),1),l(`td`,null,o(e.item_id),1),l(`td`,null,o(e.remaining_quantity),1),l(`td`,null,[a(l(`input`,{"onUpdate:modelValue":t=>e.receive_quantity=t,type:`number`,min:`0`,max:e.remaining_quantity,class:`form-input`,required:``},null,8,ui),[[f,e.receive_quantity,void 0,{number:!0}]])])]))),128))])])]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[148]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`确认入库`,-1)])],32)):j.modalType===`supplier`?(r(),S(`form`,{key:4,onSubmit:h(io,[`prevent`])},[l(`div`,di,[t[149]||=l(`label`,{class:`form-label`},`名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[33]||=e=>j.form.name=e,class:`form-input`,required:``,placeholder:`供应商名称`},null,512),[[f,j.form.name]])]),l(`div`,fi,[t[150]||=l(`label`,{class:`form-label`},`联系人`,-1),a(l(`input`,{"onUpdate:modelValue":t[34]||=e=>j.form.contact_person=e,class:`form-input`,placeholder:`联系人姓名`},null,512),[[f,j.form.contact_person]])]),l(`div`,pi,[t[151]||=l(`label`,{class:`form-label`},`电话`,-1),a(l(`input`,{"onUpdate:modelValue":t[35]||=e=>j.form.phone=e,class:`form-input`,placeholder:`联系电话`},null,512),[[f,j.form.phone]])]),l(`div`,mi,[t[152]||=l(`label`,{class:`form-label`},`邮箱`,-1),a(l(`input`,{"onUpdate:modelValue":t[36]||=e=>j.form.email=e,type:`email`,class:`form-input`,placeholder:`email@example.com`},null,512),[[f,j.form.email]])]),l(`div`,hi,[t[153]||=l(`label`,{class:`form-label`},`地址`,-1),a(l(`input`,{"onUpdate:modelValue":t[37]||=e=>j.form.address=e,class:`form-input`,placeholder:`详细地址`},null,512),[[f,j.form.address]])]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[154]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存`,-1)])],32)):j.modalType===`customer`?(r(),S(`form`,{key:5,onSubmit:h(oo,[`prevent`])},[l(`div`,gi,[t[155]||=l(`label`,{class:`form-label`},`名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[38]||=e=>j.form.name=e,class:`form-input`,required:``,placeholder:`客户名称`},null,512),[[f,j.form.name]])]),l(`div`,_i,[t[156]||=l(`label`,{class:`form-label`},`联系人`,-1),a(l(`input`,{"onUpdate:modelValue":t[39]||=e=>j.form.contact_person=e,class:`form-input`,placeholder:`联系人姓名`},null,512),[[f,j.form.contact_person]])]),l(`div`,vi,[t[157]||=l(`label`,{class:`form-label`},`电话`,-1),a(l(`input`,{"onUpdate:modelValue":t[40]||=e=>j.form.phone=e,class:`form-input`,placeholder:`联系电话`},null,512),[[f,j.form.phone]])]),l(`div`,yi,[t[158]||=l(`label`,{class:`form-label`},`邮箱`,-1),a(l(`input`,{"onUpdate:modelValue":t[41]||=e=>j.form.email=e,type:`email`,class:`form-input`,placeholder:`email@example.com`},null,512),[[f,j.form.email]])]),l(`div`,bi,[t[159]||=l(`label`,{class:`form-label`},`地址`,-1),a(l(`input`,{"onUpdate:modelValue":t[42]||=e=>j.form.address=e,class:`form-input`,placeholder:`详细地址`},null,512),[[f,j.form.address]])]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[160]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存`,-1)])],32)):j.modalType===`inventoryItem`?(r(),S(`form`,{key:6,onSubmit:h(co,[`prevent`])},[l(`div`,xi,[t[161]||=l(`label`,{class:`form-label`},`物料 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[43]||=e=>j.form.product_id=e,class:`form-input`,required:``},[j.materials.length?b(``,!0):(r(),S(`option`,Si,`暂无物料,请先新增物料`)),(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`stockin-product-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name)+`(ID: `+o(e.id)+`) `,9,Ci))),128))],512),[[d,j.form.product_id,void 0,{number:!0}]])]),l(`div`,wi,[t[162]||=l(`label`,{class:`form-label`},`仓库 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[44]||=e=>j.form.warehouse_id=e,class:`form-input`,required:``},[j.warehouses.length?b(``,!0):(r(),S(`option`,Ti,`暂无仓库,系统将自动创建默认仓库`)),(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`stockin-warehouse-`+e.id,value:e.id},o(e.name)+o(e.code?` (`+e.code+`)`:``)+o(e.is_default?` [默认]`:``)+`(ID: `+o(e.id)+`) `,9,Ei))),128))],512),[[d,j.form.warehouse_id,void 0,{number:!0}]])]),l(`div`,Di,[t[163]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[45]||=e=>j.form.quantity=e,type:`number`,class:`form-input`,required:``,placeholder:`库存数量`},null,512),[[f,j.form.quantity,void 0,{number:!0}]])]),l(`div`,Oi,[t[164]||=l(`label`,{class:`form-label`},`锁定数量`,-1),a(l(`input`,{"onUpdate:modelValue":t[46]||=e=>j.form.locked_quantity=e,type:`number`,class:`form-input`,placeholder:`锁定库存`},null,512),[[f,j.form.locked_quantity,void 0,{number:!0}]])]),l(`div`,ki,[t[165]||=l(`label`,{class:`form-label`},`批次号`,-1),a(l(`input`,{"onUpdate:modelValue":t[47]||=e=>j.form.batch_number=e,class:`form-input`,placeholder:`批次号(可选)`},null,512),[[f,j.form.batch_number]])]),l(`div`,Ai,[t[166]||=l(`label`,{class:`form-label`},`库位`,-1),a(l(`input`,{"onUpdate:modelValue":t[48]||=e=>j.form.location=e,class:`form-input`,placeholder:`库位(可选)`},null,512),[[f,j.form.location]])]),l(`div`,ji,[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),l(`button`,{type:`submit`,class:`btn btn-primary`,disabled:!j.form.product_id||!j.form.warehouse_id},`保存`,8,Mi)])],32)):b(``,!0)])])])):b(``,!0),j.showMaterialConsumptionModal?(r(),S(`div`,{key:1,class:`modal-overlay`,onClick:t[51]||=h(e=>j.showMaterialConsumptionModal=!1,[`self`])},[l(`div`,Ni,[l(`div`,Pi,[t[167]||=l(`h3`,null,`添加物料消耗`,-1),l(`button`,{class:`modal-close`,onClick:t[49]||=e=>j.showMaterialConsumptionModal=!1},`×`)]),l(`div`,Fi,[l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:qa},`+ 添加物料`)]),j.materialConsumptionItems.length===0?(r(),S(`div`,Ii,[...t[168]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无物料`,-1),l(`div`,{class:`empty-desc`},`请点击"添加物料"按钮添加物料消耗明细`,-1)]])):(r(),S(`div`,Li,[(r(!0),S(p,null,n(j.materialConsumptionItems,(e,i)=>(r(),S(`div`,{key:`material-consumption-line-`+i,class:`purchase-order-item`},[l(`div`,Ri,[l(`div`,zi,[t[170]||=l(`label`,{class:`form-label`},`物料 *`,-1),a(l(`select`,{"onUpdate:modelValue":t=>e.material_id=t,class:`form-input`,required:``},[t[169]||=l(`option`,{value:``},`请选择物料`,-1),(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`consumption-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,Vi))),128))],8,Bi),[[d,e.material_id,void 0,{number:!0}]])]),l(`div`,Hi,[l(`div`,Ui,[l(`div`,Wi,[t[171]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`1`,class:`form-input`,placeholder:`请输入数量`,required:``},null,8,Gi),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,Ki,[l(`div`,qi,[t[172]||=l(`label`,{class:`form-label`},`单价`,-1),l(`div`,Ji,` ¥`+o((j.materials.find(t=>t.id===e.material_id)?.cost_price||0).toFixed(2)),1)])]),l(`div`,Yi,[l(`div`,Xi,[t[173]||=l(`label`,{class:`form-label`},`总价`,-1),l(`div`,Zi,` ¥`+o(((j.materials.find(t=>t.id===e.material_id)?.cost_price||0)*(e.quantity||0)).toFixed(2)),1)])]),l(`div`,Qi,[l(`div`,$i,[t[174]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,ea),[[f,e.remark]])])]),l(`div`,ta,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>Ja(i)},`删除`,8,na)])])])]))),128))])),l(`div`,ra,[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:t[50]||=e=>j.showMaterialConsumptionModal=!1},`取消`),l(`button`,{type:`button`,class:`btn btn-primary`,onClick:Ya},`保存物料消耗`)])])])])):b(``,!0),j.showRestockModal?(r(),S(`div`,{key:2,class:`modal-overlay`,onClick:t[54]||=h(e=>j.showRestockModal=!1,[`self`])},[l(`div`,ia,[l(`div`,aa,[t[175]||=l(`h3`,null,`物料补货`,-1),l(`button`,{class:`modal-close`,onClick:t[52]||=e=>j.showRestockModal=!1},`×`)]),l(`div`,oa,[l(`div`,sa,[l(`div`,{class:`section-header`},[t[176]||=l(`h4`,null,`补货物料明细`,-1),l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:Za},`+ 添加物料`)]),j.restockItems.length===0?(r(),S(`div`,ca,[...t[177]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-desc`},`请点击"添加物料"按钮添加补货物料明细`,-1)]])):(r(),S(`div`,la,[(r(!0),S(p,null,n(j.restockItems,(e,i)=>(r(),S(`div`,{key:`restock-line-`+i,class:`purchase-order-item`},[l(`div`,ua,[l(`div`,da,[l(`div`,fa,[t[178]||=l(`label`,{class:`form-label`},[x(`物料 `),l(`span`,{class:`required`},`*`)],-1),a(l(`select`,{"onUpdate:modelValue":t=>e.material_id=t,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`restock-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,ma))),128))],8,pa),[[d,e.material_id,void 0,{number:!0}]])])]),l(`div`,ha,[l(`div`,ga,[t[179]||=l(`label`,{class:`form-label`},[x(`数量 `),l(`span`,{class:`required`},`*`)],-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,class:`form-input`,min:`1`,step:`1`,required:``},null,8,_a),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,va,[l(`div`,ya,[t[180]||=l(`label`,{class:`form-label`},`单价`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.unit_price=t,type:`number`,class:`form-input`,min:`0`,step:`0.01`},null,8,ba),[[f,e.unit_price,void 0,{number:!0}]])])]),l(`div`,xa,[l(`div`,Sa,[t[181]||=l(`label`,{class:`form-label`},`总价`,-1),l(`div`,Ca,` ¥`+o(((e.unit_price||0)*(e.quantity||0)).toFixed(2)),1)])]),l(`div`,wa,[l(`div`,Ta,[t[182]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,Ea),[[f,e.remark]])])]),l(`div`,Da,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>Qa(i)},`删除`,8,Oa)])])]))),128))]))])]),l(`div`,ka,[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:t[53]||=e=>j.showRestockModal=!1},`取消`),l(`button`,{type:`button`,class:`btn btn-primary`,onClick:$a},`创建采购订单`)])])])):b(``,!0)]))}}),[[`__scopeId`,`data-v-15993ef5`]]);export{E as default}; \ No newline at end of file +import{A as e,C as t,D as n,E as r,M as i,O as a,P as o,S as s,T as c,_ as l,b as u,c as ee,d,f,g as te,h as p,j as m,k as ne,l as re,m as h,n as g,o as _,p as ie,r as v,s as ae,t as y,v as b,w as oe,x,y as S}from"./index-B1sOGpZZ.js";import{a as se,n as C,r as w,t as T}from"./utils-COFIQvWo.js";var ce={class:`page-container`},le={class:`inventory-layout`},ue={class:`inventory-sidebar`},de={class:`inventory-menu`},fe=[`onClick`],pe={class:`inventory-menu-caret`},me={class:`inventory-menu-items`},he=[`onClick`],ge={class:`inventory-content`},_e={class:`inventory-content-header`},ve={class:`inventory-content-title`},ye={class:`inventory-breadcrumb`},be={class:`inventory-breadcrumb-current`},xe={key:0,class:`inline-alert inline-alert-warning`},Se={class:`inline-alert-message`},Ce={key:1,class:`loading-state`},we={key:2},Te={key:0,class:`dashboard-grid`},Ee={class:`stat-card`},De={class:`stat-content`},Oe={class:`stat-value`},ke={class:`stat-card`},Ae={class:`stat-content`},je={class:`stat-value`},Me={class:`stat-card`},Ne={class:`stat-content`},Pe={class:`stat-value`},Fe={class:`stat-card`},Ie={class:`stat-content`},Le={class:`stat-value`},Re={class:`stat-card`},ze={class:`stat-content`},Be={class:`stat-value`},Ve={class:`stat-card`},He={class:`stat-content`},Ue={class:`stat-value`},We={key:1},Ge={class:`table-header`},Ke={class:`table-container`},qe={class:`data-table`},Je={class:`action-btns`},Ye=[`onClick`],Xe=[`onClick`],Ze={key:2},Qe={class:`table-header`},$e={class:`table-container`},et={class:`data-table`},tt={class:`action-btns`},nt=[`onClick`],rt=[`onClick`],it={key:3},at={class:`table-header`},ot={class:`table-container`},st={class:`data-table`},ct={class:`action-btns`},lt=[`onClick`],ut=[`onClick`],dt={key:4},ft={class:`table-header mb-12`},pt={class:`table-container mb-16`},mt={class:`flex-row-center`},ht=[`value`],gt={class:`table-container`},_t={class:`data-table`},vt={class:`action-btns`},yt=[`onClick`,`disabled`],bt=[`onClick`,`disabled`],xt=[`onClick`],St=[`onClick`],Ct={key:5},wt={class:`table-header`},Tt={class:`table-container`},Et={class:`data-table`},Dt={class:`action-btns`},Ot=[`onClick`],kt=[`onClick`],At={key:6},jt={class:`table-header`},Mt={class:`table-container`},Nt={class:`data-table`},Pt={class:`action-btns`},Ft=[`onClick`],It=[`onClick`],Lt={key:7},Rt={class:`table-header mb-12`},zt={class:`table-container mb-16`},Bt={class:`flex-row-center`},Vt=[`value`],Ht={class:`table-container`},Ut={class:`data-table`},Wt={class:`action-btns`},Gt={class:`dropdown`},Kt={class:`dropdown-menu`},qt=[`onClick`],Jt=[`onClick`],Yt=[`onClick`,`disabled`],Xt=[`onClick`],Zt={key:8},Qt={class:`table-container mb-16`},$t={class:`flex-row-center`},en={class:`text-secondary`},tn={class:`dashboard-grid`},nn={class:`stat-card`},rn={class:`stat-content`},an={class:`stat-value`},on={class:`stat-card`},sn={class:`stat-content`},cn={class:`stat-value`},ln={class:`stat-card`},un={class:`stat-content`},dn={class:`stat-value`},fn={class:`stat-card`},pn={class:`stat-content`},mn={class:`stat-value`},hn={class:`table-container mt-16`},gn={class:`data-table`},_n={class:`table-container mt-16`},vn={class:`data-table`},yn={class:`table-container mt-16`},bn={class:`data-table`},xn={class:`table-container mt-16`},Sn={class:`data-table`},Cn={class:`table-container mt-16`},wn={class:`data-table`},Tn={key:9,class:`table-container`},En={class:`data-table`},Dn={class:`modal-content`},On={class:`modal-header`},kn={class:`modal-body`},An={class:`form-group`},jn=[`value`],Mn={class:`form-group`},Nn={class:`form-group`},Pn={class:`form-group`},Fn={class:`form-group`},In={class:`form-group`},Ln={class:`form-group`},Rn={key:0,class:`form-group`},zn={key:1,class:`form-group`},Bn={key:2,class:`bom-section`},Vn={class:`form-group`},Hn={class:`table-container`},Un={class:`data-table`},Wn=[`onUpdate:modelValue`],Gn=[`value`],Kn=[`onUpdate:modelValue`],qn=[`onClick`],Jn={class:`form-group`},Yn=[`value`],Xn={class:`form-group`},Zn={class:`form-group`},Qn={key:0,class:`empty-state`},$n={key:1,class:`sales-order-items`},er={class:`sales-order-item-header`},tr=[`onClick`],nr=[`onClick`],rr={class:`sales-order-item-content`},ir={key:0},ar={class:`form-group`},or=[`onUpdate:modelValue`],sr={class:`form-group`},cr=[`onUpdate:modelValue`],lr={key:1},ur={class:`form-group`},dr=[`onUpdate:modelValue`],fr=[`value`],pr={class:`sales-order-item-row`},mr={class:`sales-order-item-column`},hr={class:`form-group`},gr=[`onUpdate:modelValue`],_r={class:`sales-order-item-column`},vr={class:`form-group`},yr=[`onUpdate:modelValue`],br={class:`sales-order-item-column`},xr={class:`form-group`},Sr=[`onUpdate:modelValue`],Cr={class:`sales-order-item-actions`},wr=[`onClick`],Tr={class:`form-group form-group-spaced`},Er={key:0,class:`material-consumption-list`},Dr={class:`material-consumption-item`},Or={class:`material-consumption-item`},kr={class:`material-consumption-item`},Ar={class:`material-consumption-item`},jr={class:`material-consumption-total`},Mr={class:`material-consumption-item`},Nr={key:1,class:`empty-state`},Pr={class:`form-group`},Fr=[`value`],Ir={class:`form-group`},Lr={class:`form-group`},Rr={key:0,class:`empty-state`},zr={key:1,class:`purchase-order-items`},Br={class:`purchase-order-item-content`},Vr={class:`form-group`},Hr=[`onUpdate:modelValue`],Ur=[`value`],Wr={class:`purchase-order-item-row`},Gr={class:`purchase-order-item-column`},Kr={class:`form-group`},qr=[`onUpdate:modelValue`],Jr={class:`purchase-order-item-column`},Yr={class:`form-group`},Xr={class:`info-display`},Zr={class:`purchase-order-item-column`},Qr={class:`form-group`},$r={class:`info-display`},ei={class:`purchase-order-item-column`},ti={class:`form-group`},ni=[`onUpdate:modelValue`],ri={class:`purchase-order-item-actions`},ii=[`onClick`],ai={class:`form-group`},oi=[`value`],si={class:`form-group`},ci={class:`table-container`},li={class:`data-table`},ui=[`onUpdate:modelValue`,`max`],di={class:`form-group`},fi={class:`form-group`},pi={class:`form-group`},mi={class:`form-group`},hi={class:`form-group`},gi={class:`form-group`},_i={class:`form-group`},vi={class:`form-group`},yi={class:`form-group`},bi={class:`form-group`},xi={class:`form-group`},Si={key:0,value:null,disabled:``},Ci=[`value`],wi={class:`form-group`},Ti={key:0,value:null,disabled:``},Ei=[`value`],Di={class:`form-group`},Oi={class:`form-group`},ki={class:`form-group`},Ai={class:`form-group`},ji={class:`modal-footer`},Mi=[`disabled`],Ni={class:`modal-content`},Pi={class:`modal-header`},Fi={class:`modal-body`},Ii={key:0,class:`empty-state`},Li={key:1,class:`purchase-order-items`},Ri={class:`purchase-order-item-content`},zi={class:`form-group`},Bi=[`onUpdate:modelValue`],Vi=[`value`],Hi={class:`purchase-order-item-row`},Ui={class:`purchase-order-item-column`},Wi={class:`form-group`},Gi=[`onUpdate:modelValue`],Ki={class:`purchase-order-item-column`},qi={class:`form-group`},Ji={class:`info-display`},Yi={class:`purchase-order-item-column`},Xi={class:`form-group`},Zi={class:`info-display`},Qi={class:`purchase-order-item-column`},$i={class:`form-group`},ea=[`onUpdate:modelValue`],ta={class:`purchase-order-item-actions`},na=[`onClick`],ra={class:`modal-footer`},ia={class:`modal-content restock-modal`},aa={class:`modal-header`},oa={class:`modal-body`},sa={class:`form-section`},ca={key:0,class:`empty-state`},la={key:1,class:`purchase-order-items`},ua={class:`purchase-order-item-row`},da={class:`purchase-order-item-column restock-col-material`},fa={class:`form-group`},pa=[`onUpdate:modelValue`],ma=[`value`],ha={class:`purchase-order-item-column`},ga={class:`form-group`},_a=[`onUpdate:modelValue`],va={class:`purchase-order-item-column`},ya={class:`form-group`},ba=[`onUpdate:modelValue`],xa={class:`purchase-order-item-column`},Sa={class:`form-group`},Ca={class:`info-display`},wa={class:`purchase-order-item-column`},Ta={class:`form-group`},Ea=[`onUpdate:modelValue`],Da={class:`purchase-order-item-actions`},Oa=[`onClick`],ka={class:`modal-footer`},E=y(s({__name:`InventoryView`,setup(s){let y=ae(),E=re();ee();let D=e(null),O=e(null),k=e(null),A=e(null),j=ne({activeTab:`dashboard`,backendDbReady:!0,backendDbMessage:``,productCategory:`finished`,dashboard:null,financeSummary:null,financePeriod:{year:new Date().getFullYear(),quarter:``},financeTransactions:[],receivables:[],payables:[],customerFinanceStatement:[],supplierFinanceStatement:[],customerProductStatement:[],supplierProductStatement:[],products:[],materials:[],finishedProducts:[],purchaseOrders:[],purchaseWarehouseId:null,purchaseReceiveItems:[],productionOrders:[],productionPlan:null,productionWarehouseId:null,suppliers:[],customers:[],warehouses:[],inventory:[],movements:[],loading:!1,showModal:!1,modalType:``,editingItem:null,productBomItems:[],materialConsumptionItems:[],showMaterialConsumptionModal:!1,consumedMaterials:[],restockItems:[],showRestockModal:!1,form:{}}),Aa=e=>{if(!e)return null;let t=String(e).trim().replace(`T`,` `).slice(0,16).match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2})$/);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]),o=Number(t[5]);return Number.isFinite(n+r+i+a+o)?new Date(n,r-1,i,a,o,0):null},M=e=>{if(!e)return``;let t=String(e).trim();if(/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}/.test(t))return t.slice(0,16);if(t.includes(`T`))return t.replace(`T`,` `).slice(0,16);let n=new Date(t);if(!Number.isFinite(n.getTime()))return``;let r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())} ${r(n.getHours())}:${r(n.getMinutes())}`},ja=e=>{if(!e)return null;let t=String(e).trim();return t.includes(`T`)?t.split(`T`)[0]:t.includes(` `)?t.split(` `)[0]:t.length===10?t:e instanceof Date?`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`:t},N=e=>{if(!e)return``;let t=String(e).trim();if(t.length===10&&!t.includes(`T`)&&!t.includes(` `))return t;let n=t.replace(` `,`T`);return n.length>=16?n.slice(0,16):n},Ma=e=>{if(!e)return``;let t=String(e).trim();return t.length===10&&!t.includes(`T`)&&!t.includes(` `)?t:t.replace(`T`,` `).slice(0,16)},P=null,F=null,I=()=>{P&&=(P.destroy(),null),F&&=(F.destroy(),null)},Na=()=>{if(I(),typeof AirDatepicker==`function`){if(j.modalType===`salesOrder`&&D.value){P=new AirDatepicker(D.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{j.form.delivery_date=e||``,j.form.delivery_date_native=N(e||``)}});let e=Aa(j.form.delivery_date);e&&P.selectDate(e,{silent:!0})}if(j.modalType===`purchaseOrder`&&O.value){F=new AirDatepicker(O.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{j.form.expected_date=e||``,j.form.expected_date_native=N(e||``)}});let e=Aa(j.form.expected_date);e&&F.selectDate(e,{silent:!0})}}},L=e=>{if(e===`delivery`&&P){P.show();return}if(e===`expected`&&F){F.show();return}let t=e===`delivery`?k.value:A.value;if(t){if(typeof t.showPicker==`function`){t.showPicker();return}t.focus(),t.click()}},Pa=e=>({in:`其他入库`,out:`其他出库`,adjust:`库存调整`,purchase_in:`采购入库`,return_from_production:`生产退料入库`,outsource_return:`外协回库`,finish_in:`完工入库`,issue_to_production:`生产领料出库`,outsource_send:`外协发料出库`,shipment_out:`销售出库`,scrap_out:`报废出库`})[e]||e,Fa=e=>[`purchase_in`,`return_from_production`,`outsource_return`,`finish_in`,`in`].includes(e)?`badge-success`:[`issue_to_production`,`outsource_send`,`shipment_out`,`scrap_out`,`out`].includes(e)?`badge-error`:`badge-warning`,Ia=e=>({draft:`已下单`,pending:`已下单`,received:`已收货`,paid:`已付款`})[e]||e,R=e=>[`received`,`paid`].includes(e),z=async()=>{j.loading=!0;try{j.dashboard=await _(`/api/dashboard`)}catch(e){v(e,`加载仪表盘`)}finally{j.loading=!1}},B=async()=>{j.loading=!0;try{j.finishedProducts=await _(`/api/products?item_type=finished&limit=100`)}catch(e){v(e,`加载成品`)}finally{j.loading=!1}},V=async()=>{await B()},H=async()=>{j.loading=!0;try{j.materials=await _(`/api/products?item_type=material&limit=100`)}catch(e){v(e,`加载物料`)}finally{j.loading=!1}},U=async()=>{j.loading=!0;try{j.warehouses=await _(`/api/warehouses`)}catch(e){v(e,`加载仓库`)}finally{j.loading=!1}},La=async()=>{if(j.materials.length||await H(),j.warehouses.length||await U(),!j.warehouses.length)try{await _(`/api/warehouses`,{method:`POST`,body:JSON.stringify({name:`默认仓库`})}),await U(),g(`已自动创建默认仓库`,`success`)}catch(e){v(e,`自动创建默认仓库`)}},W=async()=>{j.loading=!0;try{j.suppliers=await _(`/api/suppliers`)}catch(e){v(e,`加载供应商`)}finally{j.loading=!1}},G=async()=>{j.loading=!0;try{let[e,t]=await Promise.all([_(`/api/sales-orders?limit=100`),_(`/api/warehouses`)]);j.productionOrders=e?.items||[],j.warehouses=t||[],j.productionWarehouseId||=j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null}catch(e){v(e,`加载按单生产数据`)}finally{j.loading=!1}},K=async()=>{j.loading=!0;try{let[e,t]=await Promise.all([_(`/api/purchase-orders?limit=100`),_(`/api/warehouses`)]);j.purchaseOrders=e?.items||[],j.warehouses=t||[],j.purchaseWarehouseId||=j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null}catch(e){v(e,`加载采购订单`)}finally{j.loading=!1}},q=async()=>{j.loading=!0;try{j.customers=await _(`/api/customers`)}catch(e){v(e,`加载客户`)}finally{j.loading=!1}},J=async()=>{j.loading=!0;try{j.inventory=(await _(`/api/inventory`))?.items||[]}catch(e){v(e,`加载库存`)}finally{j.loading=!1}},Y=async()=>{j.loading=!0;try{j.movements=(await _(`/api/stock-movements`))?.items||[]}catch(e){v(e,`加载变动记录`)}finally{j.loading=!1}},Ra=async()=>{j.loading=!0;try{let e=Number(j.financePeriod.year)||new Date().getFullYear(),t=j.financePeriod.quarter?Number(j.financePeriod.quarter):null,n=t?`year=${e}&quarter=${t}`:`year=${e}`,[r,i,a,o,s,c,l,u]=await Promise.all([_(`/api/finance/summary?${n}`),_(`/api/finance/transactions?status=confirmed&limit=20&${n}`),_(`/api/finance/receivables?limit=20&${n}`),_(`/api/finance/payables?limit=20&${n}`),_(`/api/finance/partner-statement/customer?${n}`),_(`/api/finance/partner-statement/supplier?${n}`),_(`/api/finance/partner-product-statement/customer?${n}`),_(`/api/finance/partner-product-statement/supplier?${n}`)]);j.financeSummary=r,j.financeTransactions=i,j.receivables=a,j.payables=o,j.customerFinanceStatement=s.items||[],j.supplierFinanceStatement=c.items||[],j.customerProductStatement=l.items||[],j.supplierProductStatement=u.items||[]}catch(e){v(e,`加载财务数据`)}finally{j.loading=!1}},za=()=>{j.activeTab===`finance`&&Ra()},Ba=e=>{if(j.activeTab=e,j.backendDbReady)switch(e){case`dashboard`:z();break;case`sales_orders`:G();break;case`products`:B();break;case`materials`:H();break;case`purchases`:K();break;case`inventory`:J();break;case`customers`:q();break;case`suppliers`:W();break;case`finance`:Ra();break;case`movements`:Y();break}},X=[{key:`overview`,title:`概览`,items:[{key:`dashboard`,label:`仪表盘`}]},{key:`sales`,title:`销售`,items:[{key:`sales_orders`,label:`销售订单管理`}]},{key:`purchase`,title:`采购`,items:[{key:`purchases`,label:`采购订单管理`}]},{key:`product`,title:`产品`,items:[{key:`products`,label:`成品管理`},{key:`materials`,label:`物料管理`}]},{key:`partner`,title:`往来单位`,items:[{key:`customers`,label:`客户管理`},{key:`suppliers`,label:`供应商管理`}]},{key:`warehouse`,title:`仓库`,items:[{key:`inventory`,label:`库存管理`},{key:`movements`,label:`库存变动记录`}]},{key:`finance`,title:`财务`,items:[{key:`finance`,label:`财务概览`}]}],Z=ne(Object.fromEntries(X.map(e=>[e.key,!0]))),Va=e=>{Z[e]=!Z[e]},Ha=te(()=>{for(let e of X){let t=e.items.find(e=>e.key===j.activeTab);if(t)return{group:e,item:t}}return null}),Ua=e=>{Ba(e)},Wa=async()=>{try{let e=await fetch(`/health`,{method:`GET`});if(!e.ok){j.backendDbReady=!1,j.backendDbMessage=`后端服务异常,暂无法加载业务数据`;return}let t=await e.json().catch(()=>null);if(t&&t.database_connected===!1){j.backendDbReady=!1,j.backendDbMessage=`数据库未连接,当前仅可浏览界面,业务数据暂不可用`;return}j.backendDbReady=!0,j.backendDbMessage=``}catch{j.backendDbReady=!1,j.backendDbMessage=`无法连接后端服务`}},Ga=e=>{j.modalType=`product`,j.editingItem=null,j.form={item_type:e,unit:e===`material`?`kg`:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0},j.showModal=!0},Q=async(e,n=null)=>{if(j.modalType=e,j.editingItem=n,n)if(e===`salesOrder`){if(n.status===`paid`){g(`已收款的销售订单禁止修改`,`warning`),j.modalType=``,j.editingItem=null;return}await q(),await B();let e=await _(`/api/sales-orders/${n.id}`);j.consumedMaterials=(await _(`/api/stock-movements?reference_type=sales_order&reference_id=${n.id}&movement_type=consumption`)||[]).map(e=>({material_name:e.product_name||e.product_sku||`未知物料`,quantity:Math.abs(e.quantity),unit_price:e.unit_price||0,amount:e.total_amount||0})),j.form={customer_id:e.customer_id,delivery_date:M(e.delivery_date),delivery_date_native:N(M(e.delivery_date)),remark:e.remark||``,items:(e.items||[]).map(e=>({mode:e.product_id?`existing`:`new`,product_id:e.product_id,product_sku:``,product_name:``,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark||``}))}}else if(e===`purchaseOrder`){await W(),await H();let e=await _(`/api/purchase-orders/${n.id}`);j.form={supplier_id:e.supplier_id,expected_date:M(e.expected_date),expected_date_native:N(M(e.expected_date)),remark:e.remark||``,items:(e.items||[]).map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark||``}))}}else e===`purchaseReceive`?(await U(),j.purchaseReceiveItems=((await _(`/api/purchase-orders/${n.id}`)).items||[]).map(e=>({item_id:e.id,material_label:`${e.product_sku||e.product_id} - ${e.product_name||``}`.trim(),remaining_quantity:Math.max((e.quantity||0)-(e.received_quantity||0),0),receive_quantity:Math.max((e.quantity||0)-(e.received_quantity||0),0)})).filter(e=>e.remaining_quantity>0),j.form={warehouse_id:j.purchaseWarehouseId||j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null,remark:``}):e===`product`?(j.form={...n},n.item_type===`finished`&&(await H(),j.productBomItems=((await _(`/api/products/${n.id}/materials`)).items||[]).map(e=>({material_id:e.material_id,quantity:e.quantity})))):j.form={...n};else j.form={},e===`inventoryItem`&&(await La(),j.form={product_id:j.materials[0]?.id||null,warehouse_id:j.warehouses.find(e=>e.is_default)?.id||j.warehouses[0]?.id||null,quantity:0,locked_quantity:0,batch_number:``,location:``}),e===`salesOrder`&&(j.form={customer_id:null,delivery_date:``,delivery_date_native:``,remark:``,items:[]}),e===`purchaseOrder`&&(j.form={supplier_id:null,expected_date:``,expected_date_native:``,remark:``,items:[]}),e===`product`&&(j.form={item_type:`finished`,unit:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0}),e===`salesOrder`&&(await q(),await B(),j.form={customer_id:j.customers[0]?.id||null,delivery_date:``,remark:``,items:[{mode:`new`,product_id:null,product_sku:``,product_name:``,quantity:1,unit_price:0,remark:``}]}),e===`purchaseOrder`&&(await W(),await H(),j.form={supplier_id:j.suppliers[0]?.id||null,expected_date:``,remark:``,items:[{product_id:j.materials[0]?.id||null,quantity:1,remark:``}]});j.showModal=!0,t(()=>{Na()})},Ka=async()=>{if(j.modalType!==`salesOrder`){g(`请先打开销售订单编辑页面`,`warning`);return}await H(),await U(),j.materialConsumptionItems=[],j.showMaterialConsumptionModal=!0},qa=()=>{j.materialConsumptionItems.push({material_id:j.materials[0]?.id||null,quantity:1,remark:``})},Ja=e=>{j.materialConsumptionItems.splice(e,1)},Ya=async()=>{if(j.modalType!==`salesOrder`){g(`请先打开销售订单编辑页面`,`warning`);return}if(!j.editingItem){j.showMaterialConsumptionModal=!1,await mo();return}for(let[e,t]of j.materialConsumptionItems.entries()){let n=e+1;if(!t.material_id){g(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}}try{await _(`/api/sales-orders/${j.editingItem.id}/consume-materials`,{method:`POST`,body:JSON.stringify({items:j.materialConsumptionItems.map(e=>({material_id:e.material_id,quantity:e.quantity,remark:e.remark}))})}),g(`物料消耗记录保存成功`,`success`),j.showMaterialConsumptionModal=!1;let e=await _(`/api/sales-orders/${j.editingItem.id}`);j.form={...j.form,actual_material_cost:e.actual_material_cost},j.consumedMaterials=(await _(`/api/stock-movements?reference_type=sales_order&reference_id=${j.editingItem.id}&movement_type=consumption`)||[]).map(e=>({material_name:e.product_name||e.product_sku||`未知物料`,quantity:Math.abs(e.quantity),unit_price:e.unit_price||0,amount:e.total_amount||0}))}catch(e){v(e,`保存物料消耗`)}},Xa=async()=>{await H(),await W(),j.restockItems=[],j.showRestockModal=!0},Za=()=>{j.restockItems.push({material_id:j.materials[0]?.id||null,quantity:1,unit_price:0,remark:``})},Qa=e=>{j.restockItems.splice(e,1)},$a=async()=>{if(!j.restockItems||j.restockItems.length===0){g(`请至少添加一个补货物料`,`warning`);return}for(let[e,t]of j.restockItems.entries()){let n=e+1;if(!t.material_id){g(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){g(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}try{let e={supplier_id:j.suppliers[0]?.id||null,expected_date:new Date().toISOString().split(`T`)[0],remark:`物料补货`,items:j.restockItems.map(e=>({product_id:e.material_id,quantity:e.quantity,remark:e.remark}))};await _(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),g(`采购订单创建成功`,`success`),j.showRestockModal=!1,j.restockItems=[],K()}catch(e){v(e,`保存补货订单`)}},$=()=>{j.showModal=!1,j.modalType=``,j.editingItem=null,j.productBomItems=[],j.purchaseReceiveItems=[],j.form={},I()},eo=async()=>{try{j.editingItem?(await _(`/api/products/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(j.form)}),j.form.item_type===`finished`&&j.productBomItems.length>0&&await _(`/api/products/${j.editingItem.id}/materials`,{method:`PUT`,body:JSON.stringify({items:j.productBomItems})}),g(`产品更新成功`,`success`)):(await _(`/api/products`,{method:`POST`,body:JSON.stringify(j.form)}),g(`产品创建成功`,`success`)),$(),V(),H()}catch(e){v(e,`保存产品`)}},to=async e=>{if(confirm(`确定要删除这个产品吗?`))try{await _(`/api/products/${e}`,{method:`DELETE`}),g(`产品已删除`,`success`),V(),H()}catch(e){v(e,`删除产品`)}},no=()=>{j.productBomItems.push({material_id:j.materials[0]?.id||null,quantity:1})},ro=e=>{j.productBomItems.splice(e,1)},io=async()=>{try{j.editingItem?(await _(`/api/suppliers/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(j.form)}),g(`供应商更新成功`,`success`)):(await _(`/api/suppliers`,{method:`POST`,body:JSON.stringify(j.form)}),g(`供应商创建成功`,`success`)),$(),W()}catch(e){v(e,`保存供应商`)}},ao=async e=>{if(confirm(`确定要删除这个供应商吗?`))try{await _(`/api/suppliers/${e}`,{method:`DELETE`}),g(`供应商已删除`,`success`),W()}catch(e){v(e,`删除供应商`)}},oo=async()=>{try{j.editingItem?(await _(`/api/customers/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(j.form)}),g(`客户更新成功`,`success`)):(await _(`/api/customers`,{method:`POST`,body:JSON.stringify(j.form)}),g(`客户创建成功`,`success`)),$(),q()}catch(e){v(e,`保存客户`)}},so=async e=>{if(confirm(`确定要删除这个客户吗?`))try{await _(`/api/customers/${e}`,{method:`DELETE`}),g(`客户已删除`,`success`),q()}catch(e){v(e,`删除客户`)}},co=async()=>{try{j.editingItem?(await _(`/api/inventory/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify({quantity:j.form.quantity,locked_quantity:j.form.locked_quantity,batch_number:j.form.batch_number,location:j.form.location})}),g(`物料库存更新成功`,`success`)):(await _(`/api/inventory`,{method:`POST`,body:JSON.stringify(j.form)}),g(`物料库存创建成功`,`success`)),$(),J()}catch(e){v(e,`保存物料库存`)}},lo=async e=>{if(confirm(`确定要删除这个物料库存记录吗?`))try{await _(`/api/inventory/${e}`,{method:`DELETE`}),g(`物料库存已删除`,`success`),J()}catch(e){v(e,`删除物料库存`)}},uo=()=>{j.form.items=j.form.items||[],j.form.items.push({mode:`new`,product_id:null,product_sku:``,product_name:``,quantity:1,unit_price:0,remark:``})},fo=(e,t)=>{e.mode=t,t===`new`?(e.product_id=null,e.product_sku=``,e.product_name=``):(e.product_sku=``,e.product_name=``,e.product_id||=j.finishedProducts[0]?.id||null)},po=e=>{j.form.items.splice(e,1)},mo=async()=>{try{if(!j.form.customer_id){g(`请选择客户`,`warning`);return}if(!j.form.items||!j.form.items.length){g(`请至少添加一个成品明细`,`warning`);return}for(let[e,t]of j.form.items.entries()){let n=e+1;if(t.mode===`existing`){if(!t.product_id){g(`第 ${n} 行:请选择模具`,`warning`);return}}else{if(!t.product_sku||!String(t.product_sku).trim()){g(`第 ${n} 行:请输入模具SKU`,`warning`);return}if(!t.product_name||!String(t.product_name).trim()){g(`第 ${n} 行:请输入模具名称`,`warning`);return}}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){g(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}let e={customer_id:j.form.customer_id,delivery_date:ja(j.form.delivery_date),remark:j.form.remark,items:j.form.items.map(e=>({product_id:e.mode===`existing`&&e.product_id||null,product_sku:e.mode===`existing`?null:e.product_sku||null,product_name:e.mode===`existing`?null:e.product_name||null,product_category:null,product_unit:`件`,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark||``}))},t;if(j.editingItem){let n=await _(`/api/sales-orders/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(e)});t=j.editingItem.id,g(n.production_status===`bom_missing`?`订单已保存,但成品未配置BOM,未扣减物料`:`销售订单更新成功并已自动扣减物料`,n.production_status===`bom_missing`?`warning`:`success`)}else{let n=await _(`/api/sales-orders`,{method:`POST`,body:JSON.stringify(e)});t=n.id,g(n.production_status===`bom_missing`?`订单已创建,但成品未配置BOM,未扣减物料`:`销售订单创建成功并已自动扣减物料`,n.production_status===`bom_missing`?`warning`:`success`)}if(j.materialConsumptionItems&&j.materialConsumptionItems.length>0)try{await _(`/api/sales-orders/${t}/consume-materials`,{method:`POST`,body:JSON.stringify({items:j.materialConsumptionItems.map(e=>({material_id:e.material_id,quantity:e.quantity,remark:e.remark}))})}),g(`物料消耗记录保存成功`,`success`),j.materialConsumptionItems=[]}catch(e){v(e,`保存物料消耗`)}$(),G(),B(),J(),Y()}catch(e){v(e,`保存销售订单`)}},ho=async(e,t)=>{try{await _(`/api/sales-orders/${e.id}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),g(`订单状态已更新`,`success`),G()}catch(e){v(e,`更新订单状态`)}},go=async(e,t)=>{try{await _(`/api/purchase-orders/${e.id}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),g(`采购订单状态已更新`,`success`),K()}catch(e){v(e,`更新采购订单状态`)}},_o=async e=>{if(confirm(`确定删除这个销售订单吗?系统会自动回补已扣减物料。`))try{await _(`/api/sales-orders/${e}`,{method:`DELETE`}),g(`销售订单已删除并回补物料`,`success`),j.productionPlan?.sales_order_id===e&&(j.productionPlan=null),G(),J(),Y()}catch(e){v(e,`删除销售订单`)}},vo=()=>{j.form.items=j.form.items||[],j.form.items.push({product_id:j.materials[0]?.id||null,quantity:1,remark:``})},yo=e=>{j.form.items.splice(e,1)},bo=async()=>{try{if(!j.form.supplier_id){g(`请选择供应商`,`warning`);return}if(!j.form.items||!j.form.items.length){g(`请至少添加一个物料明细`,`warning`);return}for(let[e,t]of j.form.items.entries()){let n=e+1;if(!t.product_id){g(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){g(`第 ${n} 行:数量必须大于 0`,`warning`);return}}let e={supplier_id:j.form.supplier_id,expected_date:ja(j.form.expected_date),remark:j.form.remark,items:j.form.items.map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark}))};j.editingItem?(await _(`/api/purchase-orders/${j.editingItem.id}`,{method:`PUT`,body:JSON.stringify(e)}),g(`采购订单更新成功`,`success`)):(await _(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),g(`采购订单创建成功`,`success`)),$(),K()}catch(e){v(e,`保存采购订单`)}},xo=async e=>{if(confirm(`确定删除这个采购订单吗?`))try{await _(`/api/purchase-orders/${e}`,{method:`DELETE`}),g(`采购订单已删除`,`success`),K()}catch(e){v(e,`删除采购订单`)}},So=async()=>{try{if(!j.editingItem?.id)return;let e=(j.purchaseReceiveItems||[]).filter(e=>Number(e.receive_quantity)>0).map(e=>({item_id:e.item_id,receive_quantity:Number(e.receive_quantity)}));if(!e.length){g(`请填写本次入库数量`,`warning`);return}await _(`/api/purchase-orders/${j.editingItem.id}/receive`,{method:`POST`,body:JSON.stringify({warehouse_id:j.form.warehouse_id||j.purchaseWarehouseId,items:e,remark:j.form.remark||``})}),g(`采购到货入库成功`,`success`),$(),K(),J(),Y()}catch(e){v(e,`采购到货入库`)}};return oe(()=>{if(!y.user){E.push(`/login`);return}Wa().then(()=>{if(!j.backendDbReady){g(j.backendDbMessage||`业务服务不可用`,`warning`);return}z()})}),c(()=>{I()}),(e,t)=>(r(),S(`div`,ce,[t[183]||=l(`div`,{class:`page-header`},[l(`h1`,null,`进销存管理`),l(`p`,null,`库存、采购、销售管理`)],-1),l(`div`,le,[l(`aside`,ue,[l(`div`,de,[(r(),S(p,null,n(X,e=>l(`div`,{key:e.key,class:`inventory-menu-group`},[l(`button`,{type:`button`,class:`inventory-menu-title`,onClick:t=>Va(e.key)},[l(`span`,null,o(e.title),1),l(`span`,pe,o(Z[e.key]?`▾`:`▸`),1)],8,fe),a(l(`div`,me,[(r(!0),S(p,null,n(e.items,t=>(r(),S(`button`,{key:e.key+`-`+t.key,type:`button`,class:i([`inventory-menu-item`,{active:j.activeTab===t.key}]),onClick:e=>Ua(t.key)},o(t.label),11,he))),128))],512),[[ie,Z[e.key]]])])),64))])]),l(`section`,ge,[l(`div`,_e,[l(`div`,ve,[l(`span`,ye,o(Ha.value?.group?.title||`进销存`),1),t[55]||=l(`span`,{class:`inventory-breadcrumb-sep`},`/`,-1),l(`span`,be,o(Ha.value?.item?.label||``),1)])]),j.backendDbReady?b(``,!0):(r(),S(`div`,xe,[t[56]||=l(`div`,{class:`inline-alert-title`},`提示`,-1),l(`div`,Se,o(j.backendDbMessage),1)])),j.loading?(r(),S(`div`,Ce,[...t[57]||=[l(`div`,{class:`spinner`},null,-1),l(`span`,null,`加载中...`,-1)]])):(r(),S(`div`,we,[j.activeTab===`dashboard`?(r(),S(`div`,Te,[l(`div`,Ee,[t[59]||=l(`div`,{class:`stat-icon`},`📦`,-1),l(`div`,De,[l(`div`,Oe,o(j.dashboard?.product_count||0),1),t[58]||=l(`div`,{class:`stat-label`},`成品数量`,-1)])]),l(`div`,ke,[t[61]||=l(`div`,{class:`stat-icon`},`📊`,-1),l(`div`,Ae,[l(`div`,je,o(j.dashboard?.total_stock||0),1),t[60]||=l(`div`,{class:`stat-label`},`物料库存总量`,-1)])]),l(`div`,Me,[t[63]||=l(`div`,{class:`stat-icon`},`💰`,-1),l(`div`,Ne,[l(`div`,Pe,o(m(T)(j.dashboard?.total_value||0)),1),t[62]||=l(`div`,{class:`stat-label`},`库存价值`,-1)])]),l(`div`,Fe,[t[65]||=l(`div`,{class:`stat-icon`},`🏭`,-1),l(`div`,Ie,[l(`div`,Le,o(j.dashboard?.supplier_count||0),1),t[64]||=l(`div`,{class:`stat-label`},`供应商`,-1)])]),l(`div`,Re,[t[67]||=l(`div`,{class:`stat-icon`},`👥`,-1),l(`div`,ze,[l(`div`,Be,o(j.dashboard?.customer_count||0),1),t[66]||=l(`div`,{class:`stat-label`},`客户`,-1)])]),l(`div`,Ve,[t[69]||=l(`div`,{class:`stat-icon`},`🏪`,-1),l(`div`,He,[l(`div`,Ue,o(j.dashboard?.warehouse_count||0),1),t[68]||=l(`div`,{class:`stat-label`},`仓库`,-1)])])])):j.activeTab===`products`?(r(),S(`div`,We,[l(`div`,Ge,[l(`button`,{class:`btn btn-primary`,onClick:t[0]||=e=>Ga(`finished`)},`+ 新增成品`)]),l(`div`,Ke,[l(`table`,qe,[t[70]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`SKU`),l(`th`,null,`名称`),l(`th`,null,`分类`),l(`th`,null,`单位`),l(`th`,null,`成本价`),l(`th`,null,`销售价`),l(`th`,null,`基础物料成本`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.finishedProducts,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.sku),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.category||`-`),1),l(`td`,null,o(e.unit),1),l(`td`,null,o(m(T)(e.cost_price)),1),l(`td`,null,o(m(T)(e.sale_price)),1),l(`td`,null,o(m(T)(e.material_cost||0)),1),l(`td`,null,[l(`div`,Je,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`product`,e)},`编辑`,8,Ye),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>to(e.id)},`删除`,8,Xe)])])]))),128))])])])])):j.activeTab===`materials`?(r(),S(`div`,Ze,[l(`div`,Qe,[l(`button`,{class:`btn btn-primary`,onClick:t[1]||=e=>Ga(`material`)},`+ 新增物料`),l(`button`,{class:`btn btn-secondary`,onClick:Xa},`+ 物料补货`)]),l(`div`,$e,[l(`table`,et,[t[71]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`SKU`),l(`th`,null,`名称`),l(`th`,null,`分类`),l(`th`,null,`单位`),l(`th`,null,`成本价`),l(`th`,null,`最低库存`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.materials,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.sku),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.category||`-`),1),l(`td`,null,o(e.unit),1),l(`td`,null,o(m(T)(e.cost_price)),1),l(`td`,null,o(e.min_stock||`-`),1),l(`td`,null,[l(`div`,tt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`product`,e)},`编辑`,8,nt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>to(e.id)},`删除`,8,rt)])])]))),128))])])])])):j.activeTab===`inventory`?(r(),S(`div`,it,[l(`div`,at,[l(`button`,{class:`btn btn-primary`,onClick:t[2]||=e=>Q(`inventoryItem`)},`+ 新增物料库存`)]),l(`div`,ot,[l(`table`,st,[t[72]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`SKU`),l(`th`,null,`物料`),l(`th`,null,`仓库`),l(`th`,null,`数量`),l(`th`,null,`可用`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.inventory,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.product_sku),1),l(`td`,null,o(e.product_name),1),l(`td`,null,o(e.warehouse_name),1),l(`td`,null,o(e.quantity),1),l(`td`,null,o(e.available_quantity),1),l(`td`,null,[l(`div`,ct,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`inventoryItem`,e)},`编辑`,8,lt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>lo(e.id)},`删除`,8,ut)])])]))),128))])])])])):j.activeTab===`purchases`?(r(),S(`div`,dt,[l(`div`,ft,[l(`button`,{class:`btn btn-primary`,onClick:t[3]||=e=>Q(`purchaseOrder`)},`+ 新增采购订单`)]),l(`div`,pt,[l(`div`,mt,[t[73]||=l(`label`,null,`到货仓库`,-1),a(l(`select`,{"onUpdate:modelValue":t[4]||=e=>j.purchaseWarehouseId=e,class:`form-input w-260`},[(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`purchase-warehouse-`+e.id,value:e.id},o(e.name)+o(e.is_default?` [默认]`:``),9,ht))),128))],512),[[d,j.purchaseWarehouseId,void 0,{number:!0}]]),l(`button`,{class:`btn btn-secondary`,onClick:K},`刷新`)])]),l(`div`,gt,[l(`table`,_t,[t[74]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`采购单`),l(`th`,null,`供应商`),l(`th`,null,`状态`),l(`th`,null,`订单创建`),l(`th`,null,`预计到货`),l(`th`,null,`实际到货`),l(`th`,null,`实际付款`),l(`th`,null,`总金额`),l(`th`,null,`已付款`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.purchaseOrders,e=>(r(),S(`tr`,{key:`purchase-order-`+e.id},[l(`td`,null,o(e.order_no),1),l(`td`,null,o(e.supplier_name),1),l(`td`,null,o(Ia(e.status)),1),l(`td`,null,o(e.created_at?m(w)(e.created_at):`-`),1),l(`td`,null,o(e.expected_date?m(C)(e.expected_date):`-`),1),l(`td`,null,o(e.received_date?m(w)(e.received_date):`-`),1),l(`td`,null,o(e.paid_date?m(w)(e.paid_date):`-`),1),l(`td`,null,o(m(T)(e.total_amount||0)),1),l(`td`,null,o(m(T)(e.paid_amount||0)),1),l(`td`,null,[l(`div`,vt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`purchaseOrder`,e),disabled:R(e.status)},`编辑`,8,yt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>xo(e.id),disabled:R(e.status)},`删除`,8,bt),e.status===`pending`?(r(),S(`button`,{key:0,class:`btn btn-sm btn-primary`,onClick:t=>Q(`purchaseReceive`,e)},`到货入库`,8,xt)):e.status===`received`?(r(),S(`button`,{key:1,class:`btn btn-sm btn-success`,onClick:t=>go(e,`paid`)},`标记为已付款`,8,St)):b(``,!0)])])]))),128))])])])])):j.activeTab===`suppliers`?(r(),S(`div`,Ct,[l(`div`,wt,[l(`button`,{class:`btn btn-primary`,onClick:t[5]||=e=>Q(`supplier`)},`+ 新增供应商`)]),l(`div`,Tt,[l(`table`,Et,[t[75]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`编码`),l(`th`,null,`名称`),l(`th`,null,`联系人`),l(`th`,null,`电话`),l(`th`,null,`邮箱`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.suppliers,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.code),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.contact_person||`-`),1),l(`td`,null,o(e.phone||`-`),1),l(`td`,null,o(e.email||`-`),1),l(`td`,null,[l(`div`,Dt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`supplier`,e)},`编辑`,8,Ot),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>ao(e.id)},`删除`,8,kt)])])]))),128))])])])])):j.activeTab===`customers`?(r(),S(`div`,At,[l(`div`,jt,[l(`button`,{class:`btn btn-primary`,onClick:t[6]||=e=>Q(`customer`)},`+ 新增客户`)]),l(`div`,Mt,[l(`table`,Nt,[t[76]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`编码`),l(`th`,null,`名称`),l(`th`,null,`联系人`),l(`th`,null,`电话`),l(`th`,null,`邮箱`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.customers,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.code),1),l(`td`,null,o(e.name),1),l(`td`,null,o(e.contact_person||`-`),1),l(`td`,null,o(e.phone||`-`),1),l(`td`,null,o(e.email||`-`),1),l(`td`,null,[l(`div`,Pt,[l(`button`,{class:`btn btn-sm btn-secondary`,onClick:t=>Q(`customer`,e)},`编辑`,8,Ft),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>so(e.id)},`删除`,8,It)])])]))),128))])])])])):j.activeTab===`sales_orders`?(r(),S(`div`,Lt,[l(`div`,Rt,[l(`button`,{class:`btn btn-primary`,onClick:t[7]||=e=>Q(`salesOrder`)},`+ 新增销售订单`)]),l(`div`,zt,[l(`div`,Bt,[t[77]||=l(`label`,null,`领料仓库`,-1),a(l(`select`,{"onUpdate:modelValue":t[8]||=e=>j.productionWarehouseId=e,class:`form-input w-260`},[(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`production-warehouse-`+e.id,value:e.id},o(e.name)+o(e.is_default?` [默认]`:``),9,Vt))),128))],512),[[d,j.productionWarehouseId,void 0,{number:!0}]]),l(`button`,{class:`btn btn-secondary`,onClick:G},`刷新`)])]),l(`div`,Ht,[l(`table`,Ut,[t[79]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`销售单`),l(`th`,null,`客户`),l(`th`,null,`订单金额`),l(`th`,null,`交付日期`),l(`th`,null,`订单创建`),l(`th`,null,`实际交付`),l(`th`,null,`实际收款`),l(`th`,null,`订单状态`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.productionOrders,e=>(r(),S(`tr`,{key:`production-order-`+e.id},[l(`td`,null,o(e.order_no),1),l(`td`,null,o(e.customer_name),1),l(`td`,null,o(m(T)(e.total_amount||0)),1),l(`td`,null,o(e.delivery_date?m(C)(e.delivery_date):`-`),1),l(`td`,null,o(e.created_at?m(w)(e.created_at):`-`),1),l(`td`,null,o(e.actual_delivery_date?m(w)(e.actual_delivery_date):`-`),1),l(`td`,null,o(e.actual_payment_date?m(w)(e.actual_payment_date):`-`),1),l(`td`,null,o(e.status===`manufacturing`?`制造中`:e.status===`delivered`?`已交付`:e.status===`paid`?`已收款`:e.status),1),l(`td`,null,[l(`div`,Wt,[l(`div`,Gt,[t[78]||=l(`button`,{class:`btn btn-sm btn-secondary dropdown-toggle`},`状态`,-1),l(`div`,Kt,[l(`button`,{class:`dropdown-item`,onClick:t=>ho(e,`delivered`)},`已交付`,8,qt),l(`button`,{class:`dropdown-item`,onClick:t=>ho(e,`paid`)},`已收款`,8,Jt)])]),l(`button`,{class:i([`btn btn-sm btn-secondary`,{"btn-disabled":e.status===`paid`}]),onClick:t=>Q(`salesOrder`,e),disabled:e.status===`paid`},`编辑`,10,Yt),l(`button`,{class:`btn btn-sm btn-danger`,onClick:t=>_o(e.id)},`删除`,8,Xt)])])]))),128))])])])])):j.activeTab===`finance`?(r(),S(`div`,Zt,[l(`div`,Qt,[l(`div`,$t,[l(`div`,null,[t[80]||=l(`label`,{class:`mr-8`},`年份`,-1),a(l(`input`,{"onUpdate:modelValue":t[9]||=e=>j.financePeriod.year=e,type:`number`,min:`2000`,max:`2100`,class:`form-input w-inline-120`},null,512),[[f,j.financePeriod.year,void 0,{number:!0}]])]),l(`div`,null,[t[82]||=l(`label`,{class:`mr-8`},`季度`,-1),a(l(`select`,{"onUpdate:modelValue":t[10]||=e=>j.financePeriod.quarter=e,class:`form-input w-inline-140`},[...t[81]||=[u(``,5)]],512),[[d,j.financePeriod.quarter]])]),l(`button`,{class:`btn btn-primary`,onClick:za},`刷新统计`),l(`span`,en,`统计周期:`+o(j.financeSummary?.period_label||`-`),1)])]),l(`div`,tn,[l(`div`,nn,[t[84]||=l(`div`,{class:`stat-icon`},`🧾`,-1),l(`div`,rn,[l(`div`,an,o(m(T)(j.financeSummary?.receivable_total||0)),1),t[83]||=l(`div`,{class:`stat-label`},`应收总额`,-1)])]),l(`div`,on,[t[86]||=l(`div`,{class:`stat-icon`},`💸`,-1),l(`div`,sn,[l(`div`,cn,o(m(T)(j.financeSummary?.payable_total||0)),1),t[85]||=l(`div`,{class:`stat-label`},`应付总额`,-1)])]),l(`div`,ln,[t[88]||=l(`div`,{class:`stat-icon`},`💵`,-1),l(`div`,un,[l(`div`,dn,o(m(T)(j.financeSummary?.period_receipt_total||0)),1),t[87]||=l(`div`,{class:`stat-label`},`周期收款`,-1)])]),l(`div`,fn,[t[90]||=l(`div`,{class:`stat-icon`},`🏦`,-1),l(`div`,pn,[l(`div`,mn,o(m(T)(j.financeSummary?.period_payment_total||0)),1),t[89]||=l(`div`,{class:`stat-label`},`周期付款`,-1)])])]),l(`div`,hn,[t[92]||=l(`h3`,{class:`mb-12`},`客户账款(周期)`,-1),l(`table`,gn,[t[91]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`客户`),l(`th`,null,`订单数`),l(`th`,null,`流水数`),l(`th`,null,`订单金额`),l(`th`,null,`订单已收`),l(`th`,null,`实收流水`),l(`th`,null,`应收余额`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.customerFinanceStatement,e=>(r(),S(`tr`,{key:`customer-`+e.partner_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(e.transaction_count),1),l(`td`,null,o(m(T)(e.order_total)),1),l(`td`,null,o(m(T)(e.settled_total)),1),l(`td`,null,o(m(T)(e.transaction_total)),1),l(`td`,null,o(m(T)(e.outstanding_total)),1)]))),128))])])]),l(`div`,_n,[t[94]||=l(`h3`,{class:`mb-12`},`供应商账款(周期)`,-1),l(`table`,vn,[t[93]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`供应商`),l(`th`,null,`订单数`),l(`th`,null,`流水数`),l(`th`,null,`订单金额`),l(`th`,null,`订单已付`),l(`th`,null,`实付流水`),l(`th`,null,`应付余额`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.supplierFinanceStatement,e=>(r(),S(`tr`,{key:`supplier-`+e.partner_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(e.transaction_count),1),l(`td`,null,o(m(T)(e.order_total)),1),l(`td`,null,o(m(T)(e.settled_total)),1),l(`td`,null,o(m(T)(e.transaction_total)),1),l(`td`,null,o(m(T)(e.outstanding_total)),1)]))),128))])])]),l(`div`,yn,[t[96]||=l(`h3`,{class:`mb-12`},`客户-商品追溯(周期)`,-1),l(`table`,bn,[t[95]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`客户`),l(`th`,null,`SKU`),l(`th`,null,`商品`),l(`th`,null,`订单数`),l(`th`,null,`数量`),l(`th`,null,`订单金额`),l(`th`,null,`已结款`),l(`th`,null,`未结款`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.customerProductStatement,e=>(r(),S(`tr`,{key:`customer-product-`+e.partner_id+`-`+e.product_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.product_sku||`-`),1),l(`td`,null,o(e.product_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(m(se)(e.order_quantity)),1),l(`td`,null,o(m(T)(e.order_amount)),1),l(`td`,null,o(m(T)(e.settled_amount)),1),l(`td`,null,o(m(T)(e.outstanding_amount)),1)]))),128))])])]),l(`div`,xn,[t[98]||=l(`h3`,{class:`mb-12`},`供应商-商品追溯(周期)`,-1),l(`table`,Sn,[t[97]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`供应商`),l(`th`,null,`SKU`),l(`th`,null,`商品`),l(`th`,null,`订单数`),l(`th`,null,`数量`),l(`th`,null,`订单金额`),l(`th`,null,`已结款`),l(`th`,null,`未结款`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.supplierProductStatement,e=>(r(),S(`tr`,{key:`supplier-product-`+e.partner_id+`-`+e.product_id},[l(`td`,null,o(e.partner_name),1),l(`td`,null,o(e.product_sku||`-`),1),l(`td`,null,o(e.product_name),1),l(`td`,null,o(e.order_count),1),l(`td`,null,o(m(se)(e.order_quantity)),1),l(`td`,null,o(m(T)(e.order_amount)),1),l(`td`,null,o(m(T)(e.settled_amount)),1),l(`td`,null,o(m(T)(e.outstanding_amount)),1)]))),128))])])]),l(`div`,Cn,[t[100]||=l(`h3`,{class:`mb-12`},`最近财务流水`,-1),l(`table`,wn,[t[99]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`单号`),l(`th`,null,`类型`),l(`th`,null,`往来方`),l(`th`,null,`金额`),l(`th`,null,`状态`),l(`th`,null,`日期`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.financeTransactions,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.txn_no),1),l(`td`,null,o(e.txn_type===`receipt`?`收款`:`付款`),1),l(`td`,null,o(e.partner_type===`customer`?`客户`:`供应商`)+`#`+o(e.partner_id),1),l(`td`,null,o(m(T)(e.amount)),1),l(`td`,null,o(e.status===`confirmed`?`已确认`:`已作废`),1),l(`td`,null,o(m(w)(e.txn_date)),1)]))),128))])])])])):j.activeTab===`movements`?(r(),S(`div`,Tn,[l(`table`,En,[t[101]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`物料`),l(`th`,null,`类型`),l(`th`,null,`数量`),l(`th`,null,`变动前`),l(`th`,null,`变动后`),l(`th`,null,`时间`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.movements,e=>(r(),S(`tr`,{key:e.id},[l(`td`,null,o(e.product_name)+o(e.product_sku?` (`+e.product_sku+`)`:``),1),l(`td`,null,[l(`span`,{class:i([`badge`,Fa(e.movement_type)])},o(Pa(e.movement_type)),3)]),l(`td`,null,o(e.quantity),1),l(`td`,null,o(e.before_quantity),1),l(`td`,null,o(e.after_quantity),1),l(`td`,null,o(m(w)(e.created_at)),1)]))),128))])])])):b(``,!0)]))])]),j.showModal?(r(),S(`div`,{key:0,class:`modal-overlay`,onClick:h($,[`self`])},[l(`div`,Dn,[l(`div`,On,[l(`h3`,null,o((j.editingItem?`编辑`:`新增`)+(j.modalType===`product`?j.form.item_type===`finished`?`成品`:`物料`:j.modalType===`inventoryItem`?`物料库存`:j.modalType===`salesOrder`?`销售订单`:j.modalType===`purchaseOrder`?`采购订单`:j.modalType===`purchaseReceive`?`采购到货入库`:j.modalType===`supplier`?`供应商`:`客户`)),1),l(`button`,{class:`modal-close`,onClick:$},`×`)]),l(`div`,kn,[j.modalType===`product`?(r(),S(`form`,{key:0,onSubmit:h(eo,[`prevent`])},[l(`div`,An,[t[102]||=l(`label`,{class:`form-label`},`类型 *`,-1),l(`input`,{class:`form-input`,value:j.form.item_type===`material`?`物料(纳入库存)`:`成品(按单生产,不做库存)`,disabled:``},null,8,jn),a(l(`input`,{"onUpdate:modelValue":t[11]||=e=>j.form.item_type=e,type:`hidden`},null,512),[[f,j.form.item_type]])]),l(`div`,Mn,[t[103]||=l(`label`,{class:`form-label`},`SKU *`,-1),a(l(`input`,{"onUpdate:modelValue":t[12]||=e=>j.form.sku=e,class:`form-input`,required:``,placeholder:`产品编码`},null,512),[[f,j.form.sku]])]),l(`div`,Nn,[t[104]||=l(`label`,{class:`form-label`},`名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[13]||=e=>j.form.name=e,class:`form-input`,required:``,placeholder:`产品名称`},null,512),[[f,j.form.name]])]),l(`div`,Pn,[t[105]||=l(`label`,{class:`form-label`},`分类`,-1),a(l(`input`,{"onUpdate:modelValue":t[14]||=e=>j.form.category=e,class:`form-input`,placeholder:`产品分类`},null,512),[[f,j.form.category]])]),l(`div`,Fn,[t[106]||=l(`label`,{class:`form-label`},`单位`,-1),a(l(`input`,{"onUpdate:modelValue":t[15]||=e=>j.form.unit=e,class:`form-input`,placeholder:`件/个/箱`},null,512),[[f,j.form.unit]])]),l(`div`,In,[t[107]||=l(`label`,{class:`form-label`},`成本价`,-1),a(l(`input`,{"onUpdate:modelValue":t[16]||=e=>j.form.cost_price=e,type:`number`,step:`0.01`,class:`form-input`,placeholder:`0.00`},null,512),[[f,j.form.cost_price,void 0,{number:!0}]])]),l(`div`,Ln,[t[108]||=l(`label`,{class:`form-label`},`销售价`,-1),a(l(`input`,{"onUpdate:modelValue":t[17]||=e=>j.form.sale_price=e,type:`number`,step:`0.01`,class:`form-input`,placeholder:`0.00`},null,512),[[f,j.form.sale_price,void 0,{number:!0}]])]),j.form.item_type===`material`?(r(),S(`div`,Rn,[t[109]||=l(`label`,{class:`form-label`},`最低库存`,-1),a(l(`input`,{"onUpdate:modelValue":t[18]||=e=>j.form.min_stock=e,type:`number`,class:`form-input`,placeholder:`0`},null,512),[[f,j.form.min_stock,void 0,{number:!0}]])])):b(``,!0),j.form.item_type===`finished`?(r(),S(`div`,zn,[...t[110]||=[l(`label`,{class:`form-label`},`说明`,-1),l(`input`,{disabled:``,value:`成品不做库存,成本由下方BOM定义物料构成后自动计算`,class:`form-input`},null,-1)]])):b(``,!0),j.form.item_type===`finished`&&j.editingItem?(r(),S(`div`,Bn,[l(`div`,Vn,[t[112]||=l(`label`,{class:`form-label`},`BOM物料配置`,-1),l(`button`,{type:`button`,class:`btn btn-secondary bom-add-btn`,onClick:no},`+ 添加物料`),l(`div`,Hn,[l(`table`,Un,[t[111]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`物料`),l(`th`,null,`数量`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.productBomItems,(e,t)=>(r(),S(`tr`,{key:`edit-bom-item-`+t},[l(`td`,null,[a(l(`select`,{"onUpdate:modelValue":t=>e.material_id=t,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`edit-bom-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,Gn))),128))],8,Wn),[[d,e.material_id,void 0,{number:!0}]])]),l(`td`,null,[a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`0.0001`,step:`0.0001`,class:`form-input`,required:``},null,8,Kn),[[f,e.quantity,void 0,{number:!0}]])]),l(`td`,null,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>ro(t)},`删除`,8,qn)])]))),128))])])])])])):b(``,!0),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[113]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存`,-1)])],32)):j.modalType===`salesOrder`?(r(),S(`form`,{key:1,onSubmit:h(mo,[`prevent`])},[l(`div`,Jn,[t[114]||=l(`label`,{class:`form-label`},`客户 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[19]||=e=>j.form.customer_id=e,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.customers,e=>(r(),S(`option`,{key:`order-customer-`+e.id,value:e.id},o(e.name),9,Yn))),128))],512),[[d,j.form.customer_id,void 0,{number:!0}]])]),l(`div`,Xn,[t[116]||=l(`label`,{class:`form-label`},`交付日期`,-1),l(`div`,{class:`datetime-field`,onClick:t[23]||=e=>L(`delivery`)},[a(l(`input`,{ref_key:`deliveryDateInput`,ref:D,"onUpdate:modelValue":t[20]||=e=>j.form.delivery_date=e,type:`text`,class:`form-input air-datetime-input`,readonly:``,placeholder:`选择日期时间`},null,512),[[f,j.form.delivery_date]]),a(l(`input`,{ref_key:`deliveryDateNativeInput`,ref:k,"onUpdate:modelValue":t[21]||=e=>j.form.delivery_date_native=e,onChange:t[22]||=e=>j.form.delivery_date=Ma(j.form.delivery_date_native),type:`datetime-local`,class:`datetime-native`},null,544),[[f,j.form.delivery_date_native]]),t[115]||=l(`span`,{class:`datetime-field-icon`,"aria-hidden":`true`},`📅`,-1)])]),l(`div`,Zn,[t[117]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t[24]||=e=>j.form.remark=e,class:`form-input`,placeholder:`订单备注`},null,512),[[f,j.form.remark]])]),l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:uo},`+ 添加模具`)]),j.form.items.length===0?(r(),S(`div`,Qn,[...t[118]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无模具`,-1),l(`div`,{class:`empty-desc`},`请点击"添加模具"按钮添加订单明细`,-1)]])):(r(),S(`div`,$n,[(r(!0),S(p,null,n(j.form.items,(e,s)=>(r(),S(`div`,{key:`sales-order-line-`+s,class:`sales-order-item`},[l(`div`,er,[l(`button`,{type:`button`,class:i([`btn`,e.mode===`new`?`active`:``]),onClick:t=>fo(e,`new`)},`新模`,10,tr),l(`button`,{type:`button`,class:i([`btn`,e.mode===`existing`?`active`:``]),onClick:t=>fo(e,`existing`)},`改模`,10,nr)]),l(`div`,rr,[e.mode===`existing`?(r(),S(`div`,lr,[l(`div`,ur,[t[122]||=l(`label`,{class:`form-label`},`选择模具 *`,-1),a(l(`select`,{"onUpdate:modelValue":t=>e.product_id=t,class:`form-input`,required:``},[t[121]||=l(`option`,{value:``},`请选择模具`,-1),(r(!0),S(p,null,n(j.finishedProducts,e=>(r(),S(`option`,{key:`sales-order-product-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,fr))),128))],8,dr),[[d,e.product_id,void 0,{number:!0}]])])])):(r(),S(`div`,ir,[l(`div`,ar,[t[119]||=l(`label`,{class:`form-label`},`模具SKU *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.product_sku=t,class:`form-input`,placeholder:`请输入模具SKU`,required:``},null,8,or),[[f,e.product_sku]])]),l(`div`,sr,[t[120]||=l(`label`,{class:`form-label`},`模具名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.product_name=t,class:`form-input`,placeholder:`请输入模具名称`,required:``},null,8,cr),[[f,e.product_name]])])])),l(`div`,pr,[l(`div`,mr,[l(`div`,hr,[t[123]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`1`,class:`form-input`,placeholder:`请输入数量`,required:``},null,8,gr),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,_r,[l(`div`,vr,[t[124]||=l(`label`,{class:`form-label`},`单价 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.unit_price=t,type:`number`,min:`0`,step:`0.01`,class:`form-input`,placeholder:`请输入单价`,required:``},null,8,yr),[[f,e.unit_price,void 0,{number:!0}]])])]),l(`div`,br,[l(`div`,xr,[t[125]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,Sr),[[f,e.remark]])])]),l(`div`,Cr,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>po(Number(s))},`删除`,8,wr)])])])]))),128))])),l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:Ka},`+ 消耗物料`)]),l(`div`,Tr,[t[131]||=l(`label`,{class:`form-label`},`已消耗物料`,-1),j.editingItem&&j.editingItem.actual_material_cost>0?(r(),S(`div`,Er,[t[129]||=u(`
物料名称
数量
单价
金额
`,1),(r(!0),S(p,null,n(j.consumedMaterials,(e,t)=>(r(),S(`div`,{key:`consumed-material-`+t,class:`material-consumption-row`},[l(`div`,Dr,o(e.material_name),1),l(`div`,Or,o(e.quantity),1),l(`div`,kr,o(m(T)(e.unit_price)),1),l(`div`,Ar,o(m(T)(e.amount)),1)]))),128)),l(`div`,jr,[t[126]||=l(`div`,{class:`material-consumption-item`},`合计`,-1),t[127]||=l(`div`,{class:`material-consumption-item`},null,-1),t[128]||=l(`div`,{class:`material-consumption-item`},null,-1),l(`div`,Mr,o(m(T)(j.editingItem.actual_material_cost)),1)])])):(r(),S(`div`,Nr,[...t[130]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无物料消耗记录`,-1),l(`div`,{class:`empty-desc`},`点击"消耗物料"按钮添加物料消耗明细`,-1)]]))]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[132]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存订单`,-1)])],32)):j.modalType===`purchaseOrder`?(r(),S(`form`,{key:2,onSubmit:h(bo,[`prevent`])},[l(`div`,Pr,[t[133]||=l(`label`,{class:`form-label`},`供应商 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[25]||=e=>j.form.supplier_id=e,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.suppliers,e=>(r(),S(`option`,{key:`purchase-supplier-`+e.id,value:e.id},o(e.name),9,Fr))),128))],512),[[d,j.form.supplier_id,void 0,{number:!0}]])]),l(`div`,Ir,[t[135]||=l(`label`,{class:`form-label`},`预计到货`,-1),l(`div`,{class:`datetime-field`,onClick:t[29]||=e=>L(`expected`)},[a(l(`input`,{ref_key:`expectedDateInput`,ref:O,"onUpdate:modelValue":t[26]||=e=>j.form.expected_date=e,type:`text`,class:`form-input air-datetime-input`,readonly:``,placeholder:`选择日期时间`},null,512),[[f,j.form.expected_date]]),a(l(`input`,{ref_key:`expectedDateNativeInput`,ref:A,"onUpdate:modelValue":t[27]||=e=>j.form.expected_date_native=e,onChange:t[28]||=e=>j.form.expected_date=Ma(j.form.expected_date_native),type:`datetime-local`,class:`datetime-native`},null,544),[[f,j.form.expected_date_native]]),t[134]||=l(`span`,{class:`datetime-field-icon`,"aria-hidden":`true`},`📅`,-1)])]),l(`div`,Lr,[t[136]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t[30]||=e=>j.form.remark=e,class:`form-input`,placeholder:`采购单备注`},null,512),[[f,j.form.remark]])]),l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:vo},`+ 添加物料`)]),j.form.items.length===0?(r(),S(`div`,Rr,[...t[137]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无物料`,-1),l(`div`,{class:`empty-desc`},`请点击"添加物料"按钮添加采购明细`,-1)]])):(r(),S(`div`,zr,[(r(!0),S(p,null,n(j.form.items,(e,i)=>(r(),S(`div`,{key:`purchase-order-line-`+i,class:`purchase-order-item`},[l(`div`,Br,[l(`div`,Vr,[t[139]||=l(`label`,{class:`form-label`},`物料 *`,-1),a(l(`select`,{"onUpdate:modelValue":t=>e.product_id=t,class:`form-input`,required:``},[t[138]||=l(`option`,{value:``},`请选择物料`,-1),(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`purchase-order-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,Ur))),128))],8,Hr),[[d,e.product_id,void 0,{number:!0}]])]),l(`div`,Wr,[l(`div`,Gr,[l(`div`,Kr,[t[140]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`1`,class:`form-input`,placeholder:`请输入数量`,required:``},null,8,qr),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,Jr,[l(`div`,Yr,[t[141]||=l(`label`,{class:`form-label`},`单价`,-1),l(`div`,Xr,` ¥`+o((j.materials.find(t=>t.id===e.product_id)?.cost_price||0).toFixed(2)),1)])]),l(`div`,Zr,[l(`div`,Qr,[t[142]||=l(`label`,{class:`form-label`},`总价`,-1),l(`div`,$r,` ¥`+o(((j.materials.find(t=>t.id===e.product_id)?.cost_price||0)*(e.quantity||0)).toFixed(2)),1)])]),l(`div`,ei,[l(`div`,ti,[t[143]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,ni),[[f,e.remark]])])]),l(`div`,ri,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>yo(Number(i))},`删除`,8,ii)])])])]))),128))])),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[144]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存采购单`,-1)])],32)):j.modalType===`purchaseReceive`?(r(),S(`form`,{key:3,onSubmit:h(So,[`prevent`])},[l(`div`,ai,[t[145]||=l(`label`,{class:`form-label`},`入库仓库 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[31]||=e=>j.form.warehouse_id=e,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`purchase-receive-warehouse-`+e.id,value:e.id},o(e.name)+o(e.is_default?` [默认]`:``),9,oi))),128))],512),[[d,j.form.warehouse_id,void 0,{number:!0}]])]),l(`div`,si,[t[146]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t[32]||=e=>j.form.remark=e,class:`form-input`,placeholder:`到货说明`},null,512),[[f,j.form.remark]])]),l(`div`,ci,[l(`table`,li,[t[147]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`物料`),l(`th`,null,`明细ID`),l(`th`,null,`剩余待入库`),l(`th`,null,`本次入库`)])],-1),l(`tbody`,null,[(r(!0),S(p,null,n(j.purchaseReceiveItems,e=>(r(),S(`tr`,{key:`purchase-receive-line-`+e.item_id},[l(`td`,null,o(e.material_label),1),l(`td`,null,o(e.item_id),1),l(`td`,null,o(e.remaining_quantity),1),l(`td`,null,[a(l(`input`,{"onUpdate:modelValue":t=>e.receive_quantity=t,type:`number`,min:`0`,max:e.remaining_quantity,class:`form-input`,required:``},null,8,ui),[[f,e.receive_quantity,void 0,{number:!0}]])])]))),128))])])]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[148]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`确认入库`,-1)])],32)):j.modalType===`supplier`?(r(),S(`form`,{key:4,onSubmit:h(io,[`prevent`])},[l(`div`,di,[t[149]||=l(`label`,{class:`form-label`},`名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[33]||=e=>j.form.name=e,class:`form-input`,required:``,placeholder:`供应商名称`},null,512),[[f,j.form.name]])]),l(`div`,fi,[t[150]||=l(`label`,{class:`form-label`},`联系人`,-1),a(l(`input`,{"onUpdate:modelValue":t[34]||=e=>j.form.contact_person=e,class:`form-input`,placeholder:`联系人姓名`},null,512),[[f,j.form.contact_person]])]),l(`div`,pi,[t[151]||=l(`label`,{class:`form-label`},`电话`,-1),a(l(`input`,{"onUpdate:modelValue":t[35]||=e=>j.form.phone=e,class:`form-input`,placeholder:`联系电话`},null,512),[[f,j.form.phone]])]),l(`div`,mi,[t[152]||=l(`label`,{class:`form-label`},`邮箱`,-1),a(l(`input`,{"onUpdate:modelValue":t[36]||=e=>j.form.email=e,type:`email`,class:`form-input`,placeholder:`email@example.com`},null,512),[[f,j.form.email]])]),l(`div`,hi,[t[153]||=l(`label`,{class:`form-label`},`地址`,-1),a(l(`input`,{"onUpdate:modelValue":t[37]||=e=>j.form.address=e,class:`form-input`,placeholder:`详细地址`},null,512),[[f,j.form.address]])]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[154]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存`,-1)])],32)):j.modalType===`customer`?(r(),S(`form`,{key:5,onSubmit:h(oo,[`prevent`])},[l(`div`,gi,[t[155]||=l(`label`,{class:`form-label`},`名称 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[38]||=e=>j.form.name=e,class:`form-input`,required:``,placeholder:`客户名称`},null,512),[[f,j.form.name]])]),l(`div`,_i,[t[156]||=l(`label`,{class:`form-label`},`联系人`,-1),a(l(`input`,{"onUpdate:modelValue":t[39]||=e=>j.form.contact_person=e,class:`form-input`,placeholder:`联系人姓名`},null,512),[[f,j.form.contact_person]])]),l(`div`,vi,[t[157]||=l(`label`,{class:`form-label`},`电话`,-1),a(l(`input`,{"onUpdate:modelValue":t[40]||=e=>j.form.phone=e,class:`form-input`,placeholder:`联系电话`},null,512),[[f,j.form.phone]])]),l(`div`,yi,[t[158]||=l(`label`,{class:`form-label`},`邮箱`,-1),a(l(`input`,{"onUpdate:modelValue":t[41]||=e=>j.form.email=e,type:`email`,class:`form-input`,placeholder:`email@example.com`},null,512),[[f,j.form.email]])]),l(`div`,bi,[t[159]||=l(`label`,{class:`form-label`},`地址`,-1),a(l(`input`,{"onUpdate:modelValue":t[42]||=e=>j.form.address=e,class:`form-input`,placeholder:`详细地址`},null,512),[[f,j.form.address]])]),l(`div`,{class:`modal-footer`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),t[160]||=l(`button`,{type:`submit`,class:`btn btn-primary`},`保存`,-1)])],32)):j.modalType===`inventoryItem`?(r(),S(`form`,{key:6,onSubmit:h(co,[`prevent`])},[l(`div`,xi,[t[161]||=l(`label`,{class:`form-label`},`物料 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[43]||=e=>j.form.product_id=e,class:`form-input`,required:``},[j.materials.length?b(``,!0):(r(),S(`option`,Si,`暂无物料,请先新增物料`)),(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`stockin-product-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name)+`(ID: `+o(e.id)+`) `,9,Ci))),128))],512),[[d,j.form.product_id,void 0,{number:!0}]])]),l(`div`,wi,[t[162]||=l(`label`,{class:`form-label`},`仓库 *`,-1),a(l(`select`,{"onUpdate:modelValue":t[44]||=e=>j.form.warehouse_id=e,class:`form-input`,required:``},[j.warehouses.length?b(``,!0):(r(),S(`option`,Ti,`暂无仓库,系统将自动创建默认仓库`)),(r(!0),S(p,null,n(j.warehouses,e=>(r(),S(`option`,{key:`stockin-warehouse-`+e.id,value:e.id},o(e.name)+o(e.code?` (`+e.code+`)`:``)+o(e.is_default?` [默认]`:``)+`(ID: `+o(e.id)+`) `,9,Ei))),128))],512),[[d,j.form.warehouse_id,void 0,{number:!0}]])]),l(`div`,Di,[t[163]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t[45]||=e=>j.form.quantity=e,type:`number`,class:`form-input`,required:``,placeholder:`库存数量`},null,512),[[f,j.form.quantity,void 0,{number:!0}]])]),l(`div`,Oi,[t[164]||=l(`label`,{class:`form-label`},`锁定数量`,-1),a(l(`input`,{"onUpdate:modelValue":t[46]||=e=>j.form.locked_quantity=e,type:`number`,class:`form-input`,placeholder:`锁定库存`},null,512),[[f,j.form.locked_quantity,void 0,{number:!0}]])]),l(`div`,ki,[t[165]||=l(`label`,{class:`form-label`},`批次号`,-1),a(l(`input`,{"onUpdate:modelValue":t[47]||=e=>j.form.batch_number=e,class:`form-input`,placeholder:`批次号(可选)`},null,512),[[f,j.form.batch_number]])]),l(`div`,Ai,[t[166]||=l(`label`,{class:`form-label`},`库位`,-1),a(l(`input`,{"onUpdate:modelValue":t[48]||=e=>j.form.location=e,class:`form-input`,placeholder:`库位(可选)`},null,512),[[f,j.form.location]])]),l(`div`,ji,[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:$},`取消`),l(`button`,{type:`submit`,class:`btn btn-primary`,disabled:!j.form.product_id||!j.form.warehouse_id},`保存`,8,Mi)])],32)):b(``,!0)])])])):b(``,!0),j.showMaterialConsumptionModal?(r(),S(`div`,{key:1,class:`modal-overlay`,onClick:t[51]||=h(e=>j.showMaterialConsumptionModal=!1,[`self`])},[l(`div`,Ni,[l(`div`,Pi,[t[167]||=l(`h3`,null,`添加物料消耗`,-1),l(`button`,{class:`modal-close`,onClick:t[49]||=e=>j.showMaterialConsumptionModal=!1},`×`)]),l(`div`,Fi,[l(`div`,{class:`form-group form-group-spaced`},[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:qa},`+ 添加物料`)]),j.materialConsumptionItems.length===0?(r(),S(`div`,Ii,[...t[168]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-title`},`暂无物料`,-1),l(`div`,{class:`empty-desc`},`请点击"添加物料"按钮添加物料消耗明细`,-1)]])):(r(),S(`div`,Li,[(r(!0),S(p,null,n(j.materialConsumptionItems,(e,i)=>(r(),S(`div`,{key:`material-consumption-line-`+i,class:`purchase-order-item`},[l(`div`,Ri,[l(`div`,zi,[t[170]||=l(`label`,{class:`form-label`},`物料 *`,-1),a(l(`select`,{"onUpdate:modelValue":t=>e.material_id=t,class:`form-input`,required:``},[t[169]||=l(`option`,{value:``},`请选择物料`,-1),(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`consumption-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,Vi))),128))],8,Bi),[[d,e.material_id,void 0,{number:!0}]])]),l(`div`,Hi,[l(`div`,Ui,[l(`div`,Wi,[t[171]||=l(`label`,{class:`form-label`},`数量 *`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,min:`1`,class:`form-input`,placeholder:`请输入数量`,required:``},null,8,Gi),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,Ki,[l(`div`,qi,[t[172]||=l(`label`,{class:`form-label`},`单价`,-1),l(`div`,Ji,` ¥`+o((j.materials.find(t=>t.id===e.material_id)?.cost_price||0).toFixed(2)),1)])]),l(`div`,Yi,[l(`div`,Xi,[t[173]||=l(`label`,{class:`form-label`},`总价`,-1),l(`div`,Zi,` ¥`+o(((j.materials.find(t=>t.id===e.material_id)?.cost_price||0)*(e.quantity||0)).toFixed(2)),1)])]),l(`div`,Qi,[l(`div`,$i,[t[174]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,ea),[[f,e.remark]])])]),l(`div`,ta,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>Ja(i)},`删除`,8,na)])])])]))),128))])),l(`div`,ra,[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:t[50]||=e=>j.showMaterialConsumptionModal=!1},`取消`),l(`button`,{type:`button`,class:`btn btn-primary`,onClick:Ya},`保存物料消耗`)])])])])):b(``,!0),j.showRestockModal?(r(),S(`div`,{key:2,class:`modal-overlay`,onClick:t[54]||=h(e=>j.showRestockModal=!1,[`self`])},[l(`div`,ia,[l(`div`,aa,[t[175]||=l(`h3`,null,`物料补货`,-1),l(`button`,{class:`modal-close`,onClick:t[52]||=e=>j.showRestockModal=!1},`×`)]),l(`div`,oa,[l(`div`,sa,[l(`div`,{class:`section-header`},[t[176]||=l(`h4`,null,`补货物料明细`,-1),l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:Za},`+ 添加物料`)]),j.restockItems.length===0?(r(),S(`div`,ca,[...t[177]||=[l(`div`,{class:`empty-icon`},`📦`,-1),l(`div`,{class:`empty-desc`},`请点击"添加物料"按钮添加补货物料明细`,-1)]])):(r(),S(`div`,la,[(r(!0),S(p,null,n(j.restockItems,(e,i)=>(r(),S(`div`,{key:`restock-line-`+i,class:`purchase-order-item`},[l(`div`,ua,[l(`div`,da,[l(`div`,fa,[t[178]||=l(`label`,{class:`form-label`},[x(`物料 `),l(`span`,{class:`required`},`*`)],-1),a(l(`select`,{"onUpdate:modelValue":t=>e.material_id=t,class:`form-input`,required:``},[(r(!0),S(p,null,n(j.materials,e=>(r(),S(`option`,{key:`restock-material-`+e.id,value:e.id},o(e.sku)+` - `+o(e.name),9,ma))),128))],8,pa),[[d,e.material_id,void 0,{number:!0}]])])]),l(`div`,ha,[l(`div`,ga,[t[179]||=l(`label`,{class:`form-label`},[x(`数量 `),l(`span`,{class:`required`},`*`)],-1),a(l(`input`,{"onUpdate:modelValue":t=>e.quantity=t,type:`number`,class:`form-input`,min:`1`,step:`1`,required:``},null,8,_a),[[f,e.quantity,void 0,{number:!0}]])])]),l(`div`,va,[l(`div`,ya,[t[180]||=l(`label`,{class:`form-label`},`单价`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.unit_price=t,type:`number`,class:`form-input`,min:`0`,step:`0.01`},null,8,ba),[[f,e.unit_price,void 0,{number:!0}]])])]),l(`div`,xa,[l(`div`,Sa,[t[181]||=l(`label`,{class:`form-label`},`总价`,-1),l(`div`,Ca,` ¥`+o(((e.unit_price||0)*(e.quantity||0)).toFixed(2)),1)])]),l(`div`,wa,[l(`div`,Ta,[t[182]||=l(`label`,{class:`form-label`},`备注`,-1),a(l(`input`,{"onUpdate:modelValue":t=>e.remark=t,class:`form-input`,placeholder:`请输入备注`},null,8,Ea),[[f,e.remark]])])]),l(`div`,Da,[l(`button`,{type:`button`,class:`btn btn-sm btn-danger`,onClick:e=>Qa(i)},`删除`,8,Oa)])])]))),128))]))])]),l(`div`,ka,[l(`button`,{type:`button`,class:`btn btn-secondary`,onClick:t[53]||=e=>j.showRestockModal=!1},`取消`),l(`button`,{type:`button`,class:`btn btn-primary`,onClick:$a},`创建采购订单`)])])])):b(``,!0)]))}}),[[`__scopeId`,`data-v-15993ef5`]]);export{E as default}; \ No newline at end of file diff --git a/static/assets/LoginView-Bwqcd8du.css b/static/assets/LoginView--ukxbAHo.css similarity index 57% rename from static/assets/LoginView-Bwqcd8du.css rename to static/assets/LoginView--ukxbAHo.css index 52d6baf..de2b658 100644 --- a/static/assets/LoginView-Bwqcd8du.css +++ b/static/assets/LoginView--ukxbAHo.css @@ -1 +1 @@ -.login-container[data-v-792eed9c]{background:var(--bg-secondary);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card[data-v-792eed9c]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-8)}.login-header[data-v-792eed9c]{text-align:center;margin-bottom:var(--space-8)}.login-logo[data-v-792eed9c]{background:var(--primary-500);border-radius:var(--radius-lg);color:#fff;width:48px;height:48px;font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 auto var(--space-4);justify-content:center;align-items:center;display:flex}.login-title[data-v-792eed9c]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.login-subtitle[data-v-792eed9c]{font-size:var(--text-sm);color:var(--text-tertiary)} +.login-container[data-v-01da5b35]{background:var(--bg-secondary);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card[data-v-01da5b35]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-8)}.login-header[data-v-01da5b35]{text-align:center;margin-bottom:var(--space-8)}.login-logo[data-v-01da5b35]{background:var(--primary-500);border-radius:var(--radius-lg);color:#fff;width:48px;height:48px;font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 auto var(--space-4);justify-content:center;align-items:center;display:flex}.login-title[data-v-01da5b35]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.login-subtitle[data-v-01da5b35]{font-size:var(--text-sm);color:var(--text-tertiary)} diff --git a/static/assets/LoginView-Ce2r7tTo.js b/static/assets/LoginView-Ce2r7tTo.js new file mode 100644 index 0000000..c84ad81 --- /dev/null +++ b/static/assets/LoginView-Ce2r7tTo.js @@ -0,0 +1 @@ +import{E as e,O as t,P as n,S as r,_ as i,a,f as o,k as s,l as c,m as l,n as u,o as d,t as f,v as p,y as m}from"./index-B1sOGpZZ.js";var h={class:`login-container`},g={class:`login-card`},_={class:`form-group`},v={class:`form-group`},y={key:0,class:`form-error`},b=[`disabled`],x=f(r({__name:`LoginView`,setup(r){let f=c(),x=s({username:``,password:``,error:``,loading:!1}),S=async()=>{x.error=``,x.loading=!0;try{let e=await d(`/api/auth/login/json`,{method:`POST`,body:JSON.stringify({username:x.username,password:x.password})});a(e.access_token,e.user),u(`登录成功`,`success`),f.push(`/`)}catch(e){x.error=e.message||`登录失败`}finally{x.loading=!1}};return(r,a)=>(e(),m(`div`,h,[i(`div`,g,[a[4]||=i(`div`,{class:`login-header`},[i(`div`,{class:`login-logo`},`G`),i(`h1`,{class:`login-title`},`Gemold`),i(`p`,{class:`login-subtitle`},`模具制造管理系统`)],-1),i(`form`,{onSubmit:l(S,[`prevent`])},[i(`div`,_,[a[2]||=i(`label`,{class:`form-label`},`用户名`,-1),t(i(`input`,{"onUpdate:modelValue":a[0]||=e=>x.username=e,type:`text`,class:`form-input`,placeholder:`请输入用户名`,required:``},null,512),[[o,x.username]])]),i(`div`,v,[a[3]||=i(`label`,{class:`form-label`},`密码`,-1),t(i(`input`,{"onUpdate:modelValue":a[1]||=e=>x.password=e,type:`password`,class:`form-input`,placeholder:`请输入密码`,required:``},null,512),[[o,x.password]])]),x.error?(e(),m(`div`,y,n(x.error),1)):p(``,!0),i(`button`,{type:`submit`,class:`btn btn-primary w-full mt-4`,disabled:x.loading},n(x.loading?`登录中...`:`登录`),9,b)],32)])]))}}),[[`__scopeId`,`data-v-01da5b35`]]);export{x as default}; \ No newline at end of file diff --git a/static/assets/LoginView-DpK1KsR0.js b/static/assets/LoginView-DpK1KsR0.js deleted file mode 100644 index bff4fb0..0000000 --- a/static/assets/LoginView-DpK1KsR0.js +++ /dev/null @@ -1 +0,0 @@ -import{E as e,O as t,P as n,S as r,_ as i,a,f as o,k as s,l as c,m as l,n as u,o as d,t as f,v as p,y as m}from"./index-B-OcU2wj.js";var h={class:`login-container`},g={class:`login-card`},_={class:`form-group`},v={class:`form-group`},y={key:0,class:`form-error`},b=[`disabled`],x=f(r({__name:`LoginView`,setup(r){let f=c(),x=s({username:``,password:``,error:``,loading:!1}),S=async()=>{x.error=``,x.loading=!0;try{let e=await d(`/api/auth/login`,{method:`POST`,body:JSON.stringify({username:x.username,password:x.password})});a(e.access_token,e.user),u(`登录成功`,`success`),f.push(`/`)}catch(e){x.error=e.message||`登录失败`}finally{x.loading=!1}};return(r,a)=>(e(),m(`div`,h,[i(`div`,g,[a[4]||=i(`div`,{class:`login-header`},[i(`div`,{class:`login-logo`},`G`),i(`h1`,{class:`login-title`},`Gemold`),i(`p`,{class:`login-subtitle`},`模具制造管理系统`)],-1),i(`form`,{onSubmit:l(S,[`prevent`])},[i(`div`,_,[a[2]||=i(`label`,{class:`form-label`},`用户名`,-1),t(i(`input`,{"onUpdate:modelValue":a[0]||=e=>x.username=e,type:`text`,class:`form-input`,placeholder:`请输入用户名`,required:``},null,512),[[o,x.username]])]),i(`div`,v,[a[3]||=i(`label`,{class:`form-label`},`密码`,-1),t(i(`input`,{"onUpdate:modelValue":a[1]||=e=>x.password=e,type:`password`,class:`form-input`,placeholder:`请输入密码`,required:``},null,512),[[o,x.password]])]),x.error?(e(),m(`div`,y,n(x.error),1)):p(``,!0),i(`button`,{type:`submit`,class:`btn btn-primary w-full mt-4`,disabled:x.loading},n(x.loading?`登录中...`:`登录`),9,b)],32)])]))}}),[[`__scopeId`,`data-v-792eed9c`]]);export{x as default}; \ No newline at end of file diff --git a/static/assets/MoldInsightView-BG0m6f4M.js b/static/assets/MoldInsightView-O2BZ6fre.js similarity index 99% rename from static/assets/MoldInsightView-BG0m6f4M.js rename to static/assets/MoldInsightView-O2BZ6fre.js index 00b2897..31acbcf 100644 --- a/static/assets/MoldInsightView-BG0m6f4M.js +++ b/static/assets/MoldInsightView-O2BZ6fre.js @@ -1 +1 @@ -import{A as e,D as t,E as n,M as r,N as ee,O as i,P as a,S as o,_ as s,b as c,d as te,f as ne,h as l,i as re,j as u,k as ie,l as ae,m as d,n as f,o as p,r as m,s as oe,v as h,w as se,y as g}from"./index-B-OcU2wj.js";import{a as _,i as v,r as y}from"./utils-COFIQvWo.js";var b={class:`page-container`},x={class:`upload-layout`},S={class:`upload-main-card`},C={key:0,class:`file-info`},w={class:`file-name`},T={class:`file-size`},E={key:1,class:`error-message`},D={key:2,class:`progress-bar`},O={class:`upload-side-card`},k={class:`material-panel compact-panel`},A={class:`form-group`},j={class:`advanced-params`},M={class:`advanced-params-body`},N={class:`advanced-param-grid`},P={class:`form-label`},F={class:`param-input-row`},I=[`onUpdate:modelValue`,`min`,`max`,`step`],L={class:`param-unit`},R={class:`param-meta-row`},z={class:`range-value`},B={class:`range-value`},V={class:`param-hint`},H=[`disabled`],U={key:1,class:`inline-note`},ce={key:0,class:`history-collapsible section`},W={class:`history-summary`},G={class:`table-container`},le={class:`data-table`},ue={class:`badge badge-info`},de={class:`action-buttons`},fe=[`onClick`],pe=[`onClick`,`title`],me={key:0,class:`history-detail-row`},he={colspan:`6`},ge={class:`history-dropdown`},_e={class:`data-table inner-table`},ve=[`onClick`],K=o({__name:`MoldInsightView`,setup(o){let K=ae(),q=oe(),J=e(null),Y=ie({selectedFile:null,selectedMaterial:`ABS`,moldParams:{draftAngle:2,shrinkageRate:.5,partingPrecision:.1,cavityMatch:95},uploading:!1,error:``,currentTask:null,task:null,polling:!1,dragOver:!1,progress:0,history:null,expandedFiles:{}}),X=async()=>{try{Y.history=await p(`/api/history`)}catch(e){console.error(`加载历史记录失败:`,e)}},Z=async e=>{if(Y.expandedFiles[e])Y.expandedFiles[e]=null;else try{let t=await p(`/api/history/${encodeURIComponent(e)}`);Y.expandedFiles[e]=t}catch(e){m(e,`加载文件历史`)}},Q=e=>{K.push(`/moldinsight/result/${e.task_id}`)},ye=e=>{let t=e.target.files?.[0];t&&$(t)},$=e=>{let t=e.name.toLowerCase();if(!t.endsWith(`.stp`)&&!t.endsWith(`.step`)){Y.error=`请选择 STP 或 STEP 格式文件`,Y.selectedFile=null;return}if(e.size>100*1024*1024){Y.error=`文件大小不能超过 100MB`,Y.selectedFile=null;return}Y.error=``,Y.selectedFile=e,f(`已选择文件: ${e.name}`,`success`)},be=e=>{e.preventDefault(),Y.dragOver=!1;let t=e.dataTransfer?.files;t&&t.length>0&&$(t[0])},xe=async()=>{if(!Y.selectedFile)return;if(!q.token){Y.error=`请先登录后再上传文件`,f(`请先登录`,`warning`),K.push(`/login`);return}if(q.token===`demo`){Y.error=`演示模式不支持文件上传,请使用完整账户登录`,f(`演示模式不支持上传`,`warning`);return}Y.uploading=!0,Y.error=``,Y.progress=0;let e=new FormData;e.append(`file`,Y.selectedFile),e.append(`material`,Y.selectedMaterial),e.append(`draft_angle`,String(Y.moldParams.draftAngle)),e.append(`shrinkage_rate`,String(Y.moldParams.shrinkageRate)),e.append(`parting_precision`,String(Y.moldParams.partingPrecision)),e.append(`cavity_match`,String(Y.moldParams.cavityMatch));try{let t=await fetch(`/api/upload`,{method:`POST`,headers:{Authorization:`Bearer ${q.token}`},body:e});if(t.status===401){re(),Y.error=`登录已过期,请重新登录`,f(`登录已过期,请重新登录`,`warning`),K.push(`/login`);return}if(!t.ok)throw Error(`上传失败: ${t.status}`);let n=await t.json();Y.currentTask={task_id:n.task_id,status:`processing`,filename:n.file_info?.filename},f(`文件上传成功,开始分析...`,`success`),Se(n.task_id)}catch(e){Y.error=m(e,`文件上传`)}finally{Y.uploading=!1}},Se=async e=>{console.log(`[Polling] 开始轮询任务:`,e),Y.polling=!0,Y.progress=10;let t=0,n=async()=>{try{t++,Y.progress=Math.min(90,10+t*.5);let r=await p(`/api/status/${e}`,{method:`POST`});if(Y.currentTask=r,Y.task=r,r.status===`completed`){Y.polling=!1,Y.progress=100,f(`分析完成`,`success`),X(),K.push(`/moldinsight/result/${e}`);return}if(r.status===`failed`){Y.polling=!1,Y.error=r.error||`分析失败`,f(`分析失败`,`error`);return}t<300&&setTimeout(n,2e3)}catch(e){Y.polling=!1,Y.error=m(e,`轮询状态`)}};n()},Ce=[{key:`draftAngle`,label:`拔模角`,unit:`°`,min:1,max:10,step:.5,defaultValue:2,hint:`常规注塑件建议从 1.5° 到 3° 起步`},{key:`shrinkageRate`,label:`收缩率`,unit:`%`,min:.5,max:3,step:.1,defaultValue:.5,hint:`按材料牌号校核,默认值用于首轮方案评估`},{key:`partingPrecision`,label:`分型精度`,unit:`mm`,min:.01,max:1,step:.01,defaultValue:.1,hint:`用于控制分型面拟合与边界容差`},{key:`cavityMatch`,label:`型腔匹配度`,unit:`%`,min:80,max:100,step:1,defaultValue:95,hint:`数值越高越偏向紧配合与严格封合`}];return se(()=>{if(!q.user){K.push(`/login`);return}X()}),(e,o)=>(n(),g(`div`,b,[o[15]||=c(`
输入
STEP/STP 产品件,面向注塑模主流程
输出
分模方案、DFM 风险、注塑模系统摘要与 CAD 导出
目标
先确认推荐方案,再进入导出与 CAM 准备
`,2),s(`div`,x,[s(`div`,S,[o[7]||=s(`h2`,{class:`section-title`},`1. 上传产品件`,-1),s(`div`,{class:r([`upload-zone`,{"drag-over":Y.dragOver}]),onDragover:o[0]||=d(e=>Y.dragOver=!0,[`prevent`]),onDragleave:o[1]||=d(e=>Y.dragOver=!1,[`prevent`]),onDrop:be,onClick:o[2]||=e=>J.value?.click()},[s(`input`,{ref_key:`fileInput`,ref:J,type:`file`,accept:`.stp,.step`,onChange:ye,hidden:``},null,544),o[5]||=s(`div`,{class:`upload-icon`},`📁`,-1),o[6]||=s(`div`,{class:`upload-text`},[s(`span`,{class:`upload-title`},`点击选择或拖拽 STP/STEP 文件`),s(`span`,{class:`upload-hint`},`支持注塑模产品件分析,最大 100MB`)],-1)],34),Y.selectedFile?(n(),g(`div`,C,[s(`span`,w,a(Y.selectedFile.name),1),s(`span`,T,a(u(v)(Y.selectedFile.size)),1),s(`button`,{class:`btn-clear`,onClick:o[3]||=e=>Y.selectedFile=null,title:`清除文件`},`×`)])):h(``,!0),Y.error?(n(),g(`div`,E,a(Y.error),1)):h(``,!0),Y.polling?(n(),g(`div`,D,[s(`div`,{class:`progress-fill`,style:ee({width:Y.progress+`%`})},null,4)])):h(``,!0)]),s(`div`,O,[o[12]||=s(`h2`,{class:`section-title`},`2. 注塑模参数`,-1),s(`div`,k,[s(`div`,A,[o[9]||=s(`label`,{class:`form-label`},`产品材料`,-1),i(s(`select`,{"onUpdate:modelValue":o[4]||=e=>Y.selectedMaterial=e,class:`form-select`},[...o[8]||=[c(``,8)]],512),[[te,Y.selectedMaterial]])]),s(`details`,j,[o[11]||=s(`summary`,null,`高级工艺参数`,-1),s(`div`,M,[o[10]||=s(`div`,{class:`inline-note`},`默认值适用于多数注塑件;仅在已知工艺约束时再调整。`,-1),s(`div`,N,[(n(),g(l,null,t(Ce,e=>s(`div`,{class:`param-input-card`,key:e.key},[s(`label`,P,a(e.label),1),s(`div`,F,[i(s(`input`,{type:`number`,class:`form-input param-number-input`,"onUpdate:modelValue":t=>Y.moldParams[e.key]=t,min:e.min,max:e.max,step:e.step},null,8,I),[[ne,Y.moldParams[e.key],void 0,{number:!0}]]),s(`span`,L,a(e.unit),1)]),s(`div`,R,[s(`span`,z,`默认 `+a(e.defaultValue)+a(e.unit),1),s(`span`,B,`范围 `+a(e.min)+` - `+a(e.max)+a(e.unit),1)]),s(`div`,V,a(e.hint),1)])),64))])])])]),Y.selectedFile?(n(),g(`button`,{key:0,class:`btn-primary upload-submit-btn`,onClick:xe,disabled:Y.uploading||Y.polling},a(Y.uploading?`上传中...`:Y.polling?`分析中...`:`3. 开始注塑模分析`),9,H)):(n(),g(`div`,U,`先选择 STP 文件,再填写材料并开始分析。`))])]),Y.history?.files?.length?(n(),g(`details`,ce,[s(`summary`,W,`分析历史(`+a(Y.history.files.length)+` 个文件)`,1),s(`div`,G,[s(`table`,le,[o[14]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`文件名`),s(`th`,null,`上传次数`),s(`th`,null,`文件大小`),s(`th`,null,`最新状态`),s(`th`,null,`最新分析时间`),s(`th`,null,`操作`)])],-1),s(`tbody`,null,[(n(!0),g(l,null,t(Y.history.files,e=>(n(),g(l,{key:e.filename},[s(`tr`,null,[s(`td`,null,a(e.filename),1),s(`td`,null,[s(`span`,ue,a(e.upload_count)+` 次`,1)]),s(`td`,null,a(u(v)(e.file_size)),1),s(`td`,null,[s(`span`,{class:r([`badge`,e.latest_status===`completed`?`badge-success`:e.latest_status===`failed`?`badge-error`:`badge-warning`])},a(e.latest_status),3)]),s(`td`,null,a(u(y)(e.latest_upload_time)),1),s(`td`,null,[s(`div`,de,[e.latest_status===`completed`?(n(),g(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q({task_id:e.latest_task_id})},` 查看最新 `,8,fe)):h(``,!0),s(`button`,{class:`btn-sm btn-icon`,onClick:t=>Z(e.filename),title:Y.expandedFiles[e.filename]?`收起`:`展开历史记录`},[s(`span`,{class:r([`dropdown-icon`,{expanded:Y.expandedFiles[e.filename]}])},`▼`,2)],8,pe)])])]),Y.expandedFiles[e.filename]?(n(),g(`tr`,me,[s(`td`,he,[s(`div`,ge,[s(`table`,_e,[o[13]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`上传时间`),s(`th`,null,`文件大小`),s(`th`,null,`状态`),s(`th`,null,`体积 (mm³)`),s(`th`,null,`表面积 (mm²)`),s(`th`,null,`重量 (g)`),s(`th`,null,`操作`)])],-1),s(`tbody`,null,[(n(!0),g(l,null,t(Y.expandedFiles[e.filename],e=>(n(),g(`tr`,{key:e.id},[s(`td`,null,a(u(y)(e.upload_time)),1),s(`td`,null,a(u(v)(e.file_size)),1),s(`td`,null,[s(`span`,{class:r([`badge`,e.status===`completed`?`badge-success`:e.status===`failed`?`badge-error`:`badge-warning`])},a(e.status),3)]),s(`td`,null,a(e.volume?u(_)(e.volume):`-`),1),s(`td`,null,a(e.surface_area?u(_)(e.surface_area):`-`),1),s(`td`,null,a(e.product_weight?e.product_weight.toFixed(2):`-`),1),s(`td`,null,[e.has_analysis?(n(),g(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q(e)},` 查看详情 `,8,ve)):h(``,!0)])]))),128))])])])])])):h(``,!0)],64))),128))])])])])):h(``,!0)]))}});export{K as default}; \ No newline at end of file +import{A as e,D as t,E as n,M as r,N as ee,O as i,P as a,S as o,_ as s,b as c,d as te,f as ne,h as l,i as re,j as u,k as ie,l as ae,m as d,n as f,o as p,r as m,s as oe,v as h,w as se,y as g}from"./index-B1sOGpZZ.js";import{a as _,i as v,r as y}from"./utils-COFIQvWo.js";var b={class:`page-container`},x={class:`upload-layout`},S={class:`upload-main-card`},C={key:0,class:`file-info`},w={class:`file-name`},T={class:`file-size`},E={key:1,class:`error-message`},D={key:2,class:`progress-bar`},O={class:`upload-side-card`},k={class:`material-panel compact-panel`},A={class:`form-group`},j={class:`advanced-params`},M={class:`advanced-params-body`},N={class:`advanced-param-grid`},P={class:`form-label`},F={class:`param-input-row`},I=[`onUpdate:modelValue`,`min`,`max`,`step`],L={class:`param-unit`},R={class:`param-meta-row`},z={class:`range-value`},B={class:`range-value`},V={class:`param-hint`},H=[`disabled`],U={key:1,class:`inline-note`},ce={key:0,class:`history-collapsible section`},W={class:`history-summary`},G={class:`table-container`},le={class:`data-table`},ue={class:`badge badge-info`},de={class:`action-buttons`},fe=[`onClick`],pe=[`onClick`,`title`],me={key:0,class:`history-detail-row`},he={colspan:`6`},ge={class:`history-dropdown`},_e={class:`data-table inner-table`},ve=[`onClick`],K=o({__name:`MoldInsightView`,setup(o){let K=ae(),q=oe(),J=e(null),Y=ie({selectedFile:null,selectedMaterial:`ABS`,moldParams:{draftAngle:2,shrinkageRate:.5,partingPrecision:.1,cavityMatch:95},uploading:!1,error:``,currentTask:null,task:null,polling:!1,dragOver:!1,progress:0,history:null,expandedFiles:{}}),X=async()=>{try{Y.history=await p(`/api/history`)}catch(e){console.error(`加载历史记录失败:`,e)}},Z=async e=>{if(Y.expandedFiles[e])Y.expandedFiles[e]=null;else try{let t=await p(`/api/history/${encodeURIComponent(e)}`);Y.expandedFiles[e]=t}catch(e){m(e,`加载文件历史`)}},Q=e=>{K.push(`/moldinsight/result/${e.task_id}`)},ye=e=>{let t=e.target.files?.[0];t&&$(t)},$=e=>{let t=e.name.toLowerCase();if(!t.endsWith(`.stp`)&&!t.endsWith(`.step`)){Y.error=`请选择 STP 或 STEP 格式文件`,Y.selectedFile=null;return}if(e.size>100*1024*1024){Y.error=`文件大小不能超过 100MB`,Y.selectedFile=null;return}Y.error=``,Y.selectedFile=e,f(`已选择文件: ${e.name}`,`success`)},be=e=>{e.preventDefault(),Y.dragOver=!1;let t=e.dataTransfer?.files;t&&t.length>0&&$(t[0])},xe=async()=>{if(!Y.selectedFile)return;if(!q.token){Y.error=`请先登录后再上传文件`,f(`请先登录`,`warning`),K.push(`/login`);return}if(q.token===`demo`){Y.error=`演示模式不支持文件上传,请使用完整账户登录`,f(`演示模式不支持上传`,`warning`);return}Y.uploading=!0,Y.error=``,Y.progress=0;let e=new FormData;e.append(`file`,Y.selectedFile),e.append(`material`,Y.selectedMaterial),e.append(`draft_angle`,String(Y.moldParams.draftAngle)),e.append(`shrinkage_rate`,String(Y.moldParams.shrinkageRate)),e.append(`parting_precision`,String(Y.moldParams.partingPrecision)),e.append(`cavity_match`,String(Y.moldParams.cavityMatch));try{let t=await fetch(`/api/upload`,{method:`POST`,headers:{Authorization:`Bearer ${q.token}`},body:e});if(t.status===401){re(),Y.error=`登录已过期,请重新登录`,f(`登录已过期,请重新登录`,`warning`),K.push(`/login`);return}if(!t.ok)throw Error(`上传失败: ${t.status}`);let n=await t.json();Y.currentTask={task_id:n.task_id,status:`processing`,filename:n.file_info?.filename},f(`文件上传成功,开始分析...`,`success`),Se(n.task_id)}catch(e){Y.error=m(e,`文件上传`)}finally{Y.uploading=!1}},Se=async e=>{console.log(`[Polling] 开始轮询任务:`,e),Y.polling=!0,Y.progress=10;let t=0,n=async()=>{try{t++,Y.progress=Math.min(90,10+t*.5);let r=await p(`/api/status/${e}`,{method:`POST`});if(Y.currentTask=r,Y.task=r,r.status===`completed`){Y.polling=!1,Y.progress=100,f(`分析完成`,`success`),X(),K.push(`/moldinsight/result/${e}`);return}if(r.status===`failed`){Y.polling=!1,Y.error=r.error||`分析失败`,f(`分析失败`,`error`);return}t<300&&setTimeout(n,2e3)}catch(e){Y.polling=!1,Y.error=m(e,`轮询状态`)}};n()},Ce=[{key:`draftAngle`,label:`拔模角`,unit:`°`,min:1,max:10,step:.5,defaultValue:2,hint:`常规注塑件建议从 1.5° 到 3° 起步`},{key:`shrinkageRate`,label:`收缩率`,unit:`%`,min:.5,max:3,step:.1,defaultValue:.5,hint:`按材料牌号校核,默认值用于首轮方案评估`},{key:`partingPrecision`,label:`分型精度`,unit:`mm`,min:.01,max:1,step:.01,defaultValue:.1,hint:`用于控制分型面拟合与边界容差`},{key:`cavityMatch`,label:`型腔匹配度`,unit:`%`,min:80,max:100,step:1,defaultValue:95,hint:`数值越高越偏向紧配合与严格封合`}];return se(()=>{if(!q.user){K.push(`/login`);return}X()}),(e,o)=>(n(),g(`div`,b,[o[15]||=c(`
输入
STEP/STP 产品件,面向注塑模主流程
输出
分模方案、DFM 风险、注塑模系统摘要与 CAD 导出
目标
先确认推荐方案,再进入导出与 CAM 准备
`,2),s(`div`,x,[s(`div`,S,[o[7]||=s(`h2`,{class:`section-title`},`1. 上传产品件`,-1),s(`div`,{class:r([`upload-zone`,{"drag-over":Y.dragOver}]),onDragover:o[0]||=d(e=>Y.dragOver=!0,[`prevent`]),onDragleave:o[1]||=d(e=>Y.dragOver=!1,[`prevent`]),onDrop:be,onClick:o[2]||=e=>J.value?.click()},[s(`input`,{ref_key:`fileInput`,ref:J,type:`file`,accept:`.stp,.step`,onChange:ye,hidden:``},null,544),o[5]||=s(`div`,{class:`upload-icon`},`📁`,-1),o[6]||=s(`div`,{class:`upload-text`},[s(`span`,{class:`upload-title`},`点击选择或拖拽 STP/STEP 文件`),s(`span`,{class:`upload-hint`},`支持注塑模产品件分析,最大 100MB`)],-1)],34),Y.selectedFile?(n(),g(`div`,C,[s(`span`,w,a(Y.selectedFile.name),1),s(`span`,T,a(u(v)(Y.selectedFile.size)),1),s(`button`,{class:`btn-clear`,onClick:o[3]||=e=>Y.selectedFile=null,title:`清除文件`},`×`)])):h(``,!0),Y.error?(n(),g(`div`,E,a(Y.error),1)):h(``,!0),Y.polling?(n(),g(`div`,D,[s(`div`,{class:`progress-fill`,style:ee({width:Y.progress+`%`})},null,4)])):h(``,!0)]),s(`div`,O,[o[12]||=s(`h2`,{class:`section-title`},`2. 注塑模参数`,-1),s(`div`,k,[s(`div`,A,[o[9]||=s(`label`,{class:`form-label`},`产品材料`,-1),i(s(`select`,{"onUpdate:modelValue":o[4]||=e=>Y.selectedMaterial=e,class:`form-select`},[...o[8]||=[c(``,8)]],512),[[te,Y.selectedMaterial]])]),s(`details`,j,[o[11]||=s(`summary`,null,`高级工艺参数`,-1),s(`div`,M,[o[10]||=s(`div`,{class:`inline-note`},`默认值适用于多数注塑件;仅在已知工艺约束时再调整。`,-1),s(`div`,N,[(n(),g(l,null,t(Ce,e=>s(`div`,{class:`param-input-card`,key:e.key},[s(`label`,P,a(e.label),1),s(`div`,F,[i(s(`input`,{type:`number`,class:`form-input param-number-input`,"onUpdate:modelValue":t=>Y.moldParams[e.key]=t,min:e.min,max:e.max,step:e.step},null,8,I),[[ne,Y.moldParams[e.key],void 0,{number:!0}]]),s(`span`,L,a(e.unit),1)]),s(`div`,R,[s(`span`,z,`默认 `+a(e.defaultValue)+a(e.unit),1),s(`span`,B,`范围 `+a(e.min)+` - `+a(e.max)+a(e.unit),1)]),s(`div`,V,a(e.hint),1)])),64))])])])]),Y.selectedFile?(n(),g(`button`,{key:0,class:`btn-primary upload-submit-btn`,onClick:xe,disabled:Y.uploading||Y.polling},a(Y.uploading?`上传中...`:Y.polling?`分析中...`:`3. 开始注塑模分析`),9,H)):(n(),g(`div`,U,`先选择 STP 文件,再填写材料并开始分析。`))])]),Y.history?.files?.length?(n(),g(`details`,ce,[s(`summary`,W,`分析历史(`+a(Y.history.files.length)+` 个文件)`,1),s(`div`,G,[s(`table`,le,[o[14]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`文件名`),s(`th`,null,`上传次数`),s(`th`,null,`文件大小`),s(`th`,null,`最新状态`),s(`th`,null,`最新分析时间`),s(`th`,null,`操作`)])],-1),s(`tbody`,null,[(n(!0),g(l,null,t(Y.history.files,e=>(n(),g(l,{key:e.filename},[s(`tr`,null,[s(`td`,null,a(e.filename),1),s(`td`,null,[s(`span`,ue,a(e.upload_count)+` 次`,1)]),s(`td`,null,a(u(v)(e.file_size)),1),s(`td`,null,[s(`span`,{class:r([`badge`,e.latest_status===`completed`?`badge-success`:e.latest_status===`failed`?`badge-error`:`badge-warning`])},a(e.latest_status),3)]),s(`td`,null,a(u(y)(e.latest_upload_time)),1),s(`td`,null,[s(`div`,de,[e.latest_status===`completed`?(n(),g(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q({task_id:e.latest_task_id})},` 查看最新 `,8,fe)):h(``,!0),s(`button`,{class:`btn-sm btn-icon`,onClick:t=>Z(e.filename),title:Y.expandedFiles[e.filename]?`收起`:`展开历史记录`},[s(`span`,{class:r([`dropdown-icon`,{expanded:Y.expandedFiles[e.filename]}])},`▼`,2)],8,pe)])])]),Y.expandedFiles[e.filename]?(n(),g(`tr`,me,[s(`td`,he,[s(`div`,ge,[s(`table`,_e,[o[13]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`上传时间`),s(`th`,null,`文件大小`),s(`th`,null,`状态`),s(`th`,null,`体积 (mm³)`),s(`th`,null,`表面积 (mm²)`),s(`th`,null,`重量 (g)`),s(`th`,null,`操作`)])],-1),s(`tbody`,null,[(n(!0),g(l,null,t(Y.expandedFiles[e.filename],e=>(n(),g(`tr`,{key:e.id},[s(`td`,null,a(u(y)(e.upload_time)),1),s(`td`,null,a(u(v)(e.file_size)),1),s(`td`,null,[s(`span`,{class:r([`badge`,e.status===`completed`?`badge-success`:e.status===`failed`?`badge-error`:`badge-warning`])},a(e.status),3)]),s(`td`,null,a(e.volume?u(_)(e.volume):`-`),1),s(`td`,null,a(e.surface_area?u(_)(e.surface_area):`-`),1),s(`td`,null,a(e.product_weight?e.product_weight.toFixed(2):`-`),1),s(`td`,null,[e.has_analysis?(n(),g(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q(e)},` 查看详情 `,8,ve)):h(``,!0)])]))),128))])])])])])):h(``,!0)],64))),128))])])])])):h(``,!0)]))}});export{K as default}; \ No newline at end of file diff --git a/static/assets/ReleaseView-CCn0R8dT.js b/static/assets/ReleaseView-D0IDE_mx.js similarity index 79% rename from static/assets/ReleaseView-CCn0R8dT.js rename to static/assets/ReleaseView-D0IDE_mx.js index f049090..8a3d696 100644 --- a/static/assets/ReleaseView-CCn0R8dT.js +++ b/static/assets/ReleaseView-D0IDE_mx.js @@ -1 +1 @@ -import{E as e,_ as t,t as n,y as r}from"./index-B-OcU2wj.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`灰度发布与回滚`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file +import{E as e,_ as t,t as n,y as r}from"./index-B1sOGpZZ.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`灰度发布与回滚`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file diff --git a/static/assets/ResultView-RD_BPQTj.js b/static/assets/ResultView-DhzFuC2H.js similarity index 99% rename from static/assets/ResultView-RD_BPQTj.js rename to static/assets/ResultView-DhzFuC2H.js index c1c50c2..cc1e929 100644 --- a/static/assets/ResultView-RD_BPQTj.js +++ b/static/assets/ResultView-DhzFuC2H.js @@ -1 +1 @@ -import{D as e,E as t,M as n,N as r,O as i,P as a,S as o,_ as s,b as ee,c,d as l,g as u,h as d,j as f,k as te,l as ne,n as p,o as m,r as re,s as ie,u as ae,v as h,w as oe,x as se,y as g}from"./index-B-OcU2wj.js";import{a as _}from"./utils-COFIQvWo.js";var ce={class:`page-container`},le={class:`page-header`},ue={key:0,class:`loading-state`},de={key:1,class:`error-state`},fe={key:2,class:`result-container`},pe={class:`result-header`},me={class:`result-anchor-nav`},he=[`href`],ge={class:`result-grid result-priority-grid`},_e={class:`summary-header`},v={class:`badge badge-info`},y={class:`info-list`},b={class:`info-item`},x={class:`info-value`,style:{"font-weight":`600`,"font-size":`1.05rem`,color:`var(--text-primary)`}},S={class:`info-item`},C={class:`info-value`},w={class:`info-item`},T={class:`info-value`},E={class:`info-item`},D={class:`info-value`},O={class:`info-item`},k={class:`info-value`},A={class:`info-item`},j={class:`info-value`},M={class:`info-list`},N={class:`info-item`},P={class:`info-value`},F={class:`info-item`},I={class:`info-value`},ve={class:`info-item`},ye={class:`info-value`},be={class:`info-item`},xe={class:`info-value`},Se={class:`info-item`},Ce={class:`info-value`},we={key:1,class:`result-card result-card-highlight`},Te={class:`info-list`},Ee={class:`info-item`},De={class:`info-value`,style:{"font-weight":`500`}},Oe={key:0,class:`export-buttons-bar`,style:{display:`flex`,gap:`var(--space-2)`,"flex-wrap":`wrap`,"justify-content":`center`,padding:`var(--space-3) 0`}},ke={key:1,id:`preview-3d`,class:`viewer-section viewer-section-hero`},Ae={key:0,class:`inline-alert inline-alert-warning`,style:{"margin-bottom":`var(--space-3)`}},je={class:`inline-alert-message`},Me=[`src`],Ne={key:2,id:`preview-3d`,class:`viewer-section viewer-section-hero`},Pe={key:3,id:`candidate-schemes`,class:`viewer-section diagnostic-panel`,style:{"margin-top":`var(--space-3)`}},Fe={class:`result-card full-width diagnostic-panel-body`},Ie={class:`data-table`},Le=[`onClick`],Re={key:0,style:{color:`var(--primary-color)`,"font-weight":`600`}},ze={key:1,style:{color:`var(--warning-color)`,"font-weight":`600`}},Be={id:`ai-side-action`,class:`viewer-section`},Ve={class:`summary-header`},He={key:1,class:`badge badge-warning`},Ue={key:0,class:`result-grid`},We={class:`result-card result-card-highlight`},Ge={class:`info-list`},Ke={class:`info-item`},qe={class:`info-value`},Je={class:`info-item`},Ye={class:`info-value`},Xe={key:0,class:`info-item`},Ze={class:`info-value`},Qe={class:`info-item`},$e={class:`info-value`},et={class:`inline-note`,style:{"margin-top":`var(--space-2)`,"font-weight":`600`,"font-size":`1rem`,color:`var(--text-primary)`}},tt={class:`result-card`},nt={key:0},rt={class:`recommendations-list`},it={class:`recommendation-text`},at={key:1,style:{"margin-top":`var(--space-3)`}},ot={class:`recommendations-list`},st={class:`recommendation-text`},ct={key:2,style:{"margin-top":`var(--space-3)`}},L={class:`recommendations-list`},lt={class:`recommendation-text`},ut={key:1,class:`inline-alert inline-alert-warning`},dt={id:`export-cam`,class:`viewer-section`},ft={class:`result-card`,style:{"margin-bottom":`var(--space-4)`}},pt={class:`info-list`},mt={class:`info-item`},ht=[`value`],gt={class:`info-item`},_t=[`value`],vt={class:`info-item`},yt=[`value`],bt={class:`info-item`},xt={class:`checkbox-group`},St=[`disabled`],Ct={key:0,class:`inline-alert inline-alert-warning`},wt={class:`inline-alert-message`},Tt={key:1,class:`inline-alert inline-alert-warning`},Et={class:`result-grid`},Dt={class:`result-card`},Ot={class:`info-list`},kt={class:`info-item`},At={class:`info-value`},jt={class:`info-item`},Mt={class:`info-value`},Nt={class:`info-item`},Pt={class:`info-value`},Ft={class:`info-item`},It={class:`info-value`},Lt={class:`result-card`},Rt={class:`info-list`},zt={class:`info-item`},Bt={class:`info-value`},Vt={class:`info-item`},Ht={class:`info-value`},Ut={class:`result-card full-width`},Wt={class:`data-table`},Gt={class:`result-card full-width`},Kt={class:`recommendations-list`},qt={class:`recommendation-text`},Jt={key:4,id:`llm-report`,class:`viewer-section`},Yt={class:`summary-header`},Xt={key:0,class:`inline-note`,style:{"margin-bottom":`var(--space-4)`,"font-size":`0.95rem`,color:`var(--text-primary)`}},Zt={class:`result-grid`},Qt={key:0,class:`recommendations-list`},$t={class:`recommendation-text`},en={key:1,class:`data-table`},tn={key:2,class:`recommendations-list`},nn={class:`recommendation-text`},rn={key:3,class:`inline-note`},R=o({__name:`ResultView`,setup(o){let R=c(),z=ne(),B=ie(),V=te({task:null,loading:!0,error:``,selectedSchemeId:null,previewStatus:`idle`,camLoading:!1,camError:``,camPlan:null,camForm:{mold_steel:`P20`,surface_quality:`standard`,controller:`fanuc`,include_gcode:!1}}),an=[{value:`P20`,label:`P20`},{value:`718H`,label:`718H`},{value:`NAK80`,label:`NAK80`},{value:`S136`,label:`S136`},{value:`H13`,label:`H13`}],on=[{value:`standard`,label:`标准`},{value:`fine`,label:`精细`},{value:`mirror`,label:`镜面`}],sn=[{value:`fanuc`,label:`Fanuc`},{value:`siemens`,label:`Siemens`}],cn=async()=>{console.log(`[ResultView] loadTask 开始, taskId:`,R.params.taskId);try{V.task=await m(`/api/status/${R.params.taskId}`,{method:`POST`}),console.log(`任务数据:`,V.task),console.log(`key_info:`,V.task.key_info),console.log(`cavity_data:`,V.task.cavity_data),console.log(`analysis_result:`,V.task.analysis_result),console.log(`geometry_data:`,V.task.geometry_data),V.task?.best_scheme_id?V.selectedSchemeId=V.task.best_scheme_id:V.task?.candidate_schemes?.length&&(V.selectedSchemeId=V.task.candidate_schemes[0].scheme_id);let e=V.task?.cam_preferences||{};V.camForm.mold_steel=e.mold_steel||`P20`,V.camForm.surface_quality=e.surface_quality||`standard`,V.camForm.controller=e.controller||`fanuc`,V.camForm.include_gcode=!!e.include_gcode,V.previewStatus=`loading`}catch(e){V.error=re(e,`加载任务详情`)}finally{V.loading=!1}};oe(()=>{if(!B.user){z.push(`/login`);return}cn()});let H=u(()=>V.task?.candidate_schemes||[]);u(()=>H.value.length===1);let U=u(()=>H.value.length?H.value.find(e=>e.scheme_id===V.selectedSchemeId)||H.value[0]:null),W=u(()=>U.value?.cavity_data||V.task?.cavity_data||null),ln=u(()=>U.value?.key_info||V.task?.key_info||null),G=u(()=>U.value?.html_file||V.task?.html_file||``),K=u(()=>U.value?.dfm_violations||[]),un=u(()=>W.value?.injection_system||V.task?.plan_result?.injection_system||null),dn=u(()=>U.value?.side_actions||W.value?.side_actions||V.task?.side_actions||null),fn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`AI 倒扣分析解析失败:`,e),null}},pn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`LLM 设计报告解析失败:`,e),null}},q=(e,t=`ai`)=>{if(!e||typeof e!=`object`)return null;let n=[`required`,`not_required`,`manual_review`].includes(e.status)?e.status:`manual_review`,r=[`slider`,`lifter`,`mixed`,`none`,`manual_review`].includes(e.mechanism_recommendation)?e.mechanism_recommendation:`manual_review`,i=Number(e.confidence),a={required:`需要倒扣/抽芯`,not_required:`无需倒扣/抽芯`,manual_review:`需人工确认`};return{source:t,status:n,statusLabel:a[n],mechanismRecommendation:r,mechanismLabel:{slider:`优先滑块`,lifter:`优先斜顶`,mixed:`滑块 + 斜顶`,none:`无需侧向机构`,manual_review:`人工评审`}[r],confidence:Number.isFinite(i)?Math.max(0,Math.min(i,1)):null,conclusion:e.conclusion||a[n],summary:e.summary||``,reasons:Array.isArray(e.reasons)?e.reasons.filter(Boolean).slice(0,5):[],standardAdvice:Array.isArray(e.standard_advice)?e.standard_advice.filter(Boolean).slice(0,5):[],manualReviewItems:Array.isArray(e.manual_review_items)?e.manual_review_items.filter(Boolean).slice(0,4):[]}},mn=u(()=>{let e=dn.value;if(!e||typeof e!=`object`)return null;let t=e.summary||{},n=(e.slider_mechanisms||[]).length,r=(e.lifter_mechanisms||[]).length,i=n+r,a=n&&r?`mixed`:n?`slider`:r?`lifter`:`none`,o=i>0?`required`:t.total_undercut_faces===0?`not_required`:`manual_review`;return q({status:o,confidence:.55,conclusion:o===`required`?`规则分析判断当前产品需要倒扣/抽芯机构`:o===`not_required`?`规则分析未发现必须采用倒扣/抽芯机构的特征`:`当前规则结果不足以完成稳定判断,建议人工复核`,mechanism_recommendation:a===`none`?`none`:a,summary:o===`required`?`检测到 ${n} 个滑块需求、${r} 个斜顶需求,建议先按标准机构路线做结构评审。`:o===`not_required`?`当前方案未发现明显倒扣特征,可优先按常规模具结构推进。`:`现有数据可用于初筛,但不足以替代工程师对复杂倒扣的最终确认。`,reasons:[i>0?`规则分析识别出 ${i} 处侧向机构需求`:`规则分析未识别出明确侧向机构需求`,t.complexity?`当前复杂度判定为 ${t.complexity}`:`当前复杂度信息不足`,`当前倒扣方案若存在大行程滑块,优先按气动抽芯条件评估`].filter(Boolean),standard_advice:(e.recommendations||[]).slice(0,4),manual_review_items:[`结合 3D 预览复核倒扣是否可通过改产品取消`,`确认侧向机构与顶出、冷却、分型面是否存在干涉`]},`rules`)});u(()=>{let e={critical:0,high:0,medium:0,low:0};return(K.value||[]).forEach(t=>{let n=String(t.level||`medium`).toLowerCase();e[n]===void 0?e.medium+=1:e[n]+=1}),e});let J=u(()=>q(fn(V.task?.llm_report||``),`ai`)||mn.value),Y=u(()=>pn(V.task?.llm_report||``)),hn=u(()=>Y.value&&(Y.value.sections&&Y.value.sections.length>0||!!Y.value.overview)),gn=u(()=>(Y.value?.sections||[]).filter(e=>e.type===`issues`?e.items?.length>0:e.type===`params_table`?e.rows?.length>0:e.type===`recommendations`?e.items?.length>0:!0));u(()=>{let e=V.task?.stage_timings||{};return Object.entries(e).filter(([,e])=>typeof e==`number`).sort((e,t)=>t[1]-e[1])});let _n=u(()=>{let e={critical:0,high:1,medium:2,low:3};return[...V.task?.analysis_result?.design_recommendations||[]].sort((t,n)=>(e[t.priority]??99)-(e[n.priority]??99))});u(()=>_n.value[0]||null);let X=u(()=>K.value?.length||0),vn=u(()=>{let e=W.value?.mold_cavities?.cavity_count;if(typeof e==`number`)return e;let t=W.value?.mold_cavities||ln.value?.mold_cavities||{};return t.cavity_count||Object.keys(t).filter(e=>e.startsWith(`cavity_`)).length||1});u(()=>X.value?X.value>=4?`高风险`:X.value>=2?`中风险`:`低风险`:`低风险`);let yn=[{id:`candidate-schemes`,label:`方案`},{id:`preview-3d`,label:`预览`},{id:`ai-side-action`,label:`AI倒扣分析`},{id:`export-cam`,label:`CAM/CNC`},{id:`llm-report`,label:`设计报告`}],Z=e=>{e&&(V.selectedSchemeId=e),V.previewStatus=`loading`,V.camPlan=null,V.camError=``},bn=()=>{V.previewStatus=`loaded`},xn=()=>{V.previewStatus=`error`},Q=e=>{if(!e)return`N/A`;if(e.parting?.axis)return`${e.parting.axis} 轴`;let t=e.parting?.direction;return Array.isArray(t)?`[${t.map(e=>Number(e).toFixed(2)).join(`, `)}]`:`N/A`};u(()=>V.task?.analysis_result?.detected_features||[]);let Sn=async(e,t)=>{let n={};B.token&&(n.Authorization=`Bearer ${B.token}`);let r=await fetch(e,{headers:n});if(!r.ok)throw Error(`下载失败 (${r.status}): 无法下载,需要授权`);let i=await r.blob(),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},$=async e=>{try{let t=R.params.taskId,n=await m(`/api/export-mold`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({task_id:t,scheme_id:U.value?.scheme_id||V.selectedSchemeId,formats:[e],components:[`cavity`,`core`,`parting_surface`]})});if(n.status===`success`&&n.data.files){for(let e of n.data.files){let n=e.relative_path||(e.filepath?e.filepath.replace(/\\/g,`/`).split(`/`).slice(-2).join(`/`):``);await Sn(e.download_path||`/api/export-download/${encodeURI(n)}?task_id=${encodeURIComponent(t)}`,e.filename)}p(`已导出 ${n.data.files.length} 个 ${e.toUpperCase()} 文件`,`success`)}else n.data.errors&&n.data.errors.length>0&&p(`导出失败: ${n.data.errors[0]}`,`error`)}catch(e){p(`导出失败: ${e.message}`,`error`)}},Cn=async()=>{try{V.camLoading=!0,V.camError=``;let e={task_id:R.params.taskId,scheme_id:U.value?.scheme_id,mold_steel:V.camForm.mold_steel,surface_quality:V.camForm.surface_quality,controller:V.camForm.controller,include_gcode:V.camForm.include_gcode},t=await m(`/api/cam/plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});V.camPlan=t?.data||null,t?.cam_preferences&&(V.camForm.mold_steel=t.cam_preferences.mold_steel||V.camForm.mold_steel,V.camForm.surface_quality=t.cam_preferences.surface_quality||V.camForm.surface_quality,V.camForm.controller=t.cam_preferences.controller||V.camForm.controller,V.camForm.include_gcode=!!t.cam_preferences.include_gcode),p(`CAM 计划生成完成`,`success`)}catch(e){V.camPlan=null,V.camError=e.message||`CAM 计划生成失败`,p(`CAM 计划生成失败: ${V.camError}`,`error`)}finally{V.camLoading=!1}};return(o,c)=>(t(),g(`div`,ce,[s(`div`,le,[s(`button`,{class:`btn-back`,onClick:c[0]||=e=>f(z).back()},[...c[12]||=[s(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[s(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})],-1),se(` 返回 `,-1)]]),c[13]||=s(`h1`,null,`分析结果`,-1)]),V.loading?(t(),g(`div`,ue,[...c[14]||=[s(`div`,{class:`spinner`},null,-1),s(`span`,null,`加载中...`,-1)]])):V.error?(t(),g(`div`,de,[s(`p`,null,a(V.error),1)])):V.task?(t(),g(`div`,fe,[s(`div`,pe,[s(`h2`,null,a(V.task.filename),1),s(`span`,{class:n([`badge`,V.task.status===`completed`?`badge-success`:`badge-error`])},a(V.task.status),3)]),s(`div`,me,[(t(),g(d,null,e(yn,e=>s(`a`,{key:e.id,class:`anchor-pill`,href:`#`+e.id},a(e.label),9,he)),64))]),s(`div`,ge,[s(`div`,{class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:c[1]||=e=>Z(U.value?.scheme_id)},[s(`div`,_e,[c[15]||=s(`h3`,null,`推荐方案`,-1),s(`span`,v,a(U.value?.title||U.value?.scheme_id||`方案待定`),1)]),s(`div`,y,[s(`div`,b,[c[16]||=s(`span`,{class:`info-label`},`方案说明`,-1),s(`span`,x,a(U.value?.summary||U.value?.reason||`基于当前几何与制造约束自动推荐`),1)]),s(`div`,S,[c[17]||=s(`span`,{class:`info-label`},`分型方向`,-1),s(`span`,C,a(Q(U.value)),1)]),s(`div`,w,[c[18]||=s(`span`,{class:`info-label`},`模具结构`,-1),s(`span`,T,a(U.value?.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),s(`div`,E,[c[19]||=s(`span`,{class:`info-label`},`分型面位置`,-1),s(`span`,D,a(U.value?.offset_label||`中面`),1)]),s(`div`,O,[c[20]||=s(`span`,{class:`info-label`},`型腔数`,-1),s(`span`,k,a(vn.value)+` 腔`,1)]),s(`div`,A,[c[21]||=s(`span`,{class:`info-label`},`预计成型周期`,-1),s(`span`,j,a(un.value?.overall_assessment?.estimated_cycle_time||`N/A`)+` s`,1)])])]),H.value.length>1?(t(),g(`div`,{key:0,class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:c[2]||=e=>Z(H.value[1]?.scheme_id)},[c[27]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`备选方案`),s(`span`,{class:`badge badge-warning`},`1 个备选`)],-1),s(`div`,M,[(t(!0),g(d,null,e(H.value.slice(1,2),e=>(t(),g(d,{key:`alt-`+e.scheme_id},[s(`div`,N,[c[22]||=s(`span`,{class:`info-label`},`方案说明`,-1),s(`span`,P,a(e.summary||e.reason||`暂无说明`),1)]),s(`div`,F,[c[23]||=s(`span`,{class:`info-label`},`分型方向`,-1),s(`span`,I,a(Q(e)),1)]),s(`div`,ve,[c[24]||=s(`span`,{class:`info-label`},`模具结构`,-1),s(`span`,ye,a(e.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),s(`div`,be,[c[25]||=s(`span`,{class:`info-label`},`分型面位置`,-1),s(`span`,xe,a(e.offset_label||`中面`),1)]),s(`div`,Se,[c[26]||=s(`span`,{class:`info-label`},`方案总分`,-1),s(`span`,Ce,a(f(_)(e.score)),1)])],64))),128))])])):(t(),g(`div`,we,[c[29]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`方案概览`),s(`span`,{class:`badge badge-success`},`单一方案`)],-1),s(`div`,Te,[s(`div`,Ee,[c[28]||=s(`span`,{class:`info-label`},`详细方案说明`,-1),s(`span`,De,a(U.value?.summary||U.value?.reason||`当前仅生成 1 套可用分模方案,已在推荐方案区域展示核心参数。`),1)])])]))]),V.task.status===`completed`?(t(),g(`div`,Oe,[s(`button`,{class:`btn-sm btn-primary`,onClick:c[3]||=e=>$(`step`),title:`导出装配体STEP格式(UG/FreeCAD/SolidWorks通用)`},` 📦 导出 STEP `),s(`button`,{class:`btn-sm btn-secondary`,onClick:c[4]||=e=>$(`iges`),title:`导出IGES格式(兼容旧系统)`},` 导出 IGES `),s(`button`,{class:`btn-sm btn-secondary`,onClick:c[5]||=e=>$(`stl`),title:`导出STL网格格式(3D打印预览)`},` 导出 STL `),s(`button`,{class:`btn-sm btn-secondary`,onClick:c[6]||=e=>$(`brep`),title:`导出BRep格式(FreeCAD原生)`},` 导出 BRep `)])):h(``,!0),G.value?(t(),g(`div`,ke,[c[31]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`3D 预览`),s(`span`,{class:`badge badge-info`},`重点区域`)],-1),V.previewStatus===`error`?(t(),g(`div`,Ae,[c[30]||=s(`div`,{class:`inline-alert-title`},`预览加载失败`,-1),s(`div`,je,`HTML 已生成但加载异常,请检查该链接是否可访问:`+a(G.value),1)])):h(``,!0),(t(),g(`iframe`,{key:G.value,src:G.value,class:`viewer-frame viewer-frame-hero`,onLoad:bn,onError:xn},null,40,Me))])):(t(),g(`div`,Ne,[...c[32]||=[ee(`

3D 预览

未生成
预览未生成
当前任务没有返回 HTML 预览链接,属于未生成状态。
`,2)]])),H.value.length>1?(t(),g(`div`,Pe,[c[34]||=s(`summary`,null,`📊 方案对比`,-1),s(`div`,Fe,[s(`table`,Ie,[c[33]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`方案`),s(`th`,null,`方向`),s(`th`,null,`位置`),s(`th`,null,`总分`),s(`th`,null,`可制造性`),s(`th`,null,`分型质量`),s(`th`,null,`倒扣数`),s(`th`,null,`锁模力`)])],-1),s(`tbody`,null,[(t(!0),g(d,null,e(H.value.slice(0,2),(e,n)=>(t(),g(`tr`,{key:`cmp-`+e.scheme_id,style:r(V.selectedSchemeId===e.scheme_id?`background: rgba(var(--primary-rgb), 0.06); font-weight: 600;cursor:pointer`:`cursor:pointer`),onClick:t=>Z(e.scheme_id)},[s(`td`,null,[n===0?(t(),g(`span`,Re,`★ 推荐方案`)):(t(),g(`span`,ze,`备选方案`))]),s(`td`,null,a(Q(e)),1),s(`td`,null,a(e.offset_label||`中面`),1),s(`td`,null,a(f(_)(e.score)),1),s(`td`,null,a(f(_)(e.score_breakdown?.manufacturability||0)),1),s(`td`,null,a(f(_)(e.score_breakdown?.parting_quality||0)),1),s(`td`,null,a(e.key_info?.quality_considerations?.undercut_count||0),1),s(`td`,null,a(e.cavity_data?.manufacturing_info?.estimated_clamping_force||`N/A`),1)],12,Le))),128))])])])])):h(``,!0),s(`div`,Be,[s(`div`,Ve,[c[35]||=s(`h3`,null,`AI 倒扣与抽芯分析`,-1),J.value?(t(),g(`span`,{key:0,class:n([`badge`,J.value.status===`required`?`badge-error`:J.value.status===`not_required`?`badge-success`:`badge-warning`])},a(J.value.statusLabel),3)):(t(),g(`span`,He,`未生成`))]),J.value?(t(),g(`div`,Ue,[s(`div`,We,[c[40]||=s(`h4`,null,`AI 结论`,-1),s(`div`,Ge,[s(`div`,Ke,[c[36]||=s(`span`,{class:`info-label`},`判断结果`,-1),s(`span`,qe,a(J.value.conclusion),1)]),s(`div`,Je,[c[37]||=s(`span`,{class:`info-label`},`推荐方案`,-1),s(`span`,Ye,a(J.value.mechanismLabel),1)]),J.value.confidence==null?h(``,!0):(t(),g(`div`,Xe,[c[38]||=s(`span`,{class:`info-label`},`置信度`,-1),s(`span`,Ze,a(Math.round(J.value.confidence*100))+`%`,1)])),s(`div`,Qe,[c[39]||=s(`span`,{class:`info-label`},`分析来源`,-1),s(`span`,$e,a(J.value.source===`ai`?`AI 模型`:`规则回退`),1)])]),s(`div`,et,a(J.value.summary||`当前任务未返回更多摘要。`),1)]),s(`div`,tt,[J.value.reasons.length?(t(),g(`div`,nt,[c[41]||=s(`h4`,null,`判断依据`,-1),s(`div`,rt,[(t(!0),g(d,null,e(J.value.reasons,(e,n)=>(t(),g(`div`,{class:`recommendation-item medium`,key:`ai-reason-`+n},[s(`div`,it,a(e),1)]))),128))])])):h(``,!0),J.value.standardAdvice.length?(t(),g(`div`,at,[c[42]||=s(`h4`,null,`标准化建议`,-1),s(`div`,ot,[(t(!0),g(d,null,e(J.value.standardAdvice,(e,n)=>(t(),g(`div`,{class:`recommendation-item low`,key:`ai-advice-`+n},[s(`div`,st,a(e),1)]))),128))])])):h(``,!0),J.value.manualReviewItems.length?(t(),g(`div`,ct,[c[43]||=s(`h4`,null,`人工复核项`,-1),s(`div`,L,[(t(!0),g(d,null,e(J.value.manualReviewItems,(e,n)=>(t(),g(`div`,{class:`recommendation-item medium`,key:`ai-review-`+n},[s(`div`,lt,a(e),1)]))),128))])])):h(``,!0)])])):(t(),g(`div`,ut,[...c[44]||=[s(`div`,{class:`inline-alert-title`},`AI 结论未生成`,-1),s(`div`,{class:`inline-alert-message`},`当前任务未生成倒扣与抽芯 AI 分析,请检查模型配置或重新运行分析。`,-1)]]))]),s(`div`,dt,[c[64]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`CAM 与 CNC 加工`),s(`span`,{class:`badge badge-info`},`工艺规划`)],-1),s(`div`,ft,[c[50]||=s(`h4`,null,`CAM 参数`,-1),s(`div`,pt,[s(`div`,mt,[c[45]||=s(`span`,{class:`info-label`},`模具钢`,-1),i(s(`select`,{"onUpdate:modelValue":c[7]||=e=>V.camForm.mold_steel=e,class:`form-select`},[(t(),g(d,null,e(an,e=>s(`option`,{key:`steel-`+e.value,value:e.value},a(e.label),9,ht)),64))],512),[[l,V.camForm.mold_steel]])]),s(`div`,gt,[c[46]||=s(`span`,{class:`info-label`},`表面质量`,-1),i(s(`select`,{"onUpdate:modelValue":c[8]||=e=>V.camForm.surface_quality=e,class:`form-select`},[(t(),g(d,null,e(on,e=>s(`option`,{key:`surf-`+e.value,value:e.value},a(e.label),9,_t)),64))],512),[[l,V.camForm.surface_quality]])]),s(`div`,vt,[c[47]||=s(`span`,{class:`info-label`},`控制器`,-1),i(s(`select`,{"onUpdate:modelValue":c[9]||=e=>V.camForm.controller=e,class:`form-select`},[(t(),g(d,null,e(sn,e=>s(`option`,{key:`ctrl-`+e.value,value:e.value},a(e.label),9,yt)),64))],512),[[l,V.camForm.controller]])]),s(`div`,bt,[c[49]||=s(`span`,{class:`info-label`},`包含G代码`,-1),s(`label`,xt,[i(s(`input`,{type:`checkbox`,class:`checkbox-input`,"onUpdate:modelValue":c[10]||=e=>V.camForm.include_gcode=e},null,512),[[ae,V.camForm.include_gcode]]),c[48]||=s(`span`,{class:`checkbox-label`},`返回G代码文本`,-1)])])]),s(`button`,{class:`btn-sm btn-primary`,disabled:V.camLoading,onClick:c[11]||=e=>Cn(),style:{"margin-top":`var(--space-2)`},title:`基于当前选中方案生成CAM工艺计划`},a(V.camLoading?`⏳ 生成中...`:`🔧 生成 CAM 计划`),9,St)]),V.camError?(t(),g(`div`,Ct,[c[51]||=s(`div`,{class:`inline-alert-title`},`CAM 计划生成失败`,-1),s(`div`,wt,a(V.camError),1)])):V.camPlan?(t(),g(d,{key:2},[s(`div`,Et,[s(`div`,Dt,[c[57]||=s(`h4`,null,`计划摘要`,-1),s(`div`,Ot,[s(`div`,kt,[c[53]||=s(`span`,{class:`info-label`},`方案ID`,-1),s(`span`,At,a(V.camPlan.scheme_id||`N/A`),1)]),s(`div`,jt,[c[54]||=s(`span`,{class:`info-label`},`总工序数`,-1),s(`span`,Mt,a(V.camPlan.summary?.total_operations||0),1)]),s(`div`,Nt,[c[55]||=s(`span`,{class:`info-label`},`预计总时长`,-1),s(`span`,Pt,a(f(_)(V.camPlan.summary?.total_estimated_time_min||0))+` min`,1)]),s(`div`,Ft,[c[56]||=s(`span`,{class:`info-label`},`方案可信度`,-1),s(`span`,It,a(f(_)(V.camPlan.confidence?.score||0)),1)])])]),s(`div`,Lt,[c[60]||=s(`h4`,null,`刀具建议`,-1),s(`div`,Rt,[s(`div`,zt,[c[58]||=s(`span`,{class:`info-label`},`粗加工刀具`,-1),s(`span`,Bt,a(V.camPlan.tooling_suggestion?.roughing_tool?.tool_id||`N/A`),1)]),s(`div`,Vt,[c[59]||=s(`span`,{class:`info-label`},`精加工刀具`,-1),s(`span`,Ht,a(V.camPlan.tooling_suggestion?.finishing_tool?.tool_id||`N/A`),1)])])])]),s(`div`,Ut,[c[62]||=s(`h4`,null,`工序计划`,-1),s(`table`,Wt,[c[61]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`序号`),s(`th`,null,`工序`),s(`th`,null,`刀具`),s(`th`,null,`主轴转速`),s(`th`,null,`进给率`),s(`th`,null,`预计时长(min)`)])],-1),s(`tbody`,null,[(t(!0),g(d,null,e(V.camPlan.process_plan||[],e=>(t(),g(`tr`,{key:`cam-op-`+e.seq},[s(`td`,null,a(e.seq),1),s(`td`,null,a(e.operation),1),s(`td`,null,a(e.tool_id||`N/A`),1),s(`td`,null,a(f(_)(e.spindle_speed_rpm||0)),1),s(`td`,null,a(f(_)(e.feed_rate_mm_min||0)),1),s(`td`,null,a(f(_)(e.estimated_time_min||0)),1)]))),128))])])]),s(`div`,Gt,[c[63]||=s(`h4`,null,`制造风险提示`,-1),s(`div`,Kt,[(t(!0),g(d,null,e(V.camPlan.manufacturing_warnings||[],(e,n)=>(t(),g(`div`,{class:`recommendation-item medium`,key:`cam-warn-`+n},[s(`div`,qt,a(e),1)]))),128))])])],64)):(t(),g(`div`,Tt,[...c[52]||=[s(`div`,{class:`inline-alert-title`},`尚未生成 CAM 计划`,-1),s(`div`,{class:`inline-alert-message`},`点击上方"生成 CAM 计划"后,将返回工序计划、刀具建议与制造风险提示。`,-1)]]))]),hn.value?(t(),g(`div`,Jt,[s(`div`,Yt,[c[65]||=s(`h3`,null,`LLM 设计报告`,-1),s(`span`,{class:n([`badge`,(Y.value?.overall_score||0)>=7?`badge-success`:(Y.value?.overall_score||0)>=5?`badge-warning`:`badge-error`])},` 评分 `+a(Y.value?.overall_score||`N/A`)+` / 10 `,3)]),Y.value?.overview?(t(),g(`div`,Xt,a(Y.value?.overview),1)):h(``,!0),s(`div`,Zt,[(t(!0),g(d,null,e(gn.value,(i,o)=>(t(),g(`div`,{key:`dr-sec-`+o,class:n([`result-card`,i.type===`issues`?`result-card-highlight`:``])},[s(`h4`,{style:r(i.type===`issues`?`color: var(--danger-color);`:``)},a(i.heading),5),i.type===`issues`?(t(),g(`div`,Qt,[(t(!0),g(d,null,e(i.items,(e,r)=>(t(),g(`div`,{key:`dr-issue-`+r,class:n([`recommendation-item`,e.level===`high`?`high`:e.level===`medium`?`medium`:`low`])},[s(`span`,{class:n([`priority-badge`,e.level||`medium`]),style:{"margin-right":`var(--space-1)`}},a(e.level===`high`?`🔴`:e.level===`medium`?`🟡`:`🟢`),3),s(`div`,$t,a(e.content),1)],2))),128))])):i.type===`params_table`?(t(),g(`table`,en,[s(`thead`,null,[s(`tr`,null,[(t(!0),g(d,null,e(i.headers,(e,n)=>(t(),g(`th`,{key:`dr-h-`+n},a(e),1))),128))])]),s(`tbody`,null,[(t(!0),g(d,null,e(i.rows,(n,r)=>(t(),g(`tr`,{key:`dr-r-`+r},[(t(!0),g(d,null,e(n,(e,n)=>(t(),g(`td`,{key:`dr-c-`+n},a(e),1))),128))]))),128))])])):i.type===`recommendations`?(t(),g(`div`,tn,[(t(!0),g(d,null,e(i.items,(e,n)=>(t(),g(`div`,{class:`recommendation-item low`,key:`dr-rec-`+n},[s(`div`,nn,`💡 `+a(e),1)]))),128))])):(t(),g(`div`,rn,a(JSON.stringify(i)),1))],2))),128))])])):h(``,!0)])):h(``,!0)]))}});export{R as default}; \ No newline at end of file +import{D as e,E as t,M as n,N as r,O as i,P as a,S as o,_ as s,b as ee,c,d as l,g as u,h as d,j as f,k as te,l as ne,n as p,o as m,r as re,s as ie,u as ae,v as h,w as oe,x as se,y as g}from"./index-B1sOGpZZ.js";import{a as _}from"./utils-COFIQvWo.js";var ce={class:`page-container`},le={class:`page-header`},ue={key:0,class:`loading-state`},de={key:1,class:`error-state`},fe={key:2,class:`result-container`},pe={class:`result-header`},me={class:`result-anchor-nav`},he=[`href`],ge={class:`result-grid result-priority-grid`},_e={class:`summary-header`},v={class:`badge badge-info`},y={class:`info-list`},b={class:`info-item`},x={class:`info-value`,style:{"font-weight":`600`,"font-size":`1.05rem`,color:`var(--text-primary)`}},S={class:`info-item`},C={class:`info-value`},w={class:`info-item`},T={class:`info-value`},E={class:`info-item`},D={class:`info-value`},O={class:`info-item`},k={class:`info-value`},A={class:`info-item`},j={class:`info-value`},M={class:`info-list`},N={class:`info-item`},P={class:`info-value`},F={class:`info-item`},I={class:`info-value`},ve={class:`info-item`},ye={class:`info-value`},be={class:`info-item`},xe={class:`info-value`},Se={class:`info-item`},Ce={class:`info-value`},we={key:1,class:`result-card result-card-highlight`},Te={class:`info-list`},Ee={class:`info-item`},De={class:`info-value`,style:{"font-weight":`500`}},Oe={key:0,class:`export-buttons-bar`,style:{display:`flex`,gap:`var(--space-2)`,"flex-wrap":`wrap`,"justify-content":`center`,padding:`var(--space-3) 0`}},ke={key:1,id:`preview-3d`,class:`viewer-section viewer-section-hero`},Ae={key:0,class:`inline-alert inline-alert-warning`,style:{"margin-bottom":`var(--space-3)`}},je={class:`inline-alert-message`},Me=[`src`],Ne={key:2,id:`preview-3d`,class:`viewer-section viewer-section-hero`},Pe={key:3,id:`candidate-schemes`,class:`viewer-section diagnostic-panel`,style:{"margin-top":`var(--space-3)`}},Fe={class:`result-card full-width diagnostic-panel-body`},Ie={class:`data-table`},Le=[`onClick`],Re={key:0,style:{color:`var(--primary-color)`,"font-weight":`600`}},ze={key:1,style:{color:`var(--warning-color)`,"font-weight":`600`}},Be={id:`ai-side-action`,class:`viewer-section`},Ve={class:`summary-header`},He={key:1,class:`badge badge-warning`},Ue={key:0,class:`result-grid`},We={class:`result-card result-card-highlight`},Ge={class:`info-list`},Ke={class:`info-item`},qe={class:`info-value`},Je={class:`info-item`},Ye={class:`info-value`},Xe={key:0,class:`info-item`},Ze={class:`info-value`},Qe={class:`info-item`},$e={class:`info-value`},et={class:`inline-note`,style:{"margin-top":`var(--space-2)`,"font-weight":`600`,"font-size":`1rem`,color:`var(--text-primary)`}},tt={class:`result-card`},nt={key:0},rt={class:`recommendations-list`},it={class:`recommendation-text`},at={key:1,style:{"margin-top":`var(--space-3)`}},ot={class:`recommendations-list`},st={class:`recommendation-text`},ct={key:2,style:{"margin-top":`var(--space-3)`}},L={class:`recommendations-list`},lt={class:`recommendation-text`},ut={key:1,class:`inline-alert inline-alert-warning`},dt={id:`export-cam`,class:`viewer-section`},ft={class:`result-card`,style:{"margin-bottom":`var(--space-4)`}},pt={class:`info-list`},mt={class:`info-item`},ht=[`value`],gt={class:`info-item`},_t=[`value`],vt={class:`info-item`},yt=[`value`],bt={class:`info-item`},xt={class:`checkbox-group`},St=[`disabled`],Ct={key:0,class:`inline-alert inline-alert-warning`},wt={class:`inline-alert-message`},Tt={key:1,class:`inline-alert inline-alert-warning`},Et={class:`result-grid`},Dt={class:`result-card`},Ot={class:`info-list`},kt={class:`info-item`},At={class:`info-value`},jt={class:`info-item`},Mt={class:`info-value`},Nt={class:`info-item`},Pt={class:`info-value`},Ft={class:`info-item`},It={class:`info-value`},Lt={class:`result-card`},Rt={class:`info-list`},zt={class:`info-item`},Bt={class:`info-value`},Vt={class:`info-item`},Ht={class:`info-value`},Ut={class:`result-card full-width`},Wt={class:`data-table`},Gt={class:`result-card full-width`},Kt={class:`recommendations-list`},qt={class:`recommendation-text`},Jt={key:4,id:`llm-report`,class:`viewer-section`},Yt={class:`summary-header`},Xt={key:0,class:`inline-note`,style:{"margin-bottom":`var(--space-4)`,"font-size":`0.95rem`,color:`var(--text-primary)`}},Zt={class:`result-grid`},Qt={key:0,class:`recommendations-list`},$t={class:`recommendation-text`},en={key:1,class:`data-table`},tn={key:2,class:`recommendations-list`},nn={class:`recommendation-text`},rn={key:3,class:`inline-note`},R=o({__name:`ResultView`,setup(o){let R=c(),z=ne(),B=ie(),V=te({task:null,loading:!0,error:``,selectedSchemeId:null,previewStatus:`idle`,camLoading:!1,camError:``,camPlan:null,camForm:{mold_steel:`P20`,surface_quality:`standard`,controller:`fanuc`,include_gcode:!1}}),an=[{value:`P20`,label:`P20`},{value:`718H`,label:`718H`},{value:`NAK80`,label:`NAK80`},{value:`S136`,label:`S136`},{value:`H13`,label:`H13`}],on=[{value:`standard`,label:`标准`},{value:`fine`,label:`精细`},{value:`mirror`,label:`镜面`}],sn=[{value:`fanuc`,label:`Fanuc`},{value:`siemens`,label:`Siemens`}],cn=async()=>{console.log(`[ResultView] loadTask 开始, taskId:`,R.params.taskId);try{V.task=await m(`/api/status/${R.params.taskId}`,{method:`POST`}),console.log(`任务数据:`,V.task),console.log(`key_info:`,V.task.key_info),console.log(`cavity_data:`,V.task.cavity_data),console.log(`analysis_result:`,V.task.analysis_result),console.log(`geometry_data:`,V.task.geometry_data),V.task?.best_scheme_id?V.selectedSchemeId=V.task.best_scheme_id:V.task?.candidate_schemes?.length&&(V.selectedSchemeId=V.task.candidate_schemes[0].scheme_id);let e=V.task?.cam_preferences||{};V.camForm.mold_steel=e.mold_steel||`P20`,V.camForm.surface_quality=e.surface_quality||`standard`,V.camForm.controller=e.controller||`fanuc`,V.camForm.include_gcode=!!e.include_gcode,V.previewStatus=`loading`}catch(e){V.error=re(e,`加载任务详情`)}finally{V.loading=!1}};oe(()=>{if(!B.user){z.push(`/login`);return}cn()});let H=u(()=>V.task?.candidate_schemes||[]);u(()=>H.value.length===1);let U=u(()=>H.value.length?H.value.find(e=>e.scheme_id===V.selectedSchemeId)||H.value[0]:null),W=u(()=>U.value?.cavity_data||V.task?.cavity_data||null),ln=u(()=>U.value?.key_info||V.task?.key_info||null),G=u(()=>U.value?.html_file||V.task?.html_file||``),K=u(()=>U.value?.dfm_violations||[]),un=u(()=>W.value?.injection_system||V.task?.plan_result?.injection_system||null),dn=u(()=>U.value?.side_actions||W.value?.side_actions||V.task?.side_actions||null),fn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`AI 倒扣分析解析失败:`,e),null}},pn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`LLM 设计报告解析失败:`,e),null}},q=(e,t=`ai`)=>{if(!e||typeof e!=`object`)return null;let n=[`required`,`not_required`,`manual_review`].includes(e.status)?e.status:`manual_review`,r=[`slider`,`lifter`,`mixed`,`none`,`manual_review`].includes(e.mechanism_recommendation)?e.mechanism_recommendation:`manual_review`,i=Number(e.confidence),a={required:`需要倒扣/抽芯`,not_required:`无需倒扣/抽芯`,manual_review:`需人工确认`};return{source:t,status:n,statusLabel:a[n],mechanismRecommendation:r,mechanismLabel:{slider:`优先滑块`,lifter:`优先斜顶`,mixed:`滑块 + 斜顶`,none:`无需侧向机构`,manual_review:`人工评审`}[r],confidence:Number.isFinite(i)?Math.max(0,Math.min(i,1)):null,conclusion:e.conclusion||a[n],summary:e.summary||``,reasons:Array.isArray(e.reasons)?e.reasons.filter(Boolean).slice(0,5):[],standardAdvice:Array.isArray(e.standard_advice)?e.standard_advice.filter(Boolean).slice(0,5):[],manualReviewItems:Array.isArray(e.manual_review_items)?e.manual_review_items.filter(Boolean).slice(0,4):[]}},mn=u(()=>{let e=dn.value;if(!e||typeof e!=`object`)return null;let t=e.summary||{},n=(e.slider_mechanisms||[]).length,r=(e.lifter_mechanisms||[]).length,i=n+r,a=n&&r?`mixed`:n?`slider`:r?`lifter`:`none`,o=i>0?`required`:t.total_undercut_faces===0?`not_required`:`manual_review`;return q({status:o,confidence:.55,conclusion:o===`required`?`规则分析判断当前产品需要倒扣/抽芯机构`:o===`not_required`?`规则分析未发现必须采用倒扣/抽芯机构的特征`:`当前规则结果不足以完成稳定判断,建议人工复核`,mechanism_recommendation:a===`none`?`none`:a,summary:o===`required`?`检测到 ${n} 个滑块需求、${r} 个斜顶需求,建议先按标准机构路线做结构评审。`:o===`not_required`?`当前方案未发现明显倒扣特征,可优先按常规模具结构推进。`:`现有数据可用于初筛,但不足以替代工程师对复杂倒扣的最终确认。`,reasons:[i>0?`规则分析识别出 ${i} 处侧向机构需求`:`规则分析未识别出明确侧向机构需求`,t.complexity?`当前复杂度判定为 ${t.complexity}`:`当前复杂度信息不足`,`当前倒扣方案若存在大行程滑块,优先按气动抽芯条件评估`].filter(Boolean),standard_advice:(e.recommendations||[]).slice(0,4),manual_review_items:[`结合 3D 预览复核倒扣是否可通过改产品取消`,`确认侧向机构与顶出、冷却、分型面是否存在干涉`]},`rules`)});u(()=>{let e={critical:0,high:0,medium:0,low:0};return(K.value||[]).forEach(t=>{let n=String(t.level||`medium`).toLowerCase();e[n]===void 0?e.medium+=1:e[n]+=1}),e});let J=u(()=>q(fn(V.task?.llm_report||``),`ai`)||mn.value),Y=u(()=>pn(V.task?.llm_report||``)),hn=u(()=>Y.value&&(Y.value.sections&&Y.value.sections.length>0||!!Y.value.overview)),gn=u(()=>(Y.value?.sections||[]).filter(e=>e.type===`issues`?e.items?.length>0:e.type===`params_table`?e.rows?.length>0:e.type===`recommendations`?e.items?.length>0:!0));u(()=>{let e=V.task?.stage_timings||{};return Object.entries(e).filter(([,e])=>typeof e==`number`).sort((e,t)=>t[1]-e[1])});let _n=u(()=>{let e={critical:0,high:1,medium:2,low:3};return[...V.task?.analysis_result?.design_recommendations||[]].sort((t,n)=>(e[t.priority]??99)-(e[n.priority]??99))});u(()=>_n.value[0]||null);let X=u(()=>K.value?.length||0),vn=u(()=>{let e=W.value?.mold_cavities?.cavity_count;if(typeof e==`number`)return e;let t=W.value?.mold_cavities||ln.value?.mold_cavities||{};return t.cavity_count||Object.keys(t).filter(e=>e.startsWith(`cavity_`)).length||1});u(()=>X.value?X.value>=4?`高风险`:X.value>=2?`中风险`:`低风险`:`低风险`);let yn=[{id:`candidate-schemes`,label:`方案`},{id:`preview-3d`,label:`预览`},{id:`ai-side-action`,label:`AI倒扣分析`},{id:`export-cam`,label:`CAM/CNC`},{id:`llm-report`,label:`设计报告`}],Z=e=>{e&&(V.selectedSchemeId=e),V.previewStatus=`loading`,V.camPlan=null,V.camError=``},bn=()=>{V.previewStatus=`loaded`},xn=()=>{V.previewStatus=`error`},Q=e=>{if(!e)return`N/A`;if(e.parting?.axis)return`${e.parting.axis} 轴`;let t=e.parting?.direction;return Array.isArray(t)?`[${t.map(e=>Number(e).toFixed(2)).join(`, `)}]`:`N/A`};u(()=>V.task?.analysis_result?.detected_features||[]);let Sn=async(e,t)=>{let n={};B.token&&(n.Authorization=`Bearer ${B.token}`);let r=await fetch(e,{headers:n});if(!r.ok)throw Error(`下载失败 (${r.status}): 无法下载,需要授权`);let i=await r.blob(),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},$=async e=>{try{let t=R.params.taskId,n=await m(`/api/export-mold`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({task_id:t,scheme_id:U.value?.scheme_id||V.selectedSchemeId,formats:[e],components:[`cavity`,`core`,`parting_surface`]})});if(n.status===`success`&&n.data.files){for(let e of n.data.files){let n=e.relative_path||(e.filepath?e.filepath.replace(/\\/g,`/`).split(`/`).slice(-2).join(`/`):``);await Sn(e.download_path||`/api/export-download/${encodeURI(n)}?task_id=${encodeURIComponent(t)}`,e.filename)}p(`已导出 ${n.data.files.length} 个 ${e.toUpperCase()} 文件`,`success`)}else n.data.errors&&n.data.errors.length>0&&p(`导出失败: ${n.data.errors[0]}`,`error`)}catch(e){p(`导出失败: ${e.message}`,`error`)}},Cn=async()=>{try{V.camLoading=!0,V.camError=``;let e={task_id:R.params.taskId,scheme_id:U.value?.scheme_id,mold_steel:V.camForm.mold_steel,surface_quality:V.camForm.surface_quality,controller:V.camForm.controller,include_gcode:V.camForm.include_gcode},t=await m(`/api/cam/plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});V.camPlan=t?.data||null,t?.cam_preferences&&(V.camForm.mold_steel=t.cam_preferences.mold_steel||V.camForm.mold_steel,V.camForm.surface_quality=t.cam_preferences.surface_quality||V.camForm.surface_quality,V.camForm.controller=t.cam_preferences.controller||V.camForm.controller,V.camForm.include_gcode=!!t.cam_preferences.include_gcode),p(`CAM 计划生成完成`,`success`)}catch(e){V.camPlan=null,V.camError=e.message||`CAM 计划生成失败`,p(`CAM 计划生成失败: ${V.camError}`,`error`)}finally{V.camLoading=!1}};return(o,c)=>(t(),g(`div`,ce,[s(`div`,le,[s(`button`,{class:`btn-back`,onClick:c[0]||=e=>f(z).back()},[...c[12]||=[s(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[s(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})],-1),se(` 返回 `,-1)]]),c[13]||=s(`h1`,null,`分析结果`,-1)]),V.loading?(t(),g(`div`,ue,[...c[14]||=[s(`div`,{class:`spinner`},null,-1),s(`span`,null,`加载中...`,-1)]])):V.error?(t(),g(`div`,de,[s(`p`,null,a(V.error),1)])):V.task?(t(),g(`div`,fe,[s(`div`,pe,[s(`h2`,null,a(V.task.filename),1),s(`span`,{class:n([`badge`,V.task.status===`completed`?`badge-success`:`badge-error`])},a(V.task.status),3)]),s(`div`,me,[(t(),g(d,null,e(yn,e=>s(`a`,{key:e.id,class:`anchor-pill`,href:`#`+e.id},a(e.label),9,he)),64))]),s(`div`,ge,[s(`div`,{class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:c[1]||=e=>Z(U.value?.scheme_id)},[s(`div`,_e,[c[15]||=s(`h3`,null,`推荐方案`,-1),s(`span`,v,a(U.value?.title||U.value?.scheme_id||`方案待定`),1)]),s(`div`,y,[s(`div`,b,[c[16]||=s(`span`,{class:`info-label`},`方案说明`,-1),s(`span`,x,a(U.value?.summary||U.value?.reason||`基于当前几何与制造约束自动推荐`),1)]),s(`div`,S,[c[17]||=s(`span`,{class:`info-label`},`分型方向`,-1),s(`span`,C,a(Q(U.value)),1)]),s(`div`,w,[c[18]||=s(`span`,{class:`info-label`},`模具结构`,-1),s(`span`,T,a(U.value?.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),s(`div`,E,[c[19]||=s(`span`,{class:`info-label`},`分型面位置`,-1),s(`span`,D,a(U.value?.offset_label||`中面`),1)]),s(`div`,O,[c[20]||=s(`span`,{class:`info-label`},`型腔数`,-1),s(`span`,k,a(vn.value)+` 腔`,1)]),s(`div`,A,[c[21]||=s(`span`,{class:`info-label`},`预计成型周期`,-1),s(`span`,j,a(un.value?.overall_assessment?.estimated_cycle_time||`N/A`)+` s`,1)])])]),H.value.length>1?(t(),g(`div`,{key:0,class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:c[2]||=e=>Z(H.value[1]?.scheme_id)},[c[27]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`备选方案`),s(`span`,{class:`badge badge-warning`},`1 个备选`)],-1),s(`div`,M,[(t(!0),g(d,null,e(H.value.slice(1,2),e=>(t(),g(d,{key:`alt-`+e.scheme_id},[s(`div`,N,[c[22]||=s(`span`,{class:`info-label`},`方案说明`,-1),s(`span`,P,a(e.summary||e.reason||`暂无说明`),1)]),s(`div`,F,[c[23]||=s(`span`,{class:`info-label`},`分型方向`,-1),s(`span`,I,a(Q(e)),1)]),s(`div`,ve,[c[24]||=s(`span`,{class:`info-label`},`模具结构`,-1),s(`span`,ye,a(e.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),s(`div`,be,[c[25]||=s(`span`,{class:`info-label`},`分型面位置`,-1),s(`span`,xe,a(e.offset_label||`中面`),1)]),s(`div`,Se,[c[26]||=s(`span`,{class:`info-label`},`方案总分`,-1),s(`span`,Ce,a(f(_)(e.score)),1)])],64))),128))])])):(t(),g(`div`,we,[c[29]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`方案概览`),s(`span`,{class:`badge badge-success`},`单一方案`)],-1),s(`div`,Te,[s(`div`,Ee,[c[28]||=s(`span`,{class:`info-label`},`详细方案说明`,-1),s(`span`,De,a(U.value?.summary||U.value?.reason||`当前仅生成 1 套可用分模方案,已在推荐方案区域展示核心参数。`),1)])])]))]),V.task.status===`completed`?(t(),g(`div`,Oe,[s(`button`,{class:`btn-sm btn-primary`,onClick:c[3]||=e=>$(`step`),title:`导出装配体STEP格式(UG/FreeCAD/SolidWorks通用)`},` 📦 导出 STEP `),s(`button`,{class:`btn-sm btn-secondary`,onClick:c[4]||=e=>$(`iges`),title:`导出IGES格式(兼容旧系统)`},` 导出 IGES `),s(`button`,{class:`btn-sm btn-secondary`,onClick:c[5]||=e=>$(`stl`),title:`导出STL网格格式(3D打印预览)`},` 导出 STL `),s(`button`,{class:`btn-sm btn-secondary`,onClick:c[6]||=e=>$(`brep`),title:`导出BRep格式(FreeCAD原生)`},` 导出 BRep `)])):h(``,!0),G.value?(t(),g(`div`,ke,[c[31]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`3D 预览`),s(`span`,{class:`badge badge-info`},`重点区域`)],-1),V.previewStatus===`error`?(t(),g(`div`,Ae,[c[30]||=s(`div`,{class:`inline-alert-title`},`预览加载失败`,-1),s(`div`,je,`HTML 已生成但加载异常,请检查该链接是否可访问:`+a(G.value),1)])):h(``,!0),(t(),g(`iframe`,{key:G.value,src:G.value,class:`viewer-frame viewer-frame-hero`,onLoad:bn,onError:xn},null,40,Me))])):(t(),g(`div`,Ne,[...c[32]||=[ee(`

3D 预览

未生成
预览未生成
当前任务没有返回 HTML 预览链接,属于未生成状态。
`,2)]])),H.value.length>1?(t(),g(`div`,Pe,[c[34]||=s(`summary`,null,`📊 方案对比`,-1),s(`div`,Fe,[s(`table`,Ie,[c[33]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`方案`),s(`th`,null,`方向`),s(`th`,null,`位置`),s(`th`,null,`总分`),s(`th`,null,`可制造性`),s(`th`,null,`分型质量`),s(`th`,null,`倒扣数`),s(`th`,null,`锁模力`)])],-1),s(`tbody`,null,[(t(!0),g(d,null,e(H.value.slice(0,2),(e,n)=>(t(),g(`tr`,{key:`cmp-`+e.scheme_id,style:r(V.selectedSchemeId===e.scheme_id?`background: rgba(var(--primary-rgb), 0.06); font-weight: 600;cursor:pointer`:`cursor:pointer`),onClick:t=>Z(e.scheme_id)},[s(`td`,null,[n===0?(t(),g(`span`,Re,`★ 推荐方案`)):(t(),g(`span`,ze,`备选方案`))]),s(`td`,null,a(Q(e)),1),s(`td`,null,a(e.offset_label||`中面`),1),s(`td`,null,a(f(_)(e.score)),1),s(`td`,null,a(f(_)(e.score_breakdown?.manufacturability||0)),1),s(`td`,null,a(f(_)(e.score_breakdown?.parting_quality||0)),1),s(`td`,null,a(e.key_info?.quality_considerations?.undercut_count||0),1),s(`td`,null,a(e.cavity_data?.manufacturing_info?.estimated_clamping_force||`N/A`),1)],12,Le))),128))])])])])):h(``,!0),s(`div`,Be,[s(`div`,Ve,[c[35]||=s(`h3`,null,`AI 倒扣与抽芯分析`,-1),J.value?(t(),g(`span`,{key:0,class:n([`badge`,J.value.status===`required`?`badge-error`:J.value.status===`not_required`?`badge-success`:`badge-warning`])},a(J.value.statusLabel),3)):(t(),g(`span`,He,`未生成`))]),J.value?(t(),g(`div`,Ue,[s(`div`,We,[c[40]||=s(`h4`,null,`AI 结论`,-1),s(`div`,Ge,[s(`div`,Ke,[c[36]||=s(`span`,{class:`info-label`},`判断结果`,-1),s(`span`,qe,a(J.value.conclusion),1)]),s(`div`,Je,[c[37]||=s(`span`,{class:`info-label`},`推荐方案`,-1),s(`span`,Ye,a(J.value.mechanismLabel),1)]),J.value.confidence==null?h(``,!0):(t(),g(`div`,Xe,[c[38]||=s(`span`,{class:`info-label`},`置信度`,-1),s(`span`,Ze,a(Math.round(J.value.confidence*100))+`%`,1)])),s(`div`,Qe,[c[39]||=s(`span`,{class:`info-label`},`分析来源`,-1),s(`span`,$e,a(J.value.source===`ai`?`AI 模型`:`规则回退`),1)])]),s(`div`,et,a(J.value.summary||`当前任务未返回更多摘要。`),1)]),s(`div`,tt,[J.value.reasons.length?(t(),g(`div`,nt,[c[41]||=s(`h4`,null,`判断依据`,-1),s(`div`,rt,[(t(!0),g(d,null,e(J.value.reasons,(e,n)=>(t(),g(`div`,{class:`recommendation-item medium`,key:`ai-reason-`+n},[s(`div`,it,a(e),1)]))),128))])])):h(``,!0),J.value.standardAdvice.length?(t(),g(`div`,at,[c[42]||=s(`h4`,null,`标准化建议`,-1),s(`div`,ot,[(t(!0),g(d,null,e(J.value.standardAdvice,(e,n)=>(t(),g(`div`,{class:`recommendation-item low`,key:`ai-advice-`+n},[s(`div`,st,a(e),1)]))),128))])])):h(``,!0),J.value.manualReviewItems.length?(t(),g(`div`,ct,[c[43]||=s(`h4`,null,`人工复核项`,-1),s(`div`,L,[(t(!0),g(d,null,e(J.value.manualReviewItems,(e,n)=>(t(),g(`div`,{class:`recommendation-item medium`,key:`ai-review-`+n},[s(`div`,lt,a(e),1)]))),128))])])):h(``,!0)])])):(t(),g(`div`,ut,[...c[44]||=[s(`div`,{class:`inline-alert-title`},`AI 结论未生成`,-1),s(`div`,{class:`inline-alert-message`},`当前任务未生成倒扣与抽芯 AI 分析,请检查模型配置或重新运行分析。`,-1)]]))]),s(`div`,dt,[c[64]||=s(`div`,{class:`summary-header`},[s(`h3`,null,`CAM 与 CNC 加工`),s(`span`,{class:`badge badge-info`},`工艺规划`)],-1),s(`div`,ft,[c[50]||=s(`h4`,null,`CAM 参数`,-1),s(`div`,pt,[s(`div`,mt,[c[45]||=s(`span`,{class:`info-label`},`模具钢`,-1),i(s(`select`,{"onUpdate:modelValue":c[7]||=e=>V.camForm.mold_steel=e,class:`form-select`},[(t(),g(d,null,e(an,e=>s(`option`,{key:`steel-`+e.value,value:e.value},a(e.label),9,ht)),64))],512),[[l,V.camForm.mold_steel]])]),s(`div`,gt,[c[46]||=s(`span`,{class:`info-label`},`表面质量`,-1),i(s(`select`,{"onUpdate:modelValue":c[8]||=e=>V.camForm.surface_quality=e,class:`form-select`},[(t(),g(d,null,e(on,e=>s(`option`,{key:`surf-`+e.value,value:e.value},a(e.label),9,_t)),64))],512),[[l,V.camForm.surface_quality]])]),s(`div`,vt,[c[47]||=s(`span`,{class:`info-label`},`控制器`,-1),i(s(`select`,{"onUpdate:modelValue":c[9]||=e=>V.camForm.controller=e,class:`form-select`},[(t(),g(d,null,e(sn,e=>s(`option`,{key:`ctrl-`+e.value,value:e.value},a(e.label),9,yt)),64))],512),[[l,V.camForm.controller]])]),s(`div`,bt,[c[49]||=s(`span`,{class:`info-label`},`包含G代码`,-1),s(`label`,xt,[i(s(`input`,{type:`checkbox`,class:`checkbox-input`,"onUpdate:modelValue":c[10]||=e=>V.camForm.include_gcode=e},null,512),[[ae,V.camForm.include_gcode]]),c[48]||=s(`span`,{class:`checkbox-label`},`返回G代码文本`,-1)])])]),s(`button`,{class:`btn-sm btn-primary`,disabled:V.camLoading,onClick:c[11]||=e=>Cn(),style:{"margin-top":`var(--space-2)`},title:`基于当前选中方案生成CAM工艺计划`},a(V.camLoading?`⏳ 生成中...`:`🔧 生成 CAM 计划`),9,St)]),V.camError?(t(),g(`div`,Ct,[c[51]||=s(`div`,{class:`inline-alert-title`},`CAM 计划生成失败`,-1),s(`div`,wt,a(V.camError),1)])):V.camPlan?(t(),g(d,{key:2},[s(`div`,Et,[s(`div`,Dt,[c[57]||=s(`h4`,null,`计划摘要`,-1),s(`div`,Ot,[s(`div`,kt,[c[53]||=s(`span`,{class:`info-label`},`方案ID`,-1),s(`span`,At,a(V.camPlan.scheme_id||`N/A`),1)]),s(`div`,jt,[c[54]||=s(`span`,{class:`info-label`},`总工序数`,-1),s(`span`,Mt,a(V.camPlan.summary?.total_operations||0),1)]),s(`div`,Nt,[c[55]||=s(`span`,{class:`info-label`},`预计总时长`,-1),s(`span`,Pt,a(f(_)(V.camPlan.summary?.total_estimated_time_min||0))+` min`,1)]),s(`div`,Ft,[c[56]||=s(`span`,{class:`info-label`},`方案可信度`,-1),s(`span`,It,a(f(_)(V.camPlan.confidence?.score||0)),1)])])]),s(`div`,Lt,[c[60]||=s(`h4`,null,`刀具建议`,-1),s(`div`,Rt,[s(`div`,zt,[c[58]||=s(`span`,{class:`info-label`},`粗加工刀具`,-1),s(`span`,Bt,a(V.camPlan.tooling_suggestion?.roughing_tool?.tool_id||`N/A`),1)]),s(`div`,Vt,[c[59]||=s(`span`,{class:`info-label`},`精加工刀具`,-1),s(`span`,Ht,a(V.camPlan.tooling_suggestion?.finishing_tool?.tool_id||`N/A`),1)])])])]),s(`div`,Ut,[c[62]||=s(`h4`,null,`工序计划`,-1),s(`table`,Wt,[c[61]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`序号`),s(`th`,null,`工序`),s(`th`,null,`刀具`),s(`th`,null,`主轴转速`),s(`th`,null,`进给率`),s(`th`,null,`预计时长(min)`)])],-1),s(`tbody`,null,[(t(!0),g(d,null,e(V.camPlan.process_plan||[],e=>(t(),g(`tr`,{key:`cam-op-`+e.seq},[s(`td`,null,a(e.seq),1),s(`td`,null,a(e.operation),1),s(`td`,null,a(e.tool_id||`N/A`),1),s(`td`,null,a(f(_)(e.spindle_speed_rpm||0)),1),s(`td`,null,a(f(_)(e.feed_rate_mm_min||0)),1),s(`td`,null,a(f(_)(e.estimated_time_min||0)),1)]))),128))])])]),s(`div`,Gt,[c[63]||=s(`h4`,null,`制造风险提示`,-1),s(`div`,Kt,[(t(!0),g(d,null,e(V.camPlan.manufacturing_warnings||[],(e,n)=>(t(),g(`div`,{class:`recommendation-item medium`,key:`cam-warn-`+n},[s(`div`,qt,a(e),1)]))),128))])])],64)):(t(),g(`div`,Tt,[...c[52]||=[s(`div`,{class:`inline-alert-title`},`尚未生成 CAM 计划`,-1),s(`div`,{class:`inline-alert-message`},`点击上方"生成 CAM 计划"后,将返回工序计划、刀具建议与制造风险提示。`,-1)]]))]),hn.value?(t(),g(`div`,Jt,[s(`div`,Yt,[c[65]||=s(`h3`,null,`LLM 设计报告`,-1),s(`span`,{class:n([`badge`,(Y.value?.overall_score||0)>=7?`badge-success`:(Y.value?.overall_score||0)>=5?`badge-warning`:`badge-error`])},` 评分 `+a(Y.value?.overall_score||`N/A`)+` / 10 `,3)]),Y.value?.overview?(t(),g(`div`,Xt,a(Y.value?.overview),1)):h(``,!0),s(`div`,Zt,[(t(!0),g(d,null,e(gn.value,(i,o)=>(t(),g(`div`,{key:`dr-sec-`+o,class:n([`result-card`,i.type===`issues`?`result-card-highlight`:``])},[s(`h4`,{style:r(i.type===`issues`?`color: var(--danger-color);`:``)},a(i.heading),5),i.type===`issues`?(t(),g(`div`,Qt,[(t(!0),g(d,null,e(i.items,(e,r)=>(t(),g(`div`,{key:`dr-issue-`+r,class:n([`recommendation-item`,e.level===`high`?`high`:e.level===`medium`?`medium`:`low`])},[s(`span`,{class:n([`priority-badge`,e.level||`medium`]),style:{"margin-right":`var(--space-1)`}},a(e.level===`high`?`🔴`:e.level===`medium`?`🟡`:`🟢`),3),s(`div`,$t,a(e.content),1)],2))),128))])):i.type===`params_table`?(t(),g(`table`,en,[s(`thead`,null,[s(`tr`,null,[(t(!0),g(d,null,e(i.headers,(e,n)=>(t(),g(`th`,{key:`dr-h-`+n},a(e),1))),128))])]),s(`tbody`,null,[(t(!0),g(d,null,e(i.rows,(n,r)=>(t(),g(`tr`,{key:`dr-r-`+r},[(t(!0),g(d,null,e(n,(e,n)=>(t(),g(`td`,{key:`dr-c-`+n},a(e),1))),128))]))),128))])])):i.type===`recommendations`?(t(),g(`div`,tn,[(t(!0),g(d,null,e(i.items,(e,n)=>(t(),g(`div`,{class:`recommendation-item low`,key:`dr-rec-`+n},[s(`div`,nn,`💡 `+a(e),1)]))),128))])):(t(),g(`div`,rn,a(JSON.stringify(i)),1))],2))),128))])])):h(``,!0)])):h(``,!0)]))}});export{R as default}; \ No newline at end of file diff --git a/static/assets/UsersView-uF_CoXrs.js b/static/assets/UsersView-DRSsev8H.js similarity index 98% rename from static/assets/UsersView-uF_CoXrs.js rename to static/assets/UsersView-DRSsev8H.js index 81a12ea..922ac71 100644 --- a/static/assets/UsersView-uF_CoXrs.js +++ b/static/assets/UsersView-DRSsev8H.js @@ -1 +1 @@ -import{D as e,E as t,M as n,O as r,P as i,S as a,_ as o,f as s,h as c,j as l,k as u,l as d,m as f,n as p,o as m,s as h,u as g,v as _,w as v,x as y,y as b}from"./index-B-OcU2wj.js";import{r as x}from"./utils-COFIQvWo.js";var S={class:`page-container`},C={class:`page-header`},w={key:0,class:`loading-state`},T={key:1,class:`table-container`},E={class:`data-table`},D={class:`action-buttons`,style:{display:`flex`,gap:`4px`}},O=[`onClick`],k=[`onClick`],A=[`onClick`],j={class:`modal-content`},M={class:`modal-header`},N={class:`modal-body`},P={class:`form-group`},F=[`disabled`],I={class:`form-group`},L={key:0,class:`form-group`},R={class:`form-group`},z={class:`form-group`},B={class:`checkbox-group`,style:{"flex-direction":`column`,gap:`8px`}},V=[`value`],H={class:`modal-footer`},U=a({__name:`UsersView`,setup(a){let U=d(),W=h(),G=W.user,K=u({users:[],roles:[],loading:!0,showUserModal:!1,editingUser:null,userForm:{username:``,email:``,password:``,full_name:``,role_ids:[]}}),q=async()=>{try{K.users=await m(`/api/auth/users`)}catch(e){p(e.message||`加载用户列表失败`,`error`)}finally{K.loading=!1}},J=async()=>{try{K.roles=await m(`/api/auth/roles`)}catch(e){p(e.message||`加载角色列表失败`,`error`)}},Y=(e=null)=>{K.editingUser=e,e?K.userForm={username:e.username,email:e.email,password:``,full_name:e.full_name||``,role_ids:e.roles.map(e=>{let t=K.roles.find(t=>t.code===e);return t?t.id:null}).filter(e=>e!==null)}:K.userForm={username:``,email:``,password:``,full_name:``,role_ids:[]},K.showUserModal=!0},X=async()=>{if(!K.userForm.username||!K.userForm.email){p(`请填写用户名和邮箱`,`error`);return}if(!K.editingUser&&!K.userForm.password){p(`请填写密码`,`error`);return}try{K.editingUser?(await m(`/api/auth/users/${K.editingUser.id}`,{method:`PUT`,body:JSON.stringify({email:K.userForm.email,full_name:K.userForm.full_name||null,role_ids:K.userForm.role_ids})}),p(`用户更新成功`,`success`)):(await m(`/api/auth/users`,{method:`POST`,body:JSON.stringify(K.userForm)}),p(`用户创建成功`,`success`)),K.showUserModal=!1,q()}catch(e){p(e.message||`保存用户失败`,`error`)}},Z=async e=>{if(confirm(`确定要删除用户 ${e.username} 吗?`))try{await m(`/api/auth/users/${e.id}`,{method:`DELETE`}),p(`用户已删除`,`success`),q()}catch(e){p(e.message||`删除用户失败`,`error`)}},Q=async e=>{let t=prompt(`请输入 ${e.username} 的新密码:`);if(!t||t.length<6){p(`密码长度至少6位`,`error`);return}try{await m(`/api/auth/users/${e.id}/reset-password`,{method:`PUT`,body:JSON.stringify(t)}),p(`密码已重置`,`success`)}catch(e){p(e.message||`重置密码失败`,`error`)}};return v(async()=>{if(!W.user?.is_superuser){U.push(`/`);return}await J(),q()}),(a,u)=>(t(),b(`div`,S,[o(`div`,C,[u[9]||=o(`div`,null,[o(`h1`,null,`用户管理`),o(`p`,null,`管理系统用户和权限`)],-1),o(`button`,{class:`btn btn-primary`,onClick:u[0]||=e=>Y()},`+ 添加用户`)]),K.loading?(t(),b(`div`,w,[...u[10]||=[o(`div`,{class:`loading-spinner`},null,-1),o(`span`,null,`加载中...`,-1)]])):(t(),b(`div`,T,[o(`table`,E,[u[11]||=o(`thead`,null,[o(`tr`,null,[o(`th`,null,`用户名`),o(`th`,null,`邮箱`),o(`th`,null,`姓名`),o(`th`,null,`状态`),o(`th`,null,`角色`),o(`th`,null,`注册时间`),o(`th`,null,`操作`)])],-1),o(`tbody`,null,[(t(!0),b(c,null,e(K.users,r=>(t(),b(`tr`,{key:r.id},[o(`td`,null,i(r.username),1),o(`td`,null,i(r.email),1),o(`td`,null,i(r.full_name||`-`),1),o(`td`,null,[o(`span`,{class:n([`badge`,r.is_active?`badge-success`:`badge-error`])},i(r.is_active?`正常`:`禁用`),3)]),o(`td`,null,[(t(!0),b(c,null,e(r.roles,e=>(t(),b(`span`,{key:e,class:`badge badge-info`,style:{"margin-right":`4px`}},i(e),1))),128))]),o(`td`,null,i(l(x)(r.created_at)),1),o(`td`,null,[o(`div`,D,[o(`button`,{class:`btn btn-sm`,style:{background:`var(--primary-500)`,color:`white`},onClick:e=>Y(r)},`编辑`,8,O),o(`button`,{class:`btn btn-sm`,style:{background:`#eab308`,color:`white`},onClick:e=>Q(r)},`重置密码`,8,k),r.id===l(G)?.id?_(``,!0):(t(),b(`button`,{key:0,class:`btn btn-sm`,style:{background:`var(--error)`,color:`white`},onClick:e=>Z(r)},`删除`,8,A))])])]))),128))])])])),K.showUserModal?(t(),b(`div`,{key:2,class:`modal-overlay`,onClick:u[8]||=f(e=>K.showUserModal=!1,[`self`])},[o(`div`,j,[o(`div`,M,[o(`h2`,null,i(K.editingUser?`编辑用户`:`添加用户`),1),o(`button`,{class:`modal-close`,onClick:u[1]||=e=>K.showUserModal=!1},`×`)]),o(`div`,N,[o(`div`,P,[u[12]||=o(`label`,{class:`form-label`},`用户名`,-1),r(o(`input`,{"onUpdate:modelValue":u[2]||=e=>K.userForm.username=e,type:`text`,class:`form-input`,disabled:!!K.editingUser},null,8,F),[[s,K.userForm.username]])]),o(`div`,I,[u[13]||=o(`label`,{class:`form-label`},`邮箱`,-1),r(o(`input`,{"onUpdate:modelValue":u[3]||=e=>K.userForm.email=e,type:`email`,class:`form-input`},null,512),[[s,K.userForm.email]])]),K.editingUser?_(``,!0):(t(),b(`div`,L,[u[14]||=o(`label`,{class:`form-label`},`密码`,-1),r(o(`input`,{"onUpdate:modelValue":u[4]||=e=>K.userForm.password=e,type:`password`,class:`form-input`},null,512),[[s,K.userForm.password]])])),o(`div`,R,[u[15]||=o(`label`,{class:`form-label`},`姓名`,-1),r(o(`input`,{"onUpdate:modelValue":u[5]||=e=>K.userForm.full_name=e,type:`text`,class:`form-input`},null,512),[[s,K.userForm.full_name]])]),o(`div`,z,[u[16]||=o(`label`,{class:`form-label`},`角色`,-1),o(`div`,B,[(t(!0),b(c,null,e(K.roles,e=>(t(),b(`label`,{key:e.id,class:`checkbox-label`},[r(o(`input`,{type:`checkbox`,value:e.id,"onUpdate:modelValue":u[6]||=e=>K.userForm.role_ids=e,class:`checkbox-input`},null,8,V),[[g,K.userForm.role_ids]]),y(` `+i(e.name),1)]))),128))])])]),o(`div`,H,[o(`button`,{class:`btn btn-secondary`,onClick:u[7]||=e=>K.showUserModal=!1},`取消`),o(`button`,{class:`btn btn-primary`,onClick:X},`保存`)])])])):_(``,!0)]))}});export{U as default}; \ No newline at end of file +import{D as e,E as t,M as n,O as r,P as i,S as a,_ as o,f as s,h as c,j as l,k as u,l as d,m as f,n as p,o as m,s as h,u as g,v as _,w as v,x as y,y as b}from"./index-B1sOGpZZ.js";import{r as x}from"./utils-COFIQvWo.js";var S={class:`page-container`},C={class:`page-header`},w={key:0,class:`loading-state`},T={key:1,class:`table-container`},E={class:`data-table`},D={class:`action-buttons`,style:{display:`flex`,gap:`4px`}},O=[`onClick`],k=[`onClick`],A=[`onClick`],j={class:`modal-content`},M={class:`modal-header`},N={class:`modal-body`},P={class:`form-group`},F=[`disabled`],I={class:`form-group`},L={key:0,class:`form-group`},R={class:`form-group`},z={class:`form-group`},B={class:`checkbox-group`,style:{"flex-direction":`column`,gap:`8px`}},V=[`value`],H={class:`modal-footer`},U=a({__name:`UsersView`,setup(a){let U=d(),W=h(),G=W.user,K=u({users:[],roles:[],loading:!0,showUserModal:!1,editingUser:null,userForm:{username:``,email:``,password:``,full_name:``,role_ids:[]}}),q=async()=>{try{K.users=await m(`/api/auth/users`)}catch(e){p(e.message||`加载用户列表失败`,`error`)}finally{K.loading=!1}},J=async()=>{try{K.roles=await m(`/api/auth/roles`)}catch(e){p(e.message||`加载角色列表失败`,`error`)}},Y=(e=null)=>{K.editingUser=e,e?K.userForm={username:e.username,email:e.email,password:``,full_name:e.full_name||``,role_ids:e.roles.map(e=>{let t=K.roles.find(t=>t.code===e);return t?t.id:null}).filter(e=>e!==null)}:K.userForm={username:``,email:``,password:``,full_name:``,role_ids:[]},K.showUserModal=!0},X=async()=>{if(!K.userForm.username||!K.userForm.email){p(`请填写用户名和邮箱`,`error`);return}if(!K.editingUser&&!K.userForm.password){p(`请填写密码`,`error`);return}try{K.editingUser?(await m(`/api/auth/users/${K.editingUser.id}`,{method:`PUT`,body:JSON.stringify({email:K.userForm.email,full_name:K.userForm.full_name||null,role_ids:K.userForm.role_ids})}),p(`用户更新成功`,`success`)):(await m(`/api/auth/users`,{method:`POST`,body:JSON.stringify(K.userForm)}),p(`用户创建成功`,`success`)),K.showUserModal=!1,q()}catch(e){p(e.message||`保存用户失败`,`error`)}},Z=async e=>{if(confirm(`确定要删除用户 ${e.username} 吗?`))try{await m(`/api/auth/users/${e.id}`,{method:`DELETE`}),p(`用户已删除`,`success`),q()}catch(e){p(e.message||`删除用户失败`,`error`)}},Q=async e=>{let t=prompt(`请输入 ${e.username} 的新密码:`);if(!t||t.length<6){p(`密码长度至少6位`,`error`);return}try{await m(`/api/auth/users/${e.id}/reset-password`,{method:`PUT`,body:JSON.stringify(t)}),p(`密码已重置`,`success`)}catch(e){p(e.message||`重置密码失败`,`error`)}};return v(async()=>{if(!W.user?.is_superuser){U.push(`/`);return}await J(),q()}),(a,u)=>(t(),b(`div`,S,[o(`div`,C,[u[9]||=o(`div`,null,[o(`h1`,null,`用户管理`),o(`p`,null,`管理系统用户和权限`)],-1),o(`button`,{class:`btn btn-primary`,onClick:u[0]||=e=>Y()},`+ 添加用户`)]),K.loading?(t(),b(`div`,w,[...u[10]||=[o(`div`,{class:`loading-spinner`},null,-1),o(`span`,null,`加载中...`,-1)]])):(t(),b(`div`,T,[o(`table`,E,[u[11]||=o(`thead`,null,[o(`tr`,null,[o(`th`,null,`用户名`),o(`th`,null,`邮箱`),o(`th`,null,`姓名`),o(`th`,null,`状态`),o(`th`,null,`角色`),o(`th`,null,`注册时间`),o(`th`,null,`操作`)])],-1),o(`tbody`,null,[(t(!0),b(c,null,e(K.users,r=>(t(),b(`tr`,{key:r.id},[o(`td`,null,i(r.username),1),o(`td`,null,i(r.email),1),o(`td`,null,i(r.full_name||`-`),1),o(`td`,null,[o(`span`,{class:n([`badge`,r.is_active?`badge-success`:`badge-error`])},i(r.is_active?`正常`:`禁用`),3)]),o(`td`,null,[(t(!0),b(c,null,e(r.roles,e=>(t(),b(`span`,{key:e,class:`badge badge-info`,style:{"margin-right":`4px`}},i(e),1))),128))]),o(`td`,null,i(l(x)(r.created_at)),1),o(`td`,null,[o(`div`,D,[o(`button`,{class:`btn btn-sm`,style:{background:`var(--primary-500)`,color:`white`},onClick:e=>Y(r)},`编辑`,8,O),o(`button`,{class:`btn btn-sm`,style:{background:`#eab308`,color:`white`},onClick:e=>Q(r)},`重置密码`,8,k),r.id===l(G)?.id?_(``,!0):(t(),b(`button`,{key:0,class:`btn btn-sm`,style:{background:`var(--error)`,color:`white`},onClick:e=>Z(r)},`删除`,8,A))])])]))),128))])])])),K.showUserModal?(t(),b(`div`,{key:2,class:`modal-overlay`,onClick:u[8]||=f(e=>K.showUserModal=!1,[`self`])},[o(`div`,j,[o(`div`,M,[o(`h2`,null,i(K.editingUser?`编辑用户`:`添加用户`),1),o(`button`,{class:`modal-close`,onClick:u[1]||=e=>K.showUserModal=!1},`×`)]),o(`div`,N,[o(`div`,P,[u[12]||=o(`label`,{class:`form-label`},`用户名`,-1),r(o(`input`,{"onUpdate:modelValue":u[2]||=e=>K.userForm.username=e,type:`text`,class:`form-input`,disabled:!!K.editingUser},null,8,F),[[s,K.userForm.username]])]),o(`div`,I,[u[13]||=o(`label`,{class:`form-label`},`邮箱`,-1),r(o(`input`,{"onUpdate:modelValue":u[3]||=e=>K.userForm.email=e,type:`email`,class:`form-input`},null,512),[[s,K.userForm.email]])]),K.editingUser?_(``,!0):(t(),b(`div`,L,[u[14]||=o(`label`,{class:`form-label`},`密码`,-1),r(o(`input`,{"onUpdate:modelValue":u[4]||=e=>K.userForm.password=e,type:`password`,class:`form-input`},null,512),[[s,K.userForm.password]])])),o(`div`,R,[u[15]||=o(`label`,{class:`form-label`},`姓名`,-1),r(o(`input`,{"onUpdate:modelValue":u[5]||=e=>K.userForm.full_name=e,type:`text`,class:`form-input`},null,512),[[s,K.userForm.full_name]])]),o(`div`,z,[u[16]||=o(`label`,{class:`form-label`},`角色`,-1),o(`div`,B,[(t(!0),b(c,null,e(K.roles,e=>(t(),b(`label`,{key:e.id,class:`checkbox-label`},[r(o(`input`,{type:`checkbox`,value:e.id,"onUpdate:modelValue":u[6]||=e=>K.userForm.role_ids=e,class:`checkbox-input`},null,8,V),[[g,K.userForm.role_ids]]),y(` `+i(e.name),1)]))),128))])])]),o(`div`,H,[o(`button`,{class:`btn btn-secondary`,onClick:u[7]||=e=>K.showUserModal=!1},`取消`),o(`button`,{class:`btn btn-primary`,onClick:X},`保存`)])])])):_(``,!0)]))}});export{U as default}; \ No newline at end of file diff --git a/static/assets/index-B-OcU2wj.js b/static/assets/index-B1sOGpZZ.js similarity index 99% rename from static/assets/index-B-OcU2wj.js rename to static/assets/index-B1sOGpZZ.js index ad2c5c5..83d579b 100644 --- a/static/assets/index-B-OcU2wj.js +++ b/static/assets/index-B1sOGpZZ.js @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomeView-LwI9XCn0.js","assets/HomeView-CGvYs6T0.css","assets/LoginView-DpK1KsR0.js","assets/LoginView-Bwqcd8du.css","assets/UsersView-uF_CoXrs.js","assets/utils-COFIQvWo.js","assets/MoldInsightView-BG0m6f4M.js","assets/ResultView-RD_BPQTj.js","assets/InventoryView-DgDx8sLe.js","assets/InventoryView-B0k6FNvT.css"])))=>i.map(i=>d[i]); -(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,T=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ee=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},te=/-\w/g,E=ee(e=>e.replace(te,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,D=ee(e=>e.replace(ne,`-$1`).toLowerCase()),re=ee(e=>e.charAt(0).toUpperCase()+e.slice(1)),ie=ee(e=>e?`on${re(e)}`:``),O=(e,t)=>!Object.is(e,t),ae=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se=e=>{let t=g(e)?Number(e):NaN;return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function he(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;nbe(e,t))}var Se=e=>!!(e&&e.__v_isRef===!0),Ce=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?Se(e)?Ce(e.value):JSON.stringify(e,we,2):String(e),we=(e,t)=>Se(t)?we(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Te(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Te(e))}:_(t)?Te(t):v(t)&&!d(t)&&!C(t)?String(t):t,Te=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,A,Ee=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&A&&(A.active?(this.parent=A,this.index=(A.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(A===this)A=this.prevScope;else{let e=A;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ne;){let t=Ne;for(Ne=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Re(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ze(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),He(r),Ue(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Be(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ve(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ve(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ye)||(e.globalVersion=Ye,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Be(e))))return;e.flags|=2;let t=e.dep,n=j,r=We;j=e,We=!0;try{Re(e);let n=e.fn(e._value);(t.version===0||O(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{j=n,We=r,ze(e),e.flags&=-3}}function He(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)He(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ue(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var We=!0,Ge=[];function Ke(){Ge.push(We),We=!1}function qe(){let e=Ge.pop();We=e===void 0?!0:e}function Je(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=j;j=void 0;try{t()}finally{j=e}}}var Ye=0,Xe=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Ze=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!j||!We||j===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==j)t=this.activeLink=new Xe(j,this),j.deps?(t.prevDep=j.depsTail,j.depsTail.nextDep=t,j.depsTail=t):j.deps=j.depsTail=t,Qe(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=j.depsTail,t.nextDep=void 0,j.depsTail.nextDep=t,j.depsTail=t,j.deps===t&&(j.deps=e)}return t}trigger(e){this.version++,Ye++,this.notify(e)}notify(e){Ie();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Le()}}};function Qe(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Qe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var $e=new WeakMap,et=Symbol(``),tt=Symbol(``),nt=Symbol(``);function M(e,t,n){if(We&&j){let t=$e.get(e);t||$e.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ze),r.map=t,r.key=n),r.track()}}function rt(e,t,n,r,i,a){let o=$e.get(e);if(!o){Ye++;return}let s=e=>{e&&e.trigger()};if(Ie(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===nt||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(nt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`delete`:i||(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`set`:f(e)&&s(o.get(et));break}}Le()}function it(e,t){let n=$e.get(e);return n&&n.get(t)}function at(e){let t=P(e);return t===e?t:(M(t,`iterate`,nt),N(e)?t:t.map(Kt))}function ot(e){return M(e=P(e),`iterate`,nt),e}function st(e,t){return Ut(e)?qt(Ht(e)?Kt(t):t):Kt(t)}var ct={__proto__:null,[Symbol.iterator](){return lt(this,Symbol.iterator,e=>st(this,e))},concat(...e){return at(this).concat(...e.map(e=>d(e)?at(e):e))},entries(){return lt(this,`entries`,e=>(e[1]=st(this,e[1]),e))},every(e,t){return dt(this,`every`,e,t,void 0,arguments)},filter(e,t){return dt(this,`filter`,e,t,e=>e.map(e=>st(this,e)),arguments)},find(e,t){return dt(this,`find`,e,t,e=>st(this,e),arguments)},findIndex(e,t){return dt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return dt(this,`findLast`,e,t,e=>st(this,e),arguments)},findLastIndex(e,t){return dt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return dt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return pt(this,`includes`,e)},indexOf(...e){return pt(this,`indexOf`,e)},join(e){return at(this).join(e)},lastIndexOf(...e){return pt(this,`lastIndexOf`,e)},map(e,t){return dt(this,`map`,e,t,void 0,arguments)},pop(){return mt(this,`pop`)},push(...e){return mt(this,`push`,e)},reduce(e,...t){return ft(this,`reduce`,e,t)},reduceRight(e,...t){return ft(this,`reduceRight`,e,t)},shift(){return mt(this,`shift`)},some(e,t){return dt(this,`some`,e,t,void 0,arguments)},splice(...e){return mt(this,`splice`,e)},toReversed(){return at(this).toReversed()},toSorted(e){return at(this).toSorted(e)},toSpliced(...e){return at(this).toSpliced(...e)},unshift(...e){return mt(this,`unshift`,e)},values(){return lt(this,`values`,e=>st(this,e))}};function lt(e,t,n){let r=ot(e),i=r[t]();return r!==e&&!N(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var ut=Array.prototype;function dt(e,t,n,r,i,a){let o=ot(e),s=o!==e&&!N(e),c=o[t];if(c!==ut[t]){let t=c.apply(e,a);return s?Kt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,st(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ft(e,t,n,r){let i=ot(e),a=i!==e&&!N(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=st(e,t)),n.call(this,t,st(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?st(e,c):c}function pt(e,t,n){let r=P(e);M(r,`iterate`,nt);let i=r[t](...n);return(i===-1||i===!1)&&Wt(n[0])?(n[0]=P(n[0]),r[t](...n)):i}function mt(e,t,n=[]){Ke(),Ie();let r=P(e)[t].apply(e,n);return Le(),qe(),r}var ht=e(`__proto__,__v_isRef,__isVue`),gt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function _t(e){_(e)||(e=String(e));let t=P(this);return M(t,`has`,e),t.hasOwnProperty(e)}var vt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?It:Ft:i?Pt:Nt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=ct[t]))return e;if(t===`hasOwnProperty`)return _t}let o=Reflect.get(e,t,F(e)?e:n);if((_(t)?gt.has(t):ht(t))||(r||M(e,`get`,t),i))return o;if(F(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Bt(e):e}return v(o)?r?Bt(o):Rt(o):o}},yt=class extends vt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Ut(i);if(!N(n)&&!Ut(n)&&(i=P(i),n=P(n)),!a&&F(i)&&!F(n))return e||(i.value=n),!0}let o=a?Number(t)e,Tt=e=>Reflect.getPrototypeOf(e);function Et(e,t,n){return function(...r){let i=this.__v_raw,a=P(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?wt:t?qt:Kt;return!t&&M(a,`iterate`,l?tt:et),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Dt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ot(e,t){let n={get(n){let r=this.__v_raw,i=P(r),a=P(n);e||(O(n,a)&&M(i,`get`,n),M(i,`get`,a));let{has:o}=Tt(i),s=t?wt:e?qt:Kt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&M(P(t),`iterate`,et),t.size},has(t){let n=this.__v_raw,r=P(n),i=P(t);return e||(O(t,i)&&M(r,`has`,t),M(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=P(a),s=t?wt:e?qt:Kt;return!e&&M(o,`iterate`,et),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Dt(`add`),set:Dt(`set`),delete:Dt(`delete`),clear:Dt(`clear`)}:{add(e){let n=P(this),r=Tt(n),i=P(e),a=!t&&!N(e)&&!Ut(e)?i:e;return r.has.call(n,a)||O(e,a)&&r.has.call(n,e)||O(i,a)&&r.has.call(n,i)||(n.add(a),rt(n,`add`,a,a)),this},set(e,n){!t&&!N(n)&&!Ut(n)&&(n=P(n));let r=P(this),{has:i,get:a}=Tt(r),o=i.call(r,e);o||=(e=P(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&rt(r,`set`,e,n,s):rt(r,`add`,e,n),this},delete(e){let t=P(this),{has:n,get:r}=Tt(t),i=n.call(t,e);i||=(e=P(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&rt(t,`delete`,e,void 0,a),o},clear(){let e=P(this),t=e.size!==0,n=e.clear();return t&&rt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Et(r,e,t)}),n}function kt(e,t){let n=Ot(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var At={get:kt(!1,!1)},jt={get:kt(!1,!0)},Mt={get:kt(!0,!1)},Nt=new WeakMap,Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap;function Lt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Rt(e){return Ut(e)?e:Vt(e,!1,xt,At,Nt)}function zt(e){return Vt(e,!1,Ct,jt,Pt)}function Bt(e){return Vt(e,!0,St,Mt,Ft)}function Vt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Lt(S(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function N(e){return!!(e&&e.__v_isShallow)}function Wt(e){return e?!!e.__v_raw:!1}function P(e){let t=e&&e.__v_raw;return t?P(t):e}function Gt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&k(e,`__v_skip`,!0),e}var Kt=e=>v(e)?Rt(e):e,qt=e=>v(e)?Bt(e):e;function F(e){return e?e.__v_isRef===!0:!1}function Jt(e){return Xt(e,!1)}function Yt(e){return Xt(e,!0)}function Xt(e,t){return F(e)?e:new Zt(e,t)}var Zt=class{constructor(e,t){this.dep=new Ze,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:P(e),this._value=t?e:Kt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||N(e)||Ut(e);e=n?e:P(e),O(e,t)&&(this._rawValue=e,this._value=n?e:Kt(e),this.dep.trigger())}};function I(e){return F(e)?e.value:e}var Qt={get:(e,t,n)=>t===`__v_raw`?e:I(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return F(i)&&!F(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function $t(e){return Ht(e)?e:new Proxy(e,Qt)}function en(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=nn(e,n);return t}var tn=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=_(t)?t:String(t),this._raw=P(e);let r=!0,i=e;if(!d(e)||_(this._key)||!w(this._key))do r=!Wt(i)||N(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&F(this._raw[this._key])){let t=this._object[this._key];if(F(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return it(this._raw,this._key)}};function nn(e,t,n){return new tn(e,t,n)}var rn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ze(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ye-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&j!==this)return Fe(this,!0),!0}get value(){let e=this.dep.track();return Ve(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function an(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new rn(r,i,n)}var on={},sn=new WeakMap,cn=void 0;function ln(e,t=!1,n=cn){if(n){let t=sn.get(n);t||sn.set(n,t=[]),t.push(e)}}function un(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:N(e)||o===!1||o===0?dn(e,1):dn(e),m,g,_,v,y=!1,b=!1;if(F(e)?(g=()=>e.value,y=N(e)):Ht(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Ht(e)||N(e)),g=()=>e.map(e=>{if(F(e))return e.value;if(Ht(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){Ke();try{_()}finally{qe()}}let t=cn;cn=m;try{return f?f(e,3,[v]):e(v)}finally{cn=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>dn(e(),t)}let x=Oe(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(on):on,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>O(e,C[t])):O(e,C))){_&&_();let t=cn;cn=m;try{let t=[e,C===on?void 0:b&&C[0]===on?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{cn=t}}}else m.run()};return u&&u(w),m=new je(g),m.scheduler=l?()=>l(w,!1):w,v=e=>ln(e,!1,m),_=m.onStop=()=>{let e=sn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();sn.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function dn(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,F(e))dn(e.value,t,n);else if(d(e))for(let r=0;r{dn(e,t,n)});else if(C(e)){for(let r in e)dn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&dn(e[r],t,n)}return e}function fn(e,t,n,r){try{return r?e(...r):e()}catch(e){mn(e,t,n)}}function pn(e,t,n,r){if(h(e)){let i=fn(e,t,n,r);return i&&y(i)&&i.catch(e=>{mn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=L[r],a=kn(i);a=kn(n)?L.push(e):L.splice(Cn(t),0,e),e.flags|=1,Tn()}}function Tn(){xn||=bn.then(An)}function En(e){d(e)?_n.push(...e):vn&&e.id===-1?vn.splice(yn+1,0,e):e.flags&1||(_n.push(e),e.flags|=1),Tn()}function Dn(e,t,n=gn+1){for(;nkn(e)-kn(t));if(_n.length=0,vn){vn.push(...e);return}for(vn=e,yn=0;yne.id==null?e.flags&2?-1:1/0:e.id;function An(e){try{for(gn=0;gn{r._d&&ea(-1);let i=Mn(t),a;try{a=e(...n)}finally{Mn(i),r._d&&ea(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Pn(e,n){if(R===null)return e;let r=La(R),i=e.dirs||=[];for(let e=0;e1)return n&&h(t)?t.call(r&&r.proxy):t}}function Ln(){return!!(Sa()||ai)}var Rn=Symbol.for(`v-scx`),zn=()=>z(Rn);function Bn(e,t,n){return Vn(e,t,n)}function Vn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(Oa){if(c===`sync`){let e=zn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=J;u.call=(e,t,n)=>pn(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{H(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():wn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=un(e,n,u);return Oa&&(f?f.push(h):d&&h()),h}function Hn(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Un(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=Ta(this),s=Vn(i,a.bind(r),n);return o(),s}function Un(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,B=Symbol(`_leaveCb`),Kn=Symbol(`_enterCb`);function qn(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return xr(()=>{e.isMounted=!0}),wr(()=>{e.isUnmounting=!0}),e}var Jn=[Function,Array],Yn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Jn,onEnter:Jn,onAfterEnter:Jn,onEnterCancelled:Jn,onBeforeLeave:Jn,onLeave:Jn,onAfterLeave:Jn,onLeaveCancelled:Jn,onBeforeAppear:Jn,onAppear:Jn,onAfterAppear:Jn,onAppearCancelled:Jn},Xn=e=>{let t=e.subTree;return t.component?Xn(t.component):t},Zn={name:`BaseTransition`,props:Yn,setup(e,{slots:t}){let n=Sa(),r=qn();return()=>{let i=t.default&&ar(t.default(),!0),a=i&&i.length?Qn(i):n.subTree?pa():void 0;if(!a)return;let o=P(e),{mode:s}=o;if(r.isLeaving)return nr(a);let c=rr(a);if(!c)return nr(a);let l=tr(c,o,r,n,e=>l=e);c.type!==W&&ir(c,l);let u=n.subTree&&rr(n.subTree);if(u&&u.type!==W&&!aa(u,c)&&Xn(n).type!==W){let e=tr(u,o,r,n);if(ir(u,e),s===`out-in`&&c.type!==W)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},nr(a);s===`in-out`&&c.type!==W?e.delayLeave=(e,t,n)=>{let i=er(r,u);i[String(u.key)]=u,e[B]=()=>{t(),e[B]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Qn(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==W){t=n;break}}return t}var $n=Zn;function er(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function tr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=er(n,e),C=(e,t)=>{e&&pn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),d(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=_||c;else return;t[B]&&t[B](!0);let i=S[x];i&&aa(e,i)&&i.el[B]&&i.el[B](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=f;if(!n.isMounted)if(a)r=v||l,i=y||u,o=b||f;else return;let s=!1;t[Kn]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Kn]=void 0)};let c=t[Kn].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Kn]&&t[Kn](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[B]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[B]=void 0,S[i]===e&&delete S[i])};let o=t[B].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=tr(e,t,n,r,i);return i&&i(a),a}};return T}function nr(e){if(pr(e))return e=ua(e),e.children=null,e}function rr(e){if(!pr(e))return Gn(e.type)&&e.children?Qn(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&h(n.default))return n.default()}}function ir(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ir(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ar(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eur(e,n&&(d(n)?n[t]:n),r,a,o));return}if(fr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&ur(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?La(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=P(v),b=v===t?i:e=>cr(_,e)?!1:u(y,e),x=(e,t)=>!(t&&cr(_,t));if(m!=null&&m!==p){if(dr(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(F(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))fn(p,f,12,[l,_]);else{let t=g(p),n=F(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),lr.delete(e)};t.id=-1,lr.set(e,t),H(t,r)}else dr(e),i()}}}function dr(e){let t=lr.get(e);t&&(t.flags|=8,lr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var fr=e=>!!e.type.__asyncLoader,pr=e=>e.type.__isKeepAlive;function mr(e,t){gr(e,`a`,t)}function hr(e,t){gr(e,`da`,t)}function gr(e,t,n=J){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(vr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)pr(e.parent.vnode)&&_r(r,t,n,e),e=e.parent}}function _r(e,t,n,r){let i=vr(t,e,r,!0);Tr(()=>{c(r[t],i)},n)}function vr(e,t,n=J,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ke();let i=Ta(n),a=pn(t,n,e,r);return i(),qe(),a};return r?i.unshift(a):i.push(a),a}}var yr=e=>(t,n=J)=>{(!Oa||e===`sp`)&&vr(e,(...e)=>t(...e),n)},br=yr(`bm`),xr=yr(`m`),Sr=yr(`bu`),Cr=yr(`u`),wr=yr(`bum`),Tr=yr(`um`),Er=yr(`sp`),Dr=yr(`rtg`),Or=yr(`rtc`);function kr(e,t=J){vr(`ec`,e,t)}var Ar=`components`;function jr(e,t){return Pr(Ar,e,!0,t)||e}var Mr=Symbol.for(`v-ndc`);function Nr(e){return g(e)?Pr(Ar,e,!1)||e:e||Mr}function Pr(e,t,n=!0,r=!1){let i=R||J;if(i){let n=i.type;if(e===Ar){let e=Ra(n,!1);if(e&&(e===t||e===E(t)||e===re(E(t))))return n}let a=Fr(i[e]||n[e],t)||Fr(i.appContext[e],t);return!a&&r?n:a}}function Fr(e,t){return e&&(e[t]||e[E(t)]||e[re(E(t))])}function Ir(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Ht(e),r=!1,s=!1;n&&(r=!N(e),s=Ut(e),e=ot(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;re?Da(e)?La(e):Lr(e.parent):null,Rr=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Lr(e.parent),$root:e=>Lr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qr(e),$forceUpdate:e=>e.f||=()=>{wn(e.update)},$nextTick:e=>e.n||=Sn.bind(e.proxy),$watch:e=>Hn.bind(e)}),zr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),Br={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(zr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else Hr&&(s[n]=0)}let d=Rr[n],f,p;if(d)return n===`$attrs`&&M(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return zr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||zr(n,c)||u(o,c)||u(i,c)||u(Rr,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function Vr(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var Hr=!0;function Ur(e){let t=qr(e),n=e.proxy,i=e.ctx;Hr=!1,t.beforeCreate&&Gr(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:te,errorCaptured:E,serverPrefetch:ne,expose:D,inheritAttrs:re,components:ie,directives:O,filters:ae}=t;if(u&&Wr(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=Rt(t))}if(Hr=!0,o)for(let e in o){let t=o[e],a=Y({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Kr(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{In(t,e[t])})}f&&Gr(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(br,p),k(xr,m),k(Sr,g),k(Cr,_),k(mr,y),k(hr,b),k(kr,E),k(Or,ee),k(Dr,te),k(wr,S),k(Tr,w),k(Er,ne),d(D))if(D.length){let t=e.exposed||={};D.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};T&&e.render===r&&(e.render=T),re!=null&&(e.inheritAttrs=re),ie&&(e.components=ie),O&&(e.directives=O),ne&&sr(e)}function Wr(e,t,n=r){d(e)&&(e=Qr(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?z(r.from||n,r.default,!0):z(r.from||n):z(r),F(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Gr(e,t,n){pn(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Kr(e,t,n,r){let i=r.includes(`.`)?Un(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&Bn(i,n)}else if(h(e))Bn(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>Kr(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&Bn(i,r,e)}}function qr(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Jr(c,e,o,!0)),Jr(c,t,o)),v(t)&&a.set(t,c),c}function Jr(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Jr(e,a,n,!0),i&&i.forEach(t=>Jr(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Yr[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Yr={data:Xr,props:ei,emits:ei,methods:$r,computed:$r,beforeCreate:V,created:V,beforeMount:V,mounted:V,beforeUpdate:V,updated:V,beforeDestroy:V,beforeUnmount:V,destroyed:V,unmounted:V,activated:V,deactivated:V,errorCaptured:V,serverPrefetch:V,components:$r,directives:$r,watch:ti,provide:Xr,inject:Zr};function Xr(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Zr(e,t){return $r(Qr(e),Qr(t))}function Qr(e){if(d(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${E(t)}Modifiers`]||e[`${D(t)}Modifiers`];function si(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&oi(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=ie(n)]||i[c=ie(E(n))];!l&&o&&(l=i[c=ie(D(n))]),l&&pn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,pn(u,e,6,a)}}var ci=new WeakMap;function li(e,t,n=!1){let r=n?ci:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=li(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function ui(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,D(t))||u(e,t))}function di(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Mn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=ma(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=ma(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:fi(c)}}catch(t){Xi.length=0,mn(t,e,1),v=q(W)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=pi(y,a)),b=ua(b,y,!1,!0))}return n.dirs&&(b=ua(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&ir(b,n.transition),v=b,Mn(_),v}var fi=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},pi=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function mi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?hi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(vi),bi=e=>Object.getPrototypeOf(e)===vi;function xi(e,t,n,r=!1){let i={},a=yi();e.propsDefaults=Object.create(null),Ci(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:zt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Si(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=P(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{p=!0;let[t,n]=Ei(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,ki=e=>d(e)?e.map(ma):[ma(e)],Ai=(e,t,n)=>{if(t._n)return t;let r=Nn((...e)=>ki(t(...e)),n);return r._c=!1,r},ji=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Oi(n))continue;let i=e[n];if(h(i))t[n]=Ai(n,i,r);else if(i!=null){let e=ki(i);t[n]=()=>e}}},Mi=(e,t)=>{let n=ki(t);e.slots.default=()=>n},Ni=(e,t,n)=>{for(let r in t)(n||!Oi(r))&&(e[r]=t[r])},Pi=(e,t,n)=>{let r=e.slots=yi();if(e.vnode.shapeFlag&32){let e=t._;e?(Ni(r,t,n),n&&k(r,`_`,e,!0)):ji(t,r)}else t&&Mi(e,t)},Fi=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:Ni(a,n,r):(o=!n.$stable,ji(n,a)),s=n}else n&&(Mi(e,n),s={default:1});if(o)for(let e in a)!Oi(e)&&s[e]==null&&delete a[e]},H=qi;function Ii(e){return Li(e)}function Li(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!aa(e,t)&&(r=ye(e),me(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Ji:y(e,t,n,r);break;case W:b(e,t,n,r);break;case Yi:e??x(t,n,r,o);break;case U:ie(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?O(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,Se)}u!=null&&i?ur(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&ur(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)ee(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ne(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},ee=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&E(e.children,d,null,r,i,Ri(e,a),s,u),_&&Fn(e,null,r,`created`),te(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!T(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&va(f,r,e)}_&&Fn(e,null,r,`beforeMount`);let v=Bi(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&H(()=>{try{f&&va(f,r,e),v&&g.enter(d),_&&Fn(e,null,r,`mounted`)}finally{}},i)},te=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&zi(r,!1),(g=h.onVnodeBeforeUpdate)&&va(g,r,n,e),f&&Fn(n,e,r,`beforeUpdate`),r&&zi(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?D(e.dynamicChildren,d,l,r,i,Ri(n,a),o):s||ue(e,n,l,null,r,i,Ri(n,a),o,!1),u>0){if(u&16)re(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t{g&&va(g,r,n,e),f&&Fn(n,e,r,`updated`)},i)},D=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!T(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(T(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ie=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),E(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(D(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Vi(e,t,!0)):ue(e,t,n,f,i,a,s,c,l)},O=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):k(t,n,r,i,a,o,c):oe(e,t,c)},k=(e,t,n,r,i,a,o)=>{let s=e.component=xa(e,r,i);if(pr(e)&&(s.ctx.renderer=Se),ka(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=q(W);b(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(mi(e,t,n))if(r.asyncDep&&!r.asyncResolved){ce(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Ui(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{H(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;zi(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&ae(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&va(d,s,t,c),zi(e,!0);let f=di(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ye(p),e,i,a),t.el=f.el,u===null&&_i(e,f.el),r&&H(r,i),(d=t.props&&t.props.onVnodeUpdated)&&H(()=>va(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=fr(t);if(zi(e,!1),l&&ae(l),!m&&(o=c&&c.onVnodeBeforeMount)&&va(o,d,t),zi(e,!0),s&&we){let t=()=>{e.subTree=di(e),we(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=di(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&H(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;H(()=>va(o,d,e),i)}(t.shapeFlag&256||d&&fr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&H(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new je(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>wn(u),zi(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Si(e,t.props,r,n),Fi(e,t.children,n),Ke(),Dn(e),qe()},ue=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){fe(l,d,n,r,i,a,o,s,c);return}else if(f&256){de(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ve(l,i,a),d!==l&&p(n,d)):u&16?m&16?fe(l,d,n,r,i,a,o,s,c):ve(l,i,a,!0):(u&8&&p(n,``),m&16&&E(d,n,r,i,a,o,s,c))},de=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?ve(e,a,o,!0,!1,f):E(t,r,i,a,o,s,c,l,f)},fe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?ha(t[u]):ma(t[u]);if(aa(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?ha(t[p]):ma(t[p]);if(aa(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=ep)for(;u<=f;)me(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?ha(t[u]):ma(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){me(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&aa(n,t[_])){i=_;break}i===void 0?me(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?Hi(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){pe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,Se);return}if(c===U){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[B];a._isLeaving&&a[B](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},me=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ke(),ur(s,null,n,e,!0),qe()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!fr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&va(_,t,e),u&6)_e(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Fn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,Se,r):l&&!l.hasOnce&&(a!==U||d>0&&d&64)?ve(l,t,n,!1,!0):(a===U&&d&384||!i&&u&16)&&ve(c,t,n),r&&he(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&H(()=>{_&&va(_,t,e),h&&Fn(e,null,t,`unmounted`),v&&(e.el=null)},n)},he=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===U){ge(n,r);return}if(t===Yi){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ge=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},_e=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Wi(c),Wi(l),r&&ae(r),i.stop(),a&&(a.flags|=8,me(o,e,t,n)),s&&H(s,t),H(()=>{e.isUnmounted=!0},t)},ve=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return ye(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Wn];return n?h(n):t},be=!1,xe=(e,t,n)=>{let r;e==null?t._vnode&&(me(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,be||=(be=!0,Dn(r),On(),!1)},Se={p:v,um:me,m:pe,r:he,mt:k,mc:E,pc:ue,pbc:D,n:ye,o:e},Ce,we;return i&&([Ce,we]=i(Se)),{render:xe,hydrate:Ce,createApp:ii(xe,Ce)}}function Ri({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function zi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Bi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Vi(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Ui(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ui(t)}function Wi(e){if(e)for(let t=0;te.__isSuspense;function qi(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):En(e)}var U=Symbol.for(`v-fgt`),Ji=Symbol.for(`v-txt`),W=Symbol.for(`v-cmt`),Yi=Symbol.for(`v-stc`),Xi=[],G=null;function Zi(e=!1){Xi.push(G=e?null:[])}function Qi(){Xi.pop(),G=Xi[Xi.length-1]||null}var $i=1;function ea(e,t=!1){$i+=e,e<0&&G&&t&&(G.hasOnce=!0)}function ta(e){return e.dynamicChildren=$i>0?G||n:null,Qi(),$i>0&&G&&G.push(e),e}function na(e,t,n,r,i,a){return ta(K(e,t,n,r,i,a,!0))}function ra(e,t,n,r,i){return ta(q(e,t,n,r,i,!0))}function ia(e){return e?e.__v_isVNode===!0:!1}function aa(e,t){return e.type===t.type&&e.key===t.key}var oa=({key:e})=>e??null,sa=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||F(e)||h(e)?{i:R,r:e,k:t,f:!!n}:e);function K(e,t=null,n=null,r=0,i=null,a=e===U?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&oa(t),ref:t&&sa(t),scopeId:jn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:R};return s?(ga(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),$i>0&&!o&&G&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&G.push(c),c}var q=ca;function ca(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===Mr)&&(e=W),ia(e)){let r=ua(e,t,!0);return n&&ga(r,n),$i>0&&!a&&G&&(r.shapeFlag&6?G[G.indexOf(e)]=r:G.push(r)),r.patchFlag=-2,r}if(za(e)&&(e=e.__vccOpts),t){t=la(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=he(e)),v(n)&&(Wt(n)&&!d(n)&&(n=s({},n)),t.style=ue(n))}let o=g(e)?1:Ki(e)?128:Gn(e)?64:v(e)?4:h(e)?2:0;return K(e,t,n,r,i,o,a,!0)}function la(e){return e?Wt(e)||bi(e)?s({},e):e:null}function ua(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?_a(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&oa(l),ref:t&&t.ref?n&&a?d(a)?a.concat(sa(t)):[a,sa(t)]:sa(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==U?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ua(e.ssContent),ssFallback:e.ssFallback&&ua(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&ir(u,c.clone(u)),u}function da(e=` `,t=0){return q(Ji,null,e,t)}function fa(e,t){let n=q(Yi,null,e);return n.staticCount=t,n}function pa(e=``,t=!1){return t?(Zi(),ra(W,null,e)):q(W,null,e)}function ma(e){return e==null||typeof e==`boolean`?q(W):d(e)?q(U,null,e.slice()):ia(e)?ha(e):q(Ji,null,String(e))}function ha(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ua(e)}function ga(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),ga(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!bi(t)?t._ctx=R:r===3&&R&&(R.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:R},n=32):(t=String(t),r&64?(n=16,t=[da(t)]):n=8);e.children=t,e.shapeFlag|=n}function _a(...e){let t={};for(let n=0;nJ||R,Ca,wa;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Ca=t(`__VUE_INSTANCE_SETTERS__`,e=>J=e),wa=t(`__VUE_SSR_SETTERS__`,e=>Oa=e)}var Ta=e=>{let t=J;return Ca(e),e.scope.on(),()=>{e.scope.off(),Ca(t)}},Ea=()=>{J&&J.scope.off(),Ca(null)};function Da(e){return e.vnode.shapeFlag&4}var Oa=!1;function ka(e,t=!1,n=!1){t&&wa(t);let{props:r,children:i}=e.vnode,a=Da(e);xi(e,r,a,t),Pi(e,i,n||t);let o=a?Aa(e,t):void 0;return t&&wa(!1),o}function Aa(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Br);let{setup:r}=n;if(r){Ke();let n=e.setupContext=r.length>1?Ia(e):null,i=Ta(e),a=fn(r,e,0,[e.props,n]),o=y(a);if(qe(),i(),(o||e.sp)&&!fr(e)&&sr(e),o){if(a.then(Ea,Ea),t)return a.then(n=>{ja(e,n,t)}).catch(t=>{mn(t,e,0)});e.asyncDep=a}else ja(e,a,t)}else Pa(e,t)}function ja(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=$t(t)),Pa(e,n)}var Ma,Na;function Pa(e,t,n){let i=e.type;if(!e.render){if(!t&&Ma&&!i.render){let t=i.template||qr(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=Ma(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,Na&&Na(e)}{let t=Ta(e);Ke();try{Ur(e)}finally{qe(),t()}}}var Fa={get(e,t){return M(e,`get`,``),e[t]}};function Ia(e){return{attrs:new Proxy(e.attrs,Fa),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function La(e){return e.exposed?e.exposeProxy||=new Proxy($t(Gt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rr)return Rr[n](e)},has(e,t){return t in e||t in Rr}}):e.proxy}function Ra(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function za(e){return h(e)&&`__vccOpts`in e}var Y=(e,t)=>an(e,t,Oa);function Ba(e,t,n){try{ea(-1);let r=arguments.length;return r===2?v(t)&&!d(t)?ia(t)?q(e,null,[t]):q(e,t):q(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&ia(n)&&(n=[n]),q(e,t,n))}finally{ea(1)}}var Va=`3.5.35`,Ha=void 0,Ua=typeof window<`u`&&window.trustedTypes;if(Ua)try{Ha=Ua.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Wa=Ha?e=>Ha.createHTML(e):e=>e,Ga=`http://www.w3.org/2000/svg`,Ka=`http://www.w3.org/1998/Math/MathML`,qa=typeof document<`u`?document:null,Ja=qa&&qa.createElement(`template`),Ya={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?qa.createElementNS(Ga,e):t===`mathml`?qa.createElementNS(Ka,e):n?qa.createElement(e,{is:n}):qa.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>qa.createTextNode(e),createComment:e=>qa.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qa.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Ja.innerHTML=Wa(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Ja.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Xa=`transition`,Za=`animation`,Qa=Symbol(`_vtc`),$a={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},eo=s({},Yn,$a),to=(e=>(e.displayName=`Transition`,e.props=eo,e))((e,{slots:t})=>Ba($n,io(e),t)),no=(e,t=[])=>{d(e)?e.forEach(e=>e(...t)):e&&e(...t)},ro=e=>e?d(e)?e.some(e=>e.length>1):e.length>1:!1;function io(e){let t={};for(let n in e)n in $a||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=ao(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,co(e,t?d:c),co(e,t?u:o),n&&n()},te=(e,t)=>{e._isLeaving=!1,co(e,f),co(e,m),co(e,p),t&&t()},E=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);no(i,[t,o]),lo(()=>{co(t,e?l:a),so(t,e?d:c),ro(i)||fo(t,r,g,o)})};return s(t,{onBeforeEnter(e){no(v,[e]),so(e,a),so(e,o)},onBeforeAppear(e){no(C,[e]),so(e,l),so(e,u)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>te(e,t);so(e,f),e._enterCancelled?(so(e,p),go(e)):(go(e),so(e,p)),lo(()=>{e._isLeaving&&(co(e,f),so(e,m),ro(x)||fo(e,r,_,n))}),no(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),no(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),no(T,[e])},onLeaveCancelled(e){te(e),no(S,[e])}})}function ao(e){if(e==null)return null;if(v(e))return[oo(e.enter),oo(e.leave)];{let t=oo(e);return[t,t]}}function oo(e){return se(e)}function so(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Qa]||(e[Qa]=new Set)).add(t)}function co(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Qa];n&&(n.delete(t),n.size||(e[Qa]=void 0))}function lo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var uo=0;function fo(e,t,n,r){let i=e._endId=++uo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=po(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Xa}Delay`),a=r(`${Xa}Duration`),o=mo(i,a),s=r(`${Za}Delay`),c=r(`${Za}Duration`),l=mo(s,c),u=null,d=0,f=0;t===Xa?o>0&&(u=Xa,d=o,f=a.length):t===Za?l>0&&(u=Za,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Xa:Za:null,f=u?u===Xa?a.length:c.length:0);let p=u===Xa&&/\b(?:transform|all)(?:,|$)/.test(r(`${Xa}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function mo(e,t){for(;e.lengthho(t)+ho(e[n])))}function ho(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function go(e){return(e?e.ownerDocument:document).body.offsetHeight}function _o(e,t,n){let r=e[Qa];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var vo=Symbol(`_vod`),yo=Symbol(`_vsh`),bo={name:`show`,beforeMount(e,{value:t},{transition:n}){e[vo]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):xo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),xo(e,!0),r.enter(e)):r.leave(e,()=>{xo(e,!1)}):xo(e,t))},beforeUnmount(e,{value:t}){xo(e,t)}};function xo(e,t){e.style.display=t?e[vo]:`none`,e[yo]=!t}var So=Symbol(``),Co=/(?:^|;)\s*display\s*:/;function wo(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Eo(r,t,``)}else for(let e in t)n[e]??Eo(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Eo(r,i,``):Ao(e,i,!g(t)&&t?t[i]:void 0,o)||Eo(r,i,o)}}else if(i){if(t!==n){let e=r[So];e&&(n+=`;`+e),r.cssText=n,a=Co.test(n)}}else t&&e.removeAttribute(`style`);vo in e&&(e[vo]=a?r.display:``,e[yo]&&(r.display=`none`))}var To=/\s*!important$/;function Eo(e,t,n){if(d(n))n.forEach(n=>Eo(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=ko(e,t);To.test(n)?e.setProperty(D(r),n.replace(To,``),`important`):e[r]=n}}var Do=[`Webkit`,`Moz`,`ms`],Oo={};function ko(e,t){let n=Oo[t];if(n)return n;let r=E(t);if(r!==`filter`&&r in e)return Oo[t]=r;r=re(r);for(let n=0;nBo||=(Vo.then(()=>Bo=0),Date.now());function Uo(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Go=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?_o(e,r,c):t===`style`?wo(e,n,r):a(t)?o(t)||Lo(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ko(e,t,r,c))?(No(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Mo(e,t,r,c,s,t!==`value`)):e._isVueCE&&(qo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?No(e,E(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Mo(e,t,r,c))};function Ko(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Wo(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Wo(t)&&g(n)?!1:t in e}function qo(e,t){let n=e._def.props;if(!n)return!1;let r=E(t);return Array.isArray(n)?n.some(e=>E(e)===r):Object.keys(n).some(e=>E(e)===r)}var Jo=new WeakMap,Yo=new WeakMap,Xo=Symbol(`_moveCb`),Zo=Symbol(`_enterCb`),Qo=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:s({},eo,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Sa(),r=qn(),i,a;return Cr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!rs(i[0].el,n.vnode.el,t)){i=[];return}i.forEach($o),i.forEach(es);let r=i.filter(ts);go(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;so(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Xo]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Xo]=null,co(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=P(e),s=io(o),c=o.tag||U;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=po(r);return a.removeChild(r),o}var is=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>ae(t,e):t};function as(e){e.target.composing=!0}function os(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var ss=Symbol(`_assign`);function cs(e,t,n){return t&&(e=e.trim()),n&&(e=oe(e)),e}var ls={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[ss]=is(i);let a=r||i.props&&i.props.type===`number`;Po(e,t?`change`:`input`,t=>{t.target.composing||e[ss](cs(e.value,n,a))}),(n||a)&&Po(e,`change`,()=>{e.value=cs(e.value,n,a)}),t||(Po(e,`compositionstart`,as),Po(e,`compositionend`,os),Po(e,`change`,os))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[ss]=is(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?oe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},us={deep:!0,created(e,t,n){e[ss]=is(n),Po(e,`change`,()=>{let t=e._modelValue,n=ms(e),r=e.checked,i=e[ss];if(d(t)){let e=xe(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(p(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(hs(e,r))})},mounted:ds,beforeUpdate(e,t,n){e[ss]=is(n),ds(e,t,n)}};function ds(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(d(t))i=xe(t,r.props.value)>-1;else if(p(t))i=t.has(r.props.value);else{if(t===n)return;i=be(t,hs(e,!0))}e.checked!==i&&(e.checked=i)}var fs={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=p(t);Po(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?oe(ms(e)):ms(e));e[ss](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,Sn(()=>{e._assigning=!1})}),e[ss]=is(r)},mounted(e,{value:t}){ps(e,t)},beforeUpdate(e,t,n){e[ss]=is(n)},updated(e,{value:t}){e._assigning||ps(e,t)}};function ps(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=xe(t,o)>-1}else a.selected=t.has(o);else if(be(ms(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ms(e){return`_value`in e?e._value:e.value}function hs(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var gs=[`ctrl`,`shift`,`alt`,`meta`],_s={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>gs.some(n=>e[`${n}Key`]&&!t.includes(n))},vs=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let t=xs().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=ws(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Cs(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Cs(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function ws(e){return g(e)?document.querySelector(e):e}var Ts=typeof window<`u`,Es,Ds=e=>Es=e,Os=Symbol();function ks(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var As;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(As||={});var js=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Ms(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function Ns(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Rs(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Ps(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Fs(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Is=typeof navigator==`object`?navigator:{userAgent:``},Ls=/Macintosh/.test(Is.userAgent)&&/AppleWebKit/.test(Is.userAgent)&&!/Safari/.test(Is.userAgent),Rs=Ts?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Ls?zs:`msSaveOrOpenBlob`in Is?Bs:Vs:()=>{};function zs(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?Fs(r):Ps(r.href)?Ns(e,t,n):(r.target=`_blank`,Fs(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Fs(r)},0))}function Bs(e,t=`download`,n){if(typeof e==`string`)if(Ps(e))Ns(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Fs(t)})}else navigator.msSaveOrOpenBlob(Ms(e,n),t)}function Vs(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Ns(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(js.HTMLElement))||`safari`in js,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Ls)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Hs}=Object;function Us(){let e=De(!0),t=e.run(()=>Jt({})),n=[],r=[],i=Gt({install(e){Ds(i),i._a=e,e.provide(Os,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Ws=()=>{};function Gs(e,t,n,r=Ws){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Oe()&&ke(i),i}function Ks(e,...t){e.forEach(e=>{e(...t)})}var qs=e=>e(),Js=Symbol(),Ys=Symbol();function Xs(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];ks(i)&&ks(r)&&e.hasOwnProperty(n)&&!F(r)&&!Ht(r)?e[n]=Xs(i,r):e[n]=r}return e}var Zs=Symbol();function Qs(e){return!ks(e)||!Object.prototype.hasOwnProperty.call(e,Zs)}var{assign:$s}=Object;function ec(e){return!!(F(e)&&e.effect)}function tc(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),$s(en(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Gt(Y(()=>{Ds(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=nc(e,l,t,n,r,!0),c}function nc(e,t,n={},r,i,a){let o,s=$s({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:As.patchFunction,storeId:e,events:void 0}):(Xs(r.state.value[e],t),n={type:As.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();Sn().then(()=>{m===i&&(l=!0)}),u=!0,Ks(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{$s(e,t)})}:Ws;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Js in t)return t[Ys]=n,t;let i=function(){Ds(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ks(f,{args:n,name:i[Ys],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ks(o,e),e}return l instanceof Promise?l.then(e=>(Ks(a,e),e)).catch(e=>(Ks(o,e),Promise.reject(e))):(Ks(a,l),l)};return i[Js]=!0,i[Ys]=n,i},y=Rt({_p:r,$id:e,$onAction:Gs.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Gs(d,t,n.detached,()=>a()),a=o.run(()=>Bn(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:As.direct,events:void 0},r)},$s({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||qs)(()=>r._e.run(()=>(o=De()).run(()=>t({action:v}))));for(let t in b){let n=b[t];F(n)&&!ec(n)||Ht(n)?a||(p&&Qs(n)&&(F(n)?n.value=p[t]:Xs(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return $s(y,b),$s(P(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{$s(t,e)})}}),r._p.forEach(e=>{$s(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function rc(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Ln();return n||=o?z(Os,null):null,n&&Ds(n),n=Es,n._s.has(e)||(i?nc(e,t,r,n):tc(e,r,n)),n._s.get(e)}return a.$id=e,a}var ic=typeof document<`u`;function ac(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function oc(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ac(e.default)}var X=Object.assign;function sc(e,t){let n={};for(let r in t){let i=t[r];n[r]=lc(i)?i.map(e):e(i)}return n}var cc=()=>{},lc=Array.isArray;function uc(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var dc=/#/g,fc=/&/g,pc=/\//g,mc=/=/g,hc=/\?/g,gc=/\+/g,_c=/%5B/g,vc=/%5D/g,yc=/%5E/g,bc=/%60/g,xc=/%7B/g,Sc=/%7C/g,Cc=/%7D/g,wc=/%20/g;function Tc(e){return e==null?``:encodeURI(``+e).replace(Sc,`|`).replace(_c,`[`).replace(vc,`]`)}function Ec(e){return Tc(e).replace(xc,`{`).replace(Cc,`}`).replace(yc,`^`)}function Dc(e){return Tc(e).replace(gc,`%2B`).replace(wc,`+`).replace(dc,`%23`).replace(fc,`%26`).replace(bc,"`").replace(xc,`{`).replace(Cc,`}`).replace(yc,`^`)}function Oc(e){return Dc(e).replace(mc,`%3D`)}function kc(e){return Tc(e).replace(dc,`%23`).replace(hc,`%3F`)}function Ac(e){return kc(e).replace(pc,`%2F`)}function jc(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Mc=/\/$/,Nc=e=>e.replace(Mc,``);function Pc(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Hc(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:jc(o)}}function Fc(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Ic(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Lc(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Rc(t.matched[r],n.matched[i])&&zc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Rc(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function zc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Bc(e[n],t[n]))return!1;return!0}function Bc(e,t){return lc(e)?Vc(e,t):lc(t)?Vc(t,e):e?.valueOf()===t?.valueOf()}function Vc(e,t){return lc(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Hc(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Uc={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Wc=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Gc=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Kc(e){if(!e)if(ic){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Nc(e)}var qc=/^[^#]+#/;function Jc(e,t){return e.replace(qc,`#`)+t}function Yc(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Xc=()=>({left:window.scrollX,top:window.scrollY});function Zc(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Yc(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Qc(e,t){return(history.state?history.state.position-t:-1)+e}var $c=new Map;function el(e,t){$c.set(e,t)}function tl(e){let t=$c.get(e);return $c.delete(e),t}function nl(e){return typeof e==`string`||e&&typeof e==`object`}function rl(e){return typeof e==`string`||typeof e==`symbol`}var Z=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),il=Symbol(``);Z.MATCHER_NOT_FOUND,Z.NAVIGATION_GUARD_REDIRECT,Z.NAVIGATION_ABORTED,Z.NAVIGATION_CANCELLED,Z.NAVIGATION_DUPLICATED;function al(e,t){return X(Error(),{type:e,[il]:!0},t)}function ol(e,t){return e instanceof Error&&il in e&&(t==null||!!(e.type&t))}function sl(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Dc(e)):[r&&Dc(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function ll(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=lc(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var ul=Symbol(``),dl=Symbol(``),fl=Symbol(``),pl=Symbol(``),ml=Symbol(``);function hl(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function gl(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(al(Z.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):nl(e)?c(al(Z.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function _l(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(ac(s)){let c=(s.__vccOpts||s)[t];c&&a.push(gl(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=oc(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&gl(c,n,r,o,e,i)()}))}}return a}function vl(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oRc(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Rc(e,s))||i.push(s))}return[n,r,i]}var yl=()=>location.protocol+`//`+location.host;function bl(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Ic(n,``)}return Ic(n,e)+r+i}function xl(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=bl(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Wc.pop,direction:u?u>0?Gc.forward:Gc.back:Gc.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(X({},e.state,{scroll:Xc()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Sl(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Xc():null}}function Cl(e){let{history:t,location:n}=window,r={value:bl(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:yl()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,X({},t.state,Sl(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=X({},i.value,t.state,{forward:e,scroll:Xc()});a(o.current,o,!0),a(e,X({},Sl(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function wl(e){e=Kc(e);let t=Cl(e),n=xl(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=X({location:``,base:e,go:r,createHref:Jc.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Tl=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Q=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Q||{}),El={type:Tl.Static,value:``},Dl=/[a-zA-Z0-9_]/;function Ol(e){if(!e)return[[]];if(e===`/`)return[[El]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Q.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Q.Static?a.push({type:Tl.Static,value:l}):n===Q.Param||n===Q.ParamRegExp||n===Q.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Tl.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===$.Static+$.Segment?1:-1:0}function Pl(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Il={strict:!1,end:!0,sensitive:!1};function Ll(e,t,n){let r=X(Ml(Ol(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Rl(e,t){let n=[],r=new Map;t=uc(Il,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Bl(e);s.aliasOf=r&&r.record;let l=uc(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Bl(X({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ll(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Hl(d)&&o(e.name)),Kl(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:cc}function o(e){if(rl(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Wl(e,n);n.splice(t,0,e),e.record.name&&!Hl(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw al(Z.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=X(zl(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&zl(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw al(Z.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=X({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Ul(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function zl(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Bl(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Vl(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Vl(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Hl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ul(e){return e.reduce((e,t)=>X(e,t.meta),{})}function Wl(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Pl(e,t[i])<0?r=i:n=i+1}let i=Gl(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Gl(e){let t=e;for(;t=t.parent;)if(Kl(t)&&Pl(e,t)===0)return t}function Kl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ql(e){let t=z(fl),n=z(pl),r=Y(()=>{let n=I(e.to);return t.resolve(n)}),i=Y(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Rc.bind(null,i));if(o>-1)return o;let s=Ql(e[t-2]);return t>1&&Ql(i)===s&&a[a.length-1].path!==s?a.findIndex(Rc.bind(null,e[t-2])):o}),a=Y(()=>i.value>-1&&Zl(n.params,r.value.params)),o=Y(()=>i.value>-1&&i.value===n.matched.length-1&&zc(n.params,r.value.params));function s(n={}){if(Xl(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch(cc);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:Y(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Jl(e){return e.length===1?e[0]:e}var Yl=or({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:ql,setup(e,{slots:t}){let n=Rt(ql(e)),{options:r}=z(fl),i=Y(()=>({[$l(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[$l(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Jl(t.default(n));return e.custom?r:Ba(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Xl(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Zl(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!lc(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Ql(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var $l=(e,t,n)=>e??t??n,eu=or({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(ml),i=Y(()=>e.route||r.value),a=z(dl,0),o=Y(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=Y(()=>i.value.matched[o.value]);In(dl,Y(()=>o.value+1)),In(ul,s),In(ml,i);let c=Jt();return Bn(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Rc(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return tu(n.default,{Component:l,route:r});let u=o.props[a],d=Ba(l,X({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return tu(n.default,{Component:d,route:r})||d}}});function tu(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var nu=eu;function ru(e){let t=Rl(e.routes,e),n=e.parseQuery||sl,r=e.stringifyQuery||cl,i=e.history,a=hl(),o=hl(),s=hl(),c=Yt(Uc),l=Uc;ic&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=sc.bind(null,e=>``+e),d=sc.bind(null,Ac),f=sc.bind(null,jc);function p(e,n){let r,i;return rl(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=X({},a||c.value),typeof e==`string`){let r=Pc(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return X(r,o,{params:f(o.params),hash:jc(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=X({},e,{path:Pc(n,e.path,a.path).path});else{let t=X({},e.params);for(let e in t)t[e]??delete t[e];o=X({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Fc(r,X({},e,{hash:Ec(l),path:s.path})),m=i.createHref(p);return X({fullPath:p,hash:l,query:r===cl?ll(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Pc(n,e,c.value.path):X({},e)}function y(e,t){if(l!==e)return al(Z.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(X(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),X({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(X(v(u),{state:typeof u==`object`?X({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Lc(r,i,n)&&(f=al(Z.NAVIGATION_DUPLICATED,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):ee(d,i)).catch(e=>ol(e)?ol(e,Z.NAVIGATION_GUARD_REDIRECT)?e:oe(e):ae(e,d,i)).then(e=>{if(e){if(ol(e,Z.NAVIGATION_GUARD_REDIRECT))return C(X({replace:s},v(e.to),{state:typeof e.to==`object`?X({},a,e.to.state):a,force:o}),t||d)}else e=E(d,i,!0,s,a);return te(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ee(e,t){let n,[r,i,s]=vl(e,t);n=_l(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(gl(r,e,t))});let c=w.bind(null,e,t);return n.push(c),fe(n).then(()=>{n=[];for(let r of a.list())n.push(gl(r,e,t));return n.push(c),fe(n)}).then(()=>{n=_l(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(gl(r,e,t))});return n.push(c),fe(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(lc(r.beforeEnter))for(let i of r.beforeEnter)n.push(gl(i,e,t));else n.push(gl(r.beforeEnter,e,t));return n.push(c),fe(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=_l(s,`beforeRouteEnter`,e,t,T),n.push(c),fe(n))).then(()=>{n=[];for(let r of o.list())n.push(gl(r,e,t));return n.push(c),fe(n)}).catch(e=>ol(e,Z.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function te(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function E(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Uc,l=ic?history.state:{};n&&(r||s?i.replace(e.fullPath,X({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let ne;function D(){ne||=i.listen((e,t,n)=>{if(!de.listening)return;let r=_(e),a=S(r,de.currentRoute.value);if(a){C(X(a,{replace:!0,force:!0}),r).catch(cc);return}l=r;let o=c.value;ic&&el(Qc(o.fullPath,n.delta),Xc()),ee(r,o).catch(e=>ol(e,Z.NAVIGATION_ABORTED|Z.NAVIGATION_CANCELLED)?e:ol(e,Z.NAVIGATION_GUARD_REDIRECT)?(C(X(v(e.to),{force:!0}),r).then(e=>{ol(e,Z.NAVIGATION_ABORTED|Z.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Wc.pop&&i.go(-1,!1)}).catch(cc),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ae(e,r,o))).then(e=>{e||=E(r,o,!1),e&&(n.delta&&!ol(e,Z.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Wc.pop&&ol(e,Z.NAVIGATION_ABORTED|Z.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),te(r,o,e)}).catch(cc)})}let re=hl(),ie=hl(),O;function ae(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return O&&c.value!==Uc?Promise.resolve():new Promise((e,t)=>{re.add([e,t])})}function oe(e){return O||(O=!e,D(),re.list().forEach(([t,n])=>e?n(e):t()),re.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!ic||!a)return Promise.resolve();let o=!r&&tl(Qc(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Sn().then(()=>a(t,n,o)).then(e=>e&&Zc(e)).catch(e=>ae(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,de={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,Yl),e.component(`RouterView`,nu),e.config.globalProperties.$router=de,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),ic&&!le&&c.value===Uc&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in Uc)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(fl,de),e.provide(pl,zt(t)),e.provide(ml,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=Uc,ne&&ne(),ne=null,c.value=Uc,le=!1,O=!1),n()}}};function fe(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return de}function iu(){return z(fl)}function au(e){return z(pl)}var ou=rc(`app`,()=>{let e=Jt(null),t=Jt(null),n=Jt(!1),r=Jt([]),i=Jt(!1);function a(e){let t=r.value.findIndex(t=>t.id===e);t>-1&&r.value.splice(t,1)}return{user:e,token:t,loading:n,notifications:r,initialized:i,dismissNotification:a}}),su=`modulepreload`,cu=function(e){return`/static/`+e},lu={},uu=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=cu(t,n),t in lu)return;lu[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:su,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},du=ru({history:wl(),routes:[{path:`/`,component:()=>uu(()=>import(`./HomeView-LwI9XCn0.js`),__vite__mapDeps([0,1]))},{path:`/login`,component:()=>uu(()=>import(`./LoginView-DpK1KsR0.js`),__vite__mapDeps([2,3]))},{path:`/users`,component:()=>uu(()=>import(`./UsersView-uF_CoXrs.js`),__vite__mapDeps([4,5]))},{path:`/moldinsight`,component:()=>uu(()=>import(`./MoldInsightView-BG0m6f4M.js`),__vite__mapDeps([6,5]))},{path:`/moldinsight/result/:taskId`,component:()=>uu(()=>import(`./ResultView-RD_BPQTj.js`),__vite__mapDeps([7,5]))},{path:`/inventory`,component:()=>uu(()=>import(`./InventoryView-DgDx8sLe.js`),__vite__mapDeps([8,5,9]))},{path:`/_design-system`,component:()=>uu(()=>import(`./DesignSystemView-phUbagC9.js`),[])},{path:`/_release`,component:()=>uu(()=>import(`./ReleaseView-CCn0R8dT.js`),[])}]});du.beforeEach((e,t,n)=>{let r=![`/login`,`/_design-system`,`/_release`].includes(e.path),i=ou();if(r&&!i.user)return n(`/login`);if(e.path===`/login`&&i.user)return n(`/`);n()});async function fu(e){try{if((e.headers.get(`content-type`)||``).includes(`application/json`)){let t=await e.json().catch(()=>null);if(t?.detail){if(Array.isArray(t.detail)){let e=t.detail.map(e=>{let t=Array.isArray(e?.loc)?e.loc.join(`.`):``,n=e?.msg?String(e.msg):`校验失败`;return t?`${t}: ${n}`:n}).filter(Boolean);return e.length?e.join(` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomeView-CbnHpG1c.js","assets/HomeView-CGvYs6T0.css","assets/LoginView-Ce2r7tTo.js","assets/LoginView--ukxbAHo.css","assets/UsersView-DRSsev8H.js","assets/utils-COFIQvWo.js","assets/MoldInsightView-O2BZ6fre.js","assets/ResultView-DhzFuC2H.js","assets/InventoryView-Cgv-INTo.js","assets/InventoryView-B0k6FNvT.css"])))=>i.map(i=>d[i]); +(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,T=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ee=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},te=/-\w/g,E=ee(e=>e.replace(te,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,D=ee(e=>e.replace(ne,`-$1`).toLowerCase()),re=ee(e=>e.charAt(0).toUpperCase()+e.slice(1)),ie=ee(e=>e?`on${re(e)}`:``),O=(e,t)=>!Object.is(e,t),ae=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se=e=>{let t=g(e)?Number(e):NaN;return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function he(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;nbe(e,t))}var Se=e=>!!(e&&e.__v_isRef===!0),Ce=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?Se(e)?Ce(e.value):JSON.stringify(e,we,2):String(e),we=(e,t)=>Se(t)?we(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Te(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Te(e))}:_(t)?Te(t):v(t)&&!d(t)&&!C(t)?String(t):t,Te=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,A,Ee=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&A&&(A.active?(this.parent=A,this.index=(A.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(A===this)A=this.prevScope;else{let e=A;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ne;){let t=Ne;for(Ne=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Re(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ze(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),He(r),Ue(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Be(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ve(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ve(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ye)||(e.globalVersion=Ye,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Be(e))))return;e.flags|=2;let t=e.dep,n=j,r=We;j=e,We=!0;try{Re(e);let n=e.fn(e._value);(t.version===0||O(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{j=n,We=r,ze(e),e.flags&=-3}}function He(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)He(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ue(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var We=!0,Ge=[];function Ke(){Ge.push(We),We=!1}function qe(){let e=Ge.pop();We=e===void 0?!0:e}function Je(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=j;j=void 0;try{t()}finally{j=e}}}var Ye=0,Xe=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Ze=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!j||!We||j===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==j)t=this.activeLink=new Xe(j,this),j.deps?(t.prevDep=j.depsTail,j.depsTail.nextDep=t,j.depsTail=t):j.deps=j.depsTail=t,Qe(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=j.depsTail,t.nextDep=void 0,j.depsTail.nextDep=t,j.depsTail=t,j.deps===t&&(j.deps=e)}return t}trigger(e){this.version++,Ye++,this.notify(e)}notify(e){Ie();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Le()}}};function Qe(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Qe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var $e=new WeakMap,et=Symbol(``),tt=Symbol(``),nt=Symbol(``);function M(e,t,n){if(We&&j){let t=$e.get(e);t||$e.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ze),r.map=t,r.key=n),r.track()}}function rt(e,t,n,r,i,a){let o=$e.get(e);if(!o){Ye++;return}let s=e=>{e&&e.trigger()};if(Ie(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===nt||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(nt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`delete`:i||(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`set`:f(e)&&s(o.get(et));break}}Le()}function it(e,t){let n=$e.get(e);return n&&n.get(t)}function at(e){let t=P(e);return t===e?t:(M(t,`iterate`,nt),N(e)?t:t.map(Kt))}function ot(e){return M(e=P(e),`iterate`,nt),e}function st(e,t){return Ut(e)?qt(Ht(e)?Kt(t):t):Kt(t)}var ct={__proto__:null,[Symbol.iterator](){return lt(this,Symbol.iterator,e=>st(this,e))},concat(...e){return at(this).concat(...e.map(e=>d(e)?at(e):e))},entries(){return lt(this,`entries`,e=>(e[1]=st(this,e[1]),e))},every(e,t){return dt(this,`every`,e,t,void 0,arguments)},filter(e,t){return dt(this,`filter`,e,t,e=>e.map(e=>st(this,e)),arguments)},find(e,t){return dt(this,`find`,e,t,e=>st(this,e),arguments)},findIndex(e,t){return dt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return dt(this,`findLast`,e,t,e=>st(this,e),arguments)},findLastIndex(e,t){return dt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return dt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return pt(this,`includes`,e)},indexOf(...e){return pt(this,`indexOf`,e)},join(e){return at(this).join(e)},lastIndexOf(...e){return pt(this,`lastIndexOf`,e)},map(e,t){return dt(this,`map`,e,t,void 0,arguments)},pop(){return mt(this,`pop`)},push(...e){return mt(this,`push`,e)},reduce(e,...t){return ft(this,`reduce`,e,t)},reduceRight(e,...t){return ft(this,`reduceRight`,e,t)},shift(){return mt(this,`shift`)},some(e,t){return dt(this,`some`,e,t,void 0,arguments)},splice(...e){return mt(this,`splice`,e)},toReversed(){return at(this).toReversed()},toSorted(e){return at(this).toSorted(e)},toSpliced(...e){return at(this).toSpliced(...e)},unshift(...e){return mt(this,`unshift`,e)},values(){return lt(this,`values`,e=>st(this,e))}};function lt(e,t,n){let r=ot(e),i=r[t]();return r!==e&&!N(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var ut=Array.prototype;function dt(e,t,n,r,i,a){let o=ot(e),s=o!==e&&!N(e),c=o[t];if(c!==ut[t]){let t=c.apply(e,a);return s?Kt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,st(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ft(e,t,n,r){let i=ot(e),a=i!==e&&!N(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=st(e,t)),n.call(this,t,st(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?st(e,c):c}function pt(e,t,n){let r=P(e);M(r,`iterate`,nt);let i=r[t](...n);return(i===-1||i===!1)&&Wt(n[0])?(n[0]=P(n[0]),r[t](...n)):i}function mt(e,t,n=[]){Ke(),Ie();let r=P(e)[t].apply(e,n);return Le(),qe(),r}var ht=e(`__proto__,__v_isRef,__isVue`),gt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function _t(e){_(e)||(e=String(e));let t=P(this);return M(t,`has`,e),t.hasOwnProperty(e)}var vt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?It:Ft:i?Pt:Nt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=ct[t]))return e;if(t===`hasOwnProperty`)return _t}let o=Reflect.get(e,t,F(e)?e:n);if((_(t)?gt.has(t):ht(t))||(r||M(e,`get`,t),i))return o;if(F(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Bt(e):e}return v(o)?r?Bt(o):Rt(o):o}},yt=class extends vt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Ut(i);if(!N(n)&&!Ut(n)&&(i=P(i),n=P(n)),!a&&F(i)&&!F(n))return e||(i.value=n),!0}let o=a?Number(t)e,Tt=e=>Reflect.getPrototypeOf(e);function Et(e,t,n){return function(...r){let i=this.__v_raw,a=P(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?wt:t?qt:Kt;return!t&&M(a,`iterate`,l?tt:et),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Dt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ot(e,t){let n={get(n){let r=this.__v_raw,i=P(r),a=P(n);e||(O(n,a)&&M(i,`get`,n),M(i,`get`,a));let{has:o}=Tt(i),s=t?wt:e?qt:Kt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&M(P(t),`iterate`,et),t.size},has(t){let n=this.__v_raw,r=P(n),i=P(t);return e||(O(t,i)&&M(r,`has`,t),M(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=P(a),s=t?wt:e?qt:Kt;return!e&&M(o,`iterate`,et),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Dt(`add`),set:Dt(`set`),delete:Dt(`delete`),clear:Dt(`clear`)}:{add(e){let n=P(this),r=Tt(n),i=P(e),a=!t&&!N(e)&&!Ut(e)?i:e;return r.has.call(n,a)||O(e,a)&&r.has.call(n,e)||O(i,a)&&r.has.call(n,i)||(n.add(a),rt(n,`add`,a,a)),this},set(e,n){!t&&!N(n)&&!Ut(n)&&(n=P(n));let r=P(this),{has:i,get:a}=Tt(r),o=i.call(r,e);o||=(e=P(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&rt(r,`set`,e,n,s):rt(r,`add`,e,n),this},delete(e){let t=P(this),{has:n,get:r}=Tt(t),i=n.call(t,e);i||=(e=P(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&rt(t,`delete`,e,void 0,a),o},clear(){let e=P(this),t=e.size!==0,n=e.clear();return t&&rt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Et(r,e,t)}),n}function kt(e,t){let n=Ot(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var At={get:kt(!1,!1)},jt={get:kt(!1,!0)},Mt={get:kt(!0,!1)},Nt=new WeakMap,Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap;function Lt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Rt(e){return Ut(e)?e:Vt(e,!1,xt,At,Nt)}function zt(e){return Vt(e,!1,Ct,jt,Pt)}function Bt(e){return Vt(e,!0,St,Mt,Ft)}function Vt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Lt(S(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function N(e){return!!(e&&e.__v_isShallow)}function Wt(e){return e?!!e.__v_raw:!1}function P(e){let t=e&&e.__v_raw;return t?P(t):e}function Gt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&k(e,`__v_skip`,!0),e}var Kt=e=>v(e)?Rt(e):e,qt=e=>v(e)?Bt(e):e;function F(e){return e?e.__v_isRef===!0:!1}function Jt(e){return Xt(e,!1)}function Yt(e){return Xt(e,!0)}function Xt(e,t){return F(e)?e:new Zt(e,t)}var Zt=class{constructor(e,t){this.dep=new Ze,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:P(e),this._value=t?e:Kt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||N(e)||Ut(e);e=n?e:P(e),O(e,t)&&(this._rawValue=e,this._value=n?e:Kt(e),this.dep.trigger())}};function I(e){return F(e)?e.value:e}var Qt={get:(e,t,n)=>t===`__v_raw`?e:I(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return F(i)&&!F(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function $t(e){return Ht(e)?e:new Proxy(e,Qt)}function en(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=nn(e,n);return t}var tn=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=_(t)?t:String(t),this._raw=P(e);let r=!0,i=e;if(!d(e)||_(this._key)||!w(this._key))do r=!Wt(i)||N(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&F(this._raw[this._key])){let t=this._object[this._key];if(F(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return it(this._raw,this._key)}};function nn(e,t,n){return new tn(e,t,n)}var rn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ze(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ye-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&j!==this)return Fe(this,!0),!0}get value(){let e=this.dep.track();return Ve(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function an(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new rn(r,i,n)}var on={},sn=new WeakMap,cn=void 0;function ln(e,t=!1,n=cn){if(n){let t=sn.get(n);t||sn.set(n,t=[]),t.push(e)}}function un(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:N(e)||o===!1||o===0?dn(e,1):dn(e),m,g,_,v,y=!1,b=!1;if(F(e)?(g=()=>e.value,y=N(e)):Ht(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Ht(e)||N(e)),g=()=>e.map(e=>{if(F(e))return e.value;if(Ht(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){Ke();try{_()}finally{qe()}}let t=cn;cn=m;try{return f?f(e,3,[v]):e(v)}finally{cn=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>dn(e(),t)}let x=Oe(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(on):on,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>O(e,C[t])):O(e,C))){_&&_();let t=cn;cn=m;try{let t=[e,C===on?void 0:b&&C[0]===on?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{cn=t}}}else m.run()};return u&&u(w),m=new je(g),m.scheduler=l?()=>l(w,!1):w,v=e=>ln(e,!1,m),_=m.onStop=()=>{let e=sn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();sn.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function dn(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,F(e))dn(e.value,t,n);else if(d(e))for(let r=0;r{dn(e,t,n)});else if(C(e)){for(let r in e)dn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&dn(e[r],t,n)}return e}function fn(e,t,n,r){try{return r?e(...r):e()}catch(e){mn(e,t,n)}}function pn(e,t,n,r){if(h(e)){let i=fn(e,t,n,r);return i&&y(i)&&i.catch(e=>{mn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=L[r],a=kn(i);a=kn(n)?L.push(e):L.splice(Cn(t),0,e),e.flags|=1,Tn()}}function Tn(){xn||=bn.then(An)}function En(e){d(e)?_n.push(...e):vn&&e.id===-1?vn.splice(yn+1,0,e):e.flags&1||(_n.push(e),e.flags|=1),Tn()}function Dn(e,t,n=gn+1){for(;nkn(e)-kn(t));if(_n.length=0,vn){vn.push(...e);return}for(vn=e,yn=0;yne.id==null?e.flags&2?-1:1/0:e.id;function An(e){try{for(gn=0;gn{r._d&&ea(-1);let i=Mn(t),a;try{a=e(...n)}finally{Mn(i),r._d&&ea(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Pn(e,n){if(R===null)return e;let r=La(R),i=e.dirs||=[];for(let e=0;e1)return n&&h(t)?t.call(r&&r.proxy):t}}function Ln(){return!!(Sa()||ai)}var Rn=Symbol.for(`v-scx`),zn=()=>z(Rn);function Bn(e,t,n){return Vn(e,t,n)}function Vn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(Oa){if(c===`sync`){let e=zn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=J;u.call=(e,t,n)=>pn(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{H(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():wn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=un(e,n,u);return Oa&&(f?f.push(h):d&&h()),h}function Hn(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Un(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=Ta(this),s=Vn(i,a.bind(r),n);return o(),s}function Un(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,B=Symbol(`_leaveCb`),Kn=Symbol(`_enterCb`);function qn(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return xr(()=>{e.isMounted=!0}),wr(()=>{e.isUnmounting=!0}),e}var Jn=[Function,Array],Yn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Jn,onEnter:Jn,onAfterEnter:Jn,onEnterCancelled:Jn,onBeforeLeave:Jn,onLeave:Jn,onAfterLeave:Jn,onLeaveCancelled:Jn,onBeforeAppear:Jn,onAppear:Jn,onAfterAppear:Jn,onAppearCancelled:Jn},Xn=e=>{let t=e.subTree;return t.component?Xn(t.component):t},Zn={name:`BaseTransition`,props:Yn,setup(e,{slots:t}){let n=Sa(),r=qn();return()=>{let i=t.default&&ar(t.default(),!0),a=i&&i.length?Qn(i):n.subTree?pa():void 0;if(!a)return;let o=P(e),{mode:s}=o;if(r.isLeaving)return nr(a);let c=rr(a);if(!c)return nr(a);let l=tr(c,o,r,n,e=>l=e);c.type!==W&&ir(c,l);let u=n.subTree&&rr(n.subTree);if(u&&u.type!==W&&!aa(u,c)&&Xn(n).type!==W){let e=tr(u,o,r,n);if(ir(u,e),s===`out-in`&&c.type!==W)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},nr(a);s===`in-out`&&c.type!==W?e.delayLeave=(e,t,n)=>{let i=er(r,u);i[String(u.key)]=u,e[B]=()=>{t(),e[B]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Qn(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==W){t=n;break}}return t}var $n=Zn;function er(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function tr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=er(n,e),C=(e,t)=>{e&&pn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),d(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=_||c;else return;t[B]&&t[B](!0);let i=S[x];i&&aa(e,i)&&i.el[B]&&i.el[B](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=f;if(!n.isMounted)if(a)r=v||l,i=y||u,o=b||f;else return;let s=!1;t[Kn]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Kn]=void 0)};let c=t[Kn].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Kn]&&t[Kn](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[B]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[B]=void 0,S[i]===e&&delete S[i])};let o=t[B].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=tr(e,t,n,r,i);return i&&i(a),a}};return T}function nr(e){if(pr(e))return e=ua(e),e.children=null,e}function rr(e){if(!pr(e))return Gn(e.type)&&e.children?Qn(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&h(n.default))return n.default()}}function ir(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ir(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ar(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eur(e,n&&(d(n)?n[t]:n),r,a,o));return}if(fr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&ur(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?La(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=P(v),b=v===t?i:e=>cr(_,e)?!1:u(y,e),x=(e,t)=>!(t&&cr(_,t));if(m!=null&&m!==p){if(dr(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(F(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))fn(p,f,12,[l,_]);else{let t=g(p),n=F(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),lr.delete(e)};t.id=-1,lr.set(e,t),H(t,r)}else dr(e),i()}}}function dr(e){let t=lr.get(e);t&&(t.flags|=8,lr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var fr=e=>!!e.type.__asyncLoader,pr=e=>e.type.__isKeepAlive;function mr(e,t){gr(e,`a`,t)}function hr(e,t){gr(e,`da`,t)}function gr(e,t,n=J){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(vr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)pr(e.parent.vnode)&&_r(r,t,n,e),e=e.parent}}function _r(e,t,n,r){let i=vr(t,e,r,!0);Tr(()=>{c(r[t],i)},n)}function vr(e,t,n=J,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ke();let i=Ta(n),a=pn(t,n,e,r);return i(),qe(),a};return r?i.unshift(a):i.push(a),a}}var yr=e=>(t,n=J)=>{(!Oa||e===`sp`)&&vr(e,(...e)=>t(...e),n)},br=yr(`bm`),xr=yr(`m`),Sr=yr(`bu`),Cr=yr(`u`),wr=yr(`bum`),Tr=yr(`um`),Er=yr(`sp`),Dr=yr(`rtg`),Or=yr(`rtc`);function kr(e,t=J){vr(`ec`,e,t)}var Ar=`components`;function jr(e,t){return Pr(Ar,e,!0,t)||e}var Mr=Symbol.for(`v-ndc`);function Nr(e){return g(e)?Pr(Ar,e,!1)||e:e||Mr}function Pr(e,t,n=!0,r=!1){let i=R||J;if(i){let n=i.type;if(e===Ar){let e=Ra(n,!1);if(e&&(e===t||e===E(t)||e===re(E(t))))return n}let a=Fr(i[e]||n[e],t)||Fr(i.appContext[e],t);return!a&&r?n:a}}function Fr(e,t){return e&&(e[t]||e[E(t)]||e[re(E(t))])}function Ir(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Ht(e),r=!1,s=!1;n&&(r=!N(e),s=Ut(e),e=ot(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;re?Da(e)?La(e):Lr(e.parent):null,Rr=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Lr(e.parent),$root:e=>Lr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qr(e),$forceUpdate:e=>e.f||=()=>{wn(e.update)},$nextTick:e=>e.n||=Sn.bind(e.proxy),$watch:e=>Hn.bind(e)}),zr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),Br={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(zr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else Hr&&(s[n]=0)}let d=Rr[n],f,p;if(d)return n===`$attrs`&&M(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return zr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||zr(n,c)||u(o,c)||u(i,c)||u(Rr,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function Vr(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var Hr=!0;function Ur(e){let t=qr(e),n=e.proxy,i=e.ctx;Hr=!1,t.beforeCreate&&Gr(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:te,errorCaptured:E,serverPrefetch:ne,expose:D,inheritAttrs:re,components:ie,directives:O,filters:ae}=t;if(u&&Wr(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=Rt(t))}if(Hr=!0,o)for(let e in o){let t=o[e],a=Y({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Kr(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{In(t,e[t])})}f&&Gr(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(br,p),k(xr,m),k(Sr,g),k(Cr,_),k(mr,y),k(hr,b),k(kr,E),k(Or,ee),k(Dr,te),k(wr,S),k(Tr,w),k(Er,ne),d(D))if(D.length){let t=e.exposed||={};D.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};T&&e.render===r&&(e.render=T),re!=null&&(e.inheritAttrs=re),ie&&(e.components=ie),O&&(e.directives=O),ne&&sr(e)}function Wr(e,t,n=r){d(e)&&(e=Qr(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?z(r.from||n,r.default,!0):z(r.from||n):z(r),F(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Gr(e,t,n){pn(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Kr(e,t,n,r){let i=r.includes(`.`)?Un(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&Bn(i,n)}else if(h(e))Bn(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>Kr(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&Bn(i,r,e)}}function qr(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Jr(c,e,o,!0)),Jr(c,t,o)),v(t)&&a.set(t,c),c}function Jr(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Jr(e,a,n,!0),i&&i.forEach(t=>Jr(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Yr[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Yr={data:Xr,props:ei,emits:ei,methods:$r,computed:$r,beforeCreate:V,created:V,beforeMount:V,mounted:V,beforeUpdate:V,updated:V,beforeDestroy:V,beforeUnmount:V,destroyed:V,unmounted:V,activated:V,deactivated:V,errorCaptured:V,serverPrefetch:V,components:$r,directives:$r,watch:ti,provide:Xr,inject:Zr};function Xr(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Zr(e,t){return $r(Qr(e),Qr(t))}function Qr(e){if(d(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${E(t)}Modifiers`]||e[`${D(t)}Modifiers`];function si(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&oi(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=ie(n)]||i[c=ie(E(n))];!l&&o&&(l=i[c=ie(D(n))]),l&&pn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,pn(u,e,6,a)}}var ci=new WeakMap;function li(e,t,n=!1){let r=n?ci:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=li(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function ui(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,D(t))||u(e,t))}function di(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Mn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=ma(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=ma(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:fi(c)}}catch(t){Xi.length=0,mn(t,e,1),v=q(W)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=pi(y,a)),b=ua(b,y,!1,!0))}return n.dirs&&(b=ua(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&ir(b,n.transition),v=b,Mn(_),v}var fi=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},pi=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function mi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?hi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(vi),bi=e=>Object.getPrototypeOf(e)===vi;function xi(e,t,n,r=!1){let i={},a=yi();e.propsDefaults=Object.create(null),Ci(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:zt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Si(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=P(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{p=!0;let[t,n]=Ei(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,ki=e=>d(e)?e.map(ma):[ma(e)],Ai=(e,t,n)=>{if(t._n)return t;let r=Nn((...e)=>ki(t(...e)),n);return r._c=!1,r},ji=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Oi(n))continue;let i=e[n];if(h(i))t[n]=Ai(n,i,r);else if(i!=null){let e=ki(i);t[n]=()=>e}}},Mi=(e,t)=>{let n=ki(t);e.slots.default=()=>n},Ni=(e,t,n)=>{for(let r in t)(n||!Oi(r))&&(e[r]=t[r])},Pi=(e,t,n)=>{let r=e.slots=yi();if(e.vnode.shapeFlag&32){let e=t._;e?(Ni(r,t,n),n&&k(r,`_`,e,!0)):ji(t,r)}else t&&Mi(e,t)},Fi=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:Ni(a,n,r):(o=!n.$stable,ji(n,a)),s=n}else n&&(Mi(e,n),s={default:1});if(o)for(let e in a)!Oi(e)&&s[e]==null&&delete a[e]},H=qi;function Ii(e){return Li(e)}function Li(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!aa(e,t)&&(r=ye(e),me(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Ji:y(e,t,n,r);break;case W:b(e,t,n,r);break;case Yi:e??x(t,n,r,o);break;case U:ie(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?O(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,Se)}u!=null&&i?ur(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&ur(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)ee(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ne(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},ee=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&E(e.children,d,null,r,i,Ri(e,a),s,u),_&&Fn(e,null,r,`created`),te(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!T(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&va(f,r,e)}_&&Fn(e,null,r,`beforeMount`);let v=Bi(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&H(()=>{try{f&&va(f,r,e),v&&g.enter(d),_&&Fn(e,null,r,`mounted`)}finally{}},i)},te=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&zi(r,!1),(g=h.onVnodeBeforeUpdate)&&va(g,r,n,e),f&&Fn(n,e,r,`beforeUpdate`),r&&zi(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?D(e.dynamicChildren,d,l,r,i,Ri(n,a),o):s||ue(e,n,l,null,r,i,Ri(n,a),o,!1),u>0){if(u&16)re(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t{g&&va(g,r,n,e),f&&Fn(n,e,r,`updated`)},i)},D=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!T(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(T(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ie=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),E(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(D(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Vi(e,t,!0)):ue(e,t,n,f,i,a,s,c,l)},O=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):k(t,n,r,i,a,o,c):oe(e,t,c)},k=(e,t,n,r,i,a,o)=>{let s=e.component=xa(e,r,i);if(pr(e)&&(s.ctx.renderer=Se),ka(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=q(W);b(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(mi(e,t,n))if(r.asyncDep&&!r.asyncResolved){ce(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Ui(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{H(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;zi(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&ae(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&va(d,s,t,c),zi(e,!0);let f=di(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ye(p),e,i,a),t.el=f.el,u===null&&_i(e,f.el),r&&H(r,i),(d=t.props&&t.props.onVnodeUpdated)&&H(()=>va(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=fr(t);if(zi(e,!1),l&&ae(l),!m&&(o=c&&c.onVnodeBeforeMount)&&va(o,d,t),zi(e,!0),s&&we){let t=()=>{e.subTree=di(e),we(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=di(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&H(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;H(()=>va(o,d,e),i)}(t.shapeFlag&256||d&&fr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&H(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new je(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>wn(u),zi(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Si(e,t.props,r,n),Fi(e,t.children,n),Ke(),Dn(e),qe()},ue=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){fe(l,d,n,r,i,a,o,s,c);return}else if(f&256){de(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ve(l,i,a),d!==l&&p(n,d)):u&16?m&16?fe(l,d,n,r,i,a,o,s,c):ve(l,i,a,!0):(u&8&&p(n,``),m&16&&E(d,n,r,i,a,o,s,c))},de=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?ve(e,a,o,!0,!1,f):E(t,r,i,a,o,s,c,l,f)},fe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?ha(t[u]):ma(t[u]);if(aa(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?ha(t[p]):ma(t[p]);if(aa(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=ep)for(;u<=f;)me(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?ha(t[u]):ma(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){me(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&aa(n,t[_])){i=_;break}i===void 0?me(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?Hi(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){pe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,Se);return}if(c===U){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[B];a._isLeaving&&a[B](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},me=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ke(),ur(s,null,n,e,!0),qe()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!fr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&va(_,t,e),u&6)_e(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Fn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,Se,r):l&&!l.hasOnce&&(a!==U||d>0&&d&64)?ve(l,t,n,!1,!0):(a===U&&d&384||!i&&u&16)&&ve(c,t,n),r&&he(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&H(()=>{_&&va(_,t,e),h&&Fn(e,null,t,`unmounted`),v&&(e.el=null)},n)},he=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===U){ge(n,r);return}if(t===Yi){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ge=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},_e=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Wi(c),Wi(l),r&&ae(r),i.stop(),a&&(a.flags|=8,me(o,e,t,n)),s&&H(s,t),H(()=>{e.isUnmounted=!0},t)},ve=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return ye(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Wn];return n?h(n):t},be=!1,xe=(e,t,n)=>{let r;e==null?t._vnode&&(me(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,be||=(be=!0,Dn(r),On(),!1)},Se={p:v,um:me,m:pe,r:he,mt:k,mc:E,pc:ue,pbc:D,n:ye,o:e},Ce,we;return i&&([Ce,we]=i(Se)),{render:xe,hydrate:Ce,createApp:ii(xe,Ce)}}function Ri({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function zi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Bi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Vi(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Ui(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ui(t)}function Wi(e){if(e)for(let t=0;te.__isSuspense;function qi(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):En(e)}var U=Symbol.for(`v-fgt`),Ji=Symbol.for(`v-txt`),W=Symbol.for(`v-cmt`),Yi=Symbol.for(`v-stc`),Xi=[],G=null;function Zi(e=!1){Xi.push(G=e?null:[])}function Qi(){Xi.pop(),G=Xi[Xi.length-1]||null}var $i=1;function ea(e,t=!1){$i+=e,e<0&&G&&t&&(G.hasOnce=!0)}function ta(e){return e.dynamicChildren=$i>0?G||n:null,Qi(),$i>0&&G&&G.push(e),e}function na(e,t,n,r,i,a){return ta(K(e,t,n,r,i,a,!0))}function ra(e,t,n,r,i){return ta(q(e,t,n,r,i,!0))}function ia(e){return e?e.__v_isVNode===!0:!1}function aa(e,t){return e.type===t.type&&e.key===t.key}var oa=({key:e})=>e??null,sa=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||F(e)||h(e)?{i:R,r:e,k:t,f:!!n}:e);function K(e,t=null,n=null,r=0,i=null,a=e===U?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&oa(t),ref:t&&sa(t),scopeId:jn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:R};return s?(ga(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),$i>0&&!o&&G&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&G.push(c),c}var q=ca;function ca(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===Mr)&&(e=W),ia(e)){let r=ua(e,t,!0);return n&&ga(r,n),$i>0&&!a&&G&&(r.shapeFlag&6?G[G.indexOf(e)]=r:G.push(r)),r.patchFlag=-2,r}if(za(e)&&(e=e.__vccOpts),t){t=la(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=he(e)),v(n)&&(Wt(n)&&!d(n)&&(n=s({},n)),t.style=ue(n))}let o=g(e)?1:Ki(e)?128:Gn(e)?64:v(e)?4:h(e)?2:0;return K(e,t,n,r,i,o,a,!0)}function la(e){return e?Wt(e)||bi(e)?s({},e):e:null}function ua(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?_a(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&oa(l),ref:t&&t.ref?n&&a?d(a)?a.concat(sa(t)):[a,sa(t)]:sa(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==U?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ua(e.ssContent),ssFallback:e.ssFallback&&ua(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&ir(u,c.clone(u)),u}function da(e=` `,t=0){return q(Ji,null,e,t)}function fa(e,t){let n=q(Yi,null,e);return n.staticCount=t,n}function pa(e=``,t=!1){return t?(Zi(),ra(W,null,e)):q(W,null,e)}function ma(e){return e==null||typeof e==`boolean`?q(W):d(e)?q(U,null,e.slice()):ia(e)?ha(e):q(Ji,null,String(e))}function ha(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ua(e)}function ga(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),ga(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!bi(t)?t._ctx=R:r===3&&R&&(R.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:R},n=32):(t=String(t),r&64?(n=16,t=[da(t)]):n=8);e.children=t,e.shapeFlag|=n}function _a(...e){let t={};for(let n=0;nJ||R,Ca,wa;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Ca=t(`__VUE_INSTANCE_SETTERS__`,e=>J=e),wa=t(`__VUE_SSR_SETTERS__`,e=>Oa=e)}var Ta=e=>{let t=J;return Ca(e),e.scope.on(),()=>{e.scope.off(),Ca(t)}},Ea=()=>{J&&J.scope.off(),Ca(null)};function Da(e){return e.vnode.shapeFlag&4}var Oa=!1;function ka(e,t=!1,n=!1){t&&wa(t);let{props:r,children:i}=e.vnode,a=Da(e);xi(e,r,a,t),Pi(e,i,n||t);let o=a?Aa(e,t):void 0;return t&&wa(!1),o}function Aa(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Br);let{setup:r}=n;if(r){Ke();let n=e.setupContext=r.length>1?Ia(e):null,i=Ta(e),a=fn(r,e,0,[e.props,n]),o=y(a);if(qe(),i(),(o||e.sp)&&!fr(e)&&sr(e),o){if(a.then(Ea,Ea),t)return a.then(n=>{ja(e,n,t)}).catch(t=>{mn(t,e,0)});e.asyncDep=a}else ja(e,a,t)}else Pa(e,t)}function ja(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=$t(t)),Pa(e,n)}var Ma,Na;function Pa(e,t,n){let i=e.type;if(!e.render){if(!t&&Ma&&!i.render){let t=i.template||qr(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=Ma(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,Na&&Na(e)}{let t=Ta(e);Ke();try{Ur(e)}finally{qe(),t()}}}var Fa={get(e,t){return M(e,`get`,``),e[t]}};function Ia(e){return{attrs:new Proxy(e.attrs,Fa),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function La(e){return e.exposed?e.exposeProxy||=new Proxy($t(Gt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rr)return Rr[n](e)},has(e,t){return t in e||t in Rr}}):e.proxy}function Ra(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function za(e){return h(e)&&`__vccOpts`in e}var Y=(e,t)=>an(e,t,Oa);function Ba(e,t,n){try{ea(-1);let r=arguments.length;return r===2?v(t)&&!d(t)?ia(t)?q(e,null,[t]):q(e,t):q(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&ia(n)&&(n=[n]),q(e,t,n))}finally{ea(1)}}var Va=`3.5.35`,Ha=void 0,Ua=typeof window<`u`&&window.trustedTypes;if(Ua)try{Ha=Ua.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Wa=Ha?e=>Ha.createHTML(e):e=>e,Ga=`http://www.w3.org/2000/svg`,Ka=`http://www.w3.org/1998/Math/MathML`,qa=typeof document<`u`?document:null,Ja=qa&&qa.createElement(`template`),Ya={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?qa.createElementNS(Ga,e):t===`mathml`?qa.createElementNS(Ka,e):n?qa.createElement(e,{is:n}):qa.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>qa.createTextNode(e),createComment:e=>qa.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qa.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Ja.innerHTML=Wa(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Ja.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Xa=`transition`,Za=`animation`,Qa=Symbol(`_vtc`),$a={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},eo=s({},Yn,$a),to=(e=>(e.displayName=`Transition`,e.props=eo,e))((e,{slots:t})=>Ba($n,io(e),t)),no=(e,t=[])=>{d(e)?e.forEach(e=>e(...t)):e&&e(...t)},ro=e=>e?d(e)?e.some(e=>e.length>1):e.length>1:!1;function io(e){let t={};for(let n in e)n in $a||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=ao(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,co(e,t?d:c),co(e,t?u:o),n&&n()},te=(e,t)=>{e._isLeaving=!1,co(e,f),co(e,m),co(e,p),t&&t()},E=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);no(i,[t,o]),lo(()=>{co(t,e?l:a),so(t,e?d:c),ro(i)||fo(t,r,g,o)})};return s(t,{onBeforeEnter(e){no(v,[e]),so(e,a),so(e,o)},onBeforeAppear(e){no(C,[e]),so(e,l),so(e,u)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>te(e,t);so(e,f),e._enterCancelled?(so(e,p),go(e)):(go(e),so(e,p)),lo(()=>{e._isLeaving&&(co(e,f),so(e,m),ro(x)||fo(e,r,_,n))}),no(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),no(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),no(T,[e])},onLeaveCancelled(e){te(e),no(S,[e])}})}function ao(e){if(e==null)return null;if(v(e))return[oo(e.enter),oo(e.leave)];{let t=oo(e);return[t,t]}}function oo(e){return se(e)}function so(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Qa]||(e[Qa]=new Set)).add(t)}function co(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Qa];n&&(n.delete(t),n.size||(e[Qa]=void 0))}function lo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var uo=0;function fo(e,t,n,r){let i=e._endId=++uo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=po(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Xa}Delay`),a=r(`${Xa}Duration`),o=mo(i,a),s=r(`${Za}Delay`),c=r(`${Za}Duration`),l=mo(s,c),u=null,d=0,f=0;t===Xa?o>0&&(u=Xa,d=o,f=a.length):t===Za?l>0&&(u=Za,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Xa:Za:null,f=u?u===Xa?a.length:c.length:0);let p=u===Xa&&/\b(?:transform|all)(?:,|$)/.test(r(`${Xa}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function mo(e,t){for(;e.lengthho(t)+ho(e[n])))}function ho(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function go(e){return(e?e.ownerDocument:document).body.offsetHeight}function _o(e,t,n){let r=e[Qa];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var vo=Symbol(`_vod`),yo=Symbol(`_vsh`),bo={name:`show`,beforeMount(e,{value:t},{transition:n}){e[vo]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):xo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),xo(e,!0),r.enter(e)):r.leave(e,()=>{xo(e,!1)}):xo(e,t))},beforeUnmount(e,{value:t}){xo(e,t)}};function xo(e,t){e.style.display=t?e[vo]:`none`,e[yo]=!t}var So=Symbol(``),Co=/(?:^|;)\s*display\s*:/;function wo(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Eo(r,t,``)}else for(let e in t)n[e]??Eo(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Eo(r,i,``):Ao(e,i,!g(t)&&t?t[i]:void 0,o)||Eo(r,i,o)}}else if(i){if(t!==n){let e=r[So];e&&(n+=`;`+e),r.cssText=n,a=Co.test(n)}}else t&&e.removeAttribute(`style`);vo in e&&(e[vo]=a?r.display:``,e[yo]&&(r.display=`none`))}var To=/\s*!important$/;function Eo(e,t,n){if(d(n))n.forEach(n=>Eo(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=ko(e,t);To.test(n)?e.setProperty(D(r),n.replace(To,``),`important`):e[r]=n}}var Do=[`Webkit`,`Moz`,`ms`],Oo={};function ko(e,t){let n=Oo[t];if(n)return n;let r=E(t);if(r!==`filter`&&r in e)return Oo[t]=r;r=re(r);for(let n=0;nBo||=(Vo.then(()=>Bo=0),Date.now());function Uo(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Go=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?_o(e,r,c):t===`style`?wo(e,n,r):a(t)?o(t)||Lo(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ko(e,t,r,c))?(No(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Mo(e,t,r,c,s,t!==`value`)):e._isVueCE&&(qo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?No(e,E(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Mo(e,t,r,c))};function Ko(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Wo(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Wo(t)&&g(n)?!1:t in e}function qo(e,t){let n=e._def.props;if(!n)return!1;let r=E(t);return Array.isArray(n)?n.some(e=>E(e)===r):Object.keys(n).some(e=>E(e)===r)}var Jo=new WeakMap,Yo=new WeakMap,Xo=Symbol(`_moveCb`),Zo=Symbol(`_enterCb`),Qo=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:s({},eo,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Sa(),r=qn(),i,a;return Cr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!rs(i[0].el,n.vnode.el,t)){i=[];return}i.forEach($o),i.forEach(es);let r=i.filter(ts);go(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;so(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Xo]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Xo]=null,co(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=P(e),s=io(o),c=o.tag||U;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=po(r);return a.removeChild(r),o}var is=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>ae(t,e):t};function as(e){e.target.composing=!0}function os(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var ss=Symbol(`_assign`);function cs(e,t,n){return t&&(e=e.trim()),n&&(e=oe(e)),e}var ls={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[ss]=is(i);let a=r||i.props&&i.props.type===`number`;Po(e,t?`change`:`input`,t=>{t.target.composing||e[ss](cs(e.value,n,a))}),(n||a)&&Po(e,`change`,()=>{e.value=cs(e.value,n,a)}),t||(Po(e,`compositionstart`,as),Po(e,`compositionend`,os),Po(e,`change`,os))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[ss]=is(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?oe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},us={deep:!0,created(e,t,n){e[ss]=is(n),Po(e,`change`,()=>{let t=e._modelValue,n=ms(e),r=e.checked,i=e[ss];if(d(t)){let e=xe(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(p(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(hs(e,r))})},mounted:ds,beforeUpdate(e,t,n){e[ss]=is(n),ds(e,t,n)}};function ds(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(d(t))i=xe(t,r.props.value)>-1;else if(p(t))i=t.has(r.props.value);else{if(t===n)return;i=be(t,hs(e,!0))}e.checked!==i&&(e.checked=i)}var fs={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=p(t);Po(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?oe(ms(e)):ms(e));e[ss](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,Sn(()=>{e._assigning=!1})}),e[ss]=is(r)},mounted(e,{value:t}){ps(e,t)},beforeUpdate(e,t,n){e[ss]=is(n)},updated(e,{value:t}){e._assigning||ps(e,t)}};function ps(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=xe(t,o)>-1}else a.selected=t.has(o);else if(be(ms(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ms(e){return`_value`in e?e._value:e.value}function hs(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var gs=[`ctrl`,`shift`,`alt`,`meta`],_s={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>gs.some(n=>e[`${n}Key`]&&!t.includes(n))},vs=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let t=xs().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=ws(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Cs(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Cs(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function ws(e){return g(e)?document.querySelector(e):e}var Ts=typeof window<`u`,Es,Ds=e=>Es=e,Os=Symbol();function ks(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var As;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(As||={});var js=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Ms(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function Ns(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Rs(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Ps(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Fs(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Is=typeof navigator==`object`?navigator:{userAgent:``},Ls=/Macintosh/.test(Is.userAgent)&&/AppleWebKit/.test(Is.userAgent)&&!/Safari/.test(Is.userAgent),Rs=Ts?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Ls?zs:`msSaveOrOpenBlob`in Is?Bs:Vs:()=>{};function zs(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?Fs(r):Ps(r.href)?Ns(e,t,n):(r.target=`_blank`,Fs(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Fs(r)},0))}function Bs(e,t=`download`,n){if(typeof e==`string`)if(Ps(e))Ns(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Fs(t)})}else navigator.msSaveOrOpenBlob(Ms(e,n),t)}function Vs(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Ns(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(js.HTMLElement))||`safari`in js,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Ls)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Hs}=Object;function Us(){let e=De(!0),t=e.run(()=>Jt({})),n=[],r=[],i=Gt({install(e){Ds(i),i._a=e,e.provide(Os,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Ws=()=>{};function Gs(e,t,n,r=Ws){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Oe()&&ke(i),i}function Ks(e,...t){e.forEach(e=>{e(...t)})}var qs=e=>e(),Js=Symbol(),Ys=Symbol();function Xs(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];ks(i)&&ks(r)&&e.hasOwnProperty(n)&&!F(r)&&!Ht(r)?e[n]=Xs(i,r):e[n]=r}return e}var Zs=Symbol();function Qs(e){return!ks(e)||!Object.prototype.hasOwnProperty.call(e,Zs)}var{assign:$s}=Object;function ec(e){return!!(F(e)&&e.effect)}function tc(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),$s(en(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Gt(Y(()=>{Ds(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=nc(e,l,t,n,r,!0),c}function nc(e,t,n={},r,i,a){let o,s=$s({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:As.patchFunction,storeId:e,events:void 0}):(Xs(r.state.value[e],t),n={type:As.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();Sn().then(()=>{m===i&&(l=!0)}),u=!0,Ks(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{$s(e,t)})}:Ws;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Js in t)return t[Ys]=n,t;let i=function(){Ds(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ks(f,{args:n,name:i[Ys],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ks(o,e),e}return l instanceof Promise?l.then(e=>(Ks(a,e),e)).catch(e=>(Ks(o,e),Promise.reject(e))):(Ks(a,l),l)};return i[Js]=!0,i[Ys]=n,i},y=Rt({_p:r,$id:e,$onAction:Gs.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Gs(d,t,n.detached,()=>a()),a=o.run(()=>Bn(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:As.direct,events:void 0},r)},$s({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||qs)(()=>r._e.run(()=>(o=De()).run(()=>t({action:v}))));for(let t in b){let n=b[t];F(n)&&!ec(n)||Ht(n)?a||(p&&Qs(n)&&(F(n)?n.value=p[t]:Xs(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return $s(y,b),$s(P(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{$s(t,e)})}}),r._p.forEach(e=>{$s(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function rc(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Ln();return n||=o?z(Os,null):null,n&&Ds(n),n=Es,n._s.has(e)||(i?nc(e,t,r,n):tc(e,r,n)),n._s.get(e)}return a.$id=e,a}var ic=typeof document<`u`;function ac(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function oc(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ac(e.default)}var X=Object.assign;function sc(e,t){let n={};for(let r in t){let i=t[r];n[r]=lc(i)?i.map(e):e(i)}return n}var cc=()=>{},lc=Array.isArray;function uc(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var dc=/#/g,fc=/&/g,pc=/\//g,mc=/=/g,hc=/\?/g,gc=/\+/g,_c=/%5B/g,vc=/%5D/g,yc=/%5E/g,bc=/%60/g,xc=/%7B/g,Sc=/%7C/g,Cc=/%7D/g,wc=/%20/g;function Tc(e){return e==null?``:encodeURI(``+e).replace(Sc,`|`).replace(_c,`[`).replace(vc,`]`)}function Ec(e){return Tc(e).replace(xc,`{`).replace(Cc,`}`).replace(yc,`^`)}function Dc(e){return Tc(e).replace(gc,`%2B`).replace(wc,`+`).replace(dc,`%23`).replace(fc,`%26`).replace(bc,"`").replace(xc,`{`).replace(Cc,`}`).replace(yc,`^`)}function Oc(e){return Dc(e).replace(mc,`%3D`)}function kc(e){return Tc(e).replace(dc,`%23`).replace(hc,`%3F`)}function Ac(e){return kc(e).replace(pc,`%2F`)}function jc(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Mc=/\/$/,Nc=e=>e.replace(Mc,``);function Pc(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Hc(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:jc(o)}}function Fc(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Ic(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Lc(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Rc(t.matched[r],n.matched[i])&&zc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Rc(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function zc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Bc(e[n],t[n]))return!1;return!0}function Bc(e,t){return lc(e)?Vc(e,t):lc(t)?Vc(t,e):e?.valueOf()===t?.valueOf()}function Vc(e,t){return lc(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Hc(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Uc={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Wc=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Gc=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Kc(e){if(!e)if(ic){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Nc(e)}var qc=/^[^#]+#/;function Jc(e,t){return e.replace(qc,`#`)+t}function Yc(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Xc=()=>({left:window.scrollX,top:window.scrollY});function Zc(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Yc(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Qc(e,t){return(history.state?history.state.position-t:-1)+e}var $c=new Map;function el(e,t){$c.set(e,t)}function tl(e){let t=$c.get(e);return $c.delete(e),t}function nl(e){return typeof e==`string`||e&&typeof e==`object`}function rl(e){return typeof e==`string`||typeof e==`symbol`}var Z=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),il=Symbol(``);Z.MATCHER_NOT_FOUND,Z.NAVIGATION_GUARD_REDIRECT,Z.NAVIGATION_ABORTED,Z.NAVIGATION_CANCELLED,Z.NAVIGATION_DUPLICATED;function al(e,t){return X(Error(),{type:e,[il]:!0},t)}function ol(e,t){return e instanceof Error&&il in e&&(t==null||!!(e.type&t))}function sl(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Dc(e)):[r&&Dc(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function ll(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=lc(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var ul=Symbol(``),dl=Symbol(``),fl=Symbol(``),pl=Symbol(``),ml=Symbol(``);function hl(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function gl(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(al(Z.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):nl(e)?c(al(Z.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function _l(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(ac(s)){let c=(s.__vccOpts||s)[t];c&&a.push(gl(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=oc(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&gl(c,n,r,o,e,i)()}))}}return a}function vl(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oRc(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Rc(e,s))||i.push(s))}return[n,r,i]}var yl=()=>location.protocol+`//`+location.host;function bl(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Ic(n,``)}return Ic(n,e)+r+i}function xl(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=bl(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Wc.pop,direction:u?u>0?Gc.forward:Gc.back:Gc.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(X({},e.state,{scroll:Xc()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Sl(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Xc():null}}function Cl(e){let{history:t,location:n}=window,r={value:bl(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:yl()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,X({},t.state,Sl(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=X({},i.value,t.state,{forward:e,scroll:Xc()});a(o.current,o,!0),a(e,X({},Sl(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function wl(e){e=Kc(e);let t=Cl(e),n=xl(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=X({location:``,base:e,go:r,createHref:Jc.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Tl=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Q=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Q||{}),El={type:Tl.Static,value:``},Dl=/[a-zA-Z0-9_]/;function Ol(e){if(!e)return[[]];if(e===`/`)return[[El]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Q.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Q.Static?a.push({type:Tl.Static,value:l}):n===Q.Param||n===Q.ParamRegExp||n===Q.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Tl.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===$.Static+$.Segment?1:-1:0}function Pl(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Il={strict:!1,end:!0,sensitive:!1};function Ll(e,t,n){let r=X(Ml(Ol(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Rl(e,t){let n=[],r=new Map;t=uc(Il,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Bl(e);s.aliasOf=r&&r.record;let l=uc(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Bl(X({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ll(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Hl(d)&&o(e.name)),Kl(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:cc}function o(e){if(rl(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Wl(e,n);n.splice(t,0,e),e.record.name&&!Hl(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw al(Z.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=X(zl(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&zl(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw al(Z.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=X({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Ul(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function zl(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Bl(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Vl(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Vl(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Hl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ul(e){return e.reduce((e,t)=>X(e,t.meta),{})}function Wl(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Pl(e,t[i])<0?r=i:n=i+1}let i=Gl(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Gl(e){let t=e;for(;t=t.parent;)if(Kl(t)&&Pl(e,t)===0)return t}function Kl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ql(e){let t=z(fl),n=z(pl),r=Y(()=>{let n=I(e.to);return t.resolve(n)}),i=Y(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Rc.bind(null,i));if(o>-1)return o;let s=Ql(e[t-2]);return t>1&&Ql(i)===s&&a[a.length-1].path!==s?a.findIndex(Rc.bind(null,e[t-2])):o}),a=Y(()=>i.value>-1&&Zl(n.params,r.value.params)),o=Y(()=>i.value>-1&&i.value===n.matched.length-1&&zc(n.params,r.value.params));function s(n={}){if(Xl(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch(cc);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:Y(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Jl(e){return e.length===1?e[0]:e}var Yl=or({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:ql,setup(e,{slots:t}){let n=Rt(ql(e)),{options:r}=z(fl),i=Y(()=>({[$l(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[$l(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Jl(t.default(n));return e.custom?r:Ba(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Xl(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Zl(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!lc(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Ql(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var $l=(e,t,n)=>e??t??n,eu=or({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(ml),i=Y(()=>e.route||r.value),a=z(dl,0),o=Y(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=Y(()=>i.value.matched[o.value]);In(dl,Y(()=>o.value+1)),In(ul,s),In(ml,i);let c=Jt();return Bn(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Rc(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return tu(n.default,{Component:l,route:r});let u=o.props[a],d=Ba(l,X({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return tu(n.default,{Component:d,route:r})||d}}});function tu(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var nu=eu;function ru(e){let t=Rl(e.routes,e),n=e.parseQuery||sl,r=e.stringifyQuery||cl,i=e.history,a=hl(),o=hl(),s=hl(),c=Yt(Uc),l=Uc;ic&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=sc.bind(null,e=>``+e),d=sc.bind(null,Ac),f=sc.bind(null,jc);function p(e,n){let r,i;return rl(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=X({},a||c.value),typeof e==`string`){let r=Pc(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return X(r,o,{params:f(o.params),hash:jc(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=X({},e,{path:Pc(n,e.path,a.path).path});else{let t=X({},e.params);for(let e in t)t[e]??delete t[e];o=X({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Fc(r,X({},e,{hash:Ec(l),path:s.path})),m=i.createHref(p);return X({fullPath:p,hash:l,query:r===cl?ll(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Pc(n,e,c.value.path):X({},e)}function y(e,t){if(l!==e)return al(Z.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(X(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),X({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(X(v(u),{state:typeof u==`object`?X({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Lc(r,i,n)&&(f=al(Z.NAVIGATION_DUPLICATED,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):ee(d,i)).catch(e=>ol(e)?ol(e,Z.NAVIGATION_GUARD_REDIRECT)?e:oe(e):ae(e,d,i)).then(e=>{if(e){if(ol(e,Z.NAVIGATION_GUARD_REDIRECT))return C(X({replace:s},v(e.to),{state:typeof e.to==`object`?X({},a,e.to.state):a,force:o}),t||d)}else e=E(d,i,!0,s,a);return te(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ee(e,t){let n,[r,i,s]=vl(e,t);n=_l(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(gl(r,e,t))});let c=w.bind(null,e,t);return n.push(c),fe(n).then(()=>{n=[];for(let r of a.list())n.push(gl(r,e,t));return n.push(c),fe(n)}).then(()=>{n=_l(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(gl(r,e,t))});return n.push(c),fe(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(lc(r.beforeEnter))for(let i of r.beforeEnter)n.push(gl(i,e,t));else n.push(gl(r.beforeEnter,e,t));return n.push(c),fe(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=_l(s,`beforeRouteEnter`,e,t,T),n.push(c),fe(n))).then(()=>{n=[];for(let r of o.list())n.push(gl(r,e,t));return n.push(c),fe(n)}).catch(e=>ol(e,Z.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function te(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function E(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Uc,l=ic?history.state:{};n&&(r||s?i.replace(e.fullPath,X({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let ne;function D(){ne||=i.listen((e,t,n)=>{if(!de.listening)return;let r=_(e),a=S(r,de.currentRoute.value);if(a){C(X(a,{replace:!0,force:!0}),r).catch(cc);return}l=r;let o=c.value;ic&&el(Qc(o.fullPath,n.delta),Xc()),ee(r,o).catch(e=>ol(e,Z.NAVIGATION_ABORTED|Z.NAVIGATION_CANCELLED)?e:ol(e,Z.NAVIGATION_GUARD_REDIRECT)?(C(X(v(e.to),{force:!0}),r).then(e=>{ol(e,Z.NAVIGATION_ABORTED|Z.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Wc.pop&&i.go(-1,!1)}).catch(cc),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ae(e,r,o))).then(e=>{e||=E(r,o,!1),e&&(n.delta&&!ol(e,Z.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Wc.pop&&ol(e,Z.NAVIGATION_ABORTED|Z.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),te(r,o,e)}).catch(cc)})}let re=hl(),ie=hl(),O;function ae(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return O&&c.value!==Uc?Promise.resolve():new Promise((e,t)=>{re.add([e,t])})}function oe(e){return O||(O=!e,D(),re.list().forEach(([t,n])=>e?n(e):t()),re.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!ic||!a)return Promise.resolve();let o=!r&&tl(Qc(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Sn().then(()=>a(t,n,o)).then(e=>e&&Zc(e)).catch(e=>ae(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,de={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,Yl),e.component(`RouterView`,nu),e.config.globalProperties.$router=de,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),ic&&!le&&c.value===Uc&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in Uc)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(fl,de),e.provide(pl,zt(t)),e.provide(ml,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=Uc,ne&&ne(),ne=null,c.value=Uc,le=!1,O=!1),n()}}};function fe(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return de}function iu(){return z(fl)}function au(e){return z(pl)}var ou=rc(`app`,()=>{let e=Jt(null),t=Jt(null),n=Jt(!1),r=Jt([]),i=Jt(!1);function a(e){let t=r.value.findIndex(t=>t.id===e);t>-1&&r.value.splice(t,1)}return{user:e,token:t,loading:n,notifications:r,initialized:i,dismissNotification:a}}),su=`modulepreload`,cu=function(e){return`/static/`+e},lu={},uu=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=cu(t,n),t in lu)return;lu[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:su,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},du=ru({history:wl(),routes:[{path:`/`,component:()=>uu(()=>import(`./HomeView-CbnHpG1c.js`),__vite__mapDeps([0,1]))},{path:`/login`,component:()=>uu(()=>import(`./LoginView-Ce2r7tTo.js`),__vite__mapDeps([2,3]))},{path:`/users`,component:()=>uu(()=>import(`./UsersView-DRSsev8H.js`),__vite__mapDeps([4,5]))},{path:`/moldinsight`,component:()=>uu(()=>import(`./MoldInsightView-O2BZ6fre.js`),__vite__mapDeps([6,5]))},{path:`/moldinsight/result/:taskId`,component:()=>uu(()=>import(`./ResultView-DhzFuC2H.js`),__vite__mapDeps([7,5]))},{path:`/inventory`,component:()=>uu(()=>import(`./InventoryView-Cgv-INTo.js`),__vite__mapDeps([8,5,9]))},{path:`/_design-system`,component:()=>uu(()=>import(`./DesignSystemView-BZPhnSth.js`),[])},{path:`/_release`,component:()=>uu(()=>import(`./ReleaseView-D0IDE_mx.js`),[])}]});du.beforeEach((e,t,n)=>{let r=![`/login`,`/_design-system`,`/_release`].includes(e.path),i=ou();if(r&&!i.user)return n(`/login`);if(e.path===`/login`&&i.user)return n(`/`);n()});async function fu(e){try{if((e.headers.get(`content-type`)||``).includes(`application/json`)){let t=await e.json().catch(()=>null);if(t?.detail){if(Array.isArray(t.detail)){let e=t.detail.map(e=>{let t=Array.isArray(e?.loc)?e.loc.join(`.`):``,n=e?.msg?String(e.msg):`校验失败`;return t?`${t}: ${n}`:n}).filter(Boolean);return e.length?e.join(` `):`请求校验失败`}return typeof t.detail==`object`?JSON.stringify(t.detail):String(t.detail)}return t?.message?String(t.message):`请求失败`}let t=(await e.text().catch(()=>``)||``).trim();return t?t.length>200?t.slice(0,200)+`...`:t:`请求失败`}catch{return`请求失败`}}async function pu(e,t={}){let n=ou(),r={"Content-Type":`application/json`,...t.headers||{}};n.token&&(r.Authorization=`Bearer ${n.token}`);let i=await fetch(e,{...t,headers:r});if(i.status===401)throw n.user=null,n.token=null,localStorage.removeItem(`token`),localStorage.removeItem(`user`),Error(`登录已过期,请重新登录`);if(!i.ok){let e=await fu(i);throw Error(e)}return i.json()}function mu(e,t){let n=ou();n.token=e,n.user=t,localStorage.setItem(`token`,e),localStorage.setItem(`user`,JSON.stringify(t))}function hu(){let e=ou();e.token=null,e.user=null,localStorage.removeItem(`token`),localStorage.removeItem(`user`)}function gu(){let e=ou(),t=localStorage.getItem(`token`),n=localStorage.getItem(`user`);if(t&&n)try{e.token=t,e.user=JSON.parse(n)}catch{hu()}e.initialized=!0}var _u=0,vu=new Map;function yu(e,t=`info`){let n=`${t}:${e}`,r=Date.now();if(r-(vu.get(n)||0)<2500)return;vu.set(n,r);let i=ou(),a=++_u,o={id:a,message:e,type:t,timestamp:new Date,visible:!0};i.notifications.push(o),setTimeout(()=>{let e=i.notifications.find(e=>e.id===a);e&&(e.visible=!1,setTimeout(()=>{i.dismissNotification(a)},300))},5e3)}function bu(e,t=``){console.error(`API错误 [${t}]:`,e);let n=e instanceof Error?e.message:`请求失败,请稍后重试`;return yu(n,`error`),n}var xu={class:`app-container`},Su={key:0,class:`notification-container`},Cu={class:`notification-icon`},wu={class:`notification-content`},Tu={class:`notification-message`},Eu=[`onClick`],Du={class:`app-header`},Ou={class:`header-content`},ku={key:0,class:`nav-menu`},Au={class:`user-section`},ju={class:`user-info`},Mu={class:`user-avatar`},Nu={class:`user-name`},Pu={class:`main-content`},Fu=or({__name:`App`,setup(e){let t=au(),n=iu(),r=ou(),i=Y(()=>{let e=[{path:`/`,label:`首页`,icon:`⌂`},{path:`/inventory`,label:`进销存`,icon:`⊞`},{path:`/moldinsight`,label:`MoldInsight`,icon:`◈`}];return r.user?.is_superuser&&e.push({path:`/users`,label:`用户管理`,icon:`👤`}),e}),a=e=>e===`/`?t.path===`/`:t.path.startsWith(e),o=async()=>{try{await pu(`/api/auth/logout`,{method:`POST`})}catch{}hu(),yu(`已退出登录`,`success`),n.push(`/login`)},s=e=>{let t=r.notifications.find(t=>t.id===e);t&&(t.visible=!1,setTimeout(()=>{r.dismissNotification(e)},300))};return xr(()=>{gu()}),(e,t)=>{let c=jr(`router-link`),l=jr(`router-view`);return Zi(),na(`div`,xu,[I(r).notifications.length>0?(Zi(),na(`div`,Su,[q(Qo,{name:`notification`},{default:Nn(()=>[(Zi(!0),na(U,null,Ir(I(r).notifications,e=>(Zi(),na(`div`,{key:e.id,class:he([`notification`,`notification-`+e.type])},[K(`div`,Cu,Ce(e.type===`success`?`✓`:e.type===`error`?`✕`:e.type===`warning`?`!`:`i`),1),K(`div`,wu,[K(`div`,Tu,Ce(e.message),1)]),K(`button`,{class:`notification-close`,onClick:t=>s(e.id)},`×`,8,Eu)],2))),128))]),_:1})])):pa(``,!0),K(`header`,Du,[K(`div`,Ou,[K(`div`,{class:`logo`,onClick:t[0]||=e=>I(n).push(`/`)},[...t[1]||=[K(`div`,{class:`logo-icon`},`G`,-1),K(`div`,null,[K(`div`,{class:`logo-text`},`Gemold`),K(`div`,{class:`logo-subtitle`},`模具制造管理系统`)],-1)]]),I(r).user?(Zi(),na(`nav`,ku,[(Zi(!0),na(U,null,Ir(i.value,e=>(Zi(),ra(c,{key:e.path,to:e.path,class:he([`nav-item`,{active:a(e.path)}])},{default:Nn(()=>[da(Ce(e.label),1)]),_:2},1032,[`to`,`class`]))),128))])):pa(``,!0),K(`div`,Au,[I(r).user?(Zi(),na(U,{key:0},[K(`div`,ju,[K(`div`,Mu,Ce((I(r).user.full_name||I(r).user.username).charAt(0).toUpperCase()),1),K(`span`,Nu,Ce(I(r).user.full_name||I(r).user.username),1)]),K(`button`,{class:`btn btn-secondary`,onClick:o},`退出`)],64)):(Zi(),ra(c,{key:1,to:`/login`,class:`btn btn-primary`},{default:Nn(()=>[...t[2]||=[da(`登录`,-1)]]),_:1}))])])]),K(`main`,Pu,[q(l,null,{default:Nn(({Component:e})=>[q(to,{name:`fade`,mode:`out-in`},{default:Nn(()=>[(Zi(),ra(Nr(e)))]),_:2},1024)]),_:1})]),t[3]||=K(`footer`,{class:`app-footer`},[K(`div`,{class:`footer-content`},[K(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`beian-link`},`粤ICP备2025386132号-1`)])],-1)])}}}),Iu=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Lu=Ss(Iu(Fu,[[`__scopeId`,`data-v-a57abb39`]]));Lu.use(Us()),Lu.use(du),Lu.mount(`#app`);export{Jt as A,Sn as C,Ir as D,Zi as E,he as M,ue as N,Pn as O,Ce as P,or as S,Tr as T,K as _,mu as a,fa as b,au as c,fs as d,ls as f,Y as g,U as h,hu as i,I as j,Rt as k,iu as l,vs as m,yu as n,pu as o,bo as p,bu as r,ou as s,Iu as t,us as u,pa as v,xr as w,da as x,na as y}; \ No newline at end of file diff --git a/static/index.html b/static/index.html index ae56dd7..7bdb78a 100644 --- a/static/index.html +++ b/static/index.html @@ -61,7 +61,7 @@ } catch (e) {} })(); - +