CheckRuleModal-u8mGAC0Z.js 5.8 KB

1
  1. var W=Object.defineProperty;var N=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var q=(i,r,t)=>r in i?W(i,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[r]=t,L=(i,r)=>{for(var t in r||(r={}))j.call(r,t)&&q(i,t,r[t]);if(N)for(var t of N(r))z.call(r,t)&&q(i,t,r[t]);return i};var R=(i,r,t)=>new Promise((V,d)=>{var x=n=>{try{y(t.next(n))}catch(b){d(b)}},T=n=>{try{y(t.throw(n))}catch(b){d(b)}},y=n=>n.done?V(n.value):Promise.resolve(n.value).then(x,T);y((t=t.apply(i,r)).next())});import{d as D,e as Q,u,f as p,ag as S,aB as X,ar as Y,aD as g,k as c,aE as Z}from"./vue-vendor-Be68asQ6.js";import{B as ee}from"./index-CETWS1o0.js";import"./index-D68l__AG.js";import{f as te,u as ae,s as re}from"./check.rule.data-pfqV5B_G.js";import{ac as oe,bv as v}from"./index-BFfnEkVs.js";import{p as ie}from"./antd-vue-vendor-DcqS7Wvq.js";import{u as se}from"./useForm-kcRIHoe0.js";import{B as le}from"./BasicForm-Cv-dsB-e.js";import"./BasicModal-D4gc2R81.js";import"./useTimeout-Ca5eqGu-.js";import"./vxe-table-vendor-DHF2TRpV.js";import"./useWindowSizeFn-BTSGGcie.js";import"./index-BZ_MXCtW.js";import"./index-BIPzXG41.js";import"./index-CXEQnmRq.js";import"./useIntersectionObserver-Bl62RIZ4.js";import"./componentMap-BUTAcOmo.js";import"./useFormItem-CtGMPcLp.js";import"./download-CjoX0_mR.js";import"./base64Conver-24EVOS6V.js";import"./index-D1703ozz.js";import"./index-Bi7PIj53.js";import"./useCountdown-B7iR27pS.js";import"./useFormItemSingle-nLM0QlcI.js";import"./JSelectUser-DCwPqRxp.js";import"./props-BPxWJPuD.js";import"./JSelectBiz-Be8KsC5j.js";import"./JAddInput-BBXQvvpq.js";import"./areaDataUtil-Cik-Rc_P.js";import"./index-BOEzG86y.js";import"./index-BNFwynfr.js";import"./bem-BvvqSl-N.js";import"./props-Cw7AfxGV.js";import"./useContextMenu-BDwmjIwb.js";import"./depart.api-CDwTvdwQ.js";import"./JSelectDept-DT6g7V5M.js";import"./JPopup-DKJW27Yk.js";import"./JEllipsis-C04xKxcI.js";import"./JUpload-cB_Qj2H2.js";import"./index-iuayQczx.js";import"./index-DJQB4_Pr.js";import"./JAreaLinkage-BNOKwn5l.js";import"./JCodeEditor-CSivhUhT.js";import"./htmlmixed-DNSd26j0.js";import"./vue-DbzutmLn.js";/* empty css */import"./EasyCronInput-wCv2YMHn.js";import"./renderUtils-DPF_SrxE.js";import"./user.api-BMRcwGEd.js";const st=D({__name:"CheckRuleModal",emits:["register","success"],setup(i,{emit:r}){const t=Q(()=>u(d)?"编辑":"新增"),V=r,d=p(!0),[x,{resetFields:T,setFieldsValue:y,validate:n,getFieldsValue:b}]=se({schemas:te,showActionButtonGroup:!1}),_=p("1");let B=p([]),J=p([]);const[$,{setModalProps:k,closeModal:A}]=oe(e=>R(null,null,function*(){if(yield T(),k({confirmLoading:!1}),d.value=!!(e!=null&&e.isUpdate),_.value="1",B.value=[],J.value=[],u(d)){yield y(L({},e.record));let o=e.record.ruleJson;if(o){let s=JSON.parse(o),a=[],l=[],m="1";s.forEach(f=>{f.digits==="*"?a.push(Object.assign(f,{priority:m})):(m="0",l.push(f))}),B.value=l,J.value=a}}})),C=p(),F=p();function M(e,o){return new Promise((s,a)=>{e.value.validateTable().then(l=>{if(l)_.value=o,a();else{const m=e.value.getTableData();s(m)}})})}function K(){return R(this,null,function*(){let e,o=[],s=[];n().then(a=>(e=a,M(C,"1"))).then(a=>(a&&a.length>0&&(s=a),M(F,"2"))).then(a=>{a&&a.length>0&&(o=a);let l=[],m=[];for(let h=0;h<o.length;h++){let w=o[h];w.digits="*",w.priority==="1"?l.push(w):m.push(w)}let G=l.concat(s).concat(m).map(h=>ie(h,"digits","pattern","message")),H=JSON.stringify(G),I=Object.assign({},e,{ruleJson:H});P(I)}).catch(()=>{k({confirmLoading:!1})})})}function P(e){return R(this,null,function*(){try{k({confirmLoading:!0}),d.value?yield ae(e):yield re(e),A(),V("success")}finally{k({confirmLoading:!1})}})}const O=({cellValue:e},o)=>{try{new RegExp(e),o(!0)}catch(s){o(!1,"请输入正确的正则表达式")}},U=p([{title:"位数",key:"digits",type:v.inputNumber,minWidth:180,validateRules:[{required:!0,message:"${title}不能为空"},{pattern:/^[1-9]\d*$/,message:"请输入零以上的正整数"}]},{title:"规则(正则表达式)",key:"pattern",minWidth:320,type:v.input,validateRules:[{required:!0,message:"规则不能为空"},{handler:O}]},{title:"提示文本",key:"message",minWidth:180,type:v.input,validateRules:[{required:!0,message:"${title}不能为空"}]}]),E=p([{title:"优先级",key:"priority",type:v.select,defaultValue:"1",options:[{title:"优先运行",value:"1"},{title:"最后运行",value:"0"}],validateRules:[]},{title:"规则(正则表达式)",key:"pattern",width:"40%",type:v.input,validateRules:[{required:!0,message:"规则不能为空"},{handler:O}]},{title:"提示文本",key:"message",width:"20%",type:v.input,validateRules:[{required:!0,message:"${title}不能为空"}]}]);return(e,o)=>{const s=S("a-alert"),a=S("JVxeTable"),l=S("a-tab-pane"),m=S("a-tabs");return Y(),X(u(ee),Z(e.$attrs,{onRegister:u($),onOk:K,title:t.value,width:1200,destroyOnClose:""}),{default:g(()=>[c(u(le),{onRegister:u(x)},null,8,["onRegister"]),c(m,{activeKey:_.value,"onUpdate:activeKey":o[0]||(o[0]=f=>_.value=f),animated:""},{default:g(()=>[c(l,{tab:"局部规则",key:"1",forceRender:!0},{default:g(()=>[c(a,{ref_key:"vTable1",ref:C,toolbar:"",rowNumber:"",dragSort:"",rowSelection:"",maxHeight:580,dataSource:u(B),columns:U.value},{toolbarAfter:g(()=>[c(s,{type:"info",showIcon:"",message:"局部规则按照你输入的位数有序的校验",style:{"margin-bottom":"8px"}})]),_:1},8,["dataSource","columns"])]),_:1}),c(l,{tab:"全局规则",key:"2",forceRender:!0},{default:g(()=>[c(a,{ref_key:"vTable2",ref:F,toolbar:"",rowNumber:"",dragSort:"",rowSelection:"",maxHeight:580,dataSource:u(J),addSetActive:!1,columns:E.value},{toolbarAfter:g(()=>[c(s,{type:"info",showIcon:"",message:"全局规则可校验用户输入的所有字符;全局规则的优先级比局部规则的要高。",style:{"margin-bottom":"8px"}})]),_:1},8,["dataSource","columns"])]),_:1})]),_:1},8,["activeKey"])]),_:1},16,["onRegister","title"])}}});export{st as default};