RuleForm-a097231d.js
4.66 KB
var f=(e,r,t)=>new Promise((c,s)=>{var d=o=>{try{a(t.next(o))}catch(n){s(n)}},l=o=>{try{a(t.throw(o))}catch(n){s(n)}},a=o=>o.done?c(o.value):Promise.resolve(o.value).then(d,l);a((t=t.apply(e,r)).next())});import{d as P,a8 as C,_,a9 as F,aa as u,a0 as v,f as p,E as m}from"./vue-5a35c3f5.js";import{B as k}from"./BasicForm-53100365.js";import"./componentMap-4d1c941b.js";import{u as h}from"./useForm-86d11f60.js";import"./RadioButtonGroup-72b65d2e.js";import{aW as V,a as B,_ as q}from"./index.js";import{P as y}from"./index-f532aa07.js";import{i as A}from"./system-c978e3dc.js";import"./FormItem-ffc5ecef.js";import"./helper-95474dfc.js";import"./antd-6b087f69.js";import"./BasicForm.vue_vue_type_style_index_0_lang-3479a052.js";import"./uniqBy-0cd5a663.js";import"./index-c1c2669a.js";import"./useWindowSizeFn-cc2fb57c.js";import"./useFormItem-9ea791b8.js";import"./uuid-31b8b5a4.js";import"./download-3d468407.js";import"./base64Conver-39fc0d26.js";import"./index-1ca3bd8a.js";import"./IconPicker-6bbd557c.js";import"./index-9a895eb5.js";import"./useContentViewHeight-d0a5c58e.js";import"./onMountedOrActivated-52afb7a7.js";const g=[{field:"field1",component:"Input",label:"字段1",colProps:{span:8},required:!0},{field:"field2",component:"Input",label:"字段2",colProps:{span:8},required:!0},{field:"id",label:"id",required:!0,defaultValue:0,component:"InputNumber",show:!1},{field:"field3",component:"DatePicker",label:"字段3",colProps:{span:8},required:!0},{field:"field33",component:"DatePicker",label:"字段33",colProps:{span:8},componentProps:{valueFormat:"YYYY-MM-DD"},rules:[{required:!0,type:"string"}]},{field:"field44",component:"InputCountDown",label:"验证码",colProps:{span:8},required:!0},{field:"field4",component:"Select",label:"字段4",colProps:{span:8},componentProps:{mode:"multiple",options:[{label:"选项1",value:"1",key:"1"},{label:"选项2",value:"2",key:"2"}],onChange:e=>{console.log(e,"123")}},rules:[{required:!0,message:"请输入aa",type:"array"}]},{field:"field441",component:"Input",label:"自定义校验",colProps:{span:8},rules:[{required:!0,validator:(e,r)=>f(void 0,null,function*(){return r?r==="1"?Promise.reject("值不能为1"):Promise.resolve():Promise.reject("值不能为空")}),trigger:"change"}]},{field:"field5",component:"CheckboxGroup",label:"字段5",colProps:{span:8},componentProps:{options:[{label:"选项1",value:"1"},{label:"选项2",value:"2"}]},rules:[{required:!0}]},{field:"field7",component:"RadioGroup",label:"字段7",colProps:{span:8},componentProps:{options:[{label:"选项1",value:"1"},{label:"选项2",value:"2"}]},rules:[{required:!0,message:"覆盖默认生成的校验信息"}]},{field:"field8",component:"Input",label:"后端异步验证",colProps:{span:8},helpMessage:["本字段演示异步验证","本地规则:必须填写","后端规则:不能包含admin"],rules:[{required:!0,message:"请输入数据"},{validator(e,r){return new Promise((t,c)=>{A(r).then(()=>t()).catch(s=>{c(s.message||"验证失败")})})}}]}],E=P({components:{BasicForm:k,CollapseContainer:V,PageWrapper:y},setup(){const{createMessage:e}=B(),[r,{validateFields:t,clearValidate:c,getFieldsValue:s,resetFields:d,setFieldsValue:l}]=h({labelWidth:120,schemas:g,actionColOptions:{span:24}});function a(){return f(this,null,function*(){try{const i=yield t();console.log("passing",i)}catch(i){console.log("not passing",i)}})}function o(){return f(this,null,function*(){c()})}function n(){const i=s();e.success("values:"+JSON.stringify(i))}function b(){l({field1:1111,field4:["1"],field5:["1"],field7:"1",field33:"2020-12-12",field3:"2020-12-12"})}return{register:r,schemas:g,handleSubmit:i=>{e.success("click search,values:"+JSON.stringify(i))},getFormValues:n,setFormValues:b,validateForm:a,resetValidate:o,resetFields:d}}}),D={class:"mb-4"};function S(e,r,t,c,s,d){const l=C("a-button"),a=C("BasicForm"),o=C("CollapseContainer"),n=C("PageWrapper");return _(),F(n,{title:"表单校验示例"},{default:u(()=>[v("div",D,[p(l,{onClick:e.validateForm,class:"mr-2"},{default:u(()=>[m(" 手动校验表单 ")]),_:1},8,["onClick"]),p(l,{onClick:e.resetValidate,class:"mr-2"},{default:u(()=>[m(" 清空校验信息 ")]),_:1},8,["onClick"]),p(l,{onClick:e.getFormValues,class:"mr-2"},{default:u(()=>[m(" 获取表单值 ")]),_:1},8,["onClick"]),p(l,{onClick:e.setFormValues,class:"mr-2"},{default:u(()=>[m(" 设置表单值 ")]),_:1},8,["onClick"]),p(l,{onClick:e.resetFields,class:"mr-2"},{default:u(()=>[m(" 重置 ")]),_:1},8,["onClick"])]),p(o,{title:"表单校验"},{default:u(()=>[p(a,{onRegister:e.register,onSubmit:e.handleSubmit},null,8,["onRegister","onSubmit"])]),_:1})]),_:1})}const te=q(E,[["render",S],["__file","E:/allcode/erp/test7901/order-erp-front/src/views/demo/form/RuleForm.vue"]]);export{te as default};