@wetspace/pro-components
Version:
::: tip 基本介绍
2 lines (1 loc) • 5.12 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),_=require("./schema.vue.js"),u=require("element-plus"),p=require("../../node_modules/.pnpm/@element-plus_icons-vue@2.3.1_vue@3.5.12_typescript@5.4.2_/node_modules/@element-plus/icons-vue/dist/index.js"),k=require("./types.js"),b=e.defineComponent({__name:"condition-fliter-form",props:k.wetConditionFliterFormProps,emits:["update:modelValue","change","update:conjunction"],setup(f,{emit:v}){const a=u.useNamespace("condition-fliter-form"),i=v,r=f,d=e.shallowRef(!1),C=e.computed(()=>[{title:"",property:"property",valueType:"select",valueEnum:(r.condition||[]).map(t=>({label:t.label,value:t.property})),formInputProps:{placeholder:"请选择筛选项",onChange(){d.value=!0}}},{title:"",property:"opreator",valueType:"select",formInputProps:{disabled:!0,placeholder:"请选择操作符",onChange(){d.value=!0}},dependency:{relyprops:["property"],dependencyChange({relyValues:t,setValue:l}){const n=(r.condition||[]).find(o=>o.property===t);return n?(d.value&&(l("opreator",n.opreator[0]),setTimeout(()=>{d.value=!1},100)),{formInputProps:{disabled:!1,options:n.opreator.map(o=>({label:r.opreatorsMap[o],value:o}))}}):null}}},{title:"",property:"value",formInputProps:{placeholder:"目标值",disabled:!0},valueEnum:["111","222"],dependency:{relyprops:["property","opreator"],dependencyChange({relyValues:t,setValue:l}){const n=(r.condition||[]).find(o=>o.property===t[0]);return n?(d.value&&(console.log("条件值触发设置"),l("value",void 0),setTimeout(()=>{d.value=!1},100)),{valueType:n.valueType,formInputProps:{...n.formInputProps,disabled:!t[1],placeholder:"目标值"}}):null}}}]),s=e.ref(),m=()=>{(r.modelValue||[]).forEach((t,l)=>{const n=new Date().getTime()+l;s.value||(s.value={}),s.value[l]=n})},V=()=>{const t=r.modelValue||[];s.value[t.length]=new Date().getTime(),t.push({property:"",opreator:"",value:void 0}),i("update:modelValue",t),i("change",t)},y=t=>{const l=Object.values(s.value);l.splice(t,1),l.forEach((o,c)=>{s.value[c]=o});const n=r.modelValue.filter((o,c)=>t!==c);console.log(s.value),i("update:modelValue",n),i("change",n)};e.watch(()=>r.modelValue,t=>{t&&!s.value&&m()});const h=()=>{i("update:modelValue",[]),i("change",[])},N=(t,l,n)=>{const o=r.modelValue||[];o[t]=n,i("update:modelValue",o),i("change",o)},g=()=>{r.conjunction==="and"?i("update:conjunction","or"):i("update:conjunction","and")};return e.onMounted(()=>{m()}),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(a).b()])},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("hd"))},[e.createVNode(e.unref(u.ElText),{tag:"b"},{default:e.withCtx(()=>l[1]||(l[1]=[e.createTextVNode(" 设置筛选条件 ")])),_:1})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("body"))},[r.modelValue&&r.modelValue.length>1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("body__hd"))},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(a).e("body__hd-r"),e.unref(a).is("t")])},null,2),e.createElementVNode("div",null,[e.createVNode(e.unref(u.ElButton),{link:"",size:"small",onClick:l[0]||(l[0]=()=>g())},{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElSpace),null,{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElText),{type:"info",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.conjunction==="and"?"且":"或"),1)]),_:1}),e.createVNode(e.unref(u.ElIcon),null,{default:e.withCtx(()=>[e.createVNode(e.unref(p.DCaret))]),_:1})]),_:1})]),_:1})]),e.createElementVNode("div",{class:e.normalizeClass([e.unref(a).e("body__hd-r"),e.unref(a).is("b")])},null,2),l[2]||(l[2]=e.createElementVNode("div",{style:{height:"20px",flex:"0 0 auto"}},null,-1))],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("body__conent"))},[s.value?(e.openBlock(),e.createBlock(e.unref(u.ElForm),{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.modelValue,(n,o)=>(e.openBlock(),e.createElementBlock("div",{key:s.value[o],class:e.normalizeClass(e.unref(a).e("condition-item"))},[e.createVNode(_.default,{"initial-values":n,span:8,prop:`${o}`,properties:C.value,style:{flex:"1"},onChange:(c,E)=>N(o,c,E)},null,8,["initial-values","prop","properties","onChange"]),e.createVNode(e.unref(u.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElButton),{icon:e.unref(p.CircleCloseFilled),link:"",type:"info",onClick:()=>y(o)},null,8,["icon","onClick"])]),_:2},1024)],2))),128))]),_:1})):e.createCommentVNode("",!0)],2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("footer"))},[e.createVNode(e.unref(u.ElButton),{type:"primary",link:"",icon:e.unref(p.CirclePlusFilled),onClick:V},{default:e.withCtx(()=>l[3]||(l[3]=[e.createTextVNode(" 添加筛选条件 ")])),_:1},8,["icon"]),e.createVNode(e.unref(u.ElButton),{type:"info",link:"",onClick:h},{default:e.withCtx(()=>l[4]||(l[4]=[e.createTextVNode(" 清空全部条件 ")])),_:1})],2)],2))}});exports.default=b;