1 |
- import{S as be,g as q,a as _e,b as ve,p as Ce,c as Ve,d as ke}from"./index.8bf5af0b.js";import{V as L}from"./index.943a798d.js";import{m as xe,a as he,h as i}from"./elementPlus.12aff58e.js";import{d as Re,r as y,Q as F,j as Pe,a8 as c,o as b,c as S,M as o,G as l,a as C,B as Ne,ab as Se,u as B,K as U,F as w,E as T,$ as O,L as $}from"./vue.95e072e2.js";import{_ as Ue}from"./_plugin-vue_export-helper.c27b6911.js";import"./echarts.2703a7ac.js";const we={style:{position:"relative"}},$e={class:"dialog-footer"},Ee=Re({__name:"index",setup(Fe){const z=y(null),M=y("default"),V=y(!1),_=y(),n=F({number:"",name:"",country:"",brand:"",operation:[],currency:"",currencyCodePlatform:""}),j=e=>{e&&e.resetFields()},A=F({number:[{required:!0,message:"请输入平台编号",trigger:"blur"}],name:[{required:!0,message:"请输入平台名称",trigger:"blur"}],country:[{required:!0,message:"请输入国家",trigger:"blur"}],brand:[{required:!0,message:"请输入品牌",trigger:"blur"}],operation:[{required:!0,message:"请选择运营",trigger:"change"}],currency:[{required:!0,message:"请输入回款/余额币种",trigger:"blur"}],currencyCodePlatform:[{required:!0,message:"请输入平台货币",trigger:"blur"}]}),p=y([]),m=y(),E=new Map;let k=[];const d=F({border:"inner",keepSource:!0,showOverflow:!0,height:850,loading:!1,round:!0,toolbarConfig:{zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{buttons:"toolbar_buttons"}},rowConfig:{isHover:!0},columnConfig:{resizable:!0},pagerConfig:{enabled:!0,total:20,currentPage:1,pageSize:20,pageSizes:[10,20,30]},editConfig:{trigger:"manual",mode:"row",showStatus:!0,autoClear:!1},checkboxConfig:{reserve:!0,highlight:!0,range:!0},columns:[{type:"checkbox",width:50},{field:"platformNumber",title:"平台编号",editRender:{autofocus:".vxe-input--inner"},slots:{edit:"number_edit"},sortable:!0},{field:"platformName",title:"平台名称",editRender:{autofocus:".vxe-input--inner"},slots:{edit:"name_edit"}},{field:"country",title:"国家",editRender:{autofocus:".vxe-input--inner"},slots:{edit:"country_edit"}},{field:"brandName",title:"品牌",editRender:{},slots:{edit:"brand_edit"}},{field:"user_name",title:"运营",editRender:{},slots:{edit:"operation_edit"}},{field:"currencyCode",title:"回款币种",editRender:{},slots:{edit:"currency_edit"}},{field:"currencyCodePlatform",title:"回款/余额币种",editRender:{},slots:{edit:"currencyCodePlatform_edit"}},{title:"操作",width:120,slots:{default:"operate"}}],data:[]}),x=y([]),I={pageChange({currentPage:e,pageSize:t}){d.pagerConfig&&(d.pagerConfig.currentPage=e,d.pagerConfig.pageSize=t,v())}};async function D(e=1,t=100){try{const s=await q({page:e,limit:t});k=k.concat(s.data),s.data.length===t&&await D(e+1,t)}catch(s){console.error("Error fetching all tasks:",s)}}async function v(e={}){try{d.loading=!0;const t=await q({page:d.pagerConfig.currentPage,limit:d.pagerConfig.pageSize,...e});d.data=t.data,d.pagerConfig.total=t.total,k=[],await D()}catch(t){console.error("Error fetching task data:",t)}finally{d.loading=!1}}function G(e){z.value&&(d.pagerConfig&&(d.pagerConfig.currentPage=1),v(e.value))}const H=e=>{const t=m.value;return t?t.isEditByRow(e):!1},K=e=>{const t=m.value;t&&(E.set(e.id,{...e}),(!e.user||e.user.length===0)&&(e.user=x.value.filter(s=>e.user_name.includes(s.label)).map(s=>s.value)),t.setEditRow(e))},Q=e=>{const t=m.value;if(t){const s=E.get(e.id);s&&(Object.assign(e,s),E.delete(e.id)),t.clearEdit()}};async function X(){const e=m.value;if(e){const u={keys:e.getCheckboxRecords().map(f=>f.id)};try{(await Ce(u)).code===2e3&&(i({message:"删除成功",type:"success"}),await v())}catch{i({message:"删除失败",type:"error"})}}}const J=async()=>{const e=m.value;e&&(e.getCheckboxRecords().length>0?await L.modal.confirm("您确定要删除选中的数据?")==="confirm"&&(await X(),await e.removeCheckboxRow()):await L.modal.message({content:"请选择要删除的数据",status:"error"}))},W=[{field:"platformNumber",title:"平台编号"},{field:"platformName",title:"平台名称"},{field:"country",title:"国家"},{field:"brandName",title:"品牌"},{field:"user",title:"运营"},{field:"currencyCode",title:"回款币种"},{field:"currencyCodePlatform",title:"回款/余额币种"}],Y=e=>{for(const{field:t,title:s}of W)if(!e[t]||Array.isArray(e[t])&&e[t].length===0){i.error(`${s}不能为空`);return}if(!p.value.includes(e.currencyCode)){i.error("回款币种格式不正确,请重新选择");return}if(!p.value.includes(e.currencyCodePlatform)){i.error("回款/余额币种格式不正确,请重新选择");return}return!0};async function Z(e){if(m.value){const s={id:e.id,platformNumber:e.platformNumber,platformName:e.platformName,country:e.country,brandName:e.brandName,user:e.user,currencyCode:e.currencyCode,currencyCodePlatform:e.currencyCodePlatform};try{const u=await Ve(s);u.code===2e3?i.success("更新成功"):u.code==400?i.warning(`${u.data.description}`):i.error("更新失败")}catch(u){console.log("error:",u)}}}const ee=async e=>{const t=m.value;if(t){if(!Y(e))return;await t.clearEdit(),await Z(e),await v(),d.loading=!0,setTimeout(()=>{d.loading=!1},300)}};async function te(){const e={country:n.country,platformNumber:n.number,platformName:n.name,brandName:n.brand,currencyCode:n.currency,currencyCodePlatform:n.currencyCodePlatform,user:n.operation};try{(await ke(e)).code===2e3&&(V.value=!1,d.data.push(e),await v(),i({message:"创建成功",type:"success"}))}catch{i({message:"创建失败",type:"error"})}}const ae=async e=>{e&&await e.validate(async(t,s)=>{if(t){if(k.some(f=>String(f.platformNumber)===String(n.number))){await i({message:"平台编号已存在,请重新输入",type:"warning"});return}if(!p.value.includes(n.currency)){await i({message:"回款币种无效,请重新选择",type:"warning"});return}if(!p.value.includes(n.currencyCodePlatform)){await i({message:"回款/余额币种无效,请重新选择",type:"warning"});return}await te(),_.value.resetFields()}})};function oe(e){_.value&&_.value.resetFields(),e()}async function le(){try{const e=await _e();x.value=e.data.map(t=>({value:t.id,label:t.name}))}catch(e){console.error("Failed to fetch operation select:",e)}}async function re(){try{const e=await ve();p.value=e.data}catch{i.error("请求失败")}}const h=(e,t)=>{const s=e?p.value.filter(u=>u.toLowerCase().includes(e.toLowerCase())):p.value;t(s)},ne=e=>{n.currency=e},se=e=>{n.currencyCodePlatform=e};function ue(e,t){t.currencyCode=e}function de(e,t){t.currencyCodePlatform=e}return Pe(()=>{v(),le(),re()}),(e,t)=>{const s=c("el-card"),u=c("el-button"),f=c("vxe-button"),R=c("vxe-input"),ie=c("vxe-option"),ce=c("vxe-select"),P=c("el-autocomplete"),me=c("vxe-grid"),N=c("el-input"),g=c("el-form-item"),fe=c("el-option"),pe=c("el-select"),ge=c("el-form"),ye=c("el-dialog");return b(),S(w,null,[o(s,{class:"custom-card-style flex gap-1.5 justify-between mx-8"},{default:l(()=>[o(be,{ref_key:"selectorRef",ref:z,"onUpdate:filteredData":G},null,512)]),_:1}),o(s,{class:"mx-8 my-3"},{default:l(()=>[C("div",we,[o(me,Ne({ref_key:"xGrid",ref:m,stripe:""},d,Se(I)),{toolbar_buttons:l(()=>[o(u,{icon:B(xe),plain:"",type:"primary",onClick:t[0]||(t[0]=a=>V.value=!0)},{default:l(()=>[U(" 添加任务")]),_:1},8,["icon"]),o(u,{icon:B(he),plain:"",type:"danger",onClick:J},{default:l(()=>[U("删除")]),_:1},8,["icon"])]),operate:l(({row:a})=>[H(a)?(b(),S(w,{key:0},[o(f,{content:"取消",type:"text",onClick:r=>Q(a)},null,8,["onClick"]),o(f,{content:"保存",status:"success",type:"text",onClick:r=>ee(a)},null,8,["onClick"])],64)):(b(),T(u,{key:1,icon:"Edit",type:"text",onClick:r=>K(a)},null,8,["onClick"]))]),number_edit:l(({row:a})=>[o(R,{modelValue:a.platformNumber,"onUpdate:modelValue":r=>a.platformNumber=r},null,8,["modelValue","onUpdate:modelValue"])]),name_edit:l(({row:a})=>[o(R,{modelValue:a.platformName,"onUpdate:modelValue":r=>a.platformName=r},null,8,["modelValue","onUpdate:modelValue"])]),country_edit:l(({row:a})=>[o(R,{modelValue:a.country,"onUpdate:modelValue":r=>a.country=r},null,8,["modelValue","onUpdate:modelValue"])]),brand_edit:l(({row:a})=>[o(R,{modelValue:a.brandName,"onUpdate:modelValue":r=>a.brandName=r},null,8,["modelValue","onUpdate:modelValue"])]),operation_edit:l(({row:a})=>[o(ce,{modelValue:a.user,"onUpdate:modelValue":r=>a.user=r,multiple:""},{default:l(()=>[(b(!0),S(w,null,O(x.value,r=>(b(),T(ie,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),currency_edit:l(({row:a})=>[o(P,{modelValue:a.currencyCode,"onUpdate:modelValue":r=>a.currencyCode=r,debounce:100,"fetch-suggestions":h,"trigger-on-focus":!1,clearable:"",onSelect:r=>ue(r,a)},{default:l(({item:r})=>[C("div",null,$(r),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onSelect"])]),currencyCodePlatform_edit:l(({row:a})=>[o(P,{modelValue:a.currencyCodePlatform,"onUpdate:modelValue":r=>a.currencyCodePlatform=r,debounce:100,"fetch-suggestions":h,"trigger-on-focus":!1,clearable:"",onSelect:r=>de(r,a)},{default:l(({item:r})=>[C("div",null,$(r),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onSelect"])]),_:1},16)])]),_:1}),o(ye,{modelValue:V.value,"onUpdate:modelValue":t[10]||(t[10]=a=>V.value=a),"before-close":oe,style:{"border-radius":"10px"},title:"新建任务",width:"500"},{footer:l(()=>[C("div",$e,[o(u,{onClick:t[8]||(t[8]=a=>{V.value=!1,j(_.value)})},{default:l(()=>[U("取消")]),_:1}),o(u,{type:"primary",onClick:t[9]||(t[9]=a=>ae(_.value))},{default:l(()=>[U(" 确认")]),_:1})])]),default:l(()=>[o(ge,{ref_key:"taskRuleFormRef",ref:_,model:n,rules:A,size:M.value,class:"demo-taskRuleForm","label-width":"auto","status-icon":"",style:{"max-width":"600px"}},{default:l(()=>[o(g,{label:"平台编号",prop:"number"},{default:l(()=>[o(N,{modelValue:n.number,"onUpdate:modelValue":t[1]||(t[1]=a=>n.number=a),placeholder:"请输入平台编号"},null,8,["modelValue"])]),_:1}),o(g,{label:"平台名称",prop:"name"},{default:l(()=>[o(N,{modelValue:n.name,"onUpdate:modelValue":t[2]||(t[2]=a=>n.name=a),placeholder:"请输入平台名称"},null,8,["modelValue"])]),_:1}),o(g,{label:"国家",prop:"country"},{default:l(()=>[o(N,{modelValue:n.country,"onUpdate:modelValue":t[3]||(t[3]=a=>n.country=a),placeholder:"请输入国家"},null,8,["modelValue"])]),_:1}),o(g,{label:"品牌",prop:"brand"},{default:l(()=>[o(N,{modelValue:n.brand,"onUpdate:modelValue":t[4]||(t[4]=a=>n.brand=a),placeholder:"请输入品牌"},null,8,["modelValue"])]),_:1}),o(g,{label:"录入人员",prop:"operation"},{default:l(()=>[o(pe,{modelValue:n.operation,"onUpdate:modelValue":t[5]||(t[5]=a=>n.operation=a),"collapse-tags":"","collapse-tags-tooltip":"",multiple:"",placeholder:"请选择录入人员"},{default:l(()=>[(b(!0),S(w,null,O(x.value,a=>(b(),T(fe,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(g,{label:"回款币种",prop:"currency"},{default:l(()=>[o(P,{modelValue:n.currency,"onUpdate:modelValue":t[6]||(t[6]=a=>n.currency=a),debounce:100,"fetch-suggestions":h,"trigger-on-focus":!1,clearable:"",placeholder:"请输入回款币种",onSelect:ne},{default:l(({item:a})=>[C("div",null,$(a),1)]),_:1},8,["modelValue"])]),_:1}),o(g,{label:"回款/余额币种",prop:"currencyCodePlatform"},{default:l(()=>[o(P,{modelValue:n.currencyCodePlatform,"onUpdate:modelValue":t[7]||(t[7]=a=>n.currencyCodePlatform=a),debounce:100,"fetch-suggestions":h,"trigger-on-focus":!1,clearable:"",placeholder:"请输入回款/余额币种",onSelect:se},{default:l(({item:a})=>[C("div",null,$(a),1)]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model","rules","size"])]),_:1},8,["modelValue"])],64)}}});const Oe=Ue(Ee,[["__scopeId","data-v-b8d3cb11"]]);export{Oe as default};
|