PageSourceSearch

https://mhtclouding.com/tongying/assets/index-CsfaXob5.js

js mhtclouding.com collected 2026-10-02 16:03:02 UTC 18,258 bytes, 1 lines download raw bytes

1import{C as _e,a as ye}from"./CustomerPickerDialog-BXd0yU2n.js";import{g as ge}from"./client--wdBgmOq.js";import{c as ve}from"./contract-Cwmbrlqu.js";import{l as be}from"./user-DvDLpXI1.js";import{_ as Ve,b as Ne,r as V,M as De,w as z,C as he,d as m,F as we,o as N,c as x,f as a,h as o,e as c,p as y,H as G,I as H,m as $,A as J,G as Ue,X as k,s as Ie,t as Ae}from"./index-uGWb9Yh4.js";const D=U=>(Ie("data-v-2682ce03"),U=U(),Ae(),U),ke={class:"contract-page"},Me={class:"page-header"},Se=D(()=>c("div",{class:"title"},[c("span",{class:"title-text"},"合同录入"),c("span",{class:"title-sub"},"填写基础信息、金额信息与合同明细")],-1)),Ce={class:"header-actions"},Te={class:"section"},Pe={class:"customer-cell"},xe={class:"section"},$e={class:"money-grid"},Fe={class:"money-card"},qe=D(()=>c("div",{class:"money-label"},"合同总额",-1)),Ye={class:"money-value"},Oe={class:"money-card"},Re=D(()=>c("div",{class:"money-label"},"优惠总额",-1)),Ee={class:"money-card"},Le=D(()=>c("div",{class:"money-label"},"优惠后总额",-1)),je={class:"money-value"},Be={class:"money-card"},ze=D(()=>c("div",{class:"money-label"},"运杂费",-1)),Ge={class:"section"},He={class:"section"},Je={class:"section"},Xe={class:"section"},Ke={class:"page-footer"},Qe=D(()=>c("div",{class:"footer-left"},"提示:带 * 为必填项",-1)),We={class:"footer-right"},Ze={__name:"index",setup(U){const f=Ne(),F=V(null),I=V(),q=V(["base","money","addr","items","terms","other"]),Y=V({}),h=V([]),g=V([]);function v(){const l=new Date,t=l.getFullYear(),s=String(l.getMonth()+1).padStart(2,"0"),d=String(l.getDate()).padStart(2,"0");return`${t}-${s}-${d}`}const e=De({customerId:null,customerName:"",signDate:v(),contractNo:"",subject:"",startDate:v(),endDate:"",counterpartyContact:"",salesUserId:null,salesUserName:"",actualOwner:"",contractType:"产品销售",contractStatus:"生效执行中",currency:"人民币",remark:"",contractAmount:"0.00",discountAmount:0,amountAfterDiscount:"0.00",freightAmount:0,payPlanMode:"0",payType:"1",invoicePlanMode:"1",invoiceType:"1",receiveAddress:"",payMethod:"",deliveryTime:"",deliveryAddress:"",deliveryMethod:"",Intro:"",items:[]});function X(l,t,s){if(!t){s(new Error("请选择终止日期"));return}if(!e.startDate){s();return}const d=new Date(e.startDate).getTime();if(new Date(t).getTime()<d){s(new Error("终止日期不能早于开始日期"));return}s()}function K(l){return e.startDate?l.getTime()<new Date(e.startDate).getTime():!1}const Q={customerName:[{required:!0,message:"请选择/填写关联客户",trigger:"blur"}],signDate:[{required:!0,message:"请选择签订日期",trigger:"change"}],contractNo:[{required:!0,message:"请输入合同编号",trigger:"blur"}],subject:[{required:!0,message:"请输入合同主题",trigger:"blur"}],startDate:[{required:!0,message:"请选择开始日期",trigger:"change"}],endDate:[{required:!0,message:"请选择终止日期",trigger:"change"},{validator:X,trigger:"change"}],salesUserId:[{required:!0,message:"请选择销售人员",trigger:"change"}],actualOwner:[{required:!0,message:"创建人不能为空",trigger:"blur"}],currency:[{required:!0,message:"请选择币种",trigger:"change"}],payType:[{required:!0,message:"请选择收款类型",trigger:"change"}],invoiceType:[{required:!0,message:"请选择开票类型",trigger:"change"}]};function O(){return{materialId:null,materialName:"",configList:"",itemCode:"",model:"",taxPrice:0,quantity:1,unit:"PCS",taxRate:0,untaxedPrice:"0.00",amount:"0.00",discountRate:0,amountAfterDiscount:"0.00",suggestPrice:0,remark:""}}function W(){var t,s,d,r;const l=f||{};return l.nickName||l.name||((t=l.user)==null?void 0:t.nickName)||((d=(s=l.user)==null?void 0:s.user)==null?void 0:d.nickName)||((r=l.user)==null?void 0:r.userName)||""}function Z(){var t,s;const l=["user","userInfo","Admin-User","loginUser","ruoyi-user"];for(const d of l){const r=localStorage.getItem(d);if(r)try{const u=JSON.parse(r),p=(u==null?void 0:u.nickName)||((t=u==null?void 0:u.user)==null?void 0:t.nickName)||((s=u==null?void 0:u.userInfo)==null?void 0:s.nickName)||(u==null?void 0:u.userName)||(u==null?void 0:u.username)||"";if(p)return p}catch{}}return""}function ee(){return W()||Z()||""}function M(l){return(l==null?void 0:l.nickName)||(l==null?void 0:l.userName)||""}function S(){if(e.salesUserId||!f.id)return;const l=Number(f.id);if(!Number.isFinite(l))return;const t=g.value.find(s=>
1Number(s.userId)===l);e.salesUserId=l,e.salesUserName=M(t)||f.name||""}function C(){const l=ee();l&&(e.actualOwner||(e.actualOwner=l))}function te(l){const t=g.value.find(s=>Number(s.userId)===Number(l));e.salesUserName=M(t)}async function ae(){try{const l=await be({pageNum:1,pageSize:1e3});g.value=((l==null?void 0:l.rows)||[]).filter(s=>String(s.status)!=="1");const t=Number(f.id);Number.isFinite(t)&&!g.value.some(s=>Number(s.userId)===t)&&g.value.unshift({userId:t,userName:f.name,nickName:f.name}),S()}catch{k.error("获取销售人员列表失败")}}z(()=>[f.id,f.name],()=>{S(),C()},{immediate:!0,deep:!0}),z(()=>e.startDate,()=>{var l;e.endDate&&((l=I.value)==null||l.validateField("endDate"))});function w(l){return String(l).padStart(2,"0")}function le(l){return String(l).padStart(3,"0")}function oe(l=""){const t=new Date,s=t.getFullYear(),d=w(t.getMonth()+1),r=w(t.getDate()),u=w(t.getHours()),p=w(t.getMinutes()),i=w(t.getSeconds()),_=le(t.getMilliseconds());return`${l}${s}${d}${r}-${u}${p}${i}${_}`}function T(){if(e.contractNo)return;const l="contractNo_draft",t=sessionStorage.getItem(l);if(t){e.contractNo=t;return}const s=oe("");e.contractNo=s,sessionStorage.setItem(l,s)}function ne(l=[]){return l.map((t,s)=>{const d=t.name||t.contactName||t.linkman||t.nickName||t.realName||"",r=t.phone||t.mobile||t.tel||"",u=t.isPrimary===!0||t.primary===!0||t.master===!0||t.isMaster===!0||t.main===!0||t.isMain===1||t.mainFlag===1||t.isDefault===1||t.isMain==="1"||t.mainFlag==="1"||t.isDefault==="1",p=r?`${d}(${r})`:d;return{...t,__key:t.id||t.contactId||t.linkId||`${s}`,__value:d,__label:p||`联系人${s+1}`,__isPrimary:!!u}}).filter(t=>t.__value)}function re(l){return!Array.isArray(l)||l.length===0?null:l.find(t=>t.__isPrimary)||l[0]}async function se(l){if(l)try{const t=await ge(l);Y.value=(t==null?void 0:t.data)||{};const s=Y.value.contactList||[],d=ne(s);h.value=d;const r=re(d);r&&(e.counterpartyContact=r.__value)}catch(t){console.error("获取客户信息失败:",t),k.error("获取客户信息失败"),h.value=[]}}function ue(){var l;(l=F.value)==null||l.open({defaultName:e.customerName})}function de(l){e.customerId=l.clientId,e.customerName=l.companyName,T(),e.subject=`${e.customerName}${e.contractNo?"-"+e.contractNo:""}`,se(e.customerId)}function R(){const l=e.items.reduce((s,d)=>s+Number(d.amountAfterDiscount||0),0);e.contractAmount=l.toFixed(2);const t=l-Number(e.discountAmount||0);e.amountAfterDiscount=Math.max(t,0).toFixed(2)}function ie(l){e.contractAmount=Number((l==null?void 0:l.contractAmount)||0).toFixed(2);const t=Number(e.contractAmount||0)-Number(e.discountAmount||0);e.amountAfterDiscount=Math.max(t,0).toFixed(2)}function E(){var l;(l=I.value)==null||l.resetFields(),e.signDate=v(),e.startDate=v(),e.endDate="",e.items=[O()],e.contractAmount="0.00",e.discountAmount=0,e.amountAfterDiscount="0.00",e.freightAmount=0,S(),C(),sessionStorage.removeItem("contractNo_draft"),e.contractNo="",T(),h.value=[],e.counterpartyContact=""}async function L(){var l;try{await((l=I.value)==null?void 0:l.validate());const t={customerId:e.customerId,customerName:e.customerName,contractNo:e.contractNo,subject:e.subject,signDate:e.signDate,startDate:e.startDate,endDate:e.endDate,counterpartyContact:e.counterpartyContact,salesUserId:e.salesUserId,salesUserName:e.salesUserName,actualOwner:e.actualOwner,contractType:e.contractType,contractStatus:e.contractStatus,currency:e.currency,remark:e.remark,contractAmount:e.contractAmount,discountAmount:e.discountAmount,amountAfterDiscount:e.amountAfterDiscount,freightAmount:e.freightAmount,payPlanMode:e.payPlanMode,payType:e.payType,invoicePlanMode:e.invoicePlanMode,invoiceType:e.invoiceType,receiveAddress:e.receiveAddress,payMethod:e.payMethod,deliveryTime:e.deliveryTime,deliveryAddress:e.deliveryAddress,deliveryMethod:e.deliveryMethod,termsText:e.termsText,otherText:e.otherText,items:(e.items||[]).map((r,u)=>({lineNo:u+1,materialId:r.materialId,materialName:r.materialName,configList:r.configList,itemCode:r.itemCode,model:r.model,taxPrice:r.taxPrice,quantity:r.quantity,unit:r.unit,taxRate:r.taxRate,untaxedPrice:r.untaxedPrice,amount:r.amount,discountRate:r.discountRate,amountAfterDiscount:r.amountAfterDiscount,suggestPrice:r.suggestPrice,remark:r.remark}))},s=await ve(t);if(!((s==null?void 0:s.code)===200))return;k({message:(s==null?void 0:s.msg)||"保存成功",type:"success",duration:1500,showClose:!0}),await new Promise(r=>setTimeout(r,1500)),sessionStorage.removeItem("contractNo_draft"),window.location.reload()}catch(t){k.error((t==null?void 0:t.message)||"请检查必填项或网络状态")}}return he(()=>{C(),ae(),T(),e.signDate=v(),e.startDate=v(),e.items=[O()],R()}),(l,t)=>{const s=m("el-button"),d=m("el-input"),r=m("el-form-item"),u=m("el-col"),p=m("el-date-picker"),i=m("el-option"),_=m("el-select"),P=m("el-row"),b=m("el-collapse-item"),j=m("el-input-number"),ce=m("el-divider"),A=m("el-radio"),B=m("el-radio-group"),me=m("el-collapse"),pe=m("el-form"),fe=we("hasPermi");return N(),x("div",ke,[a(pe,{ref_key:"formRef",ref:I,model:e,rules:Q,"label-width":"110px",class:"contract-form"},{default:o(()=>[c("div",Me,[Se,c("div",Ce,[a(s,{onClick:E},{default:o(()=>[y("重置")]),_:1}),a(s,{type:"primary",onClick:L},{default:o(()=>[y("保存")]),_:1})])]),a(me,{modelValue:q.value,"onUpdate:modelValue":t[25]||(t[25]=n=>q.value=n),class:"contract-collapse"},{default:o(()=>[a(b,{title:"基本信息",name:"base"},{default:o(()=>[c("div",Te,[a(P,{gutter:16},{default:o(()=>[a(u,{span:8},{default:o(()=>[a(r,{label:"关联客户",prop:"customerName"},{default:o(()=>[c("div",Pe,[a(d,{modelValue:e.customerName,"onUpdate:modelValue":t[0]||(t[0]=n=>e.customerName=n),placeholder:"请选择客户",readonly:""},null,8,["modelValue"]),a(s,{type:"primary",onClick:ue},{default:o(()=>[y("选择")]),_:1})])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"合同主题",prop:"subject"},{default:o(()=>[a(d,{modelValue:e.subject,"onUpdate:modelValue":t[1]||(t[1]=n=>e.subject=n),placeholder:"请输入合同主题"},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"签订日期",prop:"signDate"},{default:o(()=>[a(p,{modelValue:e.signDate,"onUpdate:modelValue":t[2]||(t[2]=n=>e.signDate=n),type:"date","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"开始日期",prop:"startDate"},{default:o(()=>[a(p,{modelValue:e.startDate,"onUpdate:modelValue":t[3]||(t[3]=n=>e.startDate=n),type:"date","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"终止日期",prop:"endDate"},{default:o(()=>[a(p,{modelValue:e.endDate,"onUpdate:modelValue":t[4]||(t[4]=n=>e.endDate=n),type:"date","value-format":"YYYY-MM-DD",style:{width:"100%"},"disabled-date":K},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"对方代表"},{default:o(()=>[a(_,{modelValue:e.counterpartyContact,"onUpdate:modelValue":t[5]||(t[5]=n=>e.counterpartyContact=n),placeholder:"请选择联系人",filterable:"",clearable:"",style:{width:"100%"},disabled:h.value.length===0},{default:o(()=>[(N(!0),x(G,null,H(h.value,n=>(N(),$(i,{key:n.__key,label:n.__label,value:n.__value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"销售人员",prop:"salesUserId"},{default:o(()=>[a(_,{modelValue:e.salesUserId,"onUpdate:modelValue":t[6]||(t[6]=n=>e.salesUserId=n),placeholder:"请选择销售人员",filterable:"",style:{width:"100%"},onChange:te},{default:o(()=>[(N(!0),x(G,null,H(g.value,n=>(N(),$(i,{key:n.userId,label:M(n),value:n.userId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"创建人",prop:"actualOwner"},{default:o(()=>[a(d,{modelValue:e.actualOwner,"onUpdate:modelValue":t[7]||(t[7]=n=>e.actualOwner=n),placeholder:"自动带出当前登录用户"},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"合同类型"},{default:o(()=>[a(_,{modelValue:e.contractType,"onUpdate:modelValue":t[8]||(t[8]=n=>e.contractType=n),placeholder:"请选择",style:{width:"100%"}},{default:o(()=>[a(i,{label:"产品销售",value:"产品销售"}),a(i,{label:"代理分销",value:"代理分销"}),a(i,{label:"商务服务",value:"商务服务"}),a(i,{label:"其它",value:"其它"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"合同状态"},{default:o(()=>[a(_,{modelValue:e.contractStatus,"onUpdate:modelValue":t[9]||(t[9]=n=>e.contractStatus=n),placeholder:"请选择",style:{width:"100%"}},{default:o(()=>[a(i,{label:"生效执行中",value:"生效执行中"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"币种",prop:"currency"},{default:o(()=>[a(_,{modelValue:e.currency,"onUpdate:modelValue":t[10]||(t[10]=n=>e.currency=n),placeholder:"请选择",style:{width:"100%"}},{default:o(()=>[a(i,{label:"人民币",value:"人民币"}),a(i,{label:"美元",value:"美元"}),a(i,{label:"欧元",value:"欧元"}),a(i,{label:"英镑",value:"英镑"}),a(i,{label:"港币",value:"港币"}),a(i,{label:"日元",value:"日元"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),_:1}),a(b,{title:"金额信息",name:"money"},{default:o(()=>[c("div",xe,[c("div",$e,[c("div",Fe,[qe,c("div",Ye,J(e.contractAmou
1nt),1)]),c("div",Oe,[Re,a(j,{modelValue:e.discountAmount,"onUpdate:modelValue":t[11]||(t[11]=n=>e.discountAmount=n),min:0,precision:2,style:{width:"100%"},onChange:R},null,8,["modelValue"])]),c("div",Ee,[Le,c("div",je,J(e.amountAfterDiscount),1)]),c("div",Be,[ze,a(j,{modelValue:e.freightAmount,"onUpdate:modelValue":t[12]||(t[12]=n=>e.freightAmount=n),min:0,precision:2,style:{width:"100%"}},null,8,["modelValue"])])]),a(ce,{class:"divider-tight"}),a(P,{gutter:16},{default:o(()=>[a(u,{span:8},{default:o(()=>[a(r,{label:"收款计划"},{default:o(()=>[a(_,{modelValue:e.payPlanMode,"onUpdate:modelValue":t[13]||(t[13]=n=>e.payPlanMode=n),style:{width:"100%"}},{default:o(()=>[a(i,{label:"自动生成",value:"0"}),a(i,{label:"手动生成",value:"1"}),a(i,{label:"出库自动收款",value:"3"}),a(i,{label:"发货自动收款",value:"4"}),a(i,{label:"开票自动收款",value:"5"}),a(i,{label:"对账手动生成",value:"6"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"开票计划"},{default:o(()=>[a(_,{modelValue:e.invoicePlanMode,"onUpdate:modelValue":t[14]||(t[14]=n=>e.invoicePlanMode=n),style:{width:"100%"}},{default:o(()=>[a(i,{label:"自动开票",value:"1"}),a(i,{label:"手动开票",value:"2"}),a(i,{label:"出库自动开票",value:"3"}),a(i,{label:"发货自动开票",value:"4"}),a(i,{label:"对账手动生成",value:"5"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"收款类型",prop:"payType"},{default:o(()=>[a(B,{modelValue:e.payType,"onUpdate:modelValue":t[15]||(t[15]=n=>e.payType=n)},{default:o(()=>[a(A,{label:"1"},{default:o(()=>[y("汇总")]),_:1}),a(A,{label:"2"},{default:o(()=>[y("明细")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(u,{span:8},{default:o(()=>[a(r,{label:"开票类型",prop:"invoiceType"},{default:o(()=>[a(B,{modelValue:e.invoiceType,"onUpdate:modelValue":t[16]||(t[16]=n=>e.invoiceType=n)},{default:o(()=>[a(A,{label:"1"},{default:o(()=>[y("汇总")]),_:1}),a(A,{label:"2"},{default:o(()=>[y("明细")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),_:1}),a(b,{title:"收货地址",name:"addr"},{default:o(()=>[c("div",Ge,[a(r,{label:"收货地址"},{default:o(()=>[a(d,{modelValue:e.receiveAddress,"onUpdate:modelValue":t[17]||(t[17]=n=>e.receiveAddress=n),placeholder:"请输入收货地址"},null,8,["modelValue"])]),_:1})])]),_:1}),a(b,{title:"合同明细",name:"items"},{default:o(()=>[c("div",He,[a(_e,{modelValue:e.items,"onUpdate:modelValue":t[18]||(t[18]=n=>e.items=n),disabled:!1,onSummaryChange:ie},null,8,["modelValue"])])]),_:1}),a(b,{title:"合同条款/说明汇总",name:"terms"},{default:o(()=>[c("div",Je,[a(P,{gutter:16},{default:o(()=>[a(u,{span:6},{default:o(()=>[a(r,{label:"收款方式"},{default:o(()=>[a(d,{modelValue:e.payMethod,"onUpdate:modelValue":t[19]||(t[19]=n=>e.payMethod=n)},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:6},{default:o(()=>[a(r,{label:"交货时间"},{default:o(()=>[a(d,{modelValue:e.deliveryTime,"onUpdate:modelValue":t[20]||(t[20]=n=>e.deliveryTime=n)},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:6},{default:o(()=>[a(r,{label:"交货地址"},{default:o(()=>[a(d,{modelValue:e.deliveryAddress,"onUpdate:modelValue":t[21]||(t[21]=n=>e.deliveryAddress=n)},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:6},{default:o(()=>[a(r,{label:"交货方式"},{default:o(()=>[a(d,{modelValue:e.deliveryMethod,"onUpdate:modelValue":t[22]||(t[22]=n=>e.deliveryMethod=n)},null,8,["modelValue"])]),_:1})]),_:1}),a(u,{span:24},{default:o(()=>[a(r,{label:"备注"},{default:o(()=>[a(d,{modelValue:e.remark,"onUpdate:modelValue":t[23]||(t[23]=n=>e.remark=n),type:"textarea",rows:6,placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),_:1}),a(b,{title:"其他信息",name:"other"},{default:o(()=>[c("div",Xe,[a(r,{label:"合同概要"},{default:o(()=>[a(d,{modelValue:e.Intro,"onUpdate:modelValue":t[24]||(t[24]=n=>e.Intro=n),type:"textarea",rows:6,placeholder:"其他信息"},null,8,["modelValue"])]),_:1})])]),_:1})]),_:1},8,["modelValue"]),c("div",Ke,[Qe,c("div",We,[a(s,{onClick:E},{default:o(()=>[y("重置")]),_:1}),Ue((N(),$(s,{type:"primary",onClick:L},{default:o(()=>[y("保存")]),_:1})),[[fe,["order:button:insert"]]])])])]),_:1},8,["model"]),a(ye,{ref_key:"customerPickerRef",ref:F,onSelected:de},null,512)])}}},nt=Ve(Ze,[["__scopeId","data-v-2682ce03"]]);export{nt as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.