import{_ as te,V as ae,o as k,c as le,e,f as a,E as _,j as p,k as v,q as S,h as u,t as w,a as N,g as X,T as oe}from"./index-C1KISTGN.js";import{u as A,w as re}from"./xlsx-DrgRuPKf.js";import{a as de}from"./index-42ANG6Sg.js";const B=de.create({baseURL:"http://localhost:3000/api",timeout:1e4}),ne=[{id:1,demandNo:"XQ202401010001",deptName:"信息技术部",deptCode:"DEPT-IT-001",assetAdmin:"张三",actualUser:"李四",location:"A栋3楼机房",name:"服务器",spec:"Dell R750",unit:"台",estPrice:45e3,qty:2,orderType:"fixed_asset"},{id:2,demandNo:"XQ202401020002",deptName:"人力资源部",deptCode:"DEPT-HR-001",assetAdmin:"王五",actualUser:"赵六",location:"B栋2楼办公室",name:"办公电脑",spec:"ThinkPad X1 Carbon",unit:"台",estPrice:8500,qty:5,orderType:"fixed_asset"},{id:3,demandNo:"XQ202401030003",deptName:"财务部",deptCode:"DEPT-FIN-001",assetAdmin:"孙七",actualUser:"周八",location:"A栋5楼财务室",name:"打印机",spec:"HP LaserJet Pro M404dn",unit:"台",estPrice:3200,qty:3,orderType:"consumable"},{id:4,demandNo:"XQ202401040004",deptName:"采购部",deptCode:"DEPT-PUR-001",assetAdmin:"吴九",actualUser:"郑十",location:"C栋1楼仓库",name:"货架",spec:"2000*600*2000mm",unit:"组",estPrice:1500,qty:10,orderType:"fixed_asset"},{id:5,demandNo:"XQ202401050005",deptName:"行政部",deptCode:"DEPT-ADM-001",assetAdmin:"钱一一",actualUser:"孙二",location:"B栋1楼前台",name:"空调",spec:"格力 KFR-72LW",unit:"台",estPrice:6800,qty:4,orderType:"fixed_asset"},{id:6,demandNo:"XQ202401060006",deptName:"信息技术部",deptCode:"DEPT-IT-001",assetAdmin:"张三",actualUser:"王三",location:"A栋3楼机房",name:"交换机",spec:"华为 S5735-L24T4S",unit:"台",estPrice:3500,qty:2,orderType:"consumable"},{id:7,demandNo:"XQ202401070007",deptName:"质量管理部门",deptCode:"DEPT-QA-001",assetAdmin:"李四四",actualUser:"张五",location:"D栋2楼实验室",name:"显微镜",spec:"Olympus CX23",unit:"台",estPrice:12e3,qty:1,orderType:"fixed_asset"},{id:8,demandNo:"XQ202401080008",deptName:"信息技术部",deptCode:"DEPT-IT-001",assetAdmin:"张三",actualUser:"刘六",location:"A栋4楼会议室",name:"投影仪",spec:"爱普生 CB-X06",unit:"台",estPrice:5500,qty:1,orderType:"service"}],R={getDemandList:c=>{let s=[...ne];return c&&c.demandNo&&(s=s.filter(f=>f.demandNo.includes(c.demandNo))),Promise.resolve({data:s})},createOrder:c=>B.post("/asset-purchase-order",c),getOrderList:c=>B.get("/asset-purchase-order/list",{params:c})},se={class:"asset-purchase-order-list"},ie={class:"card-header"},pe={class:"header-actions"},ue={class:"supplier-info-section"},me={class:"product-info-section"},ce={__name:"List",setup(c){const s=S({demandNo:"",deptName:"",actualUser:"",name:""}),f=S({page:1,size:20,total:0}),h=v([]),V=v([]),F=v([]),$=v([{supplierName:"漱玉平民大药房连锁股份有限公司",materialCode:"M001",materialName:"阿莫西林胶囊",price:15.5,totalCount:500,lastTransactionTime:"2026-03-15",type:"bid"},{supplierName:"国药控股山东有限公司",materialCode:"M002",materialName:"头孢克肟分散片",price:28,totalCount:400,lastTransactionTime:"2026-01-28",type:"bid"},{supplierName:"威海威高集团医用高分子制品股份有限公司",materialCode:"M003",materialName:"一次性医用手套",price:.5,totalCount:2e3,lastTransactionTime:"2026-03-05",type:"bid"},{supplierName:"山东华润医药有限公司",materialCode:"M001",materialName:"阿莫西林胶囊",price:16.2,totalCount:320,lastTransactionTime:"2026-02-20",type:"history"},{supplierName:"齐鲁制药有限公司",materialCode:"M002",materialName:"头孢克肟分散片",price:29.5,totalCount:150,lastTransactionTime:"2026-12-10",type:"history"}]),T=v(!1),C=v(null),M={fixed_asset:"固定资产",consumable:"耗材",service:"服务"},d=S({supplierCode:"",supplierName:"",contactPerson:"",contactPhone:"",paymentTerms:"",productCode:"",productSpec:"",brand:"",unit:"",refPrice:0,deliveryDays:7,invoiceType:"",orderNo:"",remark:""}),O={supplierCode:[{required:!0,message:"请输入供应商编码",trigger:"blur"}],supplierName:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],contactPerson:[{required:!0,message:"请输入对接人",trigger:"blur"}],contactPhone:[{required:!0,message:"请输入联系方式",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"请输入正确的手机号",trigger:"blur"}],paymentTerms:[{required:!0,message:"请选择账期",trigger:"change"}],productCode:[{required:!0,message:"请输入商品编码",trigger:"blur"}],productSpec:[{required:!0,message:"请输入规格型号",trigger:"blur"}],brand:[{required:!0,message:"请输入品牌",trigger:"blur"}],unit:[{required:!0,message:"请输入计量单位",trigger:"blur"}],refPrice:[{required:!0,message:"请输入参考价",trigger:"blur"}],deliveryDays:[{required:!0,message:"请输入交付周期",trigger:"blur"}],invoiceType:[{required:!0,message:"请选择开票类型",trigger:"change"}]},U=async()=>{try{const o=await R.getDemandList(s);h.value=o.data,f.total=o.data.length}catch{_.error("加载数据失败")}},I=o=>{V.value=o},j=async()=>{await U(),_.success("查询成功")},H=()=>{s.demandNo="",s.deptName="",s.actualUser="",s.name="",U()},G=()=>{const o=h.value.map((n,i)=>({序号:i+1,采购需求单号:n.demandNo,需求部门:n.deptName,需求部门公司编码:n.deptCode,订单类型:M[n.orderType]||n.orderType||"-",物料名称:n.name,规格型号:n.spec,单位:n.unit,预计单价:n.estPrice,数量:n.qty,总价:(n.estPrice*n.qty).toFixed(2)})),t=A.json_to_sheet(o),m=A.book_new();A.book_append_sheet(m,t,"订单列表"),re(m,`订单列表_${new Date().toISOString().slice(0,10)}.xlsx`),_.success("导出成功")},J=()=>{const o=new Date,t=o.getFullYear(),m=String(o.getMonth()+1).padStart(2,"0"),n=String(o.getDate()).padStart(2,"0"),i=String(Math.floor(Math.random()*1e4)).padStart(4,"0");return`CGDD${t}${m}${n}${i}`},Q=o=>{o.totalPrice=o.orderPrice*o.orderQty},K=()=>{if(V.value.length===0){_.warning("请勾选至少一条数据后点击创建订单");return}F.value=V.value.map(o=>({demandNo:o.demandNo,deptName:o.deptName,deptCode:o.deptCode,assetAdmin:o.assetAdmin,actualUser:o.actualUser,name:o.name,spec:o.spec,unit:o.unit,qty:o.qty,supplierName:"",orderPrice:o.estPrice||0,orderQty:o.qty,totalPrice:(o.estPrice||0)*o.qty})),d.supplierCode="",d.supplierName="",d.contactPerson="",d.contactPhone="",d.paymentTerms="",d.deliveryDays=7,d.invoiceType="",d.orderNo=J(),d.remark=`采购需求:${V.value.map(o=>o.demandNo).join(", ")}`,T.value=!0,C.value&&C.value.clearValidate()},W=()=>{C.value&&C.value.validate(async o=>{if(o)try{await oe.confirm("确认提交该订单?","提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"info"}),await R.createOrder(d),_.success("订单提交成功"),T.value=!1}catch(t){t!=="cancel"&&_.error("订单提交失败")}else _.error("请填写完整信息")})};return ae(()=>{U()}),(o,t)=>{const m=p("el-button"),n=p("el-input"),i=p("el-form-item"),z=p("el-form"),r=p("el-table-column"),x=p("el-tag"),D=p("el-table"),Y=p("el-pagination"),Z=p("el-card"),q=p("el-input-number"),E=p("el-divider"),y=p("el-col"),b=p("el-option"),L=p("el-select"),P=p("el-row"),ee=p("el-dialog");return k(),le("div",se,[e(Z,null,{header:a(()=>[N("div",ie,[t[19]||(t[19]=N("span",null,"订单列表",-1)),N("div",pe,[e(m,{type:"success",onClick:G},{default:a(()=>[...t[17]||(t[17]=[u("导出",-1)])]),_:1}),e(m,{type:"primary",disabled:V.value.length===0,onClick:K},{default:a(()=>[...t[18]||(t[18]=[u(" 创建订单 ",-1)])]),_:1},8,["disabled"])])])]),default:a(()=>[e(z,{inline:!0,model:s,class:"search-form"},{default:a(()=>[e(i,{label:"采购需求单号"},{default:a(()=>[e(n,{modelValue:s.demandNo,"onUpdate:modelValue":t[0]||(t[0]=l=>s.demandNo=l),placeholder:"请输入",clearable:""},null,8,["modelValue"])]),_:1}),e(i,{label:"需求部门"},{default:a(()=>[e(n,{modelValue:s.deptName,"onUpdate:modelValue":t[1]||(t[1]=l=>s.deptName=l),placeholder:"请输入",clearable:""},null,8,["modelValue"])]),_:1}),e(i,{label:"实际使用人"},{default:a(()=>[e(n,{modelValue:s.actualUser,"onUpdate:modelValue":t[2]||(t[2]=l=>s.actualUser=l),placeholder:"请输入",clearable:""},null,8,["modelValue"])]),_:1}),e(i,{label:"物料名称"},{default:a(()=>[e(n,{modelValue:s.name,"onUpdate:modelValue":t[3]||(t[3]=l=>s.name=l),placeholder:"请输入",clearable:""},null,8,["modelValue"])]),_:1}),e(i,null,{default:a(()=>[e(m,{type:"primary",onClick:j},{default:a(()=>[...t[20]||(t[20]=[u("查询",-1)])]),_:1}),e(m,{onClick:H},{default:a(()=>[...t[21]||(t[21]=[u("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),e(D,{data:h.value,border:"",onSelectionChange:I},{default:a(()=>[e(r,{type:"selection",width:"55"}),e(r,{type:"index",label:"序号",width:"60"}),e(r,{prop:"demandNo",label:"采购需求单号",width:"170"}),e(r,{prop:"deptName",label:"需求部门",width:"130"}),e(r,{prop:"deptCode",label:"需求部门公司编码",width:"160"}),e(r,{prop:"orderType",label:"订单类型",width:"110"},{default:a(({row:l})=>[e(x,{size:"small"},{default:a(()=>[u(w(M[l.orderType]||l.orderType),1)]),_:2},1024)]),_:1}),e(r,{prop:"name",label:"物料名称",width:"120"}),e(r,{prop:"spec",label:"规格型号",width:"180"}),e(r,{prop:"unit",label:"单位",width:"70"}),e(r,{prop:"estPrice",label:"预计单价(元)",width:"110"},{default:a(({row:l})=>[u("¥"+w(l.estPrice.toFixed(2)),1)]),_:1}),e(r,{prop:"qty",label:"数量",width:"80"}),e(r,{label:"总价(元)",width:"120"},{default:a(({row:l})=>[u("¥"+w((l.estPrice*l.qty).toFixed(2)),1)]),_:1})]),_:1},8,["data"]),e(Y,{"current-page":f.page,"onUpdate:currentPage":t[4]||(t[4]=l=>f.page=l),"page-size":f.size,"onUpdate:pageSize":t[5]||(t[5]=l=>f.size=l),total:f.total,layout:"total, sizes, prev, pager, next, jumper",style:{"margin-top":"20px","justify-content":"flex-end"}},null,8,["current-page","page-size","total"])]),_:1}),e(ee,{modelValue:T.value,"onUpdate:modelValue":t[16]||(t[16]=l=>T.value=l),title:"创建订单",width:"1400px"},{footer:a(()=>[e(m,{onClick:t[15]||(t[15]=l=>T.value=!1)},{default:a(()=>[...t[29]||(t[29]=[u("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:W},{default:a(()=>[...t[30]||(t[30]=[u("提交订单",-1)])]),_:1})]),default:a(()=>[N("div",ue,[t[24]||(t[24]=N("div",{class:"section-title"},"历史/比价/中标供应商信息",-1)),e(D,{data:$.value,border:"",class:"supplier-table"},{default:a(()=>[e(r,{prop:"supplierName",label:"供应商名称",width:"220"}),e(r,{prop:"materialCode",label:"物料编码",width:"140"}),e(r,{prop:"materialName",label:"物料名称",width:"160"}),e(r,{label:"历史采购单价",width:"120"},{default:a(({row:l})=>[u("¥"+w(l.price.toFixed(2)),1)]),_:1}),e(r,{prop:"totalCount",label:"总数",width:"100"}),e(r,{prop:"lastTransactionTime",label:"最近交易时间",width:"160"}),e(r,{label:"类型",width:"120"},{default:a(({row:l})=>[l.type==="bid"?(k(),X(x,{key:0,type:"success",size:"small"},{default:a(()=>[...t[22]||(t[22]=[u("中标结果",-1)])]),_:1})):(k(),X(x,{key:1,type:"info",size:"small"},{default:a(()=>[...t[23]||(t[23]=[u("历史数据",-1)])]),_:1}))]),_:1})]),_:1},8,["data"])]),N("div",me,[t[25]||(t[25]=N("div",{class:"section-title"},"商品信息",-1)),e(D,{data:F.value,border:"",class:"product-table"},{default:a(()=>[e(r,{prop:"demandNo",label:"采购需求单号",width:"160"}),e(r,{prop:"deptName",label:"需求部门",width:"130"}),e(r,{prop:"deptCode",label:"需求部门公司编码",width:"160"}),e(r,{prop:"assetAdmin",label:"资产管理员",width:"100"}),e(r,{prop:"actualUser",label:"实际使用人",width:"110"}),e(r,{prop:"name",label:"名称",width:"140"}),e(r,{prop:"spec",label:"规格型号",width:"160"}),e(r,{prop:"unit",label:"单位",width:"70"}),e(r,{prop:"qty",label:"数量",width:"80"}),e(r,{label:"下单供应商",width:"180"},{default:a(({row:l})=>[e(n,{modelValue:l.supplierName,"onUpdate:modelValue":g=>l.supplierName=g,placeholder:"请输入供应商",size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(r,{label:"下单价格",width:"120"},{default:a(({row:l})=>[e(q,{modelValue:l.orderPrice,"onUpdate:modelValue":g=>l.orderPrice=g,min:0,precision:2,size:"small",style:{width:"100%"},onChange:g=>Q(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(r,{label:"下单数量",width:"120"},{default:a(({row:l})=>[e(q,{modelValue:l.orderQty,"onUpdate:modelValue":g=>l.orderQty=g,min:1,size:"small",style:{width:"100%"},onChange:g=>Q(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(r,{label:"总价",width:"120"},{default:a(({row:l})=>[u("¥"+w((l.orderPrice*l.orderQty).toFixed(2)),1)]),_:1})]),_:1},8,["data"])]),e(z,{model:d,rules:O,ref_key:"orderFormRef",ref:C,"label-width":"120px",style:{"margin-top":"20px"}},{default:a(()=>[e(E,{"content-position":"left"},{default:a(()=>[...t[26]||(t[26]=[u("订单信息",-1)])]),_:1}),e(P,{gutter:20},{default:a(()=>[e(y,{span:12},{default:a(()=>[e(i,{label:"交付周期",prop:"deliveryDays"},{suffix:a(()=>[...t[27]||(t[27]=[u("天",-1)])]),default:a(()=>[e(q,{modelValue:d.deliveryDays,"onUpdate:modelValue":t[6]||(t[6]=l=>d.deliveryDays=l),min:1,max:365,style:{width:"100%"},placeholder:"天"},null,8,["modelValue"])]),_:1})]),_:1}),e(y,{span:12},{default:a(()=>[e(i,{label:"开票类型",prop:"invoiceType"},{default:a(()=>[e(L,{modelValue:d.invoiceType,"onUpdate:modelValue":t[7]||(t[7]=l=>d.invoiceType=l),placeholder:"请选择开票类型",style:{width:"100%"}},{default:a(()=>[e(b,{label:"增值税专用发票",value:"vat_special"}),e(b,{label:"增值税普通发票",value:"vat_normal"}),e(b,{label:"电子发票",value:"electronic"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(P,{gutter:20},{default:a(()=>[e(y,{span:12},{default:a(()=>[e(i,{label:"订单号",prop:"orderNo"},{default:a(()=>[e(n,{modelValue:d.orderNo,"onUpdate:modelValue":t[8]||(t[8]=l=>d.orderNo=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(i,{label:"订单备注",prop:"remark"},{default:a(()=>[e(n,{modelValue:d.remark,"onUpdate:modelValue":t[9]||(t[9]=l=>d.remark=l),type:"textarea",rows:3,placeholder:"请输入订单备注"},null,8,["modelValue"])]),_:1}),e(E,{"content-position":"left"},{default:a(()=>[...t[28]||(t[28]=[u("供应商信息",-1)])]),_:1}),e(P,{gutter:20},{default:a(()=>[e(y,{span:12},{default:a(()=>[e(i,{label:"供应商编码",prop:"supplierCode"},{default:a(()=>[e(n,{modelValue:d.supplierCode,"onUpdate:modelValue":t[10]||(t[10]=l=>d.supplierCode=l),placeholder:"请输入供应商编码"},null,8,["modelValue"])]),_:1})]),_:1}),e(y,{span:12},{default:a(()=>[e(i,{label:"名称",prop:"supplierName"},{default:a(()=>[e(n,{modelValue:d.supplierName,"onUpdate:modelValue":t[11]||(t[11]=l=>d.supplierName=l),placeholder:"请输入供应商名称"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(P,{gutter:20},{default:a(()=>[e(y,{span:12},{default:a(()=>[e(i,{label:"对接人",prop:"contactPerson"},{default:a(()=>[e(n,{modelValue:d.contactPerson,"onUpdate:modelValue":t[12]||(t[12]=l=>d.contactPerson=l),placeholder:"请输入对接人"},null,8,["modelValue"])]),_:1})]),_:1}),e(y,{span:12},{default:a(()=>[e(i,{label:"联系方式",prop:"contactPhone"},{default:a(()=>[e(n,{modelValue:d.contactPhone,"onUpdate:modelValue":t[13]||(t[13]=l=>d.contactPhone=l),placeholder:"请输入联系方式"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(P,{gutter:20},{default:a(()=>[e(y,{span:12},{default:a(()=>[e(i,{label:"账期",prop:"paymentTerms"},{default:a(()=>[e(L,{modelValue:d.paymentTerms,"onUpdate:modelValue":t[14]||(t[14]=l=>d.paymentTerms=l),placeholder:"请选择账期",style:{width:"100%"}},{default:a(()=>[e(b,{label:"30天",value:"30"}),e(b,{label:"60天",value:"60"}),e(b,{label:"90天",value:"90"}),e(b,{label:"120天",value:"120"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}},ge=te(ce,[["__scopeId","data-v-51bff8fc"]]);export{ge as default};