Files
ai_dianshang/admin/dist/assets/CouponList-fe1d298c.js

2 lines
11 KiB
JavaScript
Raw Normal View History

2025-11-28 15:18:10 +08:00
import{r as f,b as I,k as S,z as re,c as s,I as pe,o as y,d as b,e as d,f as l,w as o,E as m,G as U,h as u,g as me,t as p,L as R,J as _e,l as H,n as K,bY as ce,c8 as fe,ce as ye,bX as ve}from"./index-01a32b87.js";import{g as ge,u as be,c as Ve,d as Ce,b as he,a as ke}from"./coupons-fba9fa19.js";import{_ as De}from"./_plugin-vue_export-helper-c27b6911.js";const xe={class:"coupon-list-container"},we={class:"page-header"},Ue={key:0,class:"table-toolbar"},Re={key:0},Me={key:1},Be={key:2},Te={class:"pagination-container"},ze={class:"value-input-group"},Le={class:"value-unit"},Se={key:0,class:"form-tip"},Ae={class:"value-input-group"},Ne={__name:"CouponList",setup($e){const M=f(!1),A=f([]),N=f(0),V=f([]),v=f(!1),B=f("创建优惠券"),T=f(!1),D=f(null),i=I({page:1,page_size:10,keyword:"",type:"",status:""}),t=I({id:null,name:"",type:1,value:0,valueDisplay:0,min_amount:0,minAmountDisplay:0,description:"",timeRange:[],start_time:"",end_time:"",total_count:0,status:1}),j={name:[{required:!0,message:"请输入优惠券名称",trigger:"blur"}],type:[{required:!0,message:"请选择优惠券类型",trigger:"change"}],value:[{required:!0,message:"请输入优惠额度",trigger:"blur"}],timeRange:[{required:!0,message:"请选择有效期",trigger:"change"}]};S(()=>t.type,()=>{t.valueDisplay=0,t.value=0}),S(()=>t.valueDisplay,n=>{t.type===1?t.value=Math.round(n*100):t.type===2&&(t.value=Math.round(n*10))}),S(()=>t.minAmountDisplay,n=>{t.min_amount=Math.round(n*100)});const G=n=>({1:"满减券",2:"折扣券",3:"免邮券"})[n]||"未知",J=n=>({1:"success",2:"warning",3:"info"})[n]||"",$=n=>n?new Date(n).toLocaleString("zh-CN"):"-",C=async()=>{M.value=!0;try{const{data:n}=await ge(i);A.value=n.list||[],N.value=n.total||0}catch{m.error("获取优惠券列表失败")}finally{M.value=!1}},g=()=>{i.page=1,C()},P=()=>{i.keyword="",i.type="",i.status="",g()},Q=n=>{V.value=n.map(e=>e.id)},X=()=>{B.value="创建优惠券",Z(),v.value=!0},O=n=>{B.value="编辑优惠券",t.id=n.id,t.name=n.name,t.type=n.type,t.description=n.description,t.total_count=n.total_count,t.status=n.status,n.type===1?t.valueDisplay=n.value/100:n.type===2&&(t.valueDisplay=n.value/10),t.minAmountDisplay=n.min_amount/100,t.timeRange=[n.start_time,n.end_time],v.value=!0},W=async()=>{D.value&&await D.value.validate(async n=>{if(n){t.start_time=t.timeRange[0],t.end_time=t.timeRange[1],T.value=!0;try{const e={name:t.name,type:t.type,value:t.value,min_amount:t.min_amount,description:t.description,start_time:t.start_time,end_time:t.end_time,total_count:t.total_count,status:t.status};t.id?(await be(t.id,e),m.success("更新成功")):(await Ve(e),m.success("创建成功")),v.value=!1,C()}catch(e){m.error(e.message||"操作失败")}finally{T.value=!1}}})},Z=()=>{var n;t.id=null,t.name="",t.type=1,t.value=0,t.valueDisplay=0,t.min_amount=0,t.minAmountDisplay=0,t.description="",t.timeRange=[],t.start_time="",t.end_time="",t.total_count=0,t.status=1,(n=D.value)==null||n.resetFields()},ee=n=>{K.confirm(`确定要删除优惠券"${n.name}"吗?`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{await Ce(n.id),m.success("删除成功"),C()}catch(e){m.error(e.message||"删除失败")}}).catch(()=>{})},te=()=>{K.confirm(`确定要删除选中的 ${V.value.length} 个优惠券吗?`,"批量删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{await he(V.value),m.success("批量删除成功"),C()}catch(n){m.error(n.message||"批量删除失败")}}).catch(()=>{})},le=async n=>{try{await ke(n.id,n.status),m.success("状态更新成功")}catch(e){n.status=n.status===1?0:1,m.error(e.message||"状态更新失败")}};return re(()=>{C()}),(n,e)=>{const x=s("el-icon"),c=s("el-button"),z=s("el-input"),r=s("el-form-item"),h=s("el-option"),q=s("el-select"),E=s("el-form"),F=s("el-card"),_=s("el-table-column"),ae=s("el-tag"),ne=s("el-switch"),oe=s("el-table"),se=s("el-pagination"),k=s("el-radio"),Y=s("el-radio-group"),L=s("el-input-number"),ue=s("el-date-picker"),ie=s("el-dialog"),de=pe("loading");retur