zcui/saber3/src/frontend/dist/assets/AnnualProcurementPlanDialog-CFS2CUOe.js

3 lines
40 KiB
JavaScript
Raw Normal View History

2026-06-16 14:07:58 +08:00
import{_ as he,k as z,J as K,o as ee,g as _e,f as l,e,h as m,a as I,t as H,m as ve,T as ke,L as Te,c as we,r as Se,F as Ue,j as f,q as Ce,E,N as xe,i as ce}from"./index-CsXfDo-r.js";const $e={class:"table-toolbar"},ze={key:1,style:{color:"#909399","font-size":"12px"}},Ne={__name:"MaterialEntryDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","submit"],setup(ie,{emit:me}){const W=ie,Z=me,A=z(W.modelValue),N=z("apply"),L=z(null),B=z(null),Q=()=>{const V=new Date,d=V.getFullYear()+String(V.getMonth()+1).padStart(2,"0")+String(V.getDate()).padStart(2,"0"),U=String(V.getHours()).padStart(2,"0")+String(V.getMinutes()).padStart(2,"0"),T=Math.floor(Math.random()*1e3).toString().padStart(3,"0");return`LS${d}${U}${T}`},M=ce(()=>{if(!i.details||i.details.length===0)return"";const V=i.details[0].materialName||"";if(!V)return"";const d=Date.now().toString().slice(-8);return`WZ${V.slice(0,3).padEnd(3,"0")}${d}`}),i=Ce({applicant:"管理员",applyTime:new Date,phone:"",company:"",details:[],files:[],productType:"",productCategory:"",procurementType:"",procurementFlag:"",materialCode:""}),P={phone:[{required:!0,message:"请输入联系电话",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"请输入正确的手机号码",trigger:"blur"}],company:[{required:!0,message:"请选择所属公司",trigger:"change"}],productType:[{required:!0,message:"请选择非经营性商品类型",trigger:"change"}],productCategory:[{required:!0,message:"请选择非经营性商品分类",trigger:"change"}],procurementType:[{required:!0,message:"请选择招采类型",trigger:"change"}],procurementFlag:[{required:!0,message:"请选择采购标志",trigger:"change"}]};K(()=>W.modelValue,V=>{A.value=V,V&&xe(()=>{var d,U;(d=L.value)==null||d.clearValidate(),(U=B.value)==null||U.clearValidate(),N.value="apply"})}),K(M,V=>{i.materialCode=V}),K(N,V=>{V==="approve"&&(i.materialCode=M.value)}),K(A,V=>{Z("update:modelValue",V)});const le=()=>{i.details.push({tempCode:Q(),materialName:"",spec:"",brand:"",unit:"",referencePrice:0,purchaseCycle:"",images:[],remark:""})},S=()=>{i.details=[]},ae=V=>{i.details.splice(V,1)},G=()=>{A.value=!1,te()},te=()=>{Object.assign(i,{applicant:"管理员",applyTime:new Date,phone:"",company:"",details:[],files:[],productType:"",productCategory:"",procurementType:"",procurementFlag:"",materialCode:""})},O=V=>{window.open(V.url)},r=()=>{const V=N.value==="apply"?L.value:B.value;if(!V){E.warning("表单未初始化");return}V.validate(d=>{if(d){if(i.details.length===0){E.warning("请至少添加一条商品明细");return}const U={...i,tabType:N.value};Z("submit",U),G()}else return E.error("请填写完整信息"),!1})};return(V,d)=>{const U=f("el-divider"),T=f("el-input"),x=f("el-form-item"),$=f("el-col"),oe=f("el-date-picker"),j=f("el-row"),h=f("el-option"),F=f("el-select"),Y=f("el-button"),_=f("el-table-column"),se=f("el-input-number"),J=f("el-icon"),X=f("el-upload"),de=f("el-table"),ne=f("el-form"),re=f("el-tab-pane"),fe=f("el-image"),be=f("el-tabs"),ue=f("el-dialog");return ee(),_e(ue,{modelValue:A.value,"onUpdate:modelValue":d[16]||(d[16]=o=>A.value=o),title:"非经营性商品录入",width:"1400px",onClose:G},{footer:l(()=>[e(Y,{onClick:G},{default:l(()=>[...d[30]||(d[30]=[m("取消",-1)])]),_:1}),e(Y,{type:"primary",onClick:r},{default:l(()=>[...d[31]||(d[31]=[m("提交",-1)])]),_:1})]),default:l(()=>[e(be,{modelValue:N.value,"onUpdate:modelValue":d[15]||(d[15]=o=>N.value=o),type:"border-card"},{default:l(()=>[e(re,{label:"申请页",name:"apply"},{default:l(()=>[e(ne,{model:i,rules:P,ref_key:"formRef",ref:L,"label-width":"120px"},{default:l(()=>[e(U,{"content-position":"left"},{default:l(()=>[...d[17]||(d[17]=[m("发起人信息",-1)])]),_:1}),e(j,{gutter:20},{default:l(()=>[e($,{span:12},{default:l(()=>[e(x,{label:"申请人",prop:"applicant"},{default:l(()=>[e(T,{modelValue:i.applicant,"onUpdate:modelValue":d[0]||(d[0]=o=>i.applicant=o),placeholder:"请输入申请人",disabled:""},null,8,["modelValue"])]),_:1})]),_:1}),e($,{span:12},{default:l(()=>[e(x,{label:"申请时间",prop:"applyTime"},
`).filter(C=>C.trim()).forEach((C,D)=>{if(D===0)return;const s=C.split(",");if(s.length>=2){const v=S.value.length+1;S.value.push({seqNo:String(v),materialName:s[0]||"",materialCode:`M${String(v).padStart(3,"0")}`,spec:s[1]||"",brand:"",unit:s[2]||"个",referencePrice:parseFloat(s[3])||0,expectedQuantity:parseInt(s[4])||0,amount:0,contactPerson:"",applyDate:new Date,expectedDate:new Date,projectAttribute:"",requirementIntro:s[5]||"",remark:""})}}),S.value.forEach((C,D)=>{J(D)}),E.success("导入成功")}catch{E.error("导入失败,请检查文件格式")}},g.readAsText(t),u.target.value=""},be=u=>{if(u===0)return"零元整";const t=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],g=["","拾","佰","仟"],b=["","万","亿"],w=Math.floor(u),y=Math.round((u-w)*100);let C="";const D=s=>{let v="";const R=s.toString();for(let k=0;k<R.length;k++){const p=parseInt(R[k]),q=R.length-k-1;p!==0?(v+=t[p]+g[q%4],q%4===0&&q>0&&(v+=b[Math.floor(q/4)])):v+=t[0]}return v=v.replace(/零+$/,""),v=v.replace(/零+/g,"零"),v};if(w>0&&(C+=D(w)+"元"),y>0){const s=Math.floor(y/10),v=y%10;s>0&&(C+=t[s]+"角"),v>0&&(C+=t[v]+"分")}else C+="整";return C},ue=u=>{if(!u)return"";const t=new Date(u);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},o=()=>{A.value=!1,c()},c=()=>{Object.assign(r,{applicant:"管理员",applyTime:new Date,phone:"",company:"",documentNo:"",year:new Date,department:"采购部",applyCompany:"",estimatedTotalAmount:0,remark:"",details:[]})},Ve=()=>{const u=N.value==="apply"?L.value:B.value;if(!u){E.warning("表单未初始化");return}u.validate(t=>{if(t){const g={...r,tabType:N.value};Z("submit",g),o()}else return E.error("请填写完整信息"),!1})};return(u,t)=>{const g=f("el-divider"),b=f("el-input"),w=f("el-form-item"),y=f("el-col"),C=f("el-date-picker"),D=f("el-row"),s=f("el-option"),v=f("el-select"),R=f("el-input-number"),k=f("el-button"),p=f("el-table-column"),q=f("el-table"),ye=f("el-form"),ge=f("el-tab-pane"),De=f("el-tabs"),pe=f("el-dialog");return ee(),we(Ue,null,[e(pe,{modelValue:A.value,"onUpdate:modelValue":t[23]||(t[23]=a=>A.value=a),title:"年度招采计划申请",width:"1400px",onClose:o},{footer:l(()=>[e(k,{onClick:o},{default:l(()=>[...t[40]||(t[40]=[m("取消",-1)])]),_:1}),e(k,{type:"primary",onClick:Ve},{default:l(()=>[...t[41]||(t[41]=[m("提交",-1)])]),_:1})]),default:l(()=>[e(De,{modelValue:N.value,"onUpdate:modelValue":t[22]||(t[22]=a=>N.value=a),type:"border-card"},{default:l(()=>[e(ge,{label:"申请页",name:"apply"},{default:l(()=>[e(ye,{model:r,rules:V,ref_key:"formRef",ref:L,"label-width":"140px"},{default:l(()=>[e(g,{"content-position":"left"},{default:l(()=>[...t[30]||(t[30]=[m("发起人信息",-1)])]),_:1}),e(D,{gutter:20},{default:l(()=>[e(y,{span:12},{default:l(()=>[e(w,{label:"申请人",prop:"applicant"},{default:l(()=>[e(b,{modelValue:r.applicant,"onUpdate:modelValue":t[0]||(t[0]=a=>r.applicant=a),placeholder:"请输入申请人",disabled:""},null,8,["modelValue"])]),_:1})]),_:1}),e(y,{span:12},{default:l(()=>[e(w,{label:"申请时间",prop:"applyTime"},{default:l(()=>[e(C,{modelValue:r.applyTime,"onUpdate:modelValue":t[1]||(t[1]=a=>r.applyTime=a),type:"datetime",placeholder:"请选择申请时间",style:{width:"100%"},disabled:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(D,{gutter:20},{default:l(()=>[e(y,{span:12},{default:l(()=>[e(w,{label:"联系电话",prop:"phone"},{default:l(()=>[e(b,{modelValue:r.phone,"onUpdate:modelValue":t[2]||(t[2]=a=>r.phone=a),placeholder:"请输入联系电话"},null,8,["modelValue"])]),_:1})]),_:1}),e(y,{span:12},{default:l(()=>[e(w,{label:"所属公司",prop:"company"},{default:l(()=>[e(v,{modelValue:r.company,"onUpdate:modelValue":t[3]||(t[3]=a=>r.company=a),placeholder:"请选择所属公司",style:{width:"100%"},onChange:T},{default:l(()=>[e(s,{label:"漱玉平民大药房连锁股份有限公司",value:"漱玉平民大药房连锁股份有限公司"}),e(s,{label:"山东漱玉平民大药房有限公司",value:"山东漱玉平民大药房有限公司"}),e(s,{label