2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
|
|
import{_ as Y,V as Z,o as p,c as y,e,f as t,E as I,j as m,A as ee,k as D,i as j,g as _,h as o,t as r,F as E,r as F,d as k,a as g}from"./index-C1KISTGN.js";const te={class:"supplier-archive"},ae={class:"card-header"},le={key:0},ne={key:1,style:{color:"#999"}},oe={key:0,class:"expiring-text"},se={key:1},re={key:1,style:{color:"#999"}},ie={key:0},ue={__name:"SupplierArchive",setup(pe){const L=ee(),l=D({}),A=D("basic"),S=D([]),C=D([]),b=D([]),V=j(()=>b.value.length===0?"-":(b.value.reduce((n,d)=>n+Number(d.score||0),0)/b.value.length).toFixed(2)),U=j(()=>w.value.some(i=>i.remainingDays!==null&&i.remainingDays<=30&&i.remainingDays>0)),h=new Date;h.setHours(0,0,0,0);const w=j(()=>{const i=l.value.qualificationExpiryDates||{};return[{name:"营业执照",url:l.value.businessLicenseUrl,expiryDate:i.businessLicense||null},{name:"法人身份证(正面)",url:l.value.legalPersonIdFrontUrl,expiryDate:i.legalPersonIdFront||null},{name:"法人身份证(反面)",url:l.value.legalPersonIdBackUrl,expiryDate:i.legalPersonIdBack||null},{name:"授权书",url:l.value.authorizationLetterUrl,expiryDate:i.authorizationLetter||null},{name:"生产许可证",url:l.value.productionLicenseUrl,expiryDate:i.productionLicense||null},{name:"质量体系认证",url:l.value.qualitySystemCertUrl,expiryDate:i.qualityCert||null}].map(d=>{if(!d.expiryDate)return{...d,remainingDays:null};const a=new Date(d.expiryDate);a.setHours(0,0,0,0);const u=Math.ceil((a-h)/(1e3*60*60*24));return{...d,remainingDays:u}})}),P=i=>i.includes("通过")?"success":i.includes("驳回")||i.includes("拒绝")?"danger":"primary",$=i=>i.includes("通过")?"#67C23A":i.includes("驳回")||i.includes("拒绝")?"#F56C6C":"#409EFF",q=i=>({正常:"success",暂停:"warning",黑名单:"danger"})[i]||"info",O=i=>i||"未知",z=i=>{const n=[{dimension:"产品质量",score:92},{dimension:"交付及时性",score:88},{dimension:"价格竞争力",score:85},{dimension:"服务响应",score:90},{dimension:"合作配合度",score:89},{dimension:"资质合规",score:94}],d=["采购部","质量管理部","使用部门","审计部","供应链管理部","法务部"],a=["2024年度办公用品集中采购","医疗器械耗材招标项目","信息化设备采购项目","门店装修物料采购项目","冷链物流运输服务项目","年度 promotional 物料采购"];return n.map((u,v)=>({id:v+1,projectName:a[v%a.length],dimension:u.dimension,score:u.score+(i.id||0)%5-2,evaluator:d[v%d.length],evaluateDate:`2024-${String(v%12+1).padStart(2,"0")}-15`,comment:u.score>=90?"表现优秀,持续合作":u.score>=85?"表现良好,略有提升空间":"表现一般,需重点改进"}))},J=()=>{var u;const i=Number(L.params.id),n=localStorage.getItem("suppliers");if(!n){I.error("暂无供应商数据");return}const a=JSON.parse(n).find(v=>v.id===i);if(!a){I.error("供应商不存在");return}l.value={mainCategories:a.mainCategories||[],invoiceType:a.invoiceType||"",ourContactName:a.ourContactName||"",cooperationStatus:a.cooperationStatus||"正常",isBlacklisted:a.isBlacklisted||!1,qualificationExpiryDates:a.qualificationExpiryDates||{},cooperationStartDate:a.cooperationStartDate||"",approvalRecords:a.approvalRecords||[],cooperationRecords:a.cooperationRecords||[],evaluationRecords:a.evaluationRecords||[],...a},S.value=l.value.approvalRecords||[],C.value=l.value.cooperationRecords||[],b.value=((u=l.value.evaluationRecords)==null?void 0:u.length)>0?l.value.evaluationRecords:z(l.value)},M=()=>{const n=w.value.filter(d=>d.remainingDays!==null&&d.remainingDays<=30&&d.remainingDays>0);if(n.length>0){const d=n.map(u=>`${u.name}(剩余${u.remainingDays}天)`).join("、");I.warning({message:`资质到期提醒:${d},请联系供应商更新`,duration:8e3,showClose:!0});const a=JSON.parse(localStorage.getItem("dingtalk_reminders")||"[]");n.forEach(u=>{a.some(f=>f.supplierId===l.value.id&&f.type===u.name&&f.date===h.toISOString().split("T")[0])||a.push({supplierId:l.value.id,supplierName:l.value.name,type:u.name,expiryDate:u.expiryDate,remainingDays:u.remainingDays,date:h.toISOString().split("T")[0],status:"pe
|