import{_ as ee,a8 as ae,b as d,a0 as te,o as D,y as L,w as n,r as g,a as I,$ as ue,a5 as ne,az as se,a4 as le,U as oe,av as re,aC as ie,an as de,d as y,e as u,g as ce,c as T,ad as pe,F as me,h as r,a1 as ge,B as c,aA as he,E as b,C as fe}from"./index.173459ae.js";import{f as _e,a as x,d as De,e as we}from"./purchaseOrder.b88cf8f4.js";import{f as ye}from"./supplier.9e64da2f.js";import{a as be}from"./warehouse.64342456.js";import"./request.431ecd42.js";import"./axios.e318b91e.js";const $={1:{label:"\u8349\u7A3F",type:"info"},2:{label:"\u5DF2\u63D0\u4EA4",type:"warning"},3:{label:"\u5DF2\u5BA1\u6838",type:""},4:{label:"\u90E8\u5206\u6536\u8D27",type:""},5:{label:"\u5DF2\u6536\u8D27",type:"success"},6:{label:"\u5DF2\u53D6\u6D88",type:"danger"}},Ce=ae({name:"PurchaseOrder",setup(){const a=g(!1),l=g(!1),P=g([]),j=Object.entries($).map(([e,{label:o}])=>({value:Number(e),label:o})),f=I({keyword:"",status:null}),_=I({current:1,pageSize:10,total:0}),M=g(!1),k=g(""),S=g(null),p=I({id:null,po_no:"",supplier_id:0,warehouse_id:0,order_date:"",expected_arrival_date:"",total_amount:0,status:1,remark:""}),V={po_no:[{required:!0,message:"\u91C7\u8D2D\u5355\u53F7\u4E0D\u80FD\u4E3A\u7A7A",trigger:"blur"}],supplier_id:[{required:!0,message:"\u4F9B\u5E94\u5546ID\u4E0D\u80FD\u4E3A\u7A7A",trigger:"blur"}],warehouse_id:[{required:!0,message:"\u4ED3\u5E93ID\u4E0D\u80FD\u4E3A\u7A7A",trigger:"blur"}]},w=g(!1),s=g(null),z=g({}),C=g({}),v=g({}),F=g(new Set),O=e=>{var o;return((o=$[e])==null?void 0:o.label)||"\u672A\u77E5"},R=e=>{var o;return((o=$[e])==null?void 0:o.type)||"info"},U=e=>!e&&e==0?"-":he.unix(Number(e)).format("YYYY-MM-DD HH:mm:ss"),t=e=>!e&&e!==0?"\xA50.00":"\xA5"+(Number(e)/100).toFixed(2),i=async()=>{try{const[e,o]=await Promise.all([ye({keyword:"",page:1,pageSize:9999}),be({keyword:"",page:1,pageSize:9999})]),h={};for(const m of e.list)h[String(m.id)]=m.name||m.code||m.id;z.value=h;const A={};for(const m of o.list)A[String(m.id)]=m.name||m.code||m.id;C.value=A}catch(e){console.warn("\u52A0\u8F7D\u4F9B\u5E94\u5546/\u4ED3\u5E93\u540D\u79F0\u6620\u5C04\u5931\u8D25\uFF0C\u5C06\u663E\u793AID",e)}},E=async()=>{a.value=!0;try{const e=await _e({keyword:f.keyword,status:f.status!==null?String(f.status):"",page:_.current,pageSize:_.pageSize,sort_by:"updated_at",sort_order:"desc"});P.value=e.list||[],_.total=e.total||0}catch{b.error({message:"\u83B7\u53D6\u91C7\u8D2D\u5355\u5217\u8868\u5931\u8D25",customClass:"scan-error-message"})}finally{a.value=!1}},q=()=>{_.current=1,E()},Y=()=>{_.current=1,E()},K=()=>{f.keyword="",f.status=null,q()},H=e=>{_.current=e,E()},W=e=>{_.pageSize=e,_.current=1,E()},G=(e,o)=>{!o.some(h=>h.id===e.id)||v.value[e.id]||F.value.has(e.id)||(F.value.add(e.id),x(e.id).then(h=>{h&&(v.value[e.id]=h)}).catch(h=>{b.error({message:"\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25",customClass:"scan-error-message"})}).finally(()=>{F.value.delete(e.id)}))},J=async e=>{try{const o=await x(e.id);s.value=o||e}catch{s.value=e}w.value=!0},Q=e=>{fe.confirm(`\u786E\u5B9A\u8981\u5220\u9664\u91C7\u8D2D\u5355 "${e.po_no}" \u5417\uFF1F`,"\u5220\u9664\u786E\u8BA4",{confirmButtonText:"\u786E\u5B9A\u5220\u9664",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(async()=>{try{await De({id:e.id}),b.success({message:"\u5220\u9664\u6210\u529F",customClass:"scan-success-message"}),q()}catch{b.error({message:"\u5220\u9664\u5931\u8D25",customClass:"scan-error-message"})}}).catch(()=>{})},X=async()=>{var e;try{const o=await we({keyword:f.keyword,status:f.status!==null?String(f.status):void 0}),h=(e=o.headers)==null?void 0:e["content-disposition"];let A="\u91C7\u8D2D\u5355\u5BFC\u51FA.xlsx";if(h){const N=h.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/);N&&N[1]&&(A=decodeURIComponent(N[1].replace(/['"]/g,"")))}const m=window.URL.createObjectURL(new Blob([o.data])),B=document.createElement("a");B.href=m,B.download=A,document.body.appendChild(B),B.click(),document.body.removeChild(B),window.URL.revokeObjectURL(m),b.success({message:"\u5BFC\u51FA\u6210\u529F",customClass:"scan-success-message"})}catch{b.error({message:"\u5BFC\u51FA\u5931\u8D25",customClass:"scan-error-message"})}},Z=()=>{var e;(e=S.value)==null||e.resetFields(),p.id=null,p.po_no="",p.supplier_id=0,p.warehouse_id=0,p.order_date="",p.expected_arrival_date="",p.total_amount=0,p.status=1,p.remark=""};return ue(()=>{i(),E()}),{loading:a,submitLoading:l,tableData:P,statusOptions:j,searchParams:f,pagination:_,dialogVisible:M,dialogTitle:k,formRef:S,formData:p,formRules:V,detailVisible:w,detailData:s,supplierMap:z,warehouseMap:C,detailCache:v,Search:ne,Refresh:se,Plus:le,Edit:oe,Delete:re,View:ie,Loading:de,statusLabel:O,statusTagType:R,formatTimestamp:U,formatAmount:t,handleSearch:Y,resetSearch:K,handleCurrentChange:H,handleSizeChange:W,handleExpandChange:G,handleView:J,handleDelete:Q,handleExport:X,resetForm:Z}}}),ve={class:"filter-bar"},Fe={key:0,style:{padding:"12px 20px"}},Ee={key:1},Ae={style:{color:"#e6a23c","font-weight":"600"}},Be={key:1,style:{padding:"20px","text-align":"center",color:"#909399"}},ke={style:{color:"#e6a23c","font-weight":"600"}},Se={class:"pagination-wrapper"};function ze(a,l,P,j,f,_){const M=d("Search"),k=d("el-icon"),S=d("el-input"),p=d("el-option"),V=d("el-select"),w=d("el-button"),s=d("el-table-column"),z=d("el-image"),C=d("el-table"),v=d("Loading"),F=d("el-tag"),O=d("el-pagination"),R=d("el-card"),U=te("loading");return D(),L(R,{class:"purchase-order-manager"},{header:n(()=>[...l[4]||(l[4]=[y("div",{class:"card-header"},"\u91C7\u8D2D\u5355\u7BA1\u7406",-1)])]),default:n(()=>[y("div",ve,[u(S,{modelValue:a.searchParams.keyword,"onUpdate:modelValue":l[0]||(l[0]=t=>a.searchParams.keyword=t),placeholder:"\u91C7\u8D2D\u5355\u53F7",clearable:"",style:{width:"220px"},onKeyup:ce(a.handleSearch,["enter"])},{prefix:n(()=>[u(k,null,{default:n(()=>[u(M)]),_:1})]),_:1},8,["modelValue","onKeyup"]),u(V,{modelValue:a.searchParams.status,"onUpdate:modelValue":l[1]||(l[1]=t=>a.searchParams.status=t),placeholder:"\u72B6\u6001",clearable:"",style:{width:"140px"}},{default:n(()=>[(D(!0),T(me,null,pe(a.statusOptions,t=>(D(),L(p,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),u(w,{type:"primary",icon:a.Search,onClick:a.handleSearch},{default:n(()=>[...l[5]||(l[5]=[r("\u641C\u7D22",-1)])]),_:1},8,["icon","onClick"]),u(w,{icon:a.Refresh,onClick:a.resetSearch},{default:n(()=>[...l[6]||(l[6]=[r("\u91CD\u7F6E",-1)])]),_:1},8,["icon","onClick"]),u(w,{type:"primary",onClick:a.handleExport},{default:n(()=>[...l[7]||(l[7]=[r("\u5BFC\u51FA",-1)])]),_:1},8,["onClick"])]),ge((D(),L(C,{data:a.tableData,border:"",stripe:"",style:{width:"100%"},onExpandChange:a.handleExpandChange},{default:n(()=>[u(s,{type:"expand"},{default:n(({row:t})=>[a.detailCache[t.id]?(D(),T("div",Fe,[l[8]||(l[8]=y("h4",{style:{margin:"0 0 10px","font-size":"14px",color:"#303133"}},"\u91C7\u8D2D\u5355\u660E\u7EC6",-1)),u(C,{data:a.detailCache[t.id].items||[],border:"",size:"small"},{default:n(()=>[u(s,{prop:"product_name",label:"\u5546\u54C1\u540D\u79F0","min-width":"100","show-overflow-tooltip":"",align:"center"}),u(s,{label:"\u56FE\u7247","min-width":"30",align:"center"},{default:n(({row:i})=>[i.live_image&&i.live_image.length?(D(),L(z,{key:0,src:i.live_image[0],"preview-src-list":i.live_image,fit:"cover",style:{width:"32px",height:"32px","border-radius":"4px",cursor:"pointer","vertical-align":"middle"},"preview-teleported":!0,"hide-on-click-modal":""},null,8,["src","preview-src-list"])):(D(),T("span",Ee,"-"))]),_:1}),u(s,{prop:"category_name",label:"\u4ED3\u5E93\u53F7","min-width":"70",align:"center"},{default:n(({row:i})=>[r(c(i.location_code||"-"),1)]),_:1}),u(s,{prop:"product_code",label:"ISBN","min-width":"60","show-overflow-tooltip":"",align:"center"}),u(s,{prop:"category_name",label:"\u7C7B\u578B","min-width":"60",align:"center"},{default:n(({row:i})=>[r(c(i.category_name||"-"),1)]),_:1}),u(s,{prop:"quantity",label:"\u91C7\u8D2D\u6570\u91CF","min-width":"40",align:"center"}),u(s,{prop:"received_quantity",label:"\u5DF2\u5165\u5E93\u6570\u91CF","min-width":"40",align:"center"}),u(s,{label:"\u5355\u4EF7","min-width":"40",align:"center"},{default:n(({row:i})=>[r(c(a.formatAmount(i.unit_price)),1)]),_:1}),u(s,{label:"\u552E\u4EF7","min-width":"40",align:"center"},{default:n(({row:i})=>[y("span",Ae,c(a.formatAmount(i.sale_price)),1)]),_:1})]),_:1},8,["data"])])):(D(),T("div",Be,[u(k,{class:"is-loading",style:{"margin-right":"6px"}},{default:n(()=>[u(v)]),_:1}),l[9]||(l[9]=r("\u52A0\u8F7D\u4E2D... ",-1))]))]),_:1}),u(s,{prop:"po_no",label:"\u91C7\u8D2D\u5355\u53F7","min-width":"180","show-overflow-tooltip":"",align:"center"}),u(s,{label:"\u4F9B\u5E94\u5546",width:"180",align:"center"},{default:n(({row:t})=>[r(c(a.supplierMap[t.supplier_id]||t.supplier_id),1)]),_:1}),u(s,{label:"\u4ED3\u5E93",width:"140",align:"center"},{default:n(({row:t})=>[r(c(a.warehouseMap[t.warehouse_id]||t.warehouse_id),1)]),_:1}),u(s,{label:"\u8BA2\u5355\u65E5\u671F",width:"170",align:"center"},{default:n(({row:t})=>[r(c(a.formatTimestamp(t.order_date)),1)]),_:1}),u(s,{label:"\u9884\u8BA1\u5230\u8D27",width:"170",align:"center"},{default:n(({row:t})=>[r(c(a.formatTimestamp(t.expected_arrival_date)),1)]),_:1}),u(s,{label:"\u603B\u91D1\u989D",width:"120",align:"center"},{default:n(({row:t})=>[y("span",ke,c(a.formatAmount(t.total_amount)),1)]),_:1}),u(s,{prop:"status",label:"\u72B6\u6001",width:"120",align:"center"},{default:n(({row:t})=>[u(F,{type:a.statusTagType(t.status),size:"small","disable-transitions":""},{default:n(()=>[r(c(a.statusLabel(t.status)),1)]),_:2},1032,["type"])]),_:1}),u(s,{prop:"creator",label:"\u521B\u5EFA\u4EBA",width:"100",align:"center","show-overflow-tooltip":""}),u(s,{label:"\u521B\u5EFA\u65F6\u95F4",width:"170",align:"center"},{default:n(({row:t})=>[r(c(a.formatTimestamp(t.created_at)),1)]),_:1}),u(s,{label:"\u66F4\u65B0\u65F6\u95F4",width:"170",align:"center"},{default:n(({row:t})=>[r(c(a.formatTimestamp(t.updated_at)),1)]),_:1}),u(s,{prop:"remark",label:"\u5907\u6CE8","min-width":"150","show-overflow-tooltip":"",align:"center"},{default:n(({row:t})=>[r(c(t.remark||"-"),1)]),_:1}),u(s,{label:"\u64CD\u4F5C",width:"180",fixed:"right",align:"center"},{default:n(({row:t})=>[u(w,{type:"danger",link:"",icon:a.Delete,onClick:i=>a.handleDelete(t),disabled:Number(t.status)>=2},{default:n(()=>[...l[10]||(l[10]=[r("\u5220\u9664",-1)])]),_:1},8,["icon","onClick","disabled"])]),_:1})]),_:1},8,["data","onExpandChange"])),[[U,a.loading]]),y("div",Se,[u(O,{"current-page":a.pagination.current,"onUpdate:currentPage":l[2]||(l[2]=t=>a.pagination.current=t),"page-size":a.pagination.pageSize,"onUpdate:pageSize":l[3]||(l[3]=t=>a.pagination.pageSize=t),"page-sizes":[10,20,50,100],total:a.pagination.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:a.handleSizeChange,onCurrentChange:a.handleCurrentChange},null,8,["current-page","page-size","total","onSizeChange","onCurrentChange"])])]),_:1})}var Re=ee(Ce,[["render",ze],["__scopeId","data-v-7acbd7cc"]]);export{Re as default};