You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
18 KiB
1 lines
18 KiB
import{v as Qe,f as Ye,r as x,l as h,aG as z,M as Ue,k as n,P as f,ai as _e,Q as K,al as Q}from"./index-be67c1b4.js";import{S as We}from"./sortable.esm-be94e56d.js";import{T as ue}from"./test-71dfb9c1.js";import{b as Xe,g as es,E as ss,C as ts,D as rs,ae as os,af as is,j as ns}from"./goods-ee796efd.js";import{j as as}from"./poster-b96e4060.js";import{u as ls}from"./diy_form-448d8e1e.js";import{r as cs}from"./range-6f7e3a39.js";function bs(b={}){const de=Qe(),w=Ye(),D=x(!1),o=h({goods_id:"",goods_type:"real",goods_name:"",sub_title:"",goods_image:"",goods_video:"",goods_category:"",brand_id:"",poster_id:"",form_id:"",label_ids:[],service_ids:[],supplier_id:"",status:"1",is_gift:0,sort:"",addon_shop_supplier:[],spec_type:"single",price:"",market_price:"",cost_price:"",stock:"",sku_no:"",unit:"",virtual_sale_num:"",member_discount:"",is_limit:0,limit_type:1,max_buy:"",min_buy:"",attr_format:[],attr_id:"",goods_desc:"",skuCheckAll:!1,skuIsIndeterminate:!1,skuCheckedCities:[]});Object.assign(o,b.formData),o.goods_id=x(de.query.goods_id);const fe=b.appendFormData;Object.assign(o,fe);const v=b.appendRefreshGoodsSkuData||{},Y=b.appendSingleGoodsData,U=b.getFormRules,N=h({}),O=b.getFormRef,P=h([]);z(()=>{let e=O();for(let r in e)N[r]=e[r];b.getVerify&&P.splice(0,P.length,...b.getVerify())});const ge=b.editApi,he=b.addApi,R=x("basic"),me=(e,r)=>{},W=h([]),ke=e=>{w.push(e.path)};Xe().then(e=>{const r=e.data;if(r)for(const s in r)W.push(r[s])});const A=h([]),ye={multiple:!0},ve=e=>{},be=()=>{const e=w.resolve({path:"/shop/goods/category"});window.open(e.href)},X=(e=!1)=>{es().then(r=>{const s=r.data;if(s){const t=[];s.forEach(a=>{const i=[];a.child_list&&a.child_list.forEach(c=>{i.push({value:c.category_id,label:c.category_name})}),t.push({value:a.category_id,label:a.category_name,children:i})}),A.splice(0,A.length,...t),e&&f({message:n("refreshSuccess"),type:"success"})}})};X();const F=h([]),we=()=>{const e=w.resolve({path:"/shop/goods/brand"});window.open(e.href)},ee=(e=!1)=>{ss({}).then(r=>{const s=r.data;s&&(F.splice(0,F.length,...s),e&&f({message:n("refreshSuccess"),type:"success"}))})};ee();const I=h([]),Ne=()=>{const e=w.resolve({path:"/poster/list"});window.open(e.href)},se=(e=!1)=>{as({type:"shop_goods"}).then(r=>{const s=r.data;s&&(I.splice(0,I.length,...s),e&&f({message:n("refreshSuccess"),type:"success"}))})};se();const j=h([]),Se=()=>{const e=w.resolve({path:"/diy_form/list"});window.open(e.href)},te=(e=!1)=>{ls({type:"DIY_FORM_GOODS_DETAIL",status:1}).then(r=>{const s=r.data;s&&(j.splice(0,j.length,...s),e&&f({message:n("refreshSuccess"),type:"success"}))})};te();const G=h([]),Ee=()=>{const e=w.resolve({path:"/shop/goods/label"});window.open(e.href)},re=()=>{ts({}).then(e=>{const r=e.data;r&&G.splice(0,G.length,...r)})};re();const $=h([]),Te=()=>{const e=w.resolve({path:"/shop/goods/service"});window.open(e.href)},oe=()=>{rs({}).then(e=>{const r=e.data;r&&$.splice(0,$.length,...r)})};oe();const L=h([]),Ce=()=>{const e=w.resolve({path:"/shop_supplier/supplier"});window.open(e.href)},ie=()=>{os({}).then(e=>{const r=e.data;r&&L.splice(0,L.length,...r)})},d=h([]),l=h({}),B=h([]),ne=x(0),S=()=>ne.value>0,xe=e=>{if(o.addon_shop_supplier=e.addon_shop_supplier,o.addon_shop_supplier&&o.addon_shop_supplier.status==1&&ie(),o.goods_id&&e.goods_info){if(ne.value=e.goods_info.active_goods_count,o.goods_name=e.goods_info.goods_name,o.sub_title=e.goods_info.sub_title,o.goods_type=e.goods_info.goods_type,o.goods_image=e.goods_info.goods_image,o.goods_video=e.goods_info.goods_video,o.goods_category=e.goods_info.goods_category,o.brand_id=e.goods_info.brand_id,o.poster_id=e.goods_info.poster_id,o.form_id=e.goods_info.form_id,o.label_ids=e.goods_info.label_ids,o.service_ids=e.goods_info.service_ids,o.supplier_id=e.goods_info.supplier_id,o.status=e.goods_info.status,o.sort=e.goods_info.sort,o.is_gift=e.goods_info.is_gift,o.attr_format=e.goods_info.attr_format?JSON.parse(e.goods_info.attr_format):[],o.attr_id=e.goods_info.attr_id,q.value=!0,pe(o.attr_id||-1),o.spec_type=e.goods_info.spec_type,o.stock=e.goods_info.stock,o.spec_type=="single"){const r=e.goods_info.sku_list[0];o.price=r.price,o.market_price=r.market_price,o.cost_price=r.cost_price,o.sku_no=r.sku_no,Y&&Object.assign(o,Y(r))}else if(o.spec_type=="multi"){e.goods_info.spec_list.forEach(t=>{const a=[];t.spec_values=t.spec_values.split(","),t.spec_values.forEach(i=>{a.push({id:E(),spec_value_name:i})}),d.push({id:E(),spec_id:t.spec_id,goods_id:t.goods_id,spec_name:t.spec_name,values:a})}),T();const s=e.goods_info.sku_list;for(let t in l)for(let a=0;a<s.length;a++){let i=s[a];if(l[t].spec_name==i.sku_spec_format.replace(/,/g," ")){l[t].sku_id=i.sku_id,l[t].sku_image=i.sku_image,l[t].price=i.price,l[t].market_price=i.market_price,l[t].cost_price=i.cost_price;for(let c in v)l[t][c]=i[c];l[t].stock=i.stock,l[t].sku_id=i.sku_id,l[t].sku_no=i.sku_no,l[t].is_default=i.is_default;break}}z(()=>{C(),ae()})}o.member_discount=e.goods_info.member_discount,o.unit=e.goods_info.unit,o.virtual_sale_num=e.goods_info.virtual_sale_num,o.is_limit=e.goods_info.is_limit,o.limit_type=e.goods_info.limit_type,o.max_buy=e.goods_info.max_buy,o.min_buy=e.goods_info.min_buy,o.goods_desc=e.goods_info.goods_desc}},ae=()=>{if(!S()&&O().specValueRef)for(let e=0;e<O().specValueRef.length;e++){const r=O().specValueRef[e],s=We.create(r,{group:"draggable-element-"+e,animation:200,onEnd:t=>{const a=d[e].values[t.oldIndex];d[e].values.splice(t.oldIndex,1),d[e].values.splice(t.newIndex,0,a),z(()=>{s.sort(cs(d[e].values.length).map(i=>i.toString())),T(),C()})}})}},E=(e=5)=>Number(Math.random().toString().substr(3,e)+Date.now()).toString(36),De=()=>{if(S()){f({type:"warning",message:`${n("participateInActiveDisableTips")}`});return}if(d.length>4){f({type:"warning",message:`${n("maxAddSpecTips")}`});return}d.push({id:E(),spec_name:"",values:[{id:E(),spec_value_name:""}]})},Oe=e=>{if(S()){f({type:"warning",message:`${n("participateInActiveDisableTips")}`});return}d.splice(e,1),T(),C(),V()},Re=e=>{if(S()){f({type:"warning",message:`${n("participateInActiveDisableTips")}`});return}d[e].values.push({id:E(),spec_value_name:""}),ae()},Pe=_e(e=>{T(),C()}),Ae=(e,r)=>{if(S()){f({type:"warning",message:`${n("participateInActiveDisableTips")}`});return}d[e].values.splice(r,1),T(),C(),V()},Fe=(e,r)=>{for(const s in l)s==r?l[s].is_default=e:l[s].is_default=0},V=_e(()=>{let e=0;for(const r in l)l[r].stock&&(e+=parseInt(l[r].stock));o.stock=e}),T=()=>{const e=d,r=K(l);let s={},t=0;for(const i of e){let c={};if(Object.keys(s).length>0)for(const u in s)for(let _ of i.values){let y=K(s[u].sku_spec);y.push(_),c["sku_"+t]={spec_name:`${s[u].spec_name} ${_.spec_value_name}`,sku_spec:y,sku_image:"",price:"",market_price:"",cost_price:"",stock:"",sku_no:"",is_default:0};for(let m in v)c["sku_"+t][m]=v[m].value;t++}else for(let u of i.values){let _=u.spec_value_name;c["sku_"+t]={spec_name:_,sku_spec:[u],sku_image:"",price:"",market_price:"",cost_price:"",stock:"",sku_no:"",is_default:0};for(let y in v)c["sku_"+t][y]=v[y].value;t++}s=Object.keys(c).length>0?c:s}for(const i in r)for(const c in s)if(Ie(r[i].sku_spec,s[c].sku_spec)===s[c].sku_spec.length){const _=s[c].spec_name,y=s[c].sku_spec;Object.assign(s[c],r[i]),s[c].spec_name=_,s[c].sku_spec=y;break}for(const i in l)delete l[i];let a="";for(const i in s)a==""?(a=i,s[i].is_default=1):s[i].is_default=0,l[i]=s[i];o.skuCheckAll=!1,o.skuIsIndeterminate=!1,o.skuCheckedCities=[]},Ie=(e,r)=>{let s=0;for(let t=0;t<e.length;t++)for(let a=0;a<r.length;a++)if(e[t].id===r[a].id){s++;break}return s},C=()=>{let e=0;for(let t=0;t<d.length;t++)d[t].spec_name!=""&&d[t].values.length>0&&e++;let r=1;const s=[];for(let t=e-1;t>=0;t--){for(let a=0;a<Object.keys(l).length;)if(d[t].values.length>0)for(let i of d[t].values)s.push({index:a,colSpan:t,rowSpan:r,spec_value_name:i.spec_value_name}),a=a+r;else a++;r=r*d[t].values.length}s.reverse(),B.splice(0,B.length,...s)},p=h({spec:"",price:"",market_price:"",cost_price:"",stock:"",sku_no:""});var le={};for(let e in v)le[e]=v[e].value;Object.assign(p,le);const je=e=>{o.skuIsIndeterminate=!1,e?o.skuCheckedCities=Object.keys(l):o.skuCheckedCities=[]},Ge=e=>{const r=e.length;o.skuCheckAll=r===Object.keys(l).length,o.skuIsIndeterminate=r>0&&r<Object.keys(l).length},$e=()=>{if(o.skuCheckedCities.length==0){f({type:"warning",message:`${n("pleaseSelectSku")}`});return}if(p.price&&(isNaN(p.price)||!g.digit.test(p.price))){f({type:"warning",message:`${n("priceTips")}`});return}if(p.market_price&&(isNaN(p.market_price)||!g.digit.test(p.market_price))){f({type:"warning",message:`${n("marketPriceTips")}`});return}if(p.cost_price&&(isNaN(p.cost_price)||!g.digit.test(p.cost_price))){f({type:"warning",message:`${n("costPriceTips")}`});return}if(p.stock&&(isNaN(p.stock)||!g.number.test(p.stock))){f({type:"warning",message:`${n("stockTips")}`});return}for(let e in v){let r=g[v[e].regExp],s=v[e].message;if(p[e]&&(isNaN(p[e])||!r.test(p[e]))){f({type:"warning",message:s});return}}o.skuCheckedCities.forEach(e=>{p.price&&(l[e].price=p.price),p.market_price&&(l[e].market_price=p.market_price),p.cost_price&&(l[e].cost_price=p.cost_price),p.stock&&(l[e].stock=p.stock);for(let r in v)p[r]&&(l[e][r]=p[r]);p.sku_no&&(l[e].sku_no=p.sku_no)}),p.price="",p.market_price="",p.cost_price="",p.stock="",p.sku_no="";for(let e in v)p[e]=""},g={required:/[\S]+/,number:/^\d{0,10}$/,digit:/^\d{0,10}(.?\d{0,2})$/,special:/^\d{0,10}(.?\d{0,3})$/},Le=Ue(()=>{let e={goods_name:[{required:!0,trigger:"blur",validator:(r,s,t)=>{s===""&&t(new Error(n("goodsNamePlaceholder"))),s.length>60?t(new Error(n("goodsNameMaxLengthTips"))):t()}}],sub_title:[{trigger:"blur",validator:(r,s,t)=>{s.length>80?t(new Error(n("subTitleMaxLengthTips"))):t()}}],goods_image:[{required:!0,message:n("goodsImagePlaceholder"),trigger:"blur"}],goods_category:[{required:!0,message:n("goodsCategoryPlaceholder"),trigger:"blur"}],sort:[{trigger:"blur",validator:(r,s,t)=>{isNaN(s)||!g.number.test(s)?t(new Error(n("sortTips"))):t()}}],price:[{trigger:"blur",validator:(r,s,t)=>{o.spec_type=="single"?s===""?t(new Error(n("pricePlaceholder"))):isNaN(s)||!g.digit.test(s)?t(new Error(n("priceTips"))):s<0?t(new Error(n("priceNotZeroTips"))):t():t()}}],market_price:[{trigger:"blur",validator:(r,s,t)=>{o.spec_type=="single"?isNaN(s)||!g.digit.test(s)?t(new Error(n("marketPriceTips"))):s<0?t(new Error(n("marketPriceNotZeroTips"))):t():t()}}],cost_price:[{trigger:"blur",validator:(r,s,t)=>{o.spec_type=="single"?isNaN(s)||!g.digit.test(s)?t(new Error(n("costPriceTips"))):s<0?t(new Error(n("costPriceNotZeroTips"))):t():t()}}],stock:[{trigger:"blur",validator:(r,s,t)=>{o.spec_type=="single"?s===""?t(new Error(n("stockPlaceholder"))):isNaN(s)||!g.number.test(s)?t(new Error(n("stockTips"))):s<0?t(new Error(n("stockNotZeroTips"))):t():t()}}],virtual_sale_num:[{trigger:"blur",validator:(r,s,t)=>{o.spec_type=="single"?isNaN(s)||!g.number.test(s)?t(new Error(n("virtualSaleNumTips"))):s<0?t(new Error(n("virtualSaleNumNotZeroTips"))):t():t()}}],spec_type:[{trigger:"blur",validator:(r,s,t)=>{o.spec_type=="multi"&&Object.keys(l).length==0&&t(new Error(n("pleaseEditSpecPlaceholder"))),t()}}],max_buy:[{trigger:"blur",validator:(r,s,t)=>{s===""?t(new Error(n("maxBuyPlaceholder"))):isNaN(s)||!g.number.test(s)?t(new Error(n("maxBuyTips"))):s<1?t(new Error(n("maxBuyNotZeroTips"))):t()}}],min_buy:[{trigger:"blur",validator:(r,s,t)=>{isNaN(s)||!g.number.test(s)?t(new Error(n("minBuyFormatErrorTips"))):s<0?t(new Error(n("minBuyNotZeroTips"))):o.is_limit==1&&s>Number(o.max_buy)?t(new Error(n("minBuyGreaterThanMaxBuyTips"))):t()}}],goods_desc:[{required:!0,trigger:["blur","change"],validator:(r,s,t)=>{if(s==="")t(new Error(n("goodsDescPlaceholder")));else{if(s.length<5||s.length>5e4)return t(new Error(n("goodsDescMaxTips"))),!1;t()}}}]};return U&&Object.assign(e,U(o,g)),e}),Be=()=>[{trigger:"blur",validator:(e,r,s)=>{o.spec_type=="multi"?r.length==0?s(n("pricePlaceholder")):isNaN(r)||!g.digit.test(r)?s(n("priceTips")):r<0?s(n("priceNotZeroTips")):s():s()}}],Ve=()=>[{trigger:"blur",validator:(e,r,s)=>{o.spec_type=="multi"?isNaN(r)||!g.digit.test(r)?s(n("marketPriceTips")):r<0?s(n("marketPriceNotZeroTips")):s():s()}}],Me=()=>[{trigger:"blur",validator:(e,r,s)=>{o.spec_type=="multi"?isNaN(r)||!g.digit.test(r)?s(n("costPriceTips")):r<0?s(n("costPriceNotZeroTips")):s():s()}}],Ze=()=>[{trigger:"blur",validator:(e,r,s)=>{o.spec_type=="multi"?r.length==0?s(n("stockPlaceholder")):isNaN(r)||!g.number.test(r)?s(n("stockTips")):r<0?s(n("stockNotZeroTips")):s():s()}}],qe=e=>{let r=[{key:"basic",verify:!1,ref:N.basicFormRef},{key:"price_stock",verify:!1,ref:N.priceStockFormRef},{key:"price_stock",verify:!1,ref:N.skuFormRef},{key:"price_stock",verify:!1,ref:N.priceStockCommonFormRef}];r=r.concat(P);let s={key:"detail",verify:!1,ref:N.detailFormRef};if(r.push(s),r.forEach((t,a)=>{t.ref.validate(i=>{t.verify=i})}),o.spec_type=="multi"){let t=!0,a=[],i=[];for(let u=0;u<d.length;u++){const _=d[u];if(ue.require(_.spec_name)){t=!1,f({type:"warning",message:`${n("specNameRequire")}`});break}if(a.indexOf(_.spec_name)>-1){t=!1,f({type:"warning",message:`${n("specNameRepeat")}`});break}else a.push(_.spec_name);if(_.values.length)for(let y=0;y<_.values.length;y++){const m=_.values[y];if(ue.require(m.spec_value_name)){t=!1,f({type:"warning",message:`${n("specValueRequire")}`});break}if(i.indexOf(m.spec_value_name)>-1){t=!1,f({type:"warning",message:`${n("specValueNameRepeat")}`});break}else i.push(m.spec_value_name)}else t=!1,f({type:"warning",message:`${n("specValueRequire")}`});if(!t)break}if(!t){R.value="price_stock";return}let c=!1;for(const u in l)l[u].is_default&&(c=!0);if(!c){R.value="price_stock",f({type:"warning",message:`${n("lackDefaultSpec")}`});return}}setTimeout(()=>{let t=!0;for(let a=0;a<r.length;a++)if(r[a].verify==!1){R.value=r[a].key,t=!1;break}t&&e&&e()},10)},He=(e=null)=>{qe(()=>{if(D.value)return;D.value=!0;const r=o.goods_id?ge:he,s=K(o);if(s.spec_type=="multi"){s.stock=0;for(const i in l)l[i].stock&&(s.stock+=parseInt(l[i].stock))}const t=[];s.goods_category.forEach(i=>{typeof i=="object"?i.forEach(c=>{t.indexOf(c)==-1&&t.push(c)}):t.indexOf(i)==-1&&t.push(i)}),s.goods_category=t,s.goods_sku_data=l,s.goods_spec_format=d,s.attr_format=[],Q(k).forEach((i,c)=>{if(i.attr_value_name&&i.select_child_val||i.attr_value_id>0){let u={};u.attr_value_id=i.attr_value_id,u.attr_value_name=i.attr_value_name,u.type=i.type,u.sort=i.sort,u.attr_child_value_id=i.select_child_name,u.attr_child_value_name=i.select_child_val,s.attr_format.push(u)}}),s.attr_format.sort((i,c)=>c.sort-i.sort),s.attr_format=JSON.stringify(s.attr_format),e&&Object.assign(s,e(s)),r(s).then(i=>{D.value=!1,w.push("/shop/goods/list")}).catch(()=>{D.value=!1})})},Je=()=>{w.push("/shop/goods/list")},ze=e=>{e.target.value=e.target.value.replace(/[^\u4e00-\u9fa5a-zA-Z0-9\s]/g,""),e.target.value=e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g,"")},Ke=e=>{var r;(r=N.detailFormRef.value)==null||r.validateField("goods_desc")},M=h([]),ce=()=>{is({}).then(e=>{M.splice(0,M.length,...e.data)})};ce();let Z=!1;const k=h([]),q=x(!1),pe=(e=0)=>{if(Z||!e)return!1;Z=!0;let r=e==-1?0:e;ns(r).then(s=>{let t=Object.keys(s.data).length&&s.data.attr_value_format?JSON.parse(s.data.attr_value_format):[],a=Q(k);if(a=a.filter(i=>i.attr_value_id<=0),t.filter(i=>{i.select_child_name=i.type=="checkbox"?[]:"",i.select_child_val=i.type=="checkbox"?[]:""}),a=a.concat(t),k.splice(0,k.length,...a),Z=!1,q.value){let i=o.attr_format.map(_=>_.attr_value_id),c=Q(k);c=c.filter(_=>i.indexOf(_.attr_value_id)>-1),o.attr_format.forEach((_,y)=>{c.forEach((m,H,J)=>{m.attr_value_id==_.attr_value_id&&(J[H].select_child_name=_.attr_child_value_id,J[H].select_child_val=_.attr_child_value_name,J[H].sort=_.sort)})});let u=c.map(_=>_.attr_value_id);o.attr_format.forEach((_,y)=>{if(u.indexOf(_.attr_value_id)==-1&&_.type=="text"){let m={};m.attr_value_id=_.attr_value_id,m.attr_value_name=_.attr_value_name,m.sort=_.sort,m.type="text",m.select_child_name=_.attr_child_value_id,m.select_child_val=_.attr_child_value_name,c.push(m)}}),c.sort((_,y)=>y.sort-_.sort),k.splice(0,k.length,...c),q.value=!1}})};return{formData:o,activeName:R,tabHandleClick:me,goodsType:W,changeGoodsType:ke,goodsCategoryOptions:A,goodsCategoryProps:ye,categoryHandleChange:ve,toGoodsCategoryEvent:be,refreshGoodsCategory:X,brandOptions:F,toGoodsBrandEvent:we,refreshGoodsBrand:ee,posterOptions:I,toPosterEvent:Ne,refreshGoodsPoster:se,diyFormOptions:j,toDiyFormEvent:Se,refreshDiyForm:te,labelOptions:G,toGoodsLabelEvent:Ee,refreshGoodsLabel:re,serviceOptions:$,toGoodsServiceEvent:Te,refreshGoodsService:oe,supplierOptions:L,toSupplierEvent:Ce,refreshSupplier:ie,goodsSpecFormat:d,goodsSkuData:l,specData:B,generateRandom:E,isDisabledPrice:S,addSpec:De,deleteSpec:Oe,addSpecValue:Re,specValueNameInputListener:Pe,deleteSpecValue:Ae,specValueIsDefaultChangeListener:Fe,specStockSum:V,batchOperation:p,skuHandleCheckAllChange:je,handleCheckedCitiesChange:Ge,saveBatch:$e,regExp:g,formRules:Le,skuPriceRules:Be,skuMarketPriceRules:Ve,skuCostPriceRules:Me,skuStockRules:Ze,handleGoodsInit:xe,save:He,back:Je,filterSpecial:ze,handleBlur:Ke,attrOptions:M,attrChange:pe,getAttrListFn:ce,attrTableData:k,addAttr:()=>{let e={attr_value_id:"",attr_value_name:"",child:{id:1,name:""},sort:"",type:"text",select_child_name:"",select_child_val:""};e.attr_value_id=-Math.floor(new Date().getSeconds()+Math.floor(new Date().getMilliseconds())),e.sort=k.length+1,k.push(e)},delAttr:e=>{k.splice(e,1)},attrRadioChange:(e,r)=>{k.forEach((s,t,a)=>(s.type=="radio"&&s.child.forEach((i,c)=>{i.id==r&&(a[t].select_child_name=i.id,a[t].select_child_val=i.name)}),s))},attrCheckboxChange:(e,r)=>{k[e].select_child_val=[],k[e].child.forEach((s,t)=>{r.indexOf(s.id)>-1&&k[e].select_child_val.push(s.name)})}}}export{bs as u};
|
|
|