var e=(e,t,a)=>new Promise((l,i)=>{var o=e=>{try{n(a.next(e))}catch(t){i(t)}},r=e=>{try{n(a.throw(e))}catch(t){i(t)}},n=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);n((a=a.apply(e,t)).next())});import{d as t,r as a,k as l,o as i,b as o,e as r,f as n,g as s,w as d,j as u,E as p,p as m,M as c,v as _,I as g,J as f,K as j,h as v,b6 as y,T as h,aV as x}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as b}from"./index-Bwtbh5WQ.js";import{_ as V}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as w}from"./index-BaXJ8CyS.js";import{u as C}from"./useTable-DzUOUR11.js";import{m as k,c as z,d as U,f as q}from"./synthesis-BIc3Ymli.js";import{f as P}from"./product-qKpGgPBm.js";import{E}from"./index-ZsMdSUVI.js";import{a as S,E as T}from"./index-BcfO0-fK.js";import{E as A,a as I}from"./index-D2gD5Tn5.js";import{E as W}from"./index-Dy3gZN7-.js";import{E as O}from"./index-C_S0YbqD.js";import{E as R}from"./index-B18-crhn.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";const D={class:"mb-3"},F={style:{padding:"0 20px","margin-bottom":"20px"}},M=t({__name:"index",setup(t){const M=a([]),$=a([]),B=a([]);const{data:H,loading:J,columns:K,pagination:L,handleSizeChange:Q,handleCurrentChange:X,getData:G}=C({core:{apiFn:e=>q(e).then(t=>({records:t.list||[],total:t.total,current:e.page,size:e.page_size})),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",width:70,align:"center"},{prop:"name",label:"配方名称",minWidth:150,showOverflowTooltip:!0},{prop:"materials",label:"材料",useSlot:!0,minWidth:200},{prop:"target",label:"目标商品",useSlot:!0,minWidth:150},{prop:"status",label:"状态",useSlot:!0,width:90,align:"center"},{prop:"actions",label:"操作",useSlot:!0,width:150}]}}),N=a(!1),Y=a("创建合成配方"),Z=a(null),ee=a(!1),te=l({name:"",description:"",target_product_id:void 0,status:1,materials:[]});function ae(){te.materials.push({fragment_product_id:void 0,required_count:1})}function le(){Y.value="创建合成配方",Z.value=null,te.name="",te.description="",te.target_product_id=void 0,te.status=1,te.materials=[],ae(),N.value=!0}function ie(){return e(this,null,function*(){if(!te.name||!te.target_product_id||0===te.materials.length)return void h.warning("请填写完整信息");const e=te.materials.filter(e=>e.fragment_product_id&&e.required_count>0);if(0!==e.length){ee.value=!0;try{const t={name:te.name,description:te.description,target_product_id:te.target_product_id,status:te.status,materials:e};Z.value?yield k(Z.value,t):yield z(t),N.value=!1,h.success("保存成功"),yield G()}catch(t){h.error((null==t?void 0:t.message)||"保存失败")}finally{ee.value=!1}}else h.warning("请添加至少一种材料")})}return i(()=>{!function(){e(this,null,function*(){try{const[e,t,a]=yield Promise.all([P({page:1,page_size:1e3}),P({page:1,page_size:1e3,is_fragment:1}),P({page:1,page_size:1e3,is_fragment:0})]);M.value=e.list||[],$.value=t.list||[],B.value=a.list||[]}catch(e){}})}(),G()}),(t,a)=>{const l=p,i=E,C=j,k=T,z=I,q=A,P=W,oe=O,re=S,ne=R;return r(),o("div",null,[n("div",D,[s(l,{type:"primary",onClick:le},{default:d(()=>[...a[7]||(a[7]=[u("创建合成配方",-1)])]),_:1})]),s(w,{columns:m(K),"onUpdate:columns":a[0]||(a[0]=e=>c(K)?K.value=e:null),loading:m(J),onRefresh:m(G)},null,8,["columns","loading","onRefresh"]),s(b,{loading:m(J),data:m(H),columns:m(K),pagination:m(L),"onPagination:sizeChange":m(Q),"onPagination:currentChange":m(X)},{materials:d(({row:e})=>[(r(!0),o(g,null,f(e.materials||[],(e,t)=>{return r(),o("div",{key:t,style:{"font-size":"12px","line-height":"1.6"}},_((a=e.fragment_product_id,(null==(l=M.value.find(e=>e.id===a))?void 0:l.name)||(null==(i=$.value.find(e=>e.id===a))?void 0:i.name)||`#${a}`))+" x"+_(e.required_count),1);var a,l,i}),128))]),target:d(({row:e})=>{var t;return[u(_((null==(t=e.target_product)?void 0:t.name)||e.target_product_id),1)]}),status:d(({row:e})=>[s(i,{type:1===e.status?"success":"danger"},{default:d(()=>[u(_(1===e.status?"启用":"禁用"),1)]),_:2},1032,["type"])]),actions:d(({row:t})=>[s(V,{type:"edit",onClick:e=>function(e){Y.value="编辑合成配方",Z.value=e.id,te.name=e.name,te.description=e.description||"",te.target_product_id=e.target_product_id,te.status=e.status,te.materials=(e.materials||[]).map(e=>({fragment_product_id:e.fragment_product_id,required_count:e.required_count})),0===te.materials.length&&ae(),N.value=!0}(t)},null,8,["onClick"]),s(V,{type:"delete",onClick:a=>function(t){return e(this,null,function*(){try{yield x.confirm("确定要删除该合成配方吗?","删除确认",{type:"warning"}),yield U(t),h.success("删除成功"),yield G()}catch(e){}})}(t.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),s(ne,{modelValue:N.value,"onUpdate:modelValue":a[6]||(a[6]=e=>N.value=e),title:Y.value,size:"600px"},{footer:d(()=>[s(l,{onClick:a[5]||(a[5]=e=>N.value=!1)},{default:d(()=>[...a[10]||(a[10]=[u("取消",-1)])]),_:1}),s(l,{type:"primary",onClick:ie,loading:ee.value},{default:d(()=>[...a[11]||(a[11]=[u("提交",-1)])]),_:1},8,["loading"])]),default:d(()=>[s(re,{model:te,"label-width":"110px"},{default:d(()=>[s(k,{label:"配方名称",required:""},{default:d(()=>[s(C,{modelValue:te.name,"onUpdate:modelValue":a[1]||(a[1]=e=>te.name=e),placeholder:"请输入配方名称"},null,8,["modelValue"])]),_:1}),s(k,{label:"配方描述"},{default:d(()=>[s(C,{modelValue:te.description,"onUpdate:modelValue":a[2]||(a[2]=e=>te.description=e),type:"textarea",rows:2,placeholder:"配方描述(可选)"},null,8,["modelValue"])]),_:1}),s(k,{label:"目标商品",required:""},{default:d(()=>[s(q,{modelValue:te.target_product_id,"onUpdate:modelValue":a[3]||(a[3]=e=>te.target_product_id=e),filterable:"",placeholder:"搜索非碎片商品",style:{width:"100%"}},{default:d(()=>[(r(!0),o(g,null,f(B.value,e=>(r(),v(z,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(k,{label:"状态"},{default:d(()=>[s(q,{modelValue:te.status,"onUpdate:modelValue":a[4]||(a[4]=e=>te.status=e)},{default:d(()=>[s(z,{value:1,label:"启用"}),s(z,{value:2,label:"禁用"})]),_:1},8,["modelValue"])]),_:1}),s(P,null,{default:d(()=>[...a[8]||(a[8]=[u("合成材料",-1)])]),_:1}),(r(!0),o(g,null,f(te.materials,(e,t)=>(r(),o("div",{key:t,style:{display:"flex",gap:"8px","margin-bottom":"12px","align-items":"center",padding:"0 20px"}},[s(q,{modelValue:e.fragment_product_id,"onUpdate:modelValue":t=>e.fragment_product_id=t,filterable:"",placeholder:"搜索碎片商品",style:{flex:"1"}},{default:d(()=>[(r(!0),o(g,null,f($.value,e=>(r(),v(z,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"]),s(oe,{modelValue:e.required_count,"onUpdate:modelValue":t=>e.required_count=t,min:1,max:999,style:{width:"130px"}},null,8,["modelValue","onUpdate:modelValue"]),s(l,{type:"danger",icon:m(y),circle:"",size:"small",onClick:e=>function(e){te.materials.splice(e,1)}(t)},null,8,["icon","onClick"])]))),128)),n("div",F,[s(l,{type:"primary",plain:"",onClick:ae},{default:d(()=>[...a[9]||(a[9]=[u("+ 添加材料",-1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{M as default};