2 lines
2.4 KiB
Java
2 lines
2.4 KiB
Java
import{bo as D,a4 as J,aQ as S,aG as U}from"./index-X7Y8jykP.js";import V from"./VarTextarea-CUQCmBa3-BoQnz82v.js";import{e as q,h as A,o as F,r as G,c as $,K as x,C as t,z as e,Q as u,H as v,F as y,D as m,G as z,y as k,f as h,J as E,u as I}from"./vue-vendor-DNhG1Cve.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./index-CfNJyBRj.js";import"./dropdown-jkliuVyN.js";const L={class:"table-header"},M={class:"table-row"},Q={class:"table-body"},_=["onClick"],j={key:0,class:"table-footer"},W=q({__name:"VarEditable",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0},varsOptions:{type:Array,default:()=>[]},readonly:{type:Boolean,default:!1}},emits:["update:data"],setup(c,{emit:C}){const{prefixCls:g}=D("airag-var-editable"),i=c,O=C,s=G([]);A(s,J(w,500),{deep:!0});const r=$(()=>i.readonly===!0);F(()=>{s.value=S(i.data),s.value.length===0&&b()});function b(){if(r.value)return;const n={};for(const l of i.columns)n[l.field]="";s.value.push(n)}function N(n){r.value||s.value.splice(n,1)}function w(){const n=[];e:for(const p of s.value){for(const d of i.columns)if(d.required&&!p[d.field])continue e;n.push(p)}const l=JSON.stringify(n);l!==JSON.stringify(i.data)&&O("update:data",JSON.parse(l))}return(n,l)=>{const p=U,d=x("Icon");return e(),t("div",{class:E(`${I(g)}-container`)},[u("div",L,[u("div",M,[(e(!0),t(y,null,m(c.columns,o=>(e(),t("div",{key:o.field,class:"table-cell"},z(o.label),1))),128)),l[0]||(l[0]=u("div",{class:"table-cell action"},null,-1))])]),u("div",Q,[(e(!0),t(y,null,m(s.value,(o,B)=>(e(),t("div",{key:o.field,class:"table-row"},[(e(!0),t(y,null,m(c.columns,a=>(e(),t("div",{key:a.field,class:"table-cell"},[a.type==="input"?(e(),k(p,{key:0,value:o[a.field],"onUpdate:value":f=>o[a.field]=f,placeholder:`请输入${a.label}`,disabled:r.value},null,8,["value","onUpdate:value","placeholder","disabled"])):v("",!0),a.type==="var-input"?(e(),k(V,{key:1,value:o[a.field],"onUpdate:value":f=>o[a.field]=f,width:260,type:"input",placeholder:`${a.label},按下 “/” 可以选择变量`,varsOptions:c.varsOptions,readonly:r.value},null,8,["value","onUpdate:value","placeholder","varsOptions","readonly"])):v("",!0)]))),128)),r.value?v("",!0):(e(),t("div",{key:0,class:"table-cell action",onClick:a=>N(B)},[h(d,{icon:"ic:round-delete"})],8,_))]))),128))]),r.value?v("",!0):(e(),t("div",j,[u("a",{onClick:b},[h(d,{icon:"ic:round-add"}),l[1]||(l[1]=u("span",null,"添加参数",-1))])]))],2)}}});export{W as default};
|