Files
aiot-platform-ui/apps/web-antd/dist/js/operator-selector-CygiwBan.js
lzh cb81829d4c
All checks were successful
Web UI CI/CD / build-and-deploy (push) Successful in 24s
chore: build and deploy web-antd
2026-01-14 14:15:09 +08:00

2 lines
3.7 KiB
JavaScript

import{m as L,aa as c,ce as A,w as x,ad as E,b2 as u,j as f,bJ as y,I as U,bb as S,ab as I,u as n,ae as o,bp as T,aJ as B}from"../jse/index-index-CAIAj58w.js";import{b as e,o as a}from"./constants-B5TthjFC.js";import{bT as _,ac as D}from"./bootstrap-CvQmCMXe.js";const h={class:"w-full"},R={class:"py-4px flex w-full items-center justify-between"},g={class:"gap-8px flex items-center"},F={class:"text-14px font-500 text-primary"},w={class:"text-12px px-6px py-2px rounded-4px bg-primary-light-9 font-mono text-primary"},V={class:"text-12px text-secondary"},H=L({name:"OperatorSelector",__name:"operator-selector",props:{modelValue:{},propertyType:{}},emits:["update:modelValue","change"],setup(O,{emit:v}){const p=O,m=v,t=A(p,"modelValue",m),r=[{value:a.EQUALS.value,label:a.EQUALS.name,symbol:"=",description:"值完全相等时触发",example:"temperature = 25",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.TEXT,e.BOOL,e.ENUM]},{value:a.NOT_EQUALS.value,label:a.NOT_EQUALS.name,symbol:"≠",description:"值不相等时触发",example:"power != false",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.TEXT,e.BOOL,e.ENUM]},{value:a.GREATER_THAN.value,label:a.GREATER_THAN.name,symbol:">",description:"值大于指定值时触发",example:"temperature > 30",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.DATE]},{value:a.GREATER_THAN_OR_EQUALS.value,label:a.GREATER_THAN_OR_EQUALS.name,symbol:"≥",description:"值大于或等于指定值时触发",example:"humidity >= 80",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.DATE]},{value:a.LESS_THAN.value,label:a.LESS_THAN.name,symbol:"<",description:"值小于指定值时触发",example:"temperature < 10",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.DATE]},{value:a.LESS_THAN_OR_EQUALS.value,label:a.LESS_THAN_OR_EQUALS.name,symbol:"≤",description:"值小于或等于指定值时触发",example:"battery <= 20",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.DATE]},{value:a.IN.value,label:a.IN.name,symbol:"∈",description:"值在指定列表中时触发",example:"status in [1,2,3]",supportedTypes:[e.INT,e.FLOAT,e.TEXT,e.ENUM]},{value:a.NOT_IN.value,label:a.NOT_IN.name,symbol:"∉",description:"值不在指定列表中时触发",example:"status not in [1,2,3]",supportedTypes:[e.INT,e.FLOAT,e.TEXT,e.ENUM]},{value:a.BETWEEN.value,label:a.BETWEEN.name,symbol:"⊆",description:"值在指定范围内时触发",example:"temperature between 20,30",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.DATE]},{value:a.NOT_BETWEEN.value,label:a.NOT_BETWEEN.name,symbol:"⊄",description:"值不在指定范围内时触发",example:"temperature not between 20,30",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.DATE]},{value:a.LIKE.value,label:a.LIKE.name,symbol:"≈",description:"字符串匹配指定模式时触发",example:'message like "%error%"',supportedTypes:[e.TEXT]},{value:a.NOT_NULL.value,label:a.NOT_NULL.name,symbol:"≠∅",description:"值非空时触发",example:"data not null",supportedTypes:[e.INT,e.FLOAT,e.DOUBLE,e.TEXT,e.BOOL,e.ENUM,e.DATE]}],N=c(()=>p.propertyType?r.filter(s=>s.supportedTypes.includes(p.propertyType||"")):r),i=c(()=>r.find(s=>s.value===t.value));function b(s){m("change",s)}return x(()=>p.propertyType,()=>{t.value&&i.value&&!i.value.supportedTypes.includes(p.propertyType||"")&&(t.value="")}),(s,d)=>(u(),E("div",h,[f(n(_),{modelValue:n(t),"onUpdate:modelValue":d[0]||(d[0]=l=>B(t)?t.value=l:null),placeholder:"请选择操作符",onChange:b,class:"w-full"},{default:y(()=>[(u(!0),E(U,null,S(N.value,l=>(u(),I(n(_).Option,{key:l.value,label:l.label,value:l.value},{default:y(()=>[o("div",R,[o("div",g,[o("div",F,T(l.label),1),o("div",w,T(l.symbol),1)]),o("div",V,T(l.description),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"])]))}}),k=D(H,[["__scopeId","data-v-5da3f08d"]]);export{k as default};