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.

2 lines
6.1KB

  1. import{E as Q,r as F,B as W,b as p,c as s,L as c,h as u,f as a,i as j,d as f,F as V,H as C,e as R,u as _,j as B,t as X,k as Y}from"./index-dd5fae99.js";const Z={class:"orBox"},k={class:"flexbetween"},x=["onClick"],ee={key:0,class:"mx-48 my-17 bg-warning text-white rounded-full w-24 h-24 flex items-center justify-center"},le=Y({name:"conditionDialog"}),te=Object.assign(le,{props:{visible:{type:Boolean,default:!1,required:!0},data:Object},emits:["close","update:data"],setup(T,{emit:z}){const{filedConditionsOptions:d}=Q.dictStore.globalDicts||{},D=T,w=z,N=F(),l=F({groups:[]}),E={name:[{required:!0,message:"请输入企业名称",trigger:"blur"}]},I=async i=>{if(!i){w("close",!0);return}await i.validate(async n=>{if(n){const r=[];l.value.groups.length&&l.value.groups.forEach((y,$)=>{const O=y.conditions.map(m=>({id:m.id,title:d.find(g=>g.value===m.id).label,compare:m.compare,value:Array.of(m.value),valueType:d.find(g=>g.value===m.id).valueType}));r.push({groupType:"AND",conditions:O,cids:O.map(m=>m.id)})});const v={id:D.data.id,name:D.data.name,type:"CONDITION",props:{groups:r,groupsType:"OR"}};w("update:data",v),w("close",!0)}})},L=i=>{l.value.groups[i].conditions.push({})},P=(i,n)=>{l.value.groups[i].conditions.splice(n,1)},S=()=>{l.value.groups.push({conditions:[]})},H=i=>{l.value.groups.splice(i,1)},G=(i,n)=>{l.value.groups[i].conditions[n].compare=void 0,l.value.groups[i].conditions[n].value=void 0};return W(()=>D.visible,async i=>{i?l.value={groups:D.data.props.groups.map(n=>({conditions:n.conditions.map(r=>({...r,value:d.find(v=>v.value===r.id).type==="bool_condition"?r.value.join()*1:r.value.join()}))}))}:N.value.resetFields()}),(i,n)=>{const r=p("el-option"),v=p("el-select"),y=p("el-form-item"),$=p("el-col"),O=p("el-input"),m=p("Delete"),g=p("el-icon"),J=p("el-row"),q=p("Plus"),h=p("el-button"),K=p("el-form"),M=p("el-dialog");return s(),c(M,{"model-value":T.visible,title:"筛选数据",width:"840px","destroy-on-close":"",onClose:n[2]||(n[2]=U=>w("close"))},{footer:u(()=>[a(h,{type:"primary",onClick:n[0]||(n[0]=U=>I(N.value))},{default:u(()=>n[5]||(n[5]=[j(" 提交 ")])),_:1}),a(h,{onClick:n[1]||(n[1]=U=>w("close"))},{default:u(()=>n[6]||(n[6]=[j(" 关闭 ")])),_:1})]),default:u(()=>[a(K,{ref_key:"formRef",ref:N,model:l.value,rules:E,"label-suffix":":",class:"form"},{default:u(()=>[(s(!0),f(V,null,C(l.value.groups,(U,o)=>(s(),f("div",{key:o},[R("div",Z,[(s(!0),f(V,null,C(U.conditions,(A,t)=>(s(),c(J,{key:t,gutter:8,class:"mb-8"},{default:u(()=>[a($,{span:8},{default:u(()=>[a(y,{prop:`groups[${o}][conditions][${t}].id`,rules:{required:!0,message:"请选择项目字段"}},{default:u(()=>[a(v,{modelValue:l.value.groups[o].conditions[t].id,"onUpdate:modelValue":e=>l.value.groups[o].conditions[t].id=e,class:"w-full",onChange:e=>G(o,t)},{default:u(()=>[(s(!0),f(V,null,C(_(d),e=>(s(),c(r,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1032,["prop"])]),_:2},1024),a($,{span:6},{default:u(()=>[a(y,{prop:`groups[${o}][conditions][${t}].compare`,rules:{required:!0,message:"请选择判断符"}},{default:u(()=>[a(v,{modelValue:l.value.groups[o].conditions[t].compare,"onUpdate:modelValue":e=>l.value.groups[o].conditions[t].compare=e},{default:u(()=>[l.value.groups[o].conditions[t].id?(s(!0),f(V,{key:0},C(_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).judges,(e,b)=>(s(),c(r,{key:b,label:e,value:b},null,8,["label","value"]))),128)):B("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])]),_:2},1024),a($,{span:9},{default:u(()=>[a(y,{prop:`groups[${o}][conditions][${t}].value`,rules:{required:!0,message:"请选择或输入"}},{default:u(()=>[l.value.groups[o].conditions[t].id?_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).type==="bool_condition"?(s(),c(v,{key:1,modelValue:l.value.groups[o].conditions[t].value,"onUpdate:modelValue":e=>l.value.groups[o].conditions[t].value=e,class:"w-full"},{default:u(()=>[a(r,{label:"是",value:1}),a(r,{label:"否",value:0})]),_:2},1032,["modelValue","onUpdate:modelValue"])):_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).type==="value_condition"?(s(),c(v,{key:2,modelValue:l.value.groups[o].conditions[t].value,"onUpdate:modelValue":e=>l.value.groups[o].conditions[t].value=e,class:"w-full"},{default:u(()=>[(s(!0),f(V,null,C(_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).options,(e,b)=>(s(),c(r,{key:b,label:e,value:b},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).type==="single_condition"?(s(),c(v,{key:3,modelValue:l.value.groups[o].conditions[t].value,"onUpdate:modelValue":e=>l.value.groups[o].conditions[t].value=e,class:"w-full"},{default:u(()=>[(s(!0),f(V,null,C(_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).options,(e,b)=>(s(),c(r,{key:b,label:e,value:b},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).type==="range_condition"?(s(),c(O,{key:4,modelValue:l.value.groups[o].conditions[t].value,"onUpdate:modelValue":e=>l.value.groups[o].conditions[t].value=e},{append:u(()=>[j(X(_(d).find(e=>e.value===l.value.groups[o].conditions[t].id).unit),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):B("",!0):(s(),c(v,{key:0,class:"w-full"}))]),_:2},1032,["prop"])]),_:2},1024),a($,{span:1,class:"flex items-center text-danger delCol justify-end"},{default:u(()=>[a(g,{class:"cursor-pointer",onClick:e=>P(o,t)},{default:u(()=>[a(m)]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024))),128)),R("div",k,[a(h,{size:"small",onClick:A=>L(o)},{default:u(()=>[a(g,{class:"mr-4"},{default:u(()=>[a(q)]),_:1}),n[3]||(n[3]=j("且条件 "))]),_:2},1032,["onClick"]),U.length?B("",!0):(s(),f("span",{key:0,class:"text-danger cursor-pointer",onClick:A=>H(o)},[a(g,null,{default:u(()=>[a(m)]),_:1})],8,x))])]),o<l.value.groups.length-1?(s(),f("p",ee,"或")):B("",!0)]))),128)),a(h,{size:"small",type:"primary",plain:"",class:"mt-16",onClick:S},{default:u(()=>[a(g,{class:"mr-4"},{default:u(()=>[a(q)]),_:1}),n[4]||(n[4]=j("或条件 "))]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"])}}});export{te as default};