zcui/frontend/dist/assets/SupplierSupplyScopeList-CcJymt4Z.js

2 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as O,V as T,o as w,c as C,e as a,f as t,E as J,j as p,k as S,q as $,h as m,a as _,t as f}from"./index-C1KISTGN.js";import{u as Y,w as A}from"./xlsx-DrgRuPKf.js";const R={class:"supplier-supply-scope-list"},q={class:"card-header"},H={style:{color:"#f56c6c","font-weight":"bold"}},K={class:"detail-header"},Q={class:"detail-history"},X={style:{color:"#f56c6c","font-weight":"bold"}},Z={key:0,style:{color:"#f56c6c","font-weight":"bold"}},ee={key:1,style:{color:"#67c23a","font-weight":"bold"}},ae={key:2,style:{color:"#909399"}},te={__name:"SupplierSupplyScopeList",setup(le){const s=$({supplierName:"",materialName:"",materialCode:"",year:""}),b=$({page:1,size:20,total:0}),V=S([]),z=S([]),x=S(!1),h=S({}),j=S([]),B=i=>{const e=new Date().getFullYear();return i===e.toString()?"success":i===(e-1).toString()?"warning":i===(e-2).toString()?"info":""},F=()=>{const i=[{name:"山东迈瑞医疗器械有限公司",category:"医疗器械"},{name:"国药控股山东有限公司",category:"药品"},{name:"山东信息技术有限公司",category:"信息技术"},{name:"西门子医疗系统有限公司",category:"医疗器械"},{name:"晨光文具股份有限公司",category:"办公用品"},{name:"山东银座超市有限公司",category:"食品"},{name:"山东七兵堂保安服务有限公司",category:"服务"},{name:"济南市园林绿化工程有限公司",category:"服务"},{name:"东软医疗系统有限公司",category:"医疗器械"},{name:"齐鲁制药有限公司",category:"药品"},{name:"山东省医疗器械有限公司",category:"医疗器械"},{name:"山东威高集团医用高分子制品股份有限公司",category:"医疗器械"},{name:"山东新华医疗器械股份有限公司",category:"医疗器械"},{name:"山东省医药集团股份有限公司",category:"药品"},{name:"山东康泰实业有限公司",category:"家具"}],e=[{name:"一次性注射器",code:"WL001001",spec:"5ml 带针",basePrice:.35},{name:"一次性注射器",code:"WL001002",spec:"10ml 带针",basePrice:.45},{name:"一次性输液器",code:"WL001003",spec:"Y型 针头0.7mm",basePrice:1.2},{name:"医用外科口罩",code:"WL001004",spec:"耳挂式 50只/盒",basePrice:28},{name:"一次性手套",code:"WL001005",spec:"乳胶 M号",basePrice:.25},{name:"医用棉签",code:"WL001006",spec:"100支/包",basePrice:3.5},{name:"纱布块",code:"WL001007",spec:"8层 10cm×10cm",basePrice:.8},{name:"阿莫西林胶囊",code:"YL002001",spec:"0.5g×24粒",basePrice:12.5},{name:"阿莫西林胶囊",code:"YL002002",spec:"0.25g×48粒",basePrice:15.8},{name:"头孢拉定胶囊",code:"YL002003",spec:"0.25g×24粒",basePrice:18.5},{name:"布洛芬缓释胶囊",code:"YL002004",spec:"0.3g×20粒",basePrice:22},{name:"对乙酰氨基酚片",code:"YL002005",spec:"0.5g×20片",basePrice:8.5},{name:"维生素C片",code:"YL002006",spec:"100mg×100片",basePrice:6.8},{name:"复方丹参滴丸",code:"YL002007",spec:"270丸/瓶",basePrice:35},{name:"连花清瘟胶囊",code:"YL002008",spec:"0.35g×24粒",basePrice:28},{name:"A4打印纸",code:"BG003001",spec:"70g 500张/包",basePrice:120},{name:"中性笔",code:"BG003002",spec:"0.5mm 黑色 12支/盒",basePrice:15},{name:"文件夹",code:"BG003003",spec:"蓝色 A4 厚型",basePrice:2.5},{name:"档案盒",code:"BG003004",spec:"蓝色 5cm厚",basePrice:5},{name:"计算器",code:"BG003005",spec:"12位 太阳能",basePrice:35},{name:"电脑椅",code:"JJ004001",spec:"人体工学 可调节",basePrice:450},{name:"办公桌",code:"JJ004002",spec:"1.2m×0.6m×0.75m",basePrice:680},{name:"文件柜",code:"JJ004003",spec:"四门 钢制 1.8m高",basePrice:580},{name:"书架",code:"JJ004004",spec:"四层 1.2m×0.8m×2m",basePrice:420},{name:"沙发",code:"JJ004005",spec:"三人位 布艺",basePrice:1800}],o=["2021","2022","2023","2024","2025"],n=[];let d=1;for(let c=0;c<60;c++){const v=i[c%i.length],u=e[c%e.length],r=o[c%o.length],g=1+(Math.random()-.5)*.3,N=(u.basePrice*g).toFixed(2);n.push({id:d++,supplierName:v.name,materialName:u.name,materialCode:u.code,specification:u.spec,price:N,year:r})}return n},U=(i,e,o)=>{const n=["2021","2022","2023","2024","2025"],d=n.indexOf(o),c=["年度医用耗材集中采购项目","办公物资集中采购项目","药品采购项目(第一季度)","医疗设备维保服务采购","后勤物资采购项目","信息化设备采购项目","办公用品定点采购项目","医疗器械采购项目","后勤服务外包项目","食堂食材采购项目"],v=[];let u=e;for(let r=d;r>=0;r--){const g=n[r],N=r===d?0:(Math.random()-.5)*.2,P=r===d?e:(u*(1-N)).toFixed(2),D=r===d?0:((P-u)/u*100).toFixed(2),y=Math.floor(Math.random()*12)+1,k=Math.floor(Math.random()*28)+1,M=`${g}-${String(y).padStart(2,"0")}-${String(k).padStart(2,"0")}`;v.unshift({year:g,price:P,change:parseFloat(D),projectCode:`P${g}${String(Math.floor(Math.random()*1e3)).padStart(3,"0")}`,projectName:c[r%c.length],biddingDate:M,deliveryCycle:["即时供货","3天内","5天内","7天内"][Math.floor(Math.random()*4)]}),u=P}return v},L=async()=>{try{const i=localStorage.getItem("supplierSupplyScope");let e=i?JSON.parse(i):[];e.length!==60&&(e=F(),localStorage.setItem("supplierSupplyScope",JSON.stringify(e))),z.value=e.slice(0,60);let o=z.value;s.supplierName&&(o=o.filter(n=>n.supplierName.includes(s.supplierName))),s.materialName&&(o=o.filter(n=>n.materialName.includes(s.materialName))),s.materialCode&&(o=o.filter(n=>n.materialCode.includes(s.materialCode))),s.year&&(o=o.filter(n=>n.year===s.year)),V.value=o,b.total=o.length}catch{J.error("加载数据失败")}};T(()=>{L()});const W=async()=>{await L(),J.success("查询成功")},E=()=>{s.supplierName="",s.materialName="",s.materialCode="",s.year="",L()},G=i=>{h.value=i,j.value=U(i.materialCode,i.price,i.year),x.value=!0},I=()=>{const i=V.value.map(n=>({供应商名称:n.supplierName,物料名称:n.materialName,物料编码:n.materialCode,规格型号:n.specification,价格:n.price,年度:n.year})),e=Y.json_to_sheet(i),o=Y.book_new();Y.book_append_sheet(o,e,"供应商供货范围库"),A(o,`供应商供货范围库_${new Date().toLocaleDateString()}.xlsx`),J.success("导出成功")};return(i,e)=>{const o=p("el-button"),n=p("el-input"),d=p("el-form-item"),c=p("el-option"),v=p("el-select"),u=p("el-form"),r=p("el-table-column"),g=p("el-tag"),N=p("el-table"),P=p("el-pagination"),D=p("el-card"),y=p("el-descriptions-item"),k=p("el-descriptions"),M=p("el-dialog");return w(),C("div",R,[a(D,null,{header:t(()=>[_("div",q,[e[9]||(e[9]=_("span",null,"供应商供货范围库",-1)),_("div",null,[a(o,{type:"success",onClick:I},{default:t(()=>[...e[8]||(e[8]=[m("导出Excel",-1)])]),_:1})])])]),default:t(()=>[a(u,{inline:!0,model:s,class:"search-form"},{default:t(()=>[a(d,{label:"供应商名称"},{default:t(()=>[a(n,{modelValue:s.supplierName,"onUpdate:modelValue":e[0]||(e[0]=l=>s.supplierName=l),placeholder:"请输入",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(d,{label:"物料名称"},{default:t(()=>[a(n,{modelValue:s.materialName,"onUpdate:modelValue":e[1]||(e[1]=l=>s.materialName=l),placeholder:"请输入",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(d,{label:"物料编码"},{default:t(()=>[a(n,{modelValue:s.materialCode,"onUpdate:modelValue":e[2]||(e[2]=l=>s.materialCode=l),placeholder:"请输入",clearable:"",style:{width:"150px"}},null,8,["modelValue"])]),_:1}),a(d,{label:"年度"},{default:t(()=>[a(v,{modelValue:s.year,"onUpdate:modelValue":e[3]||(e[3]=l=>s.year=l),placeholder:"请选择",clearable:"",style:{width:"120px"}},{default:t(()=>[a(c,{label:"2021",value:"2021"}),a(c,{label:"2022",value:"2022"}),a(c,{label:"2023",value:"2023"}),a(c,{label:"2024",value:"2024"}),a(c,{label:"2025",value:"2025"})]),_:1},8,["modelValue"])]),_:1}),a(d,null,{default:t(()=>[a(o,{type:"primary",onClick:W},{default:t(()=>[...e[10]||(e[10]=[m("查询",-1)])]),_:1}),a(o,{onClick:E},{default:t(()=>[...e[11]||(e[11]=[m("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),a(N,{data:V.value,border:"",stripe:""},{default:t(()=>[a(r,{prop:"supplierName",label:"供应商名称","min-width":"200",fixed:"left"}),a(r,{prop:"materialName",label:"物料名称","min-width":"180"}),a(r,{prop:"materialCode",label:"物料编码",width:"130"}),a(r,{prop:"specification",label:"规格型号","min-width":"160"}),a(r,{prop:"price",label:"价格",width:"120"},{default:t(({row:l})=>[_("span",H,"¥"+f(l.price),1)]),_:1}),a(r,{prop:"year",label:"年度",width:"100"},{default:t(({row:l})=>[a(g,{type:B(l.year)},{default:t(()=>[m(f(l.year),1)]),_:2},1032,["type"])]),_:1}),a(r,{label:"操作",width:"100",fixed:"right"},{default:t(({row:l})=>[a(o,{link:"",type:"primary",onClick:oe=>G(l)},{default:t(()=>[...e[12]||(e[12]=[m("详情",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),a(P,{"current-page":b.page,"onUpdate:currentPage":e[4]||(e[4]=l=>b.page=l),"page-size":b.size,"onUpdate:pageSize":e[5]||(e[5]=l=>b.size=l),total:b.total,layout:"total, sizes, prev, pager, next, jumper",style:{"margin-top":"20px","justify-content":"flex-end"}},null,8,["current-page","page-size","total"])]),_:1}),a(M,{modelValue:x.value,"onUpdate:modelValue":e[7]||(e[7]=l=>x.value=l),title:"供货历史记录",width:"900px",top:"5vh"},{footer:t(()=>[a(o,{onClick:e[6]||(e[6]=l=>x.value=!1)},{default:t(()=>[...e[14]||(e[14]=[m("关闭",-1)])]),_:1})]),default:t(()=>[_("div",K,[a(k,{column:2,border:"",size:"small"},{default:t(()=>[a(y,{label:"供应商名称",span:2},{default:t(()=>[m(f(h.value.supplierName),1)]),_:1}),a(y,{label:"物料名称"},{default:t(()=>[m(f(h.value.materialName),1)]),_:1}),a(y,{label:"物料编码"},{default:t(()=>[m(f(h.value.materialCode),1)]),_:1}),a(y,{label:"规格型号"},{default:t(()=>[m(f(h.value.specification),1)]),_:1}),a(y,{label:"当前价格"},{default:t(()=>[m("¥"+f(h.value.price),1)]),_:1})]),_:1})]),_("div",Q,[e[13]||(e[13]=_("h4",{style:{margin:"20px 0 10px 0",color:"#606266"}},"历史价格记录",-1)),a(N,{data:j.value,border:"",stripe:"",size:"small","max-height":"400"},{default:t(()=>[a(r,{prop:"year",label:"年度",width:"100"},{default:t(({row:l})=>[a(g,{type:B(l.year),size:"small"},{default:t(()=>[m(f(l.year),1)]),_:2},1032,["type"])]),_:1}),a(r,{prop:"price",label:"价格",width:"120"},{default:t(({row:l})=>[_("span",X,"¥"+f(l.price),1)]),_:1}),a(r,{prop:"change",label:"价格变动",width:"120"},{default:t(({row:l})=>[l.change>0?(w(),C("span",Z,"↑ "+f(l.change)+"%",1)):l.change<0?(w(),C("span",ee,"↓ "+f(Math.abs(l.change))+"%",1)):(w(),C("span",ae,"-"))]),_:1}),a(r,{prop:"projectCode",label:"项目编号",width:"140"}),a(r,{prop:"projectName",label:"项目名称","min-width":"200"}),a(r,{prop:"biddingDate",label:"招标日期",width:"120"}),a(r,{prop:"deliveryCycle",label:"供货周期",width:"100"})]),_:1},8,["data"])])]),_:1},8,["modelValue"])])}}},se=O(te,[["__scopeId","data-v-9a3aa0a9"]]);export{se as default};