Files
AIGC/demo/deploy_baota/frontend/static/OrderCreate-2441a0f5.js

2 lines
8.0 KiB
JavaScript
Raw Normal View History

import{aA as G,r as k,l as z,c as S,al as n,z as V,A as b,R as e,J as o,u as U,O as q,W as H,B as r,Q as T,M as w,a4 as J,P as F,I as Q}from"./vue-vendor-164775a6.js";import{u as W}from"./orders-0f03751c.js";import{E as v,d as j,e as K,p as X}from"./element-plus-83a396df.js";import{_ as Z}from"./index-467ea2ad.js";import"./orders-4c59cdb2.js";import"./utils-edfcd65b.js";const ee={class:"order-create"},le={class:"field-description"},te={class:"field-description"},oe={class:"field-description"},ae={class:"field-description"},re={class:"field-description"},ne={class:"field-description"},se={class:"order-items"},de={class:"total-amount"},ue={class:"total-value"},ie={__name:"OrderCreate",setup(pe){const R=G(),x=W(),I=k(),A=k(!1),t=z({orderType:"SERVICE",currency:"CNY",description:"",contactEmail:"",contactPhone:"",shippingAddress:"",billingAddress:"",orderItems:[{productName:"",unitPrice:0,quantity:1,subtotal:0}]}),O={orderType:[{required:!0,message:"请选择订单类型",trigger:"change"}],currency:[{required:!0,message:"请选择货币",trigger:"change"}],contactEmail:[{required:!0,message:"请输入联系邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},B=S(()=>t.orderType==="PHYSICAL"),h=S(()=>t.orderItems.reduce((d,l)=>d+parseFloat(l.subtotal||0),0).toFixed(2)),C=d=>{const l=t.orderItems[d];l.unitPrice&&l.quantity?l.subtotal=parseFloat((l.unitPrice*l.quantity).toFixed(2)):l.subtotal=0},D=()=>{t.orderItems.push({productName:"",unitPrice:0,quantity:1,subtotal:0})},$=d=>{t.orderItems.length>1&&t.orderItems.splice(d,1)},P=async()=>{if(I.value)try{if(!await I.value.validate())return;const l=t.orderItems.filter(u=>u.productName&&u.unitPrice>0&&u.quantity>0);if(l.length===0){v.error("请至少添加一个有效虚拟商品");return}A.value=!0;const i={orderType:t.orderType,currency:t.currency,description:t.description,contactEmail:t.contactEmail,contactPhone:t.contactPhone,shippingAddress:t.shippingAddress,billingAddress:t.billingAddress,totalAmount:parseFloat(h.value),status:"PENDING",orderItems:l.map(u=>({productName:u.productName,unitPrice:parseFloat(u.unitPrice),quantity:parseInt(u.quantity),subtotal:parseFloat(u.subtotal)}))},_=await x.createNewOrder(i);_.success?(v.success("虚拟商品订单创建成功!商品将发送到您的邮箱"),R.push("/admin/orders")):v.error(_.message||"创建订单失败")}catch(d){console.error("Create order error:",d),v.error("创建订单失败")}finally{A.value=!1}};return(d,l)=>{const i=n("el-icon"),_=n("el-button"),u=n("el-page-header"),c=n("el-option"),N=n("el-select"),f=n("InfoFilled"),p=n("el-form-item"),m=n("el-input"),y=n("el-col"),E=n("el-input-number"),L=n("el-row"),Y=n("el-form"),M=n("el-card");return V(),b("div",ee,[e(u,{onBack:l[0]||(l[0]=a=>d.$router.go(-1)),content:"创建订单"},{extra:o(()=>[e(_,{type:"primary",onClick:P,loading:A.value},{default:o(()=>[e(i,null,{default:o(()=>[e(U(j))]),_:1}),l[8]||(l[8]=q(" 创建订单 ",-1))]),_:1},8,["loading"])]),_:1}),e(M,{class:"form-card"},{default:o(()=>[e(Y,{ref_key:"formRef",ref:I,model:t,rules:O,"label-width":"100px",onSubmit:H(P,["prevent"])},{default:o(()=>[e(p,{label:"订单类型",prop:"orderType"},{default:o(()=>[e(N,{modelValue:t.orderType,"onUpdate:modelValue":l[1]||(l[1]=a=>t.orderType=a),placeholder:"请选择订单类型"},{default:o(()=>[e(c,{label:"AI服务",value:"SERVICE"}),e(c,{label:"AI订阅",value:"SUBSCRIPTION"}),e(c,{label:"数字商品",value:"DIGITAL"}),e(c,{label:"虚拟商品",value:"VIRTUAL"})]),_:1},8,["modelValue"]),r("div",le,[e(i,null,{default:o(()=>[e(f)]),_:1}),l[9]||(l[9]=r("span",null,"选择您要购买的虚拟商品类型AI服务如AI绘画、AI写作、AI订阅按月/年付费)、数字商品(如软件、电子书)、虚拟商品(如游戏道具、虚拟货币)",-1))])]),_:1}),e(p,{label:"货币",prop:"currency"},{default:o(()=>[e(N,{modelValue:t.currency,"onUpdate:modelValue":l[2]||(l[2]=a=>t.currency=a),placeholder:"请选择货币"},{default:o(()=>[e(c,{label:"人民币 (CNY)",value:"CNY"}),e(c,{label:"美元 (USD)"