2 lines
6.6 KiB
JavaScript
2 lines
6.6 KiB
JavaScript
import{_ as N}from"./index-BcyhyDWm.js";import{d as S,h as $,i as G,j as h,W as f,X as L,s as U,r as j,O as K,k as z,y as H,o as s,a as C,m as l,w as i,f as r,F as I,e as J,B as d,Y as W,z as X,p as k,G as E,C as Y,J as Q,K as Z,v as ee}from"./index-Bp03Znup.js";/* empty css */import{E as te}from"./el-card-D36q9p5f.js";import{E as re}from"./el-page-header-D93sYBQO.js";import{b as oe,c as ae,d as ie}from"./lists-pfwifGil.js";import{_ as se}from"./base-setup.vue_vue_type_script_setup_true_lang-BOV-CdcZ.js";import ne from"./goods-detail-BZxjf3Rs.js";import{_ as me}from"./price-stock.vue_vue_type_script_setup_true_lang-91irDmlv.js";import{_ as pe}from"./sales-setup.vue_vue_type_script_setup_true_lang-Cr4TMBNH.js";import{a as de}from"./el-form-item-D0VPhd4F.js";import"./picker-B9Jrx9z1.js";import"./index-BUCoCI2B.js";/* empty css */import"./index-HD6fPohC.js";import"./index-DJde_l8S.js";import"./index.vue_vue_type_script_setup_true_lang-CX-dvcep.js";/* empty css */import"./el-select-BrRMRQg_.js";import"./index-deo72N_U.js";import"./token-DI9FKtlJ.js";import"./isEqual-BGjWqnUO.js";import"./_Uint8Array-DWb7vvmt.js";import"./_baseFindIndex-D7XfJLKM.js";import"./_baseIteratee-w43xOLx_.js";import"./el-table-column-CUyuLBd2.js";import"./el-checkbox-DmHoF8Ng.js";import"./_initCloneObject-DTdCOd4_.js";import"./isArrayLikeObject-CjMmT1bi.js";/* empty css */import"./index-B0pv5ACV.js";/* empty css */import"./index-SAsEZJ5l.js";/* empty css */import"./cloneDeep-C-uticou.js";import"./_baseClone-DNNBGhw1.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-B9GyBaTc.js";/* empty css */import"./index-B2lT7DBG.js";import"./index.vue_vue_type_style_index_0_scoped_2c1dfcb3_lang-Cn-WotKa.js";import"./usePaging-Bij6EQ3J.js";import"./index-DKtNVlSx.js";import"./index-BpkD3cS5.js";import"./vuedraggable.umd-CWsRCxht.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-CWpCyOtx.js";import"./category-BYMTX_V1.js";import"./index-CJ97bP73.js";import"./index-BNS1aiir.js";import"./arrays-6TrVLtTe.js";import"./index.vue_vue_type_style_index_0_lang-Bi0HqMnl.js";const ce={class:"goods__edit"},le=S({name:"serverEdit"}),gt=S({...le,setup(ue){const u=$(),D=G();let q;(o=>{o.BASE_SETUP="base_setup",o.PRICE_STOCK="price_stock",o.GOODS_DETAIL="goods_detail",o.SALES_SETUP="sales_setup"})(q||(q={}));const _=u.query.read_only,t=h({active:"base_setup",TabsEnumMap:[{label:"基础设置",comp:f(se),type:"base_setup"},{label:"项目价格",comp:f(me),type:"price_stock"},{label:"服务详情",comp:f(ne),type:"goods_detail"},{label:"销售设置",comp:f(pe),type:"sales_setup"}]}),n=h({id:"",name:"",category_id:"",goods_image:[],price:"",scribing_price:"",status:1,duration:"",overtime_price:"",overtime_duration:"",appoint_start_time:"",appoint_end_time:"",skill_id:[],city_id:[],sort:0,commission_ratio:"",shop_ratio:"",content:"",virtual_order_num:"",tags:""}),{removeTab:M}=L(),w=U(),x=h({code:[{required:!0,message:"请输入商品货号",trigger:"change"}],name:[{required:!0,message:"请输入商品名称",trigger:"change"}],category_id:[{required:!0,message:"请选择商品分类",trigger:"change"}],skill_id:[{required:!0,message:"请选择服务技能",trigger:"change"}],goods_image:[{required:!0,message:"请选择商品轮播图",trigger:"change"}],appoint_start_time:[{required:!0,message:"请填写预约开始时间",trigger:"change"}],appoint_end_time:[{required:!0,message:"请填写预约结束时间",trigger:"change"}],price:[{required:!0,message:"请填写项目价格",trigger:"change"}],duration:[{required:!0,message:"请填写项目时长",trigger:"change"}],overtime_price:[{required:!0,message:"请填写加时费用",trigger:"change"}],overtime_duration:[{required:!0,message:"请填写加时时长",trigger:"change"}],content:[{required:!0,message:"请输商品详情",trigger:"change"}],commission_ratio:[{required:!0,message:"请输入技师佣金",trigger:"change"}],shop_ratio:[{required:!0,message:"请输入商家佣金",trigger:"change"}],status:[{required:!0,message:"请选择销售状态",trigger:"change"}]}),m=j(0),B=()=>{t.active=t.TabsEnumMap[m.value-1].type},P=()=>{t.active=t.TabsEnumMap[m.value+1].type};K(()=>t.active,o=>{const e=t.TabsEnumMap.findIndex(p=>p.type==o);m.value=e},{immediate:!0});const R=async()=>{const o=await oe({id:u.query.id});Object.keys(n).forEach(e=>{n[e]=o[e]})},V=async()=>{var o;try{await((o=w.value)==null?void 0:o.validate((e,p)=>{const g=["code","name","category_id","skill_id","goods_image","appoint_start_time","appoint_end_time"],b=["price","duration","overtime_price","overtime_duration"],v=["content"],y=["commission_ratio","shop_ratio","status"];for(const a in p)throw g.includes(a)?t.active="base_setup":b.includes(a)?t.active="price_stock":v.includes(a)?t.active="goods_detail":y.includes(a)&&(t.active="sales_setup"),Y.msgError(p[a][0].message),Error("请填写必填字段")})),u.query.id?await ae(n):await ie(n),T()}catch(e){console.log("保存商品报错",e)}},T=()=>{M(),D.back()};return z(()=>{u.query.id&&R()}),(o,e)=>{const p=re,g=te,b=Q,v=Z,y=de,a=ee,F=N,O=H("perms");return s(),C("div",ce,[l(g,{class:"!border-none",shadow:"never"},{default:i(()=>[l(p,{content:o.$route.meta.title,onBack:T},null,8,["content"])]),_:1}),l(g,{class:"mt-4 !border-none",shadow:"never","body-style":{"padding-top":"10px"}},{default:i(()=>[l(y,{ref_key:"formRef",ref:w,model:r(n),"label-width":"120px",rules:r(x),disabled:r(_)},{default:i(()=>[l(v,{modelValue:r(t).active,"onUpdate:modelValue":e[0]||(e[0]=c=>r(t).active=c),class:"demo-tabs"},{default:i(()=>[(s(!0),C(I,null,J(r(t).TabsEnumMap,(c,A)=>(s(),d(b,{key:A,label:c.label,name:c.type},{default:i(()=>[(s(),d(W(c.comp),{modelValue:r(n)},null,8,["modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["model","rules","disabled"])]),_:1}),X((s(),d(F,null,{default:i(()=>[r(m)!=0?(s(),d(a,{key:0,type:"primary",onClick:B,disabled:r(_)},{default:i(()=>e[1]||(e[1]=[k("上一步")])),_:1},8,["disabled"])):E("",!0),r(m)==r(t).TabsEnumMap.length-1?(s(),d(a,{key:1,type:"primary",onClick:V,disabled:r(_)},{default:i(()=>e[2]||(e[2]=[k("保存")])),_:1},8,["disabled"])):E("",!0),r(m)!=r(t).TabsEnumMap.length-1?(s(),d(a,{key:2,type:"primary",onClick:P,disabled:r(_)},{default:i(()=>e[3]||(e[3]=[k("下一步")])),_:1},8,["disabled"])):E("",!0)]),_:1})),[[O,["goods:product:add","goods:product:edit"]]])])}}});export{gt as default};
|