vue-pure-admin/dist/static/js/selector-CM3nv3dC.js
2024-03-21 16:24:24 +08:00

2 lines
3.6 KiB
JavaScript

import{d as A,$ as F,c as B,a1 as j,q as M,m as o,u as w,F as I,da as N,db as c,dc as d,X as T,r as D,x as C,y as X,k as z,e as H,f as G,j as L,g as J,t as R,K as O}from"./index-DZuaHQDs.js";const i="stay",h="hs-on",f="hs-off",m="hs-range",g="both-left-sides",S="both-right-sides";let K="right",b=[],s=[];const P={HsKey:{type:Number||String,default:0},disabled:{type:Boolean,default:!1},value:{type:Number,default:0},max:{type:Array,default(){return[1,2,3,4,5,6,7,8,9,10]}},echo:{type:Array,default(){return[]}}},Q=A({name:"ReSelector",props:P,emits:["selectedVal"],setup(l,{emit:_}){const a=F(),y=l.value,q=B(()=>l.disabled),v=B(()=>{const e=[];let t=0,r=y;for(y!==Math.floor(y)&&r--;t<r;t++)e.push(h);for(;t<l.max.length;t++)e.push(f);return e}),x=e=>{if(!l.disabled){if(s.length===1){b.length<1&&b.push({index:e});let t=b[0].index;if(e>t)for(K="right",N(!1,S,document.querySelector(".hs-select__item"+s[0].index));e>=t;)c(document.querySelector(".hs-select__item"+t),m),t++;else for(K="left",N(!0,S,document.querySelector(".hs-select__item"+s[0].index));e<=t;)c(document.querySelector(".hs-select__item"+t),m),t--}c(document.querySelector("."+f+e),h)}},u=e=>{if(l.disabled)return;const t=document.querySelector("."+f+e);if(t.className.includes(i))return!1;if(d(t,h),s.length===1){const r=b[0].index;if(e>=r)for(let n=0;n<=e;n++)d(document.querySelector(".hs-select__item"+n),m);else for(;e<=r;)d(document.querySelector(".hs-select__item"+e),m),e++}},V=(e,t)=>{if(l.disabled)return;const r=s.length;r<2?(s.push({item:t,index:e}),c(document.querySelector("."+f+e),i),c(document.querySelector(".hs-select__item"+s[0].index),g),s[1]&&(K==="right"?c(document.querySelector(".hs-select__item"+s[1].index),S):c(document.querySelector(".hs-select__item"+s[1].index),g)),r===1&&(K==="right"?_("selectedVal",{left:s[0].item,right:s[1].item,whole:s}):_("selectedVal",{left:s[1].item,right:s[0].item,whole:s}))):M(()=>{s.forEach(n=>{d(document.querySelector("."+f+n.index),h,i),d(document.querySelector(".hs-select__item"+n.index),g,S)}),s=[],b=[];for(let n=0;n<=l.max.length;n++){const $=document.querySelector(".hs-select__item"+n);$&&d($,m)}s.push({item:t,index:e}),c(document.querySelector("."+f+e),i),c(document.querySelector(".hs-select__item"+s[0].index),g)})},E=e=>{if(e.length!==0){if(e.length>2||e.length===1)throw"传入的数组长度必须是2";for(e.sort((t,r)=>t-r),c(a.refs["hsdiv"+l.HsKey+e[0]],h,i),c(a.refs["hstd"+l.HsKey+e[0]],g),c(a.refs["hsdiv"+l.HsKey+e[1]],h,i),c(a.refs["hstd"+l.HsKey+e[1]],S);e[1]>=e[0];)c(a.refs["hstd"+l.HsKey+e[0]],m),e[0]++}};return j(()=>{M(()=>{E(l.echo)})}),()=>o(I,null,[o("table",{cellspacing:"0",cellpadding:"0"},[o("tbody",null,[o("tr",null,[l.max.map((e,t)=>o("td",{"data-index":l.HsKey,ref:`hstd${l.HsKey}${t}`,class:`hs-select__item${t}`,onMousemove:()=>x(t),onMouseleave:()=>u(t),onClick:()=>V(t,e),style:{cursor:w(q)?"auto":"pointer",textAlign:"center"},key:t},[o("div",{ref:`hsdiv${l.HsKey}${t}`,class:`hs-item ${[w(v)[t]+t]}`},[o("span",null,[e])])]))])])])])}}),U=T(Q),W={class:"font-medium"},Y={key:0,class:"mt-3"},k=A({name:"Selector",__name:"selector",setup(l){const _=D(""),a=D([{title:"基础用法",echo:[],disabled:!1},{title:"回显模式",echo:[2,7],disabled:!0}]),y=({left:q,right:v})=>{_.value=`${q}-${v}`};return(q,v)=>{const x=z("el-card");return H(),C("div",null,[(H(!0),C(I,null,X(a.value,(u,V)=>(H(),G(x,{key:V,class:"mb-2",shadow:"never"},{header:L(()=>[J("span",W,R(u.title),1)]),default:L(()=>[o(w(U),{HsKey:V,echo:u.echo,disabled:u.disabled,onSelectedVal:y},null,8,["HsKey","echo","disabled"]),u.disabled?O("",!0):(H(),C("h4",Y,"选中范围:"+R(_.value),1))]),_:2},1024))),128))])}}});export{k as default};