import{A as e,D as t,E as n,L as r,M as i,N as a,O as o,P as s,S as c,T as l,_ as u,b as d,c as f,g as p,h as m,i as h,k as g,m as _,n as v,p as y,r as b,s as x,t as S,u as C,v as w,w as T,x as E}from"./index-CpL0XiXx.js";import{a as D,n as O,r as k,t as A}from"./utils-COFIQvWo.js";var j=i({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:{}}),M=null,N=null,P=a(null),F=a(null),I=a(null),L=a(null);function R(){let e=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},t=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())}`},n=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},r=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},a=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)},o=()=>{M&&=(M.destroy(),null),N&&=(N.destroy(),null)},s=()=>{if(o(),typeof AirDatepicker==`function`){if(j.modalType===`salesOrder`&&P.value){M=new AirDatepicker(P.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{j.form.delivery_date=e||``,j.form.delivery_date_native=r(e||``)}});let t=e(j.form.delivery_date);t&&M.selectDate(t,{silent:!0})}if(j.modalType===`purchaseOrder`&&F.value){N=new AirDatepicker(F.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{j.form.expected_date=e||``,j.form.expected_date_native=r(e||``)}});let t=e(j.form.expected_date);t&&N.selectDate(t,{silent:!0})}}},c=e=>{if(e===`delivery`&&M){M.show();return}if(e===`expected`&&N){N.show();return}let t=e===`delivery`?I.value:L.value;if(t){if(typeof t.showPicker==`function`){t.showPicker();return}t.focus(),t.click()}},l=e=>({in:`其他入库`,out:`其他出库`,adjust:`库存调整`,purchase_in:`采购入库`,return_from_production:`生产退料入库`,outsource_return:`外协回库`,finish_in:`完工入库`,issue_to_production:`生产领料出库`,outsource_send:`外协发料出库`,shipment_out:`销售出库`,scrap_out:`报废出库`})[e]||e,u=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`,d=e=>({draft:`已下单`,pending:`已下单`,partial_received:`部分收货`,received:`已收货`,paid:`已付款`,cancelled:`已作废`})[e]||e,f=e=>[`received`,`paid`,`cancelled`].includes(e),p=e=>({manufacturing:`制造中`,delivered:`已交付`,paid:`已收款`,cancelled:`已作废`})[e]||e,m=e=>({manufacturing:`制造中`,delivered:`已交付`,cancelled:`已作废`})[e]||e,g=e=>({unpaid:`未收款`,paid:`已收款`})[e]||e,v=e=>({pending:`已下单`,partial_received:`部分收货`,received:`已收货`,cancelled:`已作废`})[e]||e,y=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=`无法连接后端服务`}},S=async()=>{j.loading=!0;try{j.dashboard=await x(`/api/dashboard`)}catch(e){h(e,`加载仪表盘`)}finally{j.loading=!1}},C=async()=>{j.loading=!0;try{j.finishedProducts=await x(`/api/products?item_type=finished&limit=100`)}catch(e){h(e,`加载成品`)}finally{j.loading=!1}},w=async()=>{await C()},T=async()=>{j.loading=!0;try{j.materials=await x(`/api/products?item_type=material&limit=100`)}catch(e){h(e,`加载物料`)}finally{j.loading=!1}},E=async()=>{j.loading=!0;try{j.warehouses=await x(`/api/warehouses`)}catch(e){h(e,`加载仓库`)}finally{j.loading=!1}},R=async()=>{if(j.materials.length||await T(),j.warehouses.length||await E(),!j.warehouses.length)try{await x(`/api/warehouses`,{method:`POST`,body:JSON.stringify({name:`默认仓库`})}),await E(),b(`已自动创建默认仓库`,`success`)}catch(e){h(e,`自动创建默认仓库`)}},z=async()=>{j.loading=!0;try{j.suppliers=await x(`/api/suppliers`)}catch(e){h(e,`加载供应商`)}finally{j.loading=!1}},B=async()=>{j.loading=!0;try{let[e,t]=await Promise.all([x(`/api/sales-orders?limit=100`),x(`/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){h(e,`加载按单生产数据`)}finally{j.loading=!1}},V=async()=>{j.loading=!0;try{let[e,t]=await Promise.all([x(`/api/purchase-orders?limit=100`),x(`/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){h(e,`加载采购订单`)}finally{j.loading=!1}},H=async()=>{j.loading=!0;try{j.customers=await x(`/api/customers`)}catch(e){h(e,`加载客户`)}finally{j.loading=!1}},U=async()=>{j.loading=!0;try{j.inventory=(await x(`/api/inventory`))?.items||[]}catch(e){h(e,`加载库存`)}finally{j.loading=!1}},W=async()=>{j.loading=!0;try{j.movements=(await x(`/api/stock-movements`))?.items||[]}catch(e){h(e,`加载变动记录`)}finally{j.loading=!1}},G=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([x(`/api/finance/summary?${n}`),x(`/api/finance/transactions?status=confirmed&limit=20&${n}`),x(`/api/finance/receivables?limit=20&${n}`),x(`/api/finance/payables?limit=20&${n}`),x(`/api/finance/partner-statement/customer?${n}`),x(`/api/finance/partner-statement/supplier?${n}`),x(`/api/finance/partner-product-statement/customer?${n}`),x(`/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){h(e,`加载财务数据`)}finally{j.loading=!1}},K=()=>{j.activeTab===`finance`&&G()},q=e=>{j.activeTab=e},J=()=>{j.showModal=!1,j.modalType=``,j.editingItem=null,j.productBomItems=[],j.purchaseReceiveItems=[],j.form={},o()},Y=_(()=>(j.editingItem?`编辑`:`新增`)+({product:j.form.item_type===`finished`?`成品`:`物料`,inventoryItem:`物料库存`,salesOrder:`销售订单`,purchaseOrder:`采购订单`,purchaseReceive:`采购到货入库`,supplier:`供应商`,customer:`客户`}[j.modalType]||``)),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=i(Object.fromEntries(X.map(e=>[e.key,!0])));return{state:j,deliveryDateInput:P,expectedDateInput:F,deliveryDateNativeInput:I,expectedDateNativeInput:L,menuGroups:X,openGroups:Z,activeMenu:_(()=>{for(let e of X){let t=e.items.find(e=>e.key===j.activeTab);if(t)return{group:e,item:t}}return null}),modalTitle:Y,parseDateTimeLocal:e,toPickerValue:t,toApiDateTime:n,toNativeValue:r,fromNativeValue:a,destroyPickers:o,initPickers:s,openDateTimePicker:c,getMovementTypeLabel:l,getMovementBadgeClass:u,getPurchaseOrderStatusLabel:d,isPurchaseOrderLocked:f,getSalesOrderStatusLabel:p,getDeliveryStatusLabel:m,getPaymentStatusLabel:g,getReceiptStatusLabel:v,checkBackendHealth:y,loadDashboard:S,loadFinishedProducts:C,loadProducts:w,loadMaterials:T,loadWarehouses:E,ensureStockBaseData:R,loadSuppliers:z,loadProductionOrders:B,loadPurchaseOrders:V,loadCustomers:H,loadInventory:U,loadMovements:W,loadFinance:G,refreshFinanceByPeriod:K,switchTab:q,closeModal:J,toggleGroup:e=>{Z[e]=!Z[e]},handleMenuClick:e=>{q(e)},switchProductCategory:e=>{j.productCategory=e},formatCurrency:A,formatNumber:D,formatDateTime:k,formatDate:O}}var z=[`onClick`],B=c({__name:`InventorySidebar`,setup(i){let{state:a,menuGroups:c,openGroups:l,toggleGroup:f,handleMenuClick:h}=R();return(i,_)=>{let v=o(`t-icon`),b=o(`t-menu-item`),x=o(`t-menu`);return n(),p(x,{"default-active":s(a).activeTab,class:`inventory-sidebar`,onSelect:_[0]||=e=>s(h)(e)},{default:e(()=>[(n(!0),w(y,null,t(s(c),i=>(n(),w(`div`,{key:i.key,class:`sidebar-group`},[m(`div`,{class:`sidebar-group-title`,onClick:e=>s(f)(i.key)},[m(`span`,null,r(i.title),1),E(v,null,{default:e(()=>[(n(),p(g(s(l)[i.key]?`ArrowDown`:`ArrowRight`)))]),_:2},1024)],8,z),s(l)[i.key]?(n(!0),w(y,{key:0},t(i.items,t=>(n(),p(b,{key:i.key+`-`+t.key,index:t.key},{default:e(()=>[d(r(t.label),1)]),_:2},1032,[`index`]))),128)):u(``,!0)]))),128))]),_:1},8,[`default-active`])}}}),V={style:{display:`flex`,"align-items":`center`,gap:`12px`}},H={style:{"font-size":`32px`}},U={style:{"font-size":`24px`,"font-weight":`700`}},W={style:{color:`var(--text-tertiary)`,"font-size":`13px`}},G=c({__name:`DashboardTab`,setup(i){let{state:a,formatCurrency:c}=R();return(i,l)=>{let u=o(`t-card`),d=o(`t-col`),f=o(`t-row`);return n(),p(f,{gutter:16},{default:e(()=>[(n(!0),w(y,null,t([{icon:`📦`,value:s(a).dashboard?.product_count||0,label:`成品数量`},{icon:`📊`,value:s(a).dashboard?.total_stock||0,label:`物料库存总量`},{icon:`💰`,value:s(c)(s(a).dashboard?.total_value||0),label:`库存价值`},{icon:`🏭`,value:s(a).dashboard?.supplier_count||0,label:`供应商`},{icon:`👥`,value:s(a).dashboard?.customer_count||0,label:`客户`},{icon:`🏪`,value:s(a).dashboard?.warehouse_count||0,label:`仓库`}],t=>(n(),p(d,{span:8,key:t.label,style:{"margin-bottom":`16px`}},{default:e(()=>[E(u,{shadow:`hover`},{default:e(()=>[m(`div`,V,[m(`span`,H,r(t.icon),1),m(`div`,null,[m(`div`,U,r(t.value),1),m(`div`,W,r(t.label),1)])])]),_:2},1024)]),_:2},1024))),128))]),_:1})}}}),K={style:{"margin-bottom":`12px`}},q={style:{padding:`0 12px 12px 12px`}},J=c({__name:`ProductsTab`,setup(i){let{state:c,formatCurrency:l,loadFinishedProducts:f,loadMaterials:g}=R(),_=a(!1),v=a(null),S=a({}),C=a([]);function D(){v.value=null,S.value={item_type:`finished`,unit:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0,sku:``,name:``,category:``},C.value=[],_.value=!0}async function O(e){v.value=e,S.value={...e},await g();try{C.value=((await x(`/api/products/${e.id}/materials`)).items||[]).map(e=>({material_id:e.material_id,quantity:e.quantity}))}catch(e){h(e,`加载BOM`)}_.value=!0}function k(){C.value.push({material_id:c.materials[0]?.id||null,quantity:1})}function A(e){C.value.splice(e,1)}async function j(){if(!S.value.sku){b(`请输入SKU`,`warning`);return}if(!S.value.name){b(`请输入名称`,`warning`);return}try{v.value?(await x(`/api/products/${v.value.id}`,{method:`PUT`,body:JSON.stringify(S.value)}),S.value.item_type===`finished`&&C.value.length>0&&await x(`/api/products/${v.value.id}/materials`,{method:`PUT`,body:JSON.stringify({items:C.value})}),b(`成品更新成功`,`success`)):(await x(`/api/products`,{method:`POST`,body:JSON.stringify(S.value)}),b(`成品创建成功`,`success`)),_.value=!1,v.value=null,S.value={},C.value=[],f(),g()}catch(e){h(e,`保存成品`)}}async function M(e){if(confirm(`确定要删除这个成品吗?`))try{await x(`/api/products/${e}`,{method:`DELETE`}),b(`成品已删除`,`success`),f(),g()}catch(e){h(e,`删除成品`)}}function N(){_.value=!1,v.value=null,S.value={},C.value=[]}return T(()=>{f()}),(i,a)=>{let f=o(`t-button`),h=o(`t-table-column`),g=o(`t-table`),b=o(`t-empty`),x=o(`t-input`),T=o(`t-form-item`),P=o(`t-input-number`),F=o(`t-divider`),I=o(`t-option`),L=o(`t-select`),R=o(`t-form`),z=o(`t-dialog`);return n(),w(`div`,null,[m(`div`,K,[E(f,{type:`primary`,onClick:D},{default:e(()=>[...a[8]||=[d(`新增成品`,-1)]]),_:1})]),E(g,{data:s(c).finishedProducts,loading:s(c).loading,stripe:``},{default:e(()=>[E(h,{prop:`sku`,label:`SKU`}),E(h,{prop:`name`,label:`名称`}),E(h,{prop:`category`,label:`分类`},{default:e(({row:e})=>[d(r(e.category||`-`),1)]),_:1}),E(h,{prop:`unit`,label:`单位`}),E(h,{label:`成本价`},{default:e(({row:e})=>[d(r(s(l)(e.cost_price)),1)]),_:1}),E(h,{label:`销售价`},{default:e(({row:e})=>[d(r(s(l)(e.sale_price)),1)]),_:1}),E(h,{label:`基础物料成本`},{default:e(({row:e})=>[d(r(s(l)(e.material_cost||0)),1)]),_:1}),E(h,{label:`操作`,width:`180`},{default:e(({row:t})=>[E(f,{type:`primary`,size:`small`,onClick:e=>O(t)},{default:e(()=>[...a[9]||=[d(`编辑`,-1)]]),_:1},8,[`onClick`]),E(f,{type:`danger`,size:`small`,onClick:e=>M(t.id)},{default:e(()=>[...a[10]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).finishedProducts.length===0?(n(),p(b,{key:0,description:`暂无成品数据`})):u(``,!0),E(z,{visible:_.value,"onUpdate:visible":a[7]||=e=>_.value=e,title:(v.value?`编辑`:`新增`)+`成品`,width:`560px`,onClosed:N},{footer:e(()=>[E(f,{onClick:a[6]||=e=>_.value=!1},{default:e(()=>[...a[14]||=[d(`取消`,-1)]]),_:1}),E(f,{type:`primary`,onClick:j},{default:e(()=>[...a[15]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(R,{"label-width":`100px`},{default:e(()=>[E(T,{label:`类型`},{default:e(()=>[E(x,{"model-value":`成品(按单生产,不做库存)`,disabled:``})]),_:1}),E(T,{label:`SKU`,required:``},{default:e(()=>[E(x,{modelValue:S.value.sku,"onUpdate:modelValue":a[0]||=e=>S.value.sku=e,placeholder:`产品编码`},null,8,[`modelValue`])]),_:1}),E(T,{label:`名称`,required:``},{default:e(()=>[E(x,{modelValue:S.value.name,"onUpdate:modelValue":a[1]||=e=>S.value.name=e,placeholder:`产品名称`},null,8,[`modelValue`])]),_:1}),E(T,{label:`分类`},{default:e(()=>[E(x,{modelValue:S.value.category,"onUpdate:modelValue":a[2]||=e=>S.value.category=e,placeholder:`产品分类`},null,8,[`modelValue`])]),_:1}),E(T,{label:`单位`},{default:e(()=>[E(x,{modelValue:S.value.unit,"onUpdate:modelValue":a[3]||=e=>S.value.unit=e,placeholder:`件`},null,8,[`modelValue`])]),_:1}),E(T,{label:`成本价`},{default:e(()=>[E(P,{modelValue:S.value.cost_price,"onUpdate:modelValue":a[4]||=e=>S.value.cost_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),E(T,{label:`销售价`},{default:e(()=>[E(P,{modelValue:S.value.sale_price,"onUpdate:modelValue":a[5]||=e=>S.value.sale_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),E(T,{label:`说明`},{default:e(()=>[E(x,{"model-value":`成品不做库存,成本由下方BOM定义物料构成后自动计算`,disabled:``})]),_:1}),v.value?(n(),w(y,{key:0},[E(F,{"content-position":`left`},{default:e(()=>[...a[11]||=[d(`BOM物料配置`,-1)]]),_:1}),m(`div`,q,[E(f,{type:`primary`,size:`small`,onClick:k,style:{"margin-bottom":`8px`}},{default:e(()=>[...a[12]||=[d(`+ 添加物料`,-1)]]),_:1}),E(g,{data:C.value,size:`small`,border:``},{default:e(()=>[E(h,{label:`物料`},{default:e(({row:r})=>[E(L,{modelValue:r.material_id,"onUpdate:modelValue":e=>r.material_id=e,placeholder:`选择物料`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(c).materials,e=>(n(),p(I,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(h,{label:`数量`,width:`120`},{default:e(({row:e})=>[E(P,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(h,{label:`操作`,width:`80`},{default:e(({$index:t})=>[E(f,{type:`danger`,size:`small`,onClick:e=>A(t)},{default:e(()=>[...a[13]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])])],64)):u(``,!0)]),_:1})]),_:1},8,[`visible`,`title`])])}}}),Y={style:{"margin-bottom":`12px`,display:`flex`,gap:`8px`}},X={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},Z={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},ee=c({__name:`MaterialsTab`,setup(i){let{state:c,formatCurrency:l,loadMaterials:f,loadSuppliers:g,loadPurchaseOrders:v}=R(),S=a(!1),C=a(null),D=a({}),O=a(!1),k=a([]),A=a(null);function j(){C.value=null,D.value={item_type:`material`,unit:`kg`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0,sku:``,name:``,category:``},S.value=!0}async function M(e){C.value=e,D.value={...e},S.value=!0}async function N(){if(!D.value.sku){b(`请输入SKU`,`warning`);return}if(!D.value.name){b(`请输入名称`,`warning`);return}try{C.value?(await x(`/api/products/${C.value.id}`,{method:`PUT`,body:JSON.stringify(D.value)}),b(`物料更新成功`,`success`)):(await x(`/api/products`,{method:`POST`,body:JSON.stringify(D.value)}),b(`物料创建成功`,`success`)),S.value=!1,C.value=null,D.value={},f()}catch(e){h(e,`保存物料`)}}async function P(e){if(confirm(`确定要删除这个物料吗?`))try{await x(`/api/products/${e}`,{method:`DELETE`}),b(`物料已删除`,`success`),f()}catch(e){h(e,`删除物料`)}}async function F(){await f(),await g(),k.value=[],O.value=!0}function I(){k.value.push({material_id:c.materials[0]?.id||null,quantity:1,unit_price:0,remark:``})}function L(e){k.value.splice(e,1)}let z=_(()=>k.value.reduce((e,t)=>e+(t.unit_price||0)*(t.quantity||0),0));async function B(){if(!k.value||k.value.length===0){b(`请至少添加一个补货物料`,`warning`);return}for(let[e,t]of k.value.entries()){let n=e+1;if(!t.material_id){b(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){b(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){b(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}try{let e={supplier_id:A.value||c.suppliers[0]?.id||null,expected_date:new Date().toISOString().split(`T`)[0],remark:`物料补货`,items:k.value.map(e=>({product_id:e.material_id,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark}))};if(!e.supplier_id){b(`请先添加供应商`,`warning`);return}await x(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),b(`采购订单创建成功`,`success`),O.value=!1,k.value=[],v()}catch(e){h(e,`保存补货订单`)}}function V(){S.value=!1,C.value=null,D.value={}}function H(){O.value=!1,k.value=[]}return T(()=>{f()}),(i,a)=>{let f=o(`t-button`),h=o(`t-table-column`),g=o(`t-table`),_=o(`t-empty`),v=o(`t-input`),b=o(`t-form-item`),x=o(`t-input-number`),T=o(`t-form`),R=o(`t-dialog`),U=o(`t-option`),W=o(`t-select`);return n(),w(`div`,null,[m(`div`,Y,[E(f,{type:`primary`,onClick:j},{default:e(()=>[...a[12]||=[d(`新增物料`,-1)]]),_:1}),E(f,{type:`success`,onClick:F},{default:e(()=>[...a[13]||=[d(`物料补货`,-1)]]),_:1})]),E(g,{data:s(c).materials,loading:s(c).loading,stripe:``},{default:e(()=>[E(h,{prop:`sku`,label:`SKU`}),E(h,{prop:`name`,label:`名称`}),E(h,{prop:`category`,label:`分类`},{default:e(({row:e})=>[d(r(e.category||`-`),1)]),_:1}),E(h,{prop:`unit`,label:`单位`}),E(h,{label:`成本价`},{default:e(({row:e})=>[d(r(s(l)(e.cost_price)),1)]),_:1}),E(h,{prop:`min_stock`,label:`最低库存`},{default:e(({row:e})=>[d(r(e.min_stock??`-`),1)]),_:1}),E(h,{label:`操作`,width:`180`},{default:e(({row:t})=>[E(f,{type:`primary`,size:`small`,onClick:e=>M(t)},{default:e(()=>[...a[14]||=[d(`编辑`,-1)]]),_:1},8,[`onClick`]),E(f,{type:`danger`,size:`small`,onClick:e=>P(t.id)},{default:e(()=>[...a[15]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).materials.length===0?(n(),p(_,{key:0,description:`暂无物料数据`})):u(``,!0),E(R,{visible:S.value,"onUpdate:visible":a[8]||=e=>S.value=e,title:(C.value?`编辑`:`新增`)+`物料`,width:`560px`,onClosed:V},{footer:e(()=>[E(f,{onClick:a[7]||=e=>S.value=!1},{default:e(()=>[...a[16]||=[d(`取消`,-1)]]),_:1}),E(f,{type:`primary`,onClick:N},{default:e(()=>[...a[17]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(T,{"label-width":`100px`},{default:e(()=>[E(b,{label:`类型`},{default:e(()=>[E(v,{"model-value":`物料(纳入库存)`,disabled:``})]),_:1}),E(b,{label:`SKU`,required:``},{default:e(()=>[E(v,{modelValue:D.value.sku,"onUpdate:modelValue":a[0]||=e=>D.value.sku=e,placeholder:`产品编码`},null,8,[`modelValue`])]),_:1}),E(b,{label:`名称`,required:``},{default:e(()=>[E(v,{modelValue:D.value.name,"onUpdate:modelValue":a[1]||=e=>D.value.name=e,placeholder:`产品名称`},null,8,[`modelValue`])]),_:1}),E(b,{label:`分类`},{default:e(()=>[E(v,{modelValue:D.value.category,"onUpdate:modelValue":a[2]||=e=>D.value.category=e,placeholder:`产品分类`},null,8,[`modelValue`])]),_:1}),E(b,{label:`单位`},{default:e(()=>[E(v,{modelValue:D.value.unit,"onUpdate:modelValue":a[3]||=e=>D.value.unit=e,placeholder:`kg`},null,8,[`modelValue`])]),_:1}),E(b,{label:`成本价`},{default:e(()=>[E(x,{modelValue:D.value.cost_price,"onUpdate:modelValue":a[4]||=e=>D.value.cost_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),E(b,{label:`最低库存`},{default:e(()=>[E(x,{modelValue:D.value.min_stock,"onUpdate:modelValue":a[5]||=e=>D.value.min_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),E(b,{label:`最高库存`},{default:e(()=>[E(x,{modelValue:D.value.max_stock,"onUpdate:modelValue":a[6]||=e=>D.value.max_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`visible`,`title`]),E(R,{visible:O.value,"onUpdate:visible":a[11]||=e=>O.value=e,title:`物料补货`,width:`900px`,onClosed:H},{footer:e(()=>[E(f,{onClick:a[10]||=e=>O.value=!1},{default:e(()=>[...a[21]||=[d(`取消`,-1)]]),_:1}),E(f,{type:`primary`,onClick:B},{default:e(()=>[...a[22]||=[d(`创建采购订单`,-1)]]),_:1})]),default:e(()=>[E(T,{"label-width":`100px`,style:{"margin-bottom":`16px`}},{default:e(()=>[E(b,{label:`供应商`},{default:e(()=>[E(W,{modelValue:A.value,"onUpdate:modelValue":a[9]||=e=>A.value=e,placeholder:`请选择供应商`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(c).suppliers,e=>(n(),p(U,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(`div`,X,[a[19]||=m(`span`,{style:{"font-weight":`600`}},`补货物料明细`,-1),E(f,{type:`primary`,size:`small`,onClick:I},{default:e(()=>[...a[18]||=[d(`+ 添加物料`,-1)]]),_:1})]),E(g,{data:k.value,border:``,size:`small`},{default:e(()=>[E(h,{label:`物料`,"min-width":`200`},{default:e(({row:r})=>[E(W,{modelValue:r.material_id,"onUpdate:modelValue":e=>r.material_id=e,placeholder:`请选择物料`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(c).materials,e=>(n(),p(U,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(h,{label:`数量`,width:`120`},{default:e(({row:e})=>[E(x,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(h,{label:`单价`,width:`120`},{default:e(({row:e})=>[E(x,{modelValue:e.unit_price,"onUpdate:modelValue":t=>e.unit_price=t,min:0,precision:2,step:.01,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(h,{label:`总价`,width:`120`},{default:e(({row:e})=>[d(r(s(l)((e.unit_price||0)*(e.quantity||0))),1)]),_:1}),E(h,{label:`备注`,width:`150`},{default:e(({row:e})=>[E(v,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(h,{label:`操作`,width:`80`},{default:e(({$index:t})=>[E(f,{type:`danger`,size:`small`,onClick:e=>L(t)},{default:e(()=>[...a[20]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),m(`div`,Z,` 补货总金额:`+r(s(l)(z.value)),1)]),_:1},8,[`visible`])])}}}),te={class:`inventory-tab`},Q={class:`table-header`},$=v(c({__name:`InventoryTab`,setup(r){let{state:c,loadInventory:l,ensureStockBaseData:u}=R(),f=a(!1),g=a(null),_=i({product_id:null,warehouse_id:null,quantity:0,locked_quantity:0,batch_no:``,location:``});function v(){u(),g.value=null,_.product_id=null,_.warehouse_id=null,_.quantity=0,_.locked_quantity=0,_.batch_no=``,_.location=``,f.value=!0}function S(e){u(),g.value=e,_.product_id=e.product_id??null,_.warehouse_id=e.warehouse_id??null,_.quantity=e.quantity??0,_.locked_quantity=e.locked_quantity??0,_.batch_no=e.batch_no??``,_.location=e.location??``,f.value=!0}async function C(){try{let e={product_id:_.product_id,warehouse_id:_.warehouse_id,quantity:_.quantity,locked_quantity:_.locked_quantity,batch_no:_.batch_no||null,location:_.location||null};g.value?(await x(`/api/inventory/${g.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),b(`物料库存更新成功`,`success`)):(await x(`/api/inventory`,{method:`POST`,body:JSON.stringify(e)}),b(`物料库存已创建`,`success`)),f.value=!1,l()}catch(e){h(e,`保存物料库存`)}}async function D(e){if(confirm(`确定要删除这个物料库存记录吗?`))try{await x(`/api/inventory/${e}`,{method:`DELETE`}),b(`物料库存已删除`,`success`),l()}catch(e){h(e,`删除物料库存`)}}return T(()=>{l()}),(r,i)=>{let a=o(`t-button`),l=o(`t-table-column`),u=o(`t-table`),h=o(`t-option`),b=o(`t-select`),x=o(`t-form-item`),T=o(`t-input-number`),O=o(`t-input`),k=o(`t-form`),A=o(`t-dialog`);return n(),w(`div`,te,[m(`div`,Q,[E(a,{type:`primary`,onClick:v},{default:e(()=>[...i[8]||=[d(`+ 新增物料库存`,-1)]]),_:1})]),E(u,{data:s(c).inventory,style:{width:`100%`},loading:s(c).loading,"empty-text":`暂无库存数据`},{default:e(()=>[E(l,{prop:`product_sku`,label:`SKU`}),E(l,{prop:`product_name`,label:`物料`}),E(l,{prop:`warehouse_name`,label:`仓库`}),E(l,{prop:`quantity`,label:`数量`}),E(l,{prop:`available_quantity`,label:`可用`}),E(l,{label:`操作`,width:`180`},{default:e(({row:t})=>[E(a,{size:`small`,onClick:e=>S(t)},{default:e(()=>[...i[9]||=[d(`编辑`,-1)]]),_:1},8,[`onClick`]),E(a,{size:`small`,type:`danger`,onClick:e=>D(t.id)},{default:e(()=>[...i[10]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`loading`]),E(A,{modelValue:f.value,"onUpdate:modelValue":i[7]||=e=>f.value=e,title:g.value?`编辑物料库存`:`新增物料库存`,width:`520px`,"close-on-click-modal":!1},{footer:e(()=>[E(a,{onClick:i[6]||=e=>f.value=!1},{default:e(()=>[...i[11]||=[d(`取消`,-1)]]),_:1}),E(a,{type:`primary`,onClick:C},{default:e(()=>[...i[12]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(k,{model:_,"label-width":`80px`},{default:e(()=>[E(x,{label:`物料`,required:``},{default:e(()=>[E(b,{modelValue:_.product_id,"onUpdate:modelValue":i[0]||=e=>_.product_id=e,placeholder:`请选择物料`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(c).materials,e=>(n(),p(h,{key:e.id,label:e.name+(e.sku?` (`+e.sku+`)`:``),value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),E(x,{label:`仓库`,required:``},{default:e(()=>[E(b,{modelValue:_.warehouse_id,"onUpdate:modelValue":i[1]||=e=>_.warehouse_id=e,placeholder:`请选择仓库`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(c).warehouses,e=>(n(),p(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),E(x,{label:`数量`,required:``},{default:e(()=>[E(T,{modelValue:_.quantity,"onUpdate:modelValue":i[2]||=e=>_.quantity=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),E(x,{label:`锁定数量`},{default:e(()=>[E(T,{modelValue:_.locked_quantity,"onUpdate:modelValue":i[3]||=e=>_.locked_quantity=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),E(x,{label:`批次号`},{default:e(()=>[E(O,{modelValue:_.batch_no,"onUpdate:modelValue":i[4]||=e=>_.batch_no=e,placeholder:`请输入批次号`},null,8,[`modelValue`])]),_:1}),E(x,{label:`库位`},{default:e(()=>[E(O,{modelValue:_.location,"onUpdate:modelValue":i[5]||=e=>_.location=e,placeholder:`请输入库位`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-b02ca093`]]),ne={style:{"margin-bottom":`12px`,display:`flex`,gap:`12px`,"align-items":`center`}},re={style:{display:`flex`,gap:`4px`}},ie={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},ae={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},oe=c({__name:`PurchaseOrdersTab`,setup(i){function c(e,t,n,r,i){return new Promise(a=>{let o=S.confirm({header:e,body:t,theme:n,confirmBtn:r,cancelBtn:i,onConfirm:()=>{o.hide(),a(!0)},onCancel:()=>{o.hide(),a(!1)},onClose:()=>{a(!1)}})})}let{state:l,formatCurrency:f,formatDateTime:g,formatDate:v,getPurchaseOrderStatusLabel:C,getReceiptStatusLabel:D,getPaymentStatusLabel:O,isPurchaseOrderLocked:k,loadPurchaseOrders:A,loadSuppliers:j,loadMaterials:M,loadInventory:N,loadMovements:P}=R(),F=a(!1),I=a(null),L=a({}),z=a([]),B=a(null),V=a(!1),H=a(null),U=a([]),W=a(null),G=a(``);function K(){I.value=null,L.value={supplier_id:null,expected_date:``,remark:``},z.value=[],F.value=!0}function q(){z.value.push({product_id:l.materials[0]?.id||null,quantity:1,remark:``})}function J(e){z.value.splice(e,1)}let Y=_(()=>z.value.reduce((e,t)=>e+(l.materials.find(e=>e.id===t.product_id)?.cost_price||0)*(t.quantity||0),0));async function X(e){await M(),await j(),I.value=e,L.value={supplier_id:e.supplier_id||null,expected_date:e.expected_date||``,remark:e.remark||``};try{z.value=((await x(`/api/purchase-orders/${e.id}`)).items||[]).map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark||``}))}catch(e){h(e,`加载采购订单详情`)}F.value=!0}async function Z(){if(!L.value.supplier_id){b(`请选择供应商`,`warning`);return}if(!z.value||z.value.length===0){b(`请至少添加一个物料`,`warning`);return}for(let[e,t]of z.value.entries()){if(!t.product_id){b(`第 ${e+1} 行:请选择物料`,`warning`);return}if(!t.quantity||t.quantity<=0){b(`第 ${e+1} 行:数量必须大于 0`,`warning`);return}}try{let e={supplier_id:L.value.supplier_id,expected_date:L.value.expected_date||null,remark:L.value.remark||``,items:z.value.map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark}))};I.value?(await x(`/api/purchase-orders/${I.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),b(`采购订单更新成功`,`success`)):(await x(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),b(`采购订单创建成功`,`success`)),F.value=!1,I.value=null,L.value={},z.value=[],A()}catch(e){h(e,`保存采购订单`)}}async function ee(e){if(await c(`删除确认`,`确定要删除这个采购订单吗?`,`warning`,`删除`,`取消`))try{await x(`/api/purchase-orders/${e}`,{method:`DELETE`}),b(`采购订单已删除`,`success`),A()}catch(e){h(e,`删除采购订单`)}}async function te(e){try{let t=await x(`/api/purchase-orders/${e.id}`);H.value=e,U.value=(t.items||[]).map(e=>({id:e.id,material_label:e.product_name||e.product_sku||``,quantity:e.quantity||0,received_quantity:e.received_quantity||0,remaining:(e.quantity||0)-(e.received_quantity||0),receive_quantity:0})),W.value=B.value||l.warehouses[0]?.id||null,G.value=``,V.value=!0}catch(e){h(e,`加载采购订单详情`)}}async function Q(){if(!W.value){b(`请选择入库仓库`,`warning`);return}let e=U.value.filter(e=>e.receive_quantity>0).map(e=>({item_id:e.id,receive_quantity:e.receive_quantity}));if(e.length===0){b(`请输入本次入库数量`,`warning`);return}try{await x(`/api/purchase-orders/${H.value.id}/receive`,{method:`POST`,body:JSON.stringify({warehouse_id:W.value,remark:G.value,items:e})}),b(`入库完成`,`success`),V.value=!1,H.value=null,U.value=[],A(),N(),P()}catch(e){h(e,`采购入库`)}}async function $(e,t){if(t!==`received`){if(!await c(`非标准流程提醒`,`该订单尚未全部收货,确定要提前付款吗?建议先完成收货后再付款。`,`warning`,`仍要付款`,`取消`))return}else if(!await c(`付款确认`,`确认已向供应商支付该订单款项?`,`success`,`确认付款`,`取消`))return;await se(e,`paid`,`已付款`)}async function oe(e){await c(`作废确认`,`确定要作废该订单吗?此操作不可撤销。`,`error`,`确认作废`,`取消`)&&await se(e,`cancelled`,`已作废`)}async function se(e,t,n){try{await x(`/api/purchase-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),b(`订单已${n}`,`success`),A(),P(),N()}catch(e){h(e,`更新状态`)}}function ce(){F.value=!1,I.value=null,L.value={},z.value=[]}function le(){V.value=!1,H.value=null,U.value=[]}async function ue(){await M(),await j(),await A()}return T(()=>{ue()}),(i,a)=>{let c=o(`t-option`),h=o(`t-select`),_=o(`t-button`),b=o(`t-table-column`),x=o(`t-tag`),S=o(`t-table`),C=o(`t-empty`),T=o(`t-form-item`),j=o(`t-date-picker`),M=o(`t-input`),N=o(`t-form`),P=o(`t-input-number`),R=o(`t-dialog`);return n(),w(`div`,null,[m(`div`,ne,[E(h,{modelValue:B.value,"onUpdate:modelValue":a[0]||=e=>B.value=e,placeholder:`选择仓库`,style:{width:`200px`},clearable:``},{default:e(()=>[(n(!0),w(y,null,t(s(l).warehouses,e=>(n(),p(c,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),E(_,{onClick:s(A)},{default:e(()=>[...a[10]||=[d(`刷新`,-1)]]),_:1},8,[`onClick`]),E(_,{type:`primary`,onClick:K},{default:e(()=>[...a[11]||=[d(`新增采购订单`,-1)]]),_:1})]),E(S,{data:s(l).purchaseOrders,loading:s(l).loading,stripe:``},{default:e(()=>[E(b,{prop:`order_no`,label:`采购单`}),E(b,{prop:`supplier_name`,label:`供应商`}),E(b,{label:`状态`},{default:e(({row:t})=>[m(`div`,re,[E(x,{type:t.receipt_status===`received`?`success`:t.receipt_status===`partial_received`?`warning`:t.receipt_status===`cancelled`?`danger`:`info`,size:`small`},{default:e(()=>[d(r(s(D)(t.receipt_status)),1)]),_:2},1032,[`type`]),E(x,{type:t.payment_status===`paid`?`success`:`info`,size:`small`},{default:e(()=>[d(r(s(O)(t.payment_status)),1)]),_:2},1032,[`type`])])]),_:1}),E(b,{label:`订单创建`},{default:e(({row:e})=>[d(r(s(g)(e.created_at)),1)]),_:1}),E(b,{label:`预计到货`},{default:e(({row:e})=>[d(r(s(v)(e.expected_date)),1)]),_:1}),E(b,{label:`实际到货`},{default:e(({row:e})=>[d(r(e.received_at?s(g)(e.received_at):`-`),1)]),_:1}),E(b,{label:`实际付款`},{default:e(({row:e})=>[d(r(e.paid_at?s(g)(e.paid_at):`-`),1)]),_:1}),E(b,{label:`总金额`},{default:e(({row:e})=>[d(r(s(f)(e.total_amount)),1)]),_:1}),E(b,{label:`已付款`},{default:e(({row:e})=>[d(r(s(f)(e.paid_amount||0)),1)]),_:1}),E(b,{label:`操作`,width:`280`},{default:e(({row:t})=>[E(_,{type:`primary`,size:`small`,disabled:s(k)(t.status),onClick:e=>X(t)},{default:e(()=>[...a[12]||=[d(` 编辑 `,-1)]]),_:1},8,[`disabled`,`onClick`]),E(_,{type:`danger`,size:`small`,disabled:s(k)(t.status),onClick:e=>ee(t.id)},{default:e(()=>[...a[13]||=[d(` 删除 `,-1)]]),_:1},8,[`disabled`,`onClick`]),t.receipt_status===`pending`||t.receipt_status===`partial_received`?(n(),p(_,{key:0,type:`success`,size:`small`,onClick:e=>te(t)},{default:e(()=>[...a[14]||=[d(` 到货入库 `,-1)]]),_:1},8,[`onClick`])):u(``,!0),t.payment_status!==`paid`&&t.receipt_status!==`cancelled`?(n(),p(_,{key:1,type:`warning`,size:`small`,onClick:e=>$(t.id,t.receipt_status)},{default:e(()=>[...a[15]||=[d(` 标记已付款 `,-1)]]),_:1},8,[`onClick`])):u(``,!0),t.payment_status!==`paid`&&t.receipt_status!==`cancelled`?(n(),p(_,{key:2,type:`info`,size:`small`,onClick:e=>oe(t.id)},{default:e(()=>[...a[16]||=[d(` 作废 `,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`,`loading`]),!s(l).loading&&s(l).purchaseOrders.length===0?(n(),p(C,{key:0,description:`暂无采购订单`})):u(``,!0),E(R,{visible:F.value,"onUpdate:visible":a[5]||=e=>F.value=e,title:(I.value?`编辑`:`新增`)+`采购订单`,width:`800px`,onClosed:ce},{footer:e(()=>[E(_,{onClick:a[4]||=e=>F.value=!1},{default:e(()=>[...a[20]||=[d(`取消`,-1)]]),_:1}),E(_,{type:`primary`,onClick:Z},{default:e(()=>[...a[21]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(N,{"label-width":`100px`},{default:e(()=>[E(T,{label:`供应商`,required:``},{default:e(()=>[E(h,{modelValue:L.value.supplier_id,"onUpdate:modelValue":a[1]||=e=>L.value.supplier_id=e,placeholder:`请选择供应商`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(l).suppliers,e=>(n(),p(c,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),E(T,{label:`预计到货`},{default:e(()=>[E(j,{modelValue:L.value.expected_date,"onUpdate:modelValue":a[2]||=e=>L.value.expected_date=e,type:`date`,placeholder:`选择日期`,style:{width:`100%`},"value-format":`YYYY-MM-DD`},null,8,[`modelValue`])]),_:1}),E(T,{label:`备注`},{default:e(()=>[E(M,{modelValue:L.value.remark,"onUpdate:modelValue":a[3]||=e=>L.value.remark=e,placeholder:`备注信息`},null,8,[`modelValue`])]),_:1})]),_:1}),m(`div`,ie,[a[18]||=m(`span`,{style:{"font-weight":`600`}},`物料明细`,-1),E(_,{type:`primary`,size:`small`,onClick:q},{default:e(()=>[...a[17]||=[d(`+ 添加物料`,-1)]]),_:1})]),E(S,{data:z.value,border:``,size:`small`},{default:e(()=>[E(b,{label:`物料`,"min-width":`200`},{default:e(({row:r})=>[E(h,{modelValue:r.product_id,"onUpdate:modelValue":e=>r.product_id=e,placeholder:`请选择物料`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(l).materials,e=>(n(),p(c,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`数量`,width:`120`},{default:e(({row:e})=>[E(P,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`单价`,width:`120`},{default:e(({row:e})=>[E(P,{"model-value":s(l).materials.find(t=>t.id===e.product_id)?.cost_price||0,disabled:``,size:`small`,style:{width:`100%`}},null,8,[`model-value`])]),_:1}),E(b,{label:`总价`,width:`120`},{default:e(({row:e})=>[d(r(s(f)((s(l).materials.find(t=>t.id===e.product_id)?.cost_price||0)*(e.quantity||0))),1)]),_:1}),E(b,{label:`备注`,width:`150`},{default:e(({row:e})=>[E(M,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`操作`,width:`80`},{default:e(({$index:t})=>[E(_,{type:`danger`,size:`small`,onClick:e=>J(t)},{default:e(()=>[...a[19]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),m(`div`,ae,` 订单总金额:`+r(s(f)(Y.value)),1)]),_:1},8,[`visible`,`title`]),E(R,{visible:V.value,"onUpdate:visible":a[9]||=e=>V.value=e,title:`采购到货入库`,width:`700px`,onClosed:le},{footer:e(()=>[E(_,{onClick:a[8]||=e=>V.value=!1},{default:e(()=>[...a[22]||=[d(`取消`,-1)]]),_:1}),E(_,{type:`primary`,onClick:Q},{default:e(()=>[...a[23]||=[d(`确认入库`,-1)]]),_:1})]),default:e(()=>[E(N,{"label-width":`100px`},{default:e(()=>[E(T,{label:`入库仓库`,required:``},{default:e(()=>[E(h,{modelValue:W.value,"onUpdate:modelValue":a[6]||=e=>W.value=e,placeholder:`请选择仓库`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(l).warehouses,e=>(n(),p(c,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),E(T,{label:`备注`},{default:e(()=>[E(M,{modelValue:G.value,"onUpdate:modelValue":a[7]||=e=>G.value=e,placeholder:`入库备注`},null,8,[`modelValue`])]),_:1})]),_:1}),E(S,{data:U.value,border:``,size:`small`},{default:e(()=>[E(b,{prop:`material_label`,label:`物料`}),E(b,{prop:`id`,label:`明细ID`,width:`80`}),E(b,{label:`剩余待入库`,width:`100`},{default:e(({row:e})=>[d(r(e.remaining),1)]),_:1}),E(b,{label:`本次入库`,width:`140`},{default:e(({row:e})=>[E(P,{modelValue:e.receive_quantity,"onUpdate:modelValue":t=>e.receive_quantity=t,min:0,max:e.remaining,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`,`max`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`visible`])])}}}),se={style:{"margin-bottom":`12px`,display:`flex`,gap:`12px`,"align-items":`center`}},ce={style:{display:`flex`,gap:`4px`}},le={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},ue={style:{display:`flex`,gap:`8px`}},de={key:1,style:{"padding-left":`8px`}},fe={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},me={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},he=c({__name:`SalesOrdersTab`,setup(i){function c(e,t,n,r,i){return new Promise(a=>{let o=S.confirm({header:e,body:t,theme:n,confirmBtn:r,cancelBtn:i,onConfirm:()=>{o.hide(),a(!0)},onCancel:()=>{o.hide(),a(!1)},onClose:()=>{a(!1)}})})}let{state:l,formatCurrency:f,formatDateTime:g,formatDate:v,getSalesOrderStatusLabel:C,getDeliveryStatusLabel:D,getPaymentStatusLabel:O,loadProductionOrders:k,loadFinishedProducts:A,loadCustomers:j,loadMaterials:M,loadInventory:N,loadMovements:P}=R(),F=a(!1),I=a(null),L=a({}),z=a([]),B=a(null),V=a(!1),H=a([]),U=a([]);function W(){I.value=null,L.value={customer_id:null,delivery_date:``,remark:``},z.value=[],U.value=[],F.value=!0}function G(){z.value.push({mold_mode:`new`,mold_sku:``,mold_name:``,mold_id:null,quantity:1,unit_price:0,remark:``})}function K(e){z.value.splice(e,1)}let q=_(()=>z.value.reduce((e,t)=>e+(t.unit_price||0)*(t.quantity||0),0));async function J(e){await j(),await A(),await M();try{let t=await x(`/api/sales-orders/${e.id}`);I.value=e,L.value={customer_id:t.customer_id||e.customer_id||null,delivery_date:t.delivery_date||e.delivery_date||``,remark:t.remark||e.remark||``},z.value=(t.items||[]).map(e=>({mold_mode:e.mold_id?`existing`:`new`,mold_sku:e.sku||``,mold_name:e.name||``,mold_id:e.mold_id||null,quantity:e.quantity||1,unit_price:e.unit_price||0,remark:e.remark||``}));try{U.value=((await x(`/api/sales-orders/${e.id}/consume-materials`)).items||[]).map(e=>({material_id:e.material_id,material_name:e.material_name||e.material_sku||``,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))}catch{U.value=[]}}catch(e){h(e,`加载销售订单详情`)}F.value=!0}async function Y(){if(!L.value.customer_id){b(`请选择客户`,`warning`);return}if(!z.value||z.value.length===0){b(`请至少添加一个模具`,`warning`);return}try{let e={customer_id:L.value.customer_id,delivery_date:L.value.delivery_date||null,remark:L.value.remark||``,items:z.value.map(e=>({mold_mode:e.mold_mode,mold_sku:e.mold_sku||``,mold_name:e.mold_name||``,mold_id:e.mold_id||null,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))};I.value?(await x(`/api/sales-orders/${I.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),b(`销售订单更新成功`,`success`)):(await x(`/api/sales-orders`,{method:`POST`,body:JSON.stringify(e)}),b(`销售订单创建成功`,`success`)),F.value=!1,I.value=null,L.value={},z.value=[],U.value=[],k(),A(),N(),P()}catch(e){h(e,`保存销售订单`)}}async function X(e){if(await c(`删除确认`,`确定要删除这个销售订单吗?`,`warning`,`删除`,`取消`))try{await x(`/api/sales-orders/${e}`,{method:`DELETE`}),b(`销售订单已删除`,`success`),k(),N(),P()}catch(e){h(e,`删除销售订单`)}}async function Z(e){await c(`交付确认`,`确认该订单已交付?`,`success`,`确认交付`,`取消`)&&await Q(e,`delivered`,`已交付`)}async function ee(e,t){if(t!==`delivered`){if(!await c(`非标准流程提醒`,`当前订单尚未交付,确定要提前收款吗?建议先确认交付后再收款。`,`warning`,`仍要收款`,`取消`))return}else if(!await c(`收款确认`,`确认已收到该订单款项?`,`success`,`确认收款`,`取消`))return;await Q(e,`paid`,`已收款`)}async function te(e){await c(`作废确认`,`确定要作废该订单吗?此操作不可撤销。`,`error`,`确认作废`,`取消`)&&await Q(e,`cancelled`,`已作废`)}async function Q(e,t,n){try{await x(`/api/sales-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),b(`订单已${n}`,`success`),k(),P()}catch(e){h(e,`更新状态`)}}function $(){H.value=[],V.value=!0}function ne(){H.value.push({material_id:l.materials[0]?.id||null,quantity:1,remark:``})}function re(e){H.value.splice(e,1)}let ie=_(()=>H.value.reduce((e,t)=>e+(l.materials.find(e=>e.id===t.material_id)?.cost_price||0)*(t.quantity||0),0));async function ae(){if(I.value){if(!H.value||H.value.length===0){b(`请至少添加一个消耗物料`,`warning`);return}try{let e={items:H.value.map(e=>({material_id:e.material_id,quantity:e.quantity,unit_price:l.materials.find(t=>t.id===e.material_id)?.cost_price||0,remark:e.remark||``}))};await x(`/api/sales-orders/${I.value.id}/consume-materials`,{method:`POST`,body:JSON.stringify(e)}),b(`物料消耗记录保存成功`,`success`),V.value=!1;try{U.value=((await x(`/api/sales-orders/${I.value.id}/consume-materials`)).items||[]).map(e=>({material_id:e.material_id,material_name:e.material_name||e.material_sku||``,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))}catch{U.value=[]}N(),P()}catch(e){h(e,`保存物料消耗`)}}}function oe(){F.value=!1,I.value=null,L.value={},z.value=[],U.value=[]}function he(){V.value=!1,H.value=[]}async function ge(){await j(),await M(),await A(),await k()}return T(()=>{ge()}),(i,a)=>{let c=o(`t-option`),h=o(`t-select`),_=o(`t-button`),b=o(`t-table-column`),x=o(`t-tag`),S=o(`t-table`),C=o(`t-empty`),T=o(`t-form-item`),A=o(`t-date-picker`),j=o(`t-input`),M=o(`t-form`),N=o(`t-input-number`),P=o(`t-divider`),R=o(`t-dialog`);return n(),w(`div`,null,[m(`div`,se,[E(h,{modelValue:B.value,"onUpdate:modelValue":a[0]||=e=>B.value=e,placeholder:`选择仓库`,style:{width:`200px`},clearable:``},{default:e(()=>[(n(!0),w(y,null,t(s(l).warehouses,e=>(n(),p(c,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),E(_,{onClick:s(k)},{default:e(()=>[...a[8]||=[d(`刷新`,-1)]]),_:1},8,[`onClick`]),E(_,{type:`primary`,onClick:W},{default:e(()=>[...a[9]||=[d(`新增销售订单`,-1)]]),_:1})]),E(S,{data:s(l).productionOrders,loading:s(l).loading,stripe:``},{default:e(()=>[E(b,{prop:`order_no`,label:`销售单`}),E(b,{prop:`customer_name`,label:`客户`}),E(b,{label:`订单金额`},{default:e(({row:e})=>[d(r(s(f)(e.total_amount)),1)]),_:1}),E(b,{label:`交付日期`},{default:e(({row:e})=>[d(r(s(v)(e.delivery_date)),1)]),_:1}),E(b,{label:`订单创建`},{default:e(({row:e})=>[d(r(s(g)(e.created_at)),1)]),_:1}),E(b,{label:`实际交付`},{default:e(({row:e})=>[d(r(e.delivered_at?s(g)(e.delivered_at):`-`),1)]),_:1}),E(b,{label:`实际收款`},{default:e(({row:e})=>[d(r(e.paid_at?s(g)(e.paid_at):`-`),1)]),_:1}),E(b,{label:`订单状态`,width:`160`},{default:e(({row:t})=>[m(`div`,ce,[E(x,{type:t.delivery_status===`delivered`?`warning`:t.delivery_status===`cancelled`?`danger`:`info`,size:`small`},{default:e(()=>[d(r(s(D)(t.delivery_status)),1)]),_:2},1032,[`type`]),E(x,{type:t.payment_status===`paid`?`success`:`info`,size:`small`},{default:e(()=>[d(r(s(O)(t.payment_status)),1)]),_:2},1032,[`type`])])]),_:1}),E(b,{label:`操作`,width:`280`},{default:e(({row:t})=>[t.delivery_status===`manufacturing`?(n(),p(_,{key:0,type:`success`,size:`small`,onClick:e=>Z(t.id)},{default:e(()=>[...a[10]||=[d(`已交付`,-1)]]),_:1},8,[`onClick`])):u(``,!0),t.payment_status!==`paid`&&t.delivery_status!==`cancelled`?(n(),p(_,{key:1,type:`warning`,size:`small`,onClick:e=>ee(t.id,t.delivery_status)},{default:e(()=>[...a[11]||=[d(`已收款`,-1)]]),_:1},8,[`onClick`])):u(``,!0),E(_,{type:`primary`,size:`small`,disabled:t.payment_status===`paid`||t.delivery_status===`cancelled`,onClick:e=>J(t)},{default:e(()=>[...a[12]||=[d(`编辑`,-1)]]),_:1},8,[`disabled`,`onClick`]),E(_,{type:`danger`,size:`small`,onClick:e=>X(t.id)},{default:e(()=>[...a[13]||=[d(`删除`,-1)]]),_:1},8,[`onClick`]),t.payment_status!==`paid`&&t.delivery_status!==`cancelled`?(n(),p(_,{key:2,type:`info`,size:`small`,onClick:e=>te(t.id)},{default:e(()=>[...a[14]||=[d(`作废`,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`,`loading`]),!s(l).loading&&s(l).productionOrders.length===0?(n(),p(C,{key:0,description:`暂无销售订单`})):u(``,!0),E(R,{visible:F.value,"onUpdate:visible":a[5]||=e=>F.value=e,title:(I.value?`编辑`:`新增`)+`销售订单`,width:`900px`,onClosed:oe},{footer:e(()=>[E(_,{onClick:a[4]||=e=>F.value=!1},{default:e(()=>[...a[20]||=[d(`取消`,-1)]]),_:1}),E(_,{type:`primary`,onClick:Y},{default:e(()=>[...a[21]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(M,{"label-width":`100px`},{default:e(()=>[E(T,{label:`客户`,required:``},{default:e(()=>[E(h,{modelValue:L.value.customer_id,"onUpdate:modelValue":a[1]||=e=>L.value.customer_id=e,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(l).customers,e=>(n(),p(c,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),E(T,{label:`交付日期`},{default:e(()=>[E(A,{modelValue:L.value.delivery_date,"onUpdate:modelValue":a[2]||=e=>L.value.delivery_date=e,type:`date`,placeholder:`选择日期`,style:{width:`100%`},"value-format":`YYYY-MM-DD`},null,8,[`modelValue`])]),_:1}),E(T,{label:`备注`},{default:e(()=>[E(j,{modelValue:L.value.remark,"onUpdate:modelValue":a[3]||=e=>L.value.remark=e,placeholder:`备注信息`},null,8,[`modelValue`])]),_:1})]),_:1}),m(`div`,le,[a[17]||=m(`span`,{style:{"font-weight":`600`}},`模具明细`,-1),m(`div`,ue,[I.value?(n(),p(_,{key:0,type:`warning`,size:`small`,onClick:$},{default:e(()=>[...a[15]||=[d(`+ 消耗物料`,-1)]]),_:1})):u(``,!0),E(_,{type:`primary`,size:`small`,onClick:G},{default:e(()=>[...a[16]||=[d(`+ 添加模具`,-1)]]),_:1})])]),E(S,{data:z.value,border:``,size:`small`},{default:e(()=>[E(b,{label:`模式`,width:`80`},{default:e(({row:t})=>[E(h,{modelValue:t.mold_mode,"onUpdate:modelValue":e=>t.mold_mode=e,size:`small`,style:{width:`100%`}},{default:e(()=>[E(c,{label:`新模`,value:`new`}),E(c,{label:`改模`,value:`existing`})]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`模具SKU`,"min-width":`120`},{default:e(({row:r})=>[r.mold_mode===`new`?(n(),p(j,{key:0,modelValue:r.mold_sku,"onUpdate:modelValue":e=>r.mold_sku=e,size:`small`,placeholder:`模具SKU`},null,8,[`modelValue`,`onUpdate:modelValue`])):(n(),p(h,{key:1,modelValue:r.mold_id,"onUpdate:modelValue":e=>r.mold_id=e,placeholder:`选择模具`,size:`small`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(l).finishedProducts,e=>(n(),p(c,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`]))]),_:1}),E(b,{label:`模具名称`,"min-width":`120`},{default:e(({row:e})=>[e.mold_mode===`new`?(n(),p(j,{key:0,modelValue:e.mold_name,"onUpdate:modelValue":t=>e.mold_name=t,size:`small`,placeholder:`模具名称`},null,8,[`modelValue`,`onUpdate:modelValue`])):(n(),w(`span`,de,r(s(l).finishedProducts.find(t=>t.id===e.mold_id)?.name||`-`),1))]),_:1}),E(b,{label:`数量`,width:`100`},{default:e(({row:e})=>[E(N,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`单价`,width:`120`},{default:e(({row:e})=>[E(N,{modelValue:e.unit_price,"onUpdate:modelValue":t=>e.unit_price=t,min:0,precision:2,step:.01,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`备注`,width:`120`},{default:e(({row:e})=>[E(j,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`操作`,width:`80`},{default:e(({$index:t})=>[E(_,{type:`danger`,size:`small`,onClick:e=>K(t)},{default:e(()=>[...a[18]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),m(`div`,fe,` 订单总金额:`+r(s(f)(q.value)),1),I.value&&U.value.length>0?(n(),w(y,{key:0},[E(P,{"content-position":`left`},{default:e(()=>[...a[19]||=[d(`已消耗物料`,-1)]]),_:1}),E(S,{data:U.value,border:``,size:`small`},{default:e(()=>[E(b,{label:`物料`},{default:e(({row:e})=>[d(r(e.material_name),1)]),_:1}),E(b,{label:`数量`},{default:e(({row:e})=>[d(r(e.quantity),1)]),_:1}),E(b,{label:`单价`},{default:e(({row:e})=>[d(r(s(f)(e.unit_price)),1)]),_:1}),E(b,{label:`备注`},{default:e(({row:e})=>[d(r(e.remark||`-`),1)]),_:1})]),_:1},8,[`data`])],64)):u(``,!0)]),_:1},8,[`visible`,`title`]),E(R,{visible:V.value,"onUpdate:visible":a[7]||=e=>V.value=e,title:`物料消耗`,width:`800px`,onClosed:he},{footer:e(()=>[E(_,{onClick:a[6]||=e=>V.value=!1},{default:e(()=>[...a[25]||=[d(`取消`,-1)]]),_:1}),E(_,{type:`primary`,onClick:ae},{default:e(()=>[...a[26]||=[d(`保存消耗`,-1)]]),_:1})]),default:e(()=>[m(`div`,pe,[a[23]||=m(`span`,{style:{"font-weight":`600`}},`消耗物料明细`,-1),E(_,{type:`primary`,size:`small`,onClick:ne},{default:e(()=>[...a[22]||=[d(`+ 添加物料`,-1)]]),_:1})]),E(S,{data:H.value,border:``,size:`small`},{default:e(()=>[E(b,{label:`物料`,"min-width":`200`},{default:e(({row:r})=>[E(h,{modelValue:r.material_id,"onUpdate:modelValue":e=>r.material_id=e,placeholder:`请选择物料`,style:{width:`100%`}},{default:e(()=>[(n(!0),w(y,null,t(s(l).materials,e=>(n(),p(c,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`数量`,width:`120`},{default:e(({row:e})=>[E(N,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`单价`,width:`120`},{default:e(({row:e})=>[E(N,{"model-value":s(l).materials.find(t=>t.id===e.material_id)?.cost_price||0,disabled:``,size:`small`,style:{width:`100%`}},null,8,[`model-value`])]),_:1}),E(b,{label:`总价`,width:`120`},{default:e(({row:e})=>[d(r(s(f)((s(l).materials.find(t=>t.id===e.material_id)?.cost_price||0)*(e.quantity||0))),1)]),_:1}),E(b,{label:`备注`,width:`150`},{default:e(({row:e})=>[E(j,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),E(b,{label:`操作`,width:`80`},{default:e(({$index:t})=>[E(_,{type:`danger`,size:`small`,onClick:e=>re(t)},{default:e(()=>[...a[24]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),m(`div`,me,` 消耗总金额:`+r(s(f)(ie.value)),1)]),_:1},8,[`visible`])])}}}),ge={class:`suppliers-tab`},_e={class:`table-header`},ve=v(c({__name:`SuppliersTab`,setup(t){let{state:c,loadSuppliers:l}=R(),u=a(!1),f=a(null),p=i({name:``,contact_person:``,phone:``,email:``,address:``});function g(){f.value=null,p.name=``,p.contact_person=``,p.phone=``,p.email=``,p.address=``,u.value=!0}function _(e){f.value=e,p.name=e.name??``,p.contact_person=e.contact_person??``,p.phone=e.phone??``,p.email=e.email??``,p.address=e.address??``,u.value=!0}async function v(){try{let e={name:p.name,contact_person:p.contact_person||null,phone:p.phone||null,email:p.email||null,address:p.address||null};f.value?(await x(`/api/suppliers/${f.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),b(`供应商更新成功`,`success`)):(await x(`/api/suppliers`,{method:`POST`,body:JSON.stringify(e)}),b(`供应商已创建`,`success`)),u.value=!1,l()}catch(e){h(e,`保存供应商`)}}async function y(e){if(confirm(`确定要删除这个供应商吗?`))try{await x(`/api/suppliers/${e}`,{method:`DELETE`}),b(`供应商已删除`,`success`),l()}catch(e){h(e,`删除供应商`)}}return T(()=>{l()}),(t,i)=>{let a=o(`t-button`),l=o(`t-table-column`),h=o(`t-table`),b=o(`t-input`),x=o(`t-form-item`),S=o(`t-form`),C=o(`t-dialog`);return n(),w(`div`,ge,[m(`div`,_e,[E(a,{type:`primary`,onClick:g},{default:e(()=>[...i[7]||=[d(`+ 新增供应商`,-1)]]),_:1})]),E(h,{data:s(c).suppliers,style:{width:`100%`},loading:s(c).loading,"empty-text":`暂无供应商数据`},{default:e(()=>[E(l,{prop:`code`,label:`编码`}),E(l,{prop:`name`,label:`名称`}),E(l,{prop:`contact_person`,label:`联系人`},{default:e(({row:e})=>[d(r(e.contact_person||`-`),1)]),_:1}),E(l,{prop:`phone`,label:`电话`},{default:e(({row:e})=>[d(r(e.phone||`-`),1)]),_:1}),E(l,{prop:`email`,label:`邮箱`},{default:e(({row:e})=>[d(r(e.email||`-`),1)]),_:1}),E(l,{label:`操作`,width:`180`},{default:e(({row:t})=>[E(a,{size:`small`,onClick:e=>_(t)},{default:e(()=>[...i[8]||=[d(`编辑`,-1)]]),_:1},8,[`onClick`]),E(a,{size:`small`,type:`danger`,onClick:e=>y(t.id)},{default:e(()=>[...i[9]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`loading`]),E(C,{modelValue:u.value,"onUpdate:modelValue":i[6]||=e=>u.value=e,title:f.value?`编辑供应商`:`新增供应商`,width:`520px`,"close-on-click-modal":!1},{footer:e(()=>[E(a,{onClick:i[5]||=e=>u.value=!1},{default:e(()=>[...i[10]||=[d(`取消`,-1)]]),_:1}),E(a,{type:`primary`,onClick:v},{default:e(()=>[...i[11]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(S,{model:p,"label-width":`80px`},{default:e(()=>[E(x,{label:`名称`,required:``},{default:e(()=>[E(b,{modelValue:p.name,"onUpdate:modelValue":i[0]||=e=>p.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),E(x,{label:`联系人`},{default:e(()=>[E(b,{modelValue:p.contact_person,"onUpdate:modelValue":i[1]||=e=>p.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),E(x,{label:`电话`},{default:e(()=>[E(b,{modelValue:p.phone,"onUpdate:modelValue":i[2]||=e=>p.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),E(x,{label:`邮箱`},{default:e(()=>[E(b,{modelValue:p.email,"onUpdate:modelValue":i[3]||=e=>p.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),E(x,{label:`地址`},{default:e(()=>[E(b,{modelValue:p.address,"onUpdate:modelValue":i[4]||=e=>p.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-46312435`]]),ye={class:`customers-tab`},be={class:`table-header`},xe=v(c({__name:`CustomersTab`,setup(t){let{state:c,loadCustomers:l}=R(),u=a(!1),f=a(null),p=i({name:``,contact_person:``,phone:``,email:``,address:``});function g(){f.value=null,p.name=``,p.contact_person=``,p.phone=``,p.email=``,p.address=``,u.value=!0}function _(e){f.value=e,p.name=e.name??``,p.contact_person=e.contact_person??``,p.phone=e.phone??``,p.email=e.email??``,p.address=e.address??``,u.value=!0}async function v(){try{let e={name:p.name,contact_person:p.contact_person||null,phone:p.phone||null,email:p.email||null,address:p.address||null};f.value?(await x(`/api/customers/${f.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),b(`客户更新成功`,`success`)):(await x(`/api/customers`,{method:`POST`,body:JSON.stringify(e)}),b(`客户已创建`,`success`)),u.value=!1,l()}catch(e){h(e,`保存客户`)}}async function y(e){if(confirm(`确定要删除这个客户吗?`))try{await x(`/api/customers/${e}`,{method:`DELETE`}),b(`客户已删除`,`success`),l()}catch(e){h(e,`删除客户`)}}return T(()=>{l()}),(t,i)=>{let a=o(`t-button`),l=o(`t-table-column`),h=o(`t-table`),b=o(`t-input`),x=o(`t-form-item`),S=o(`t-form`),C=o(`t-dialog`);return n(),w(`div`,ye,[m(`div`,be,[E(a,{type:`primary`,onClick:g},{default:e(()=>[...i[7]||=[d(`+ 新增客户`,-1)]]),_:1})]),E(h,{data:s(c).customers,style:{width:`100%`},loading:s(c).loading,"empty-text":`暂无客户数据`},{default:e(()=>[E(l,{prop:`code`,label:`编码`}),E(l,{prop:`name`,label:`名称`}),E(l,{prop:`contact_person`,label:`联系人`},{default:e(({row:e})=>[d(r(e.contact_person||`-`),1)]),_:1}),E(l,{prop:`phone`,label:`电话`},{default:e(({row:e})=>[d(r(e.phone||`-`),1)]),_:1}),E(l,{prop:`email`,label:`邮箱`},{default:e(({row:e})=>[d(r(e.email||`-`),1)]),_:1}),E(l,{label:`操作`,width:`180`},{default:e(({row:t})=>[E(a,{size:`small`,onClick:e=>_(t)},{default:e(()=>[...i[8]||=[d(`编辑`,-1)]]),_:1},8,[`onClick`]),E(a,{size:`small`,type:`danger`,onClick:e=>y(t.id)},{default:e(()=>[...i[9]||=[d(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`loading`]),E(C,{modelValue:u.value,"onUpdate:modelValue":i[6]||=e=>u.value=e,title:f.value?`编辑客户`:`新增客户`,width:`520px`,"close-on-click-modal":!1},{footer:e(()=>[E(a,{onClick:i[5]||=e=>u.value=!1},{default:e(()=>[...i[10]||=[d(`取消`,-1)]]),_:1}),E(a,{type:`primary`,onClick:v},{default:e(()=>[...i[11]||=[d(`保存`,-1)]]),_:1})]),default:e(()=>[E(S,{model:p,"label-width":`80px`},{default:e(()=>[E(x,{label:`名称`,required:``},{default:e(()=>[E(b,{modelValue:p.name,"onUpdate:modelValue":i[0]||=e=>p.name=e,placeholder:`请输入客户名称`},null,8,[`modelValue`])]),_:1}),E(x,{label:`联系人`},{default:e(()=>[E(b,{modelValue:p.contact_person,"onUpdate:modelValue":i[1]||=e=>p.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),E(x,{label:`电话`},{default:e(()=>[E(b,{modelValue:p.phone,"onUpdate:modelValue":i[2]||=e=>p.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),E(x,{label:`邮箱`},{default:e(()=>[E(b,{modelValue:p.email,"onUpdate:modelValue":i[3]||=e=>p.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),E(x,{label:`地址`},{default:e(()=>[E(b,{modelValue:p.address,"onUpdate:modelValue":i[4]||=e=>p.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-910d60b4`]]),Se={style:{"margin-bottom":`16px`,display:`flex`,gap:`12px`,"align-items":`center`,"flex-wrap":`wrap`}},Ce={style:{"text-align":`center`}},we={style:{"font-size":`24px`,"font-weight":`700`,color:`#409eff`}},Te={style:{"text-align":`center`}},Ee={style:{"font-size":`24px`,"font-weight":`700`,color:`#e6a23c`}},De={style:{"text-align":`center`}},Oe={style:{"font-size":`24px`,"font-weight":`700`,color:`#67c23a`}},ke={style:{"text-align":`center`}},Ae={style:{"font-size":`24px`,"font-weight":`700`,color:`#f56c6c`}},je=c({__name:`FinanceTab`,setup(i){let{state:c,formatCurrency:l,formatDateTime:f,formatDate:h,loadFinance:g,refreshFinanceByPeriod:v}=R(),b=a(c.financePeriod.year),x=a(c.financePeriod.quarter),S=[{label:`全年`,value:``},{label:`Q1`,value:`1`},{label:`Q2`,value:`2`},{label:`Q3`,value:`3`},{label:`Q4`,value:`4`}],C=_(()=>x.value?`${b.value}年 Q${x.value}`:`${b.value}年 全年`);function D(){c.financePeriod.year=b.value,c.financePeriod.quarter=x.value,g()}T(()=>{D()});let O=_(()=>c.financeSummary?.total_receivable??0),k=_(()=>c.financeSummary?.total_payable??0),A=_(()=>c.financeSummary?.period_received??0),j=_(()=>c.financeSummary?.period_paid??0);function M(e){return e===`receipt`?`收款`:`付款`}function N(e){return e===`receipt`?`success`:`warning`}function P(e){return{confirmed:`已确认`,pending:`待确认`}[e]||e}return(i,a)=>{let f=o(`t-input-number`),g=o(`t-option`),_=o(`t-select`),v=o(`t-button`),T=o(`t-tag`),F=o(`t-card`),I=o(`t-col`),L=o(`t-row`),R=o(`t-table-column`),z=o(`t-table`),B=o(`t-empty`);return n(),w(`div`,null,[m(`div`,Se,[a[3]||=m(`span`,{style:{"font-weight":`600`}},`统计周期:`,-1),E(f,{modelValue:b.value,"onUpdate:modelValue":a[0]||=e=>b.value=e,min:2020,max:2099,style:{width:`120px`}},null,8,[`modelValue`]),a[4]||=m(`span`,null,`年`,-1),E(_,{modelValue:x.value,"onUpdate:modelValue":a[1]||=e=>x.value=e,placeholder:`选择季度`,style:{width:`120px`}},{default:e(()=>[(n(),w(y,null,t(S,e=>E(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),E(v,{type:`primary`,onClick:D},{default:e(()=>[...a[2]||=[d(`刷新统计`,-1)]]),_:1}),E(T,{type:`info`,size:`large`},{default:e(()=>[d(r(C.value),1)]),_:1})]),E(L,{gutter:16,style:{"margin-bottom":`16px`}},{default:e(()=>[E(I,{span:6},{default:e(()=>[E(F,{shadow:`hover`},{default:e(()=>[m(`div`,Ce,[a[5]||=m(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`应收总额`,-1),m(`div`,we,r(s(l)(O.value)),1)])]),_:1})]),_:1}),E(I,{span:6},{default:e(()=>[E(F,{shadow:`hover`},{default:e(()=>[m(`div`,Te,[a[6]||=m(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`应付总额`,-1),m(`div`,Ee,r(s(l)(k.value)),1)])]),_:1})]),_:1}),E(I,{span:6},{default:e(()=>[E(F,{shadow:`hover`},{default:e(()=>[m(`div`,De,[a[7]||=m(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`周期收款`,-1),m(`div`,Oe,r(s(l)(A.value)),1)])]),_:1})]),_:1}),E(I,{span:6},{default:e(()=>[E(F,{shadow:`hover`},{default:e(()=>[m(`div`,ke,[a[8]||=m(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`周期付款`,-1),m(`div`,Ae,r(s(l)(j.value)),1)])]),_:1})]),_:1})]),_:1}),E(F,{style:{"margin-bottom":`16px`}},{header:e(()=>[...a[9]||=[m(`span`,{style:{"font-weight":`600`}},`客户账款(周期)`,-1)]]),default:e(()=>[E(z,{data:s(c).customerFinanceStatement,loading:s(c).loading,stripe:``,size:`small`},{default:e(()=>[E(R,{prop:`partner_name`,label:`客户`}),E(R,{prop:`order_count`,label:`订单数`}),E(R,{prop:`transaction_count`,label:`流水数`}),E(R,{label:`订单金额`},{default:e(({row:e})=>[d(r(s(l)(e.order_amount)),1)]),_:1}),E(R,{label:`订单已收`},{default:e(({row:e})=>[d(r(s(l)(e.order_received)),1)]),_:1}),E(R,{label:`实收流水`},{default:e(({row:e})=>[d(r(s(l)(e.transaction_received)),1)]),_:1}),E(R,{label:`应收余额`},{default:e(({row:e})=>[d(r(s(l)(e.receivable_balance)),1)]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).customerFinanceStatement.length===0?(n(),p(B,{key:0,description:`暂无数据`})):u(``,!0)]),_:1}),E(F,{style:{"margin-bottom":`16px`}},{header:e(()=>[...a[10]||=[m(`span`,{style:{"font-weight":`600`}},`供应商账款(周期)`,-1)]]),default:e(()=>[E(z,{data:s(c).supplierFinanceStatement,loading:s(c).loading,stripe:``,size:`small`},{default:e(()=>[E(R,{prop:`partner_name`,label:`供应商`}),E(R,{prop:`order_count`,label:`订单数`}),E(R,{prop:`transaction_count`,label:`流水数`}),E(R,{label:`订单金额`},{default:e(({row:e})=>[d(r(s(l)(e.order_amount)),1)]),_:1}),E(R,{label:`订单已付`},{default:e(({row:e})=>[d(r(s(l)(e.order_paid)),1)]),_:1}),E(R,{label:`实付流水`},{default:e(({row:e})=>[d(r(s(l)(e.transaction_paid)),1)]),_:1}),E(R,{label:`应付余额`},{default:e(({row:e})=>[d(r(s(l)(e.payable_balance)),1)]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).supplierFinanceStatement.length===0?(n(),p(B,{key:0,description:`暂无数据`})):u(``,!0)]),_:1}),E(F,{style:{"margin-bottom":`16px`}},{header:e(()=>[...a[11]||=[m(`span`,{style:{"font-weight":`600`}},`客户-商品追溯(周期)`,-1)]]),default:e(()=>[E(z,{data:s(c).customerProductStatement,loading:s(c).loading,stripe:``,size:`small`},{default:e(()=>[E(R,{prop:`partner_name`,label:`客户`}),E(R,{prop:`product_sku`,label:`SKU`}),E(R,{prop:`product_name`,label:`商品`}),E(R,{prop:`order_count`,label:`订单数`}),E(R,{prop:`quantity`,label:`数量`}),E(R,{label:`订单金额`},{default:e(({row:e})=>[d(r(s(l)(e.order_amount)),1)]),_:1}),E(R,{label:`已结款`},{default:e(({row:e})=>[d(r(s(l)(e.settled_amount)),1)]),_:1}),E(R,{label:`未结款`},{default:e(({row:e})=>[d(r(s(l)(e.unsettled_amount)),1)]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).customerProductStatement.length===0?(n(),p(B,{key:0,description:`暂无数据`})):u(``,!0)]),_:1}),E(F,{style:{"margin-bottom":`16px`}},{header:e(()=>[...a[12]||=[m(`span`,{style:{"font-weight":`600`}},`供应商-商品追溯(周期)`,-1)]]),default:e(()=>[E(z,{data:s(c).supplierProductStatement,loading:s(c).loading,stripe:``,size:`small`},{default:e(()=>[E(R,{prop:`partner_name`,label:`供应商`}),E(R,{prop:`product_sku`,label:`SKU`}),E(R,{prop:`product_name`,label:`商品`}),E(R,{prop:`order_count`,label:`订单数`}),E(R,{prop:`quantity`,label:`数量`}),E(R,{label:`订单金额`},{default:e(({row:e})=>[d(r(s(l)(e.order_amount)),1)]),_:1}),E(R,{label:`已结款`},{default:e(({row:e})=>[d(r(s(l)(e.settled_amount)),1)]),_:1}),E(R,{label:`未结款`},{default:e(({row:e})=>[d(r(s(l)(e.unsettled_amount)),1)]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).supplierProductStatement.length===0?(n(),p(B,{key:0,description:`暂无数据`})):u(``,!0)]),_:1}),E(F,null,{header:e(()=>[...a[13]||=[m(`span`,{style:{"font-weight":`600`}},`最近财务流水`,-1)]]),default:e(()=>[E(z,{data:s(c).financeTransactions,loading:s(c).loading,stripe:``,size:`small`},{default:e(()=>[E(R,{prop:`order_no`,label:`单号`}),E(R,{label:`类型`},{default:e(({row:t})=>[E(T,{type:N(t.type),size:`small`},{default:e(()=>[d(r(M(t.type)),1)]),_:2},1032,[`type`])]),_:1}),E(R,{prop:`partner_name`,label:`往来方`}),E(R,{label:`金额`},{default:e(({row:e})=>[d(r(s(l)(e.amount)),1)]),_:1}),E(R,{label:`状态`},{default:e(({row:t})=>[E(T,{type:t.status===`confirmed`?`success`:`warning`,size:`small`},{default:e(()=>[d(r(P(t.status)),1)]),_:2},1032,[`type`])]),_:1}),E(R,{label:`日期`},{default:e(({row:e})=>[d(r(s(h)(e.transaction_date)),1)]),_:1})]),_:1},8,[`data`,`loading`]),!s(c).loading&&s(c).financeTransactions.length===0?(n(),p(B,{key:0,description:`暂无数据`})):u(``,!0)]),_:1})])}}}),Me={class:`movements-tab`},Ne=v(c({__name:`MovementsTab`,setup(t){let{state:i,loadMovements:a,getMovementTypeLabel:c,getMovementBadgeClass:l,formatDateTime:u}=R(),f=e=>{let t=l(e);return t===`badge-success`?`success`:t===`badge-error`?`danger`:t===`badge-warning`?`warning`:`info`};return T(()=>{a()}),(t,a)=>{let l=o(`t-table-column`),p=o(`t-tag`),m=o(`t-table`);return n(),w(`div`,Me,[E(m,{data:s(i).movements,style:{width:`100%`},loading:s(i).loading,"empty-text":`暂无库存变动记录`},{default:e(()=>[E(l,{label:`物料`},{default:e(({row:e})=>[d(r(e.product_name)+r(e.product_sku?` (`+e.product_sku+`)`:``),1)]),_:1}),E(l,{label:`类型`,width:`140`},{default:e(({row:t})=>[E(p,{type:f(t.movement_type),size:`small`},{default:e(()=>[d(r(s(c)(t.movement_type)),1)]),_:2},1032,[`type`])]),_:1}),E(l,{prop:`quantity`,label:`数量`,width:`80`}),E(l,{prop:`before_quantity`,label:`变动前`,width:`80`}),E(l,{prop:`after_quantity`,label:`变动后`,width:`80`}),E(l,{label:`时间`,width:`180`},{default:e(({row:e})=>[d(r(s(u)(e.created_at)),1)]),_:1})]),_:1},8,[`data`,`loading`])])}}}),[[`__scopeId`,`data-v-79f8d5e3`]]),Pe={class:`page-container`},Fe={class:`inventory-layout`},Ie={class:`inventory-sidebar-wrapper`},Le={class:`inventory-content`},Re={class:`inventory-content-header`},ze={class:`inventory-breadcrumb`},Be={class:`current`},Ve=v(c({__name:`InventoryView`,setup(t){let i=f(),a=C(),{state:c,activeMenu:d,checkBackendHealth:h,loadDashboard:g,destroyPickers:_}=R();return T(()=>{if(!i.user){a.push(`/login`);return}h().then(()=>{if(!c.backendDbReady){b(c.backendDbMessage||`业务服务不可用`,`warning`);return}g()})}),l(()=>{_()}),(t,i)=>{let a=o(`t-alert`),l=o(`t-loading`);return n(),w(`div`,Pe,[i[1]||=m(`div`,{class:`page-header`},[m(`h1`,null,`进销存管理`),m(`p`,null,`库存、采购、销售管理`)],-1),m(`div`,Fe,[m(`aside`,Ie,[E(B)]),m(`section`,Le,[m(`div`,Re,[m(`div`,ze,[m(`span`,null,r(s(d)?.group?.title||`进销存`),1),i[0]||=m(`span`,{class:`sep`},`/`,-1),m(`span`,Be,r(s(d)?.item?.label||``),1)])]),s(c).backendDbReady?u(``,!0):(n(),p(a,{key:0,title:s(c).backendDbMessage,type:`warning`,"show-icon":``,closable:!1,style:{"margin-bottom":`16px`}},null,8,[`title`])),E(l,{loading:s(c).loading},{default:e(()=>[s(c).activeTab===`dashboard`?(n(),p(G,{key:0})):s(c).activeTab===`products`?(n(),p(J,{key:1})):s(c).activeTab===`materials`?(n(),p(ee,{key:2})):s(c).activeTab===`inventory`?(n(),p($,{key:3})):s(c).activeTab===`purchases`?(n(),p(oe,{key:4})):s(c).activeTab===`sales_orders`?(n(),p(he,{key:5})):s(c).activeTab===`suppliers`?(n(),p(ve,{key:6})):s(c).activeTab===`customers`?(n(),p(xe,{key:7})):s(c).activeTab===`finance`?(n(),p(je,{key:8})):s(c).activeTab===`movements`?(n(),p(Ne,{key:9})):u(``,!0)]),_:1},8,[`loading`])])])])}}}),[[`__scopeId`,`data-v-de14c186`]]);export{Ve as default};