daShangDao_newAdmin/dist/assets/index.7ed3af03.js
2025-08-16 10:09:32 +08:00

2 lines
15 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,u=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,o=(e,a)=>{for(var l in a||(a={}))r.call(a,l)&&u(e,l,a[l]);if(t)for(var l of t(a))i.call(a,l)&&u(e,l,a[l]);return e},s=(e,t)=>a(e,l(t));import{_ as n,a8 as d,$ as c,aO as p,a9 as m,aa as v,ah as g,ai as y,a3 as f,ab as h,ac as b,ae as j,af as P,ag as w,aA as V,aB as _,aj as A,am as k,as as x,o as T,k as C,l as N,m as U,w as S,av as z,J as O,I,v as B,at as $,H as D,t as E,an as R,a6 as q,a7 as J,ao as K,E as F}from"./vendor.7d62357a.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as L}from"./index.b524af77.js";import{R as H}from"./RefreshButton.8cc1a8ff.js";const G={getList:e=>L.get("/priceTemplate/list",{params:e}),getDetail:e=>L.get(`/priceTemplate/${e}`),getByShopId:e=>L.get(`/priceTemplate/getByShopId/${e}`),create:e=>L.post("/priceTemplate",e),update:e=>L.put("/priceTemplate",e),delete:e=>L.delete(`/priceTemplate/${e}`),export:e=>L.get("//priceTemplate/export",{params:e}),calculatePrice:e=>L.post("/priceTemplate/calculatePrice",e)};const M=e=>(q("data-v-02c5c87d"),e=e(),J(),e),Q={class:"list-container"},W={class:"search-area"},X={class:"action-bar"},Y={class:"action-left"},Z={class:"action-right"},ee={class:"pagination-container"},ae=M((()=>N("div",{class:"form-tip"},"填写模板名称,之后将会在店铺设置中选择此处的价格模板",-1))),le=M((()=>N("div",{class:"form-tip"},[N("div",null,"书价就是库存里的商品价格"),N("div",null,"总价就是书价+仓库运费模板设置的运费")],-1))),te={class:"price-range-container"},re=M((()=>N("span",{class:"range-separator"},"至",-1))),ie=M((()=>N("div",{class:"form-tip"},"比如填写5和10那么低于5和高于10直接过滤掉",-1))),ue={class:"price-adjustment-section"},oe=M((()=>N("div",{class:"adjustment-header"},[N("span",{class:"header-item"},"价格区间下限(元)"),N("span",{class:"header-item"},"价格区间上限(元)"),N("span",{class:"header-item"},"加点(%)"),N("span",{class:"header-item"},"加价(元)"),N("span",{class:"header-item"},"操作")],-1))),se={class:"adjustment-actions"},ne=M((()=>N("div",{class:"notice-section"},[N("p",{class:"notice-red"},"注意:只填一行则全部根据该区间走"),N("p",{class:"notice-orange"},"示例:成本*加点(%)+成本+加价(元)"),N("p",{class:"notice-orange"},"例如5*10%+5+20=25.5(元)")],-1))),de={class:"dialog-footer"},ce={__name:"index",setup(e){const a=n([{label:"书价",value:"0"},{label:"总价(书价+运费)",value:"1"}]),l=n([]),t=n(!1),r=n(!1);n(!0);const i=n([]),u=n(!0),q=n(!0),J=n(0),L=n("");n(null);const M=n(null),ce=d({visible:!1,title:""}),pe={id:void 0,templateName:"",priceType:"0",proportion:0,addAmount:0,status:"0",highPrice:99999,lowPrice:.01,priceAdjustments:[{minPrice:.01,maxPrice:1,adjustPercent:"",adjustAmount:""}],rangePrice:void 0},me=n({pageNum:1,pageSize:10,templateName:"",priceType:"",proportion:"",addAmount:"",status:""}),ve=n(o({},pe)),ge=n({templateName:[{required:!0,message:"模板名称不能为空",trigger:"blur"}],lowPrice:[{required:!0,message:"最小值不能为空",trigger:"blur"},{validator:(e,a,l)=>{null==a?l(new Error("最小值不能为空")):null!==ve.value.highPrice&&void 0!==ve.value.highPrice&&a>=ve.value.highPrice?l(new Error("最小值必须小于最大值")):l()},trigger:"blur"}],highPrice:[{required:!0,message:"最大值不能为空",trigger:"blur"},{validator:(e,a,l)=>{null==a?l(new Error("最大值不能为空")):null!==ve.value.lowPrice&&void 0!==ve.value.lowPrice&&a<=ve.value.lowPrice?K.warning("价格区间最大值必须大于最小值"):l()},trigger:"blur"}]}),ye=()=>{const e=ve.value.priceAdjustments[ve.value.priceAdjustments.length-1];ve.value.priceAdjustments.push({minPrice:e.maxPrice?Number(e.maxPrice)+.01:.01,maxPrice:"",adjustPercent:"",adjustAmount:""})},fe=()=>{ve.value=o({},pe),ve.value.priceAdjustments=[{minPrice:.01,maxPrice:1,adjustPercent:"",adjustAmount:""}],p((()=>{var e;null==(e=M.value)||e.clearValidate()}))},he=async()=>{r.value=!0;try{const e={pageNum:me.value.pageNum,pageSize:me.value.pageSize};L.value&&L.value.trim()&&(e.templateName=L.value.trim()),me.value.priceType&&me.value.priceType.trim()&&(e.priceType=me.value.priceType.trim()),me.value.status&&me.value.status.trim()&&(e.status=me.value.status.trim()),me.value.proportion&&me.value.proportion.trim()&&(e.proportion=me.value.proportion.trim()),me.value.addAmount&&me.value.addAmount.trim()&&(e.addAmount=me.value.addAmount.trim());const a=await G.getList(e);if(console.log("API返回数据:",a),a&&a.data){let e=[],t=0;Array.isArray(a.data)?(e=a.data,t=a.total||a.data.length):a.data.rows&&Array.isArray(a.data.rows)?(e=a.data.rows,t=a.data.total||a.data.rows.length):a.data.list&&Array.isArray(a.data.list)?(e=a.data.list,t=a.data.total||a.data.list.length):(e=[],t=0),l.value=e,J.value=t}else l.value=[],J.value=0}catch(e){console.error("获取价格模板列表失败:",e),l.value=[],J.value=0,K.error("获取价格模板列表失败")}finally{r.value=!1}},be=he,je=()=>{me.value.pageNum=1,he()},Pe=()=>{L.value="",me.value.priceType="",me.value.status="",me.value.proportion="",me.value.addAmount="",me.value.pageNum=1,he()},we=e=>{if(e)xe(e);else{if(1!==i.value.length)return void K.warning("请选择一条记录进行修改");xe({id:i.value[0]})}},Ve=()=>{0!==i.value.length?F.confirm(`确认删除选中的${i.value.length}条价格模板记录吗?`,"警告",{type:"warning"}).then((async()=>{try{await G.batchDelete(i.value),K.success("批量删除成功"),await be()}catch(e){console.error("批量删除失败:",e),K.error("批量删除失败")}})).catch((()=>{})):K.warning("请至少选择一条记录")},_e=()=>{Ae(),ce.visible=!1},Ae=()=>{var e;ve.value=o({},pe),null==(e=M.value)||e.resetFields()},ke=e=>{i.value=e.map((e=>e.id)),u.value=1!==e.length,q.value=!e.length},xe=async e=>{Ae();const a=(null==e?void 0:e.id)||i.value[0];try{const e=await G.getDetail(a);if(console.log("获取价格模板详情:",e),e.data&&null!=e.data.lowPrice&&null!=e.data.highPrice&&null!=e.data.rangePrice){e.data.lowPrice/=100,e.data.highPrice/=100;const a=JSON.parse(e.data.rangePrice).map((e=>s(o({},e),{minPrice:e.minPrice/100,maxPrice:e.maxPrice/100,adjustAmount:e.adjustAmount/100,adjustPercent:e.adjustPercent?Number(e.adjustPercent):0}))),l=Object.values(a);e.data.priceAdjustments=l,e.data.rangePrice=l}Object.assign(ve.value,e.data),console.log("表单数据:",ve.value),ce.visible=!0,ce.title="修改价格模板"}catch(l){console.error("获取价格模板详情失败:",l),K.error("获取价格模板详情失败")}},Te=()=>{var e;null==(e=M.value)||e.validate((async e=>{if(e)try{const e=o({},ve.value);e.lowPrice*=100,e.highPrice*=100,e.priceAdjustments=e.priceAdjustments.map((e=>s(o({},e),{minPrice:100*e.minPrice,maxPrice:100*e.maxPrice,adjustAmount:100*e.adjustAmount}))),e.rangePrice=JSON.stringify(e.priceAdjustments),t.value=!0,e.id?await G.update(e):await G.create(e),K.success("操作成功"),ce.visible=!1,await be()}catch(a){console.error("提交失败:",a),K.error("操作失败")}finally{t.value=!1}}))},Ce=e=>{me.value.pageSize=e,me.value.pageNum=1,he()},Ne=e=>{me.value.pageNum=e,he()};return c((()=>{p((()=>{be()}))})),(e,u)=>{const o=m,s=v,n=g,d=y,c=f,p=h,q=b,pe=j,Ue=P,Se=w,ze=V,Oe=_,Ie=A,Be=k,$e=x;return T(),C("div",Q,[N("div",W,[U(p,{model:me.value,inline:""},{default:S((()=>[U(s,{label:"模板名称"},{default:S((()=>[U(o,{modelValue:L.value,"onUpdate:modelValue":u[0]||(u[0]=e=>L.value=e),placeholder:"请输入价格模板名称",clearable:"",onClear:he,onKeyup:z(je,["enter"])},null,8,["modelValue"])])),_:1}),U(s,{label:"价格类型"},{default:S((()=>[U(d,{modelValue:me.value.priceType,"onUpdate:modelValue":u[1]||(u[1]=e=>me.value.priceType=e),placeholder:"请选择价格类型",clearable:""},{default:S((()=>[(T(!0),C(O,null,I(a.value,(e=>(T(),D(n,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),U(s,{label:"状态"},{default:S((()=>[U(d,{modelValue:me.value.status,"onUpdate:modelValue":u[2]||(u[2]=e=>me.value.status=e),placeholder:"请选择状态",clearable:""},{default:S((()=>[U(n,{label:"正常",value:"0"}),U(n,{label:"禁用",value:"1"})])),_:1},8,["modelValue"])])),_:1}),U(s,{label:"增加比例"},{default:S((()=>[U(o,{modelValue:me.value.proportion,"onUpdate:modelValue":u[3]||(u[3]=e=>me.value.proportion=e),placeholder:"请输入增加比例",clearable:"",onClear:he,onKeyup:z(je,["enter"])},{append:S((()=>[B("%")])),_:1},8,["modelValue"])])),_:1}),U(s,{label:"增加金额"},{default:S((()=>[U(o,{modelValue:me.value.addAmount,"onUpdate:modelValue":u[4]||(u[4]=e=>me.value.addAmount=e),placeholder:"请输入增加金额",clearable:"",onClear:he,onKeyup:z(je,["enter"])},{append:S((()=>[B("元")])),_:1},8,["modelValue"])])),_:1}),U(s,null,{default:S((()=>[U(c,{type:"primary",icon:"Search",onClick:je},{default:S((()=>[B("搜索")])),_:1}),U(c,{icon:"Refresh",onClick:Pe},{default:S((()=>[B("重置")])),_:1})])),_:1})])),_:1},8,["model"])]),N("div",X,[N("div",Y,[U(c,{type:"primary",onClick:u[5]||(u[5]=e=>((e=null)=>{Ae(),e?xe(e):(ce.visible=!0,ce.title="新增价格模板")})())},{default:S((()=>[B("新增")])),_:1}),U(c,{type:"primary",onClick:we},{default:S((()=>[B("编辑")])),_:1}),U(c,{type:"danger",onClick:Ve},{default:S((()=>[B("删除")])),_:1})]),N("div",Z,[U(H,{onRefresh:he})])]),$((T(),D(Ue,{data:l.value,border:"",style:{width:"100%"},"row-key":"id",onSelectionChange:ke},{default:S((()=>[U(q,{type:"selection",width:"55",align:"center"}),U(q,{prop:"id",label:"ID",width:"80"}),U(q,{prop:"templateName",label:"价格模板名称"}),U(q,{prop:"priceType",label:"价格类型",width:"150"},{default:S((({row:e})=>[U(pe,{type:"0"===e.priceType?"primary":"success"},{default:S((()=>{return[B(E((a=e.priceType,{0:"书价",1:"总价(书价+运费)"}[a]||"未知")),1)];var a})),_:2},1032,["type"])])),_:1}),U(q,{prop:"status",label:"状态",width:"80"},{default:S((({row:e})=>[U(pe,{type:"0"===e.status?"success":"danger"},{default:S((()=>[B(E("0"===e.status?"正常":"禁用"),1)])),_:2},1032,["type"])])),_:1}),U(q,{label:"操作",width:"200",fixed:"right"},{default:S((({row:e})=>[U(c,{type:"primary",link:"",onClick:a=>xe(e)},{default:S((()=>[B(" 编辑 ")])),_:2},1032,["onClick"]),U(c,{type:"danger",link:"",onClick:a=>(async e=>{const a=(null==e?void 0:e.id)||i.value;try{await F.confirm(`是否确认删除价格模板编号为"${a}"的数据项?`,"警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await G.delete(a),K.success("删除成功"),await be()}catch(l){"cancel"!==l&&(console.error("删除失败:",l),K.error("删除失败"))}})(e)},{default:S((()=>[B(" 删除 ")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[$e,r.value]]),N("div",ee,[U(Se,{"current-page":me.value.pageNum,"onUpdate:currentPage":u[6]||(u[6]=e=>me.value.pageNum=e),"page-size":me.value.pageSize,"onUpdate:pageSize":u[7]||(u[7]=e=>me.value.pageSize=e),"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",total:J.value,onSizeChange:Ce,onCurrentChange:Ne},null,8,["current-page","page-size","total"])]),ce.visible?(T(),D(Be,{key:0,title:ce.title,modelValue:ce.visible,"onUpdate:modelValue":u[12]||(u[12]=e=>ce.visible=e),onClose:fe,width:"1000px","append-to-body":"","destroy-on-close":"",class:"price-template-dialog"},{footer:S((()=>[N("div",de,[U(c,{loading:t.value,type:"primary",onClick:Te},{default:S((()=>[B("确 定")])),_:1},8,["loading"]),U(c,{onClick:_e},{default:S((()=>[B("取 消")])),_:1})])])),default:S((()=>[U(p,{ref_key:"priceTemplateFormRef",ref:M,model:ve.value,rules:ge.value,"label-width":"80px",class:"price-form"},{default:S((()=>[U(s,{label:"模板名称",prop:"templateName",class:"form-item-with-tip"},{default:S((()=>[U(o,{modelValue:ve.value.templateName,"onUpdate:modelValue":u[8]||(u[8]=e=>ve.value.templateName=e),placeholder:"请输入模板名称",class:"template-name-input"},null,8,["modelValue"]),ae])),_:1}),U(s,{label:"价格类型",prop:"priceType",class:"form-item-with-tip"},{default:S((()=>[U(Oe,{modelValue:ve.value.priceType,"onUpdate:modelValue":u[9]||(u[9]=e=>ve.value.priceType=e),class:"price-type-radio"},{default:S((()=>[(T(!0),C(O,null,I(a.value,(e=>(T(),D(ze,{key:e.value,value:e.value},{default:S((()=>[B(E(e.label),1)])),_:2},1032,["value"])))),128))])),_:1},8,["modelValue"]),le])),_:1}),U(s,{label:"价格区间",class:"form-item-with-tip"},{default:S((()=>[N("div",te,[U(Ie,{modelValue:ve.value.lowPrice,"onUpdate:modelValue":u[10]||(u[10]=e=>ve.value.lowPrice=e),min:.01,max:99999,precision:2,"controls-position":"right",class:"price-input"},null,8,["modelValue"]),re,U(Ie,{modelValue:ve.value.highPrice,"onUpdate:modelValue":u[11]||(u[11]=e=>ve.value.highPrice=e),min:.01,max:99999,precision:2,"controls-position":"right",class:"price-input"},null,8,["modelValue"])]),ie])),_:1}),N("div",ue,[oe,(T(!0),C(O,null,I(ve.value.priceAdjustments,((e,a)=>(T(),C("div",{key:a,class:"adjustment-row"},[U(o,{modelValue:e.minPrice,"onUpdate:modelValue":a=>e.minPrice=a,placeholder:"请输入百分比",class:"adjustment-input",type:"number"},{append:S((()=>[B("元")])),_:2},1032,["modelValue","onUpdate:modelValue"]),U(o,{modelValue:e.maxPrice,"onUpdate:modelValue":a=>e.maxPrice=a,placeholder:"请输入固定金额",class:"adjustment-input",type:"number"},{append:S((()=>[B("元")])),_:2},1032,["modelValue","onUpdate:modelValue"]),U(o,{modelValue:e.adjustPercent,"onUpdate:modelValue":a=>e.adjustPercent=a,placeholder:"请输入百分比",class:"adjustment-input",type:"number"},{append:S((()=>[B("%")])),_:2},1032,["modelValue","onUpdate:modelValue"]),U(o,{modelValue:e.adjustAmount,"onUpdate:modelValue":a=>e.adjustAmount=a,placeholder:"请输入固定金额",class:"adjustment-input",type:"number"},{append:S((()=>[B("元")])),_:2},1032,["modelValue","onUpdate:modelValue"]),N("div",se,[a===ve.value.priceAdjustments.length-1&&ve.value.priceAdjustments.length<10?(T(),D(c,{key:0,type:"primary",link:"",size:"small",onClick:ye,class:"action-text-btn"},{default:S((()=>[B(" 增加条数 ")])),_:1})):R("",!0),ve.value.priceAdjustments.length>1?(T(),D(c,{key:1,type:"danger",link:"",size:"small",onClick:e=>(e=>{ve.value.priceAdjustments.splice(e,1)})(a),class:"action-text-btn"},{default:S((()=>[B(" 删除 ")])),_:2},1032,["onClick"])):R("",!0)])])))),128))]),ne])),_:1},8,["model","rules"])])),_:1},8,["title","modelValue"])):R("",!0)])}},__scopeId:"data-v-02c5c87d"};export{ce as default};