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:"pending"})}),localStorage.setItem("dingtalk_reminders",JSON.stringify(a))}};return Z(()=>{J(),M()}),(i,n)=>{const d=m("el-button"),a=m("el-descriptions-item"),u=m("el-tag"),v=m("el-descriptions"),f=m("el-tab-pane"),H=m("el-alert"),c=m("el-table-column"),G=m("el-link"),N=m("el-table"),B=m("el-card"),K=m("el-timeline-item"),Q=m("el-timeline"),x=m("el-empty"),R=m("el-statistic"),T=m("el-col"),W=m("el-row"),X=m("el-tabs");return p(),y("div",te,[e(B,null,{header:t(()=>[g("div",ae,[g("span",null,"供应商档案 — "+r(l.value.name||"加载中..."),1),e(d,{onClick:n[0]||(n[0]=s=>i.$router.back())},{default:t(()=>[...n[2]||(n[2]=[o("返回",-1)])]),_:1})])]),default:t(()=>[l.value.id?(p(),_(X,{key:0,modelValue:A.value,"onUpdate:modelValue":n[1]||(n[1]=s=>A.value=s)},{default:t(()=>[e(f,{label:"主数据信息",name:"basic"},{default:t(()=>[e(v,{column:2,border:""},{default:t(()=>[e(a,{label:"供应商编码"},{default:t(()=>[o(r(l.value.code),1)]),_:1}),e(a,{label:"供应商名称"},{default:t(()=>[o(r(l.value.name),1)]),_:1}),e(a,{label:"企业类型"},{default:t(()=>[o(r(l.value.enterpriseType||"-"),1)]),_:1}),e(a,{label:"法人姓名"},{default:t(()=>[o(r(l.value.legalPerson||"-"),1)]),_:1}),e(a,{label:"统一社会信用代码"},{default:t(()=>[o(r(l.value.unifiedSocialCreditCode||"-"),1)]),_:1}),e(a,{label:"纳税人识别号"},{default:t(()=>[o(r(l.value.taxNumber||"-"),1)]),_:1}),e(a,{label:"主营合作品类"},{default:t(()=>[(p(!0),y(E,null,F(l.value.mainCategories,s=>(p(),_(u,{key:s,size:"small",style:{"margin-right":"4px"}},{default:t(()=>[o(r(s),1)]),_:2},1024))),128)),!l.value.mainCategories||l.value.mainCategories.length===0?(p(),y("span",le,"-")):k("",!0)]),_:1}),e(a,{label:"纳税人身份"},{default:t(()=>[o(r(l.value.taxType||"-"),1)]),_:1}),e(a,{label:"发票类型"},{default:t(()=>[o(r(l.value.invoiceType||"-"),1)]),_:1}),e(a,{label:"合作状态"},{default:t(()=>[e(u,{type:q(l.value.cooperationStatus)},{default:t(()=>[o(r(O(l.value.cooperationStatus)),1)]),_:1},8,["type"])]),_:1}),e(a,{label:"供应商对接人"},{default:t(()=>[o(r(l.value.primaryContactName||"-"),1)]),_:1}),e(a,{label:"对接人电话"},{default:t(()=>[o(r(l.value.primaryContactPhone||"-"),1)]),_:1}),e(a,{label:"我方对接人"},{default:t(()=>[o(r(l.value.ourContactName||"-"),1)]),_:1}),e(a,{label:"合作开始时间"},{default:t(()=>[o(r(l.value.cooperationStartDate||"-"),1)]),_:1}),e(a,{label:"企业邮箱"},{default:t(()=>[o(r(l.value.email||"-"),1)]),_:1}),e(a,{label:"成立日期"},{default:t(()=>[o(r(l.value.establishmentDate||"-"),1)]),_:1}),e(a,{label:"注册资本"},{default:t(()=>[o(r(l.value.registeredCapital||"-"),1)]),_:1}),e(a,{label:"员工人数"},{default:t(()=>[o(r(l.value.employeeCount?l.value.employeeCount+"人":"-"),1)]),_:1}),e(a,{label:"注册地址",span:2},{default:t(()=>[o(r(l.value.registerAddress||"-"),1)]),_:1}),e(a,{label:"办公地址",span:2},{default:t(()=>[o(r(l.value.officeAddress||"-"),1)]),_:1}),e(a,{label:"生产地址",span:2},{default:t(()=>[o(r(l.value.productionAddress||"-"),1)]),_:1}),e(a,{label:"经营范围",span:2},{default:t(()=>[o(r(l.value.businessScope||"-"),1)]),_:1}),e(a,{label:"开户行"},{default:t(()=>[o(r(l.value.bankName||"-"),1)]),_:1}),e(a,{label:"银行账号"},{default:t(()=>[o(r(l.value.bankAccount||"-"),1)]),_:1})]),_:1})]),_:1}),e(f,{label:"资质附件",name:"attachments"},{default:t(()=>[U.value?(p(),_(H,{key:0,title:"以下资质即将到期(剩余不足30天),请尽快联系供应商更新",type:"warning",closable:!1,"show-icon":"",style:{"margin-bottom":"20px"}})):k("",!0),e(N,{data:w.value,border:""},{default:t(()=>[e(c,{label:"资质名称",prop:"name",width:"200"}),e(c,{label:"文件",width:"150"},{default:t(({row:s})=>[s.url?(p(),_(G,{key:0,href:s.url,target:"_blank",type:"primary"},{default:t(()=>[...n[3]||(n[3]=[o("查看",-1)])]),_:1},8,["href"])):(p(),y("span",ne,"未上传"))]),_:1}),e(c,{label:"有效期至",prop:"expiryDate",width:"150"}),e(c,{label:"剩余天数",width:"120"},{default:t(({row:s})=>[s.remainingDays!==null?(p(),y(E,{key:0},[s.remainingDays<=30?(p(),y("span",oe,r(s.remainingDays)+"天",1)):(p(),y("span",se,r(s.remainingDays)+"天",1))],64)):(p(),y("span",re,"-"))]),_:1}),e(c,{label:"状态",width:"120"},{default:t(({row:s})=>[s.remainingDays===null?(p(),_(u,{key:0,type:"info"},{default:t(()=>[...n[4]||(n[4]=[o("未设置",-1)])]),_:1})):s.remainingDays<=0?(p(),_(u,{key:1,type:"danger"},{default:t(()=>[...n[5]||(n[5]=[o("已过期",-1)])]),_:1})):s.remainingDays<=30?(p(),_(u,{key:2,type:"warning"},{default:t(()=>[...n[6]||(n[6]=[o("即将过期",-1)])]),_:1})):(p(),_(u,{key:3,type:"success"},{default:t(()=>[...n[7]||(n[7]=[o("有效",-1)])]),_:1}))]),_:1})]),_:1},8,["data"])]),_:1}),e(f,{label:"审批记录",name:"approvals"},{default:t(()=>[S.value.length>0?(p(),_(Q,{key:0},{default:t(()=>[(p(!0),y(E,null,F(S.value,s=>(p(),_(K,{key:s.id,timestamp:s.time,type:P(s.result),color:$(s.result)},{default:t(()=>[e(B,null,{default:t(()=>[g("p",null,[n[8]||(n[8]=g("strong",null,"审批类型:",-1)),o(r(s.type),1)]),g("p",null,[n[9]||(n[9]=g("strong",null,"审批结果:",-1)),o(r(s.result),1)]),s.reason?(p(),y("p",ie,[n[10]||(n[10]=g("strong",null,"审批意见:",-1)),o(r(s.reason),1)])):k("",!0),g("p",null,[n[11]||(n[11]=g("strong",null,"审批人:",-1)),o(r(s.approver),1)])]),_:2},1024)]),_:2},1032,["timestamp","type","color"]))),128))]),_:1})):(p(),_(x,{key:1,description:"暂无审批记录"}))]),_:1}),e(f,{label:"合作记录",name:"cooperation"},{default:t(()=>[e(N,{data:C.value,border:""},{default:t(()=>[e(c,{label:"项目类型",prop:"projectType",width:"120"},{default:t(({row:s})=>[s.projectType==="招标"?(p(),_(u,{key:0,type:"primary"},{default:t(()=>[...n[12]||(n[12]=[o("招标",-1)])]),_:1})):s.projectType==="询价"?(p(),_(u,{key:1,type:"warning"},{default:t(()=>[...n[13]||(n[13]=[o("询价",-1)])]),_:1})):(p(),_(u,{key:2,type:"success"},{default:t(()=>[...n[14]||(n[14]=[o("采购",-1)])]),_:1}))]),_:1}),e(c,{label:"项目名称",prop:"projectName","min-width":"200"}),e(c,{label:"项目编号",prop:"projectNo",width:"160"}),e(c,{label:"中标金额",prop:"amount",width:"140"}),e(c,{label:"状态",prop:"status",width:"100"}),e(c,{label:"开始时间",prop:"startDate",width:"130"}),e(c,{label:"结束时间",prop:"endDate",width:"130"})]),_:1},8,["data"]),C.value.length===0?(p(),_(x,{key:0,description:"暂无合作记录"})):k("",!0)]),_:1}),e(f,{label:"绩效评价",name:"evaluation"},{default:t(()=>[e(W,{gutter:20,style:{"margin-bottom":"20px"}},{default:t(()=>[e(T,{span:8},{default:t(()=>[e(R,{title:"综合得分",value:V.value,suffix:"分"},null,8,["value"])]),_:1}),e(T,{span:8},{default:t(()=>[e(R,{title:"评价次数",value:b.value.length,suffix:"次"},null,8,["value"])]),_:1}),e(T,{span:8},{default:t(()=>[e(R,{title:"供应商等级",value:"A级"})]),_:1})]),_:1}),e(N,{data:b.value,border:""},{default:t(()=>[e(c,{label:"评价项目",prop:"projectName","min-width":"200"}),e(c,{label:"评价维度",prop:"dimension",width:"130"}),e(c,{label:"得分",prop:"score",width:"100"},{default:t(({row:s})=>[e(u,{type:s.score>=90?"success":s.score>=80?"warning":"danger"},{default:t(()=>[o(r(s.score),1)]),_:2},1032,["type"])]),_:1}),e(c,{label:"评价人",prop:"evaluator",width:"130"}),e(c,{label:"评价时间",prop:"evaluateDate",width:"130"}),e(c,{label:"评价意见",prop:"comment","min-width":"220","show-overflow-tooltip":""})]),_:1},8,["data"]),b.value.length===0?(p(),_(x,{key:0,description:"暂无绩效评价记录"})):k("",!0)]),_:1})]),_:1},8,["modelValue"])):(p(),_(x,{key:1,description:"供应商不存在"}))]),_:1})])}}},ce=Y(ue,[["__scopeId","data-v-9f5094b8"]]);export{ce as default};
|