zy-react-library 1.1.49 → 1.1.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{InfoCircleOutlined as e}from"@ant-design/icons";import{Input as r,DatePicker as
|
|
1
|
+
import{InfoCircleOutlined as e}from"@ant-design/icons";import{Input as r,DatePicker as n,Form as l,Col as t,Divider as s,Row as a,Button as o,Tooltip as d,Checkbox as i,Radio as u,Select as p,InputNumber as c}from"antd";import m from"dayjs";import{FORM_ITEM_RENDER_ENUM as h}from"../../enum/formItemRender/index.js";import{jsx as y,Fragment as E,jsxs as b}from"react/jsx-runtime";const{TextArea:f}=r,{RangePicker:T}=n,v=({options:v,labelCol:A,gutter:I=24,span:Y=12,collapse:D=!1,useAutoGenerateRequired:R=!0,initialValues:w})=>{const C=l.useFormInstance(),U=()=>{const e=C.getFieldsValue();return 0===Object.keys(e).length&&w?w:e},M=e=>"function"==typeof e.componentProps?e.componentProps(U()):e.componentProps||{},N=e=>{const r="function"==typeof e.formItemProps?e.formItemProps(U()):e.formItemProps||{};return[h.DATE,h.DATE_MONTH,h.DATE_YEAR,h.DATETIME].includes(e.render)&&(r.getValueFromEvent=(e,r)=>r,r.getValueProps=e=>({value:e?m(e):void 0})),[h.DATE_WEEK].includes(e.render)&&(r.getValueFromEvent=(e,r)=>r,r.getValueProps=e=>({value:e?m(e,"YYYY-wo"):void 0})),[h.DATE_RANGE,h.DATETIME_RANGE].includes(e.render)&&(r.getValueFromEvent=(e,r)=>r,r.getValueProps=e=>({value:Array.isArray(e)?e.map(e=>e?m(e):void 0):void 0})),r},P=e=>"function"==typeof e?e(U()):e??!0,x=e=>{if(e.render===h.DIVIDER)return[];const r=[];switch(e.render||h.INPUT){case h.INPUT:!1!==e.useConstraints&&r.push({max:50,message:"最多输入50字符"});break;case h.TEXTAREA:!1!==e.useConstraints&&r.push({max:500,message:"最多输入500字符"});break;case h.INPUT_NUMBER:case h.NUMBER:!1!==e.useConstraints&&r.push({pattern:/^(\d+)(\.\d{1,2})?$/,message:"请输入正确的数字,最多保留两位小数"}),!1!==e.useConstraints&&r.push({validator:(e,r)=>r&&Math.abs(Number.parseFloat(r))>999999999?Promise.reject("输入数值超出安全范围"):Promise.resolve()})}if(!R)return e.rules?Array.isArray(e.rules)?[...e.rules,...r]:[e.rules,...r]:r;if(P(e.required)){const n=!e.render||[h.INPUT,h.TEXTAREA,h.INPUT_NUMBER,h.NUMBER].includes(e.render);return r.push({required:!0,message:`${n?"请输入":"请选择"}${e.label}`}),e.rules&&(Array.isArray(e.rules)?r.push(...e.rules):r.push(e.rules)),r}return e.rules?Array.isArray(e.rules)?[...e.rules,...r]:[e.rules,...r]:r},g=e=>e.key||e.name,B=e=>{const r=e.render===h.DIVIDER?24:e.span??Y,n=e.labelCol??(24===r?{span:A.span/2}:A);return{span:r,labelCol:n,wrapperCol:e.wrapperCol??{span:24-n.span}}},_=(e,r)=>({value:e[r.valueKey],label:"function"==typeof r.labelKey?r.labelKey(e):e[r.labelKey],disabled:e.disabled}),k=e=>{const l=M(e),s=(e=>({valueKey:e?.itemsField?.valueKey||"bianma",labelKey:e?.itemsField?.labelKey||"name"}))(e),o=e.render||h.INPUT,d=e.placeholder||`请${[h.INPUT,h.TEXTAREA,h.INPUT_NUMBER,h.NUMBER].includes(o)?"输入":"选择"}${e.label}`;switch(o){case h.INPUT:return y(r,{placeholder:d,maxLength:!1!==e.useConstraints?50:9999,...l});case h.TEXTAREA:return y(f,{placeholder:d,maxLength:!1!==e.useConstraints?500:9999,showCount:!0,rows:3,...l});case h.INPUT_NUMBER:case h.NUMBER:return y(c,{placeholder:d,style:{width:"100%"},...l});case h.SELECT:return y(p,{placeholder:d,showSearch:!0,allowClear:!0,optionFilterProp:"children",...l,children:(e.items||[]).map(e=>{const{value:r,label:n,disabled:l}=_(e,s);return y(p.Option,{value:r,disabled:l,children:n},r)})});case h.RADIO:return y(u.Group,{...l,children:(e.items||[]).map(e=>{const{value:r,label:n,disabled:l}=_(e,s);return y(u,{value:r,disabled:l,children:n},r)})});case h.CHECKBOX:return y(i.Group,{...l,children:e.checkboxCol?y(a,{children:(e.items||[]).map(r=>{const{value:n,label:l,disabled:a}=_(r,s);return y(t,{span:e.checkboxCol,children:y(i,{value:n,disabled:a,children:l})},n)})}):(e.items||[]).map(e=>{const{value:r,label:n,disabled:l}=_(e,s);return y(i,{value:r,disabled:l,children:n},r)})});case h.DATE:return y(n,{placeholder:d,format:"YYYY-MM-DD",style:{width:"100%"},...l});case h.DATE_MONTH:return y(n,{picker:"month",placeholder:d,format:"YYYY-MM",style:{width:"100%"},...l});case h.DATE_YEAR:return y(n,{picker:"year",placeholder:d,format:"YYYY",style:{width:"100%"},...l});case h.DATE_WEEK:return y(n,{picker:"week",placeholder:d,format:"YYYY-wo",style:{width:"100%"},...l});case h.DATE_RANGE:return y(T,{placeholder:[`请选择开始${e.label}`,`请选择结束${e.label}`],format:"YYYY-MM-DD",style:{width:"100%"},...l});case h.DATETIME:return y(n,{showTime:!0,placeholder:d,format:"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},...l});case h.DATETIME_RANGE:return y(T,{showTime:!0,placeholder:[`请选择开始${e.label}`,`请选择结束${e.label}`],format:"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},...l});case h.DIVIDER:return null;default:return o}},V=r=>r.tip?b(E,{children:[r.label,y(d,{title:r.tip,children:y(e,{style:{marginLeft:4,fontSize:12}})})]}):r.label,F=({option:e,style:r,col:n,index:s})=>{const a=N(e);return delete a.dependencies,delete a.shouldUpdate,("function"==typeof(o=e.hidden)?o(U()):o)?null:y(t,{span:n.span,style:r,children:y(l.Item,{name:e.name,label:V(e),rules:x(e),labelCol:n.labelCol,wrapperCol:n.wrapperCol,preserve:!1,...a,children:k(e)})},g(e)||s);var o},K=({option:e,style:r,col:n,index:a})=>{const o=M(e);return e.customizeRender?y(t,{span:n.span,style:r,children:e.render},g(e)||a):e.onlyForLabel?y(l.Item,{name:e.name,noStyle:!0,preserve:!1,children:y("input",{type:"hidden"})},g(e)||a):e.render===h.DIVIDER?y(t,{span:n.span,style:r,children:y(s,{orientation:"left",...o,children:e.label})},g(e)||a):null};return y(E,{children:v.map((e,r)=>{const n=B(e),s=(e=>D&&e>=3?{display:"none"}:void 0)(r),d=N(e);return K({option:e,style:s,col:n,index:r})||(e.render===h.FORM_LIST?((e,r,n,s)=>{const d=(e=>{const r={showAddButton:!0,showRemoveButton:!0,addButtonText:"添加",removeButtonText:"删除",options:[],addDefaultValue:{},addInsertIndex:void 0};return"function"==typeof e.formListUniqueProps?{...r,...e.formListUniqueProps(U())}:{...r,...e.formListUniqueProps||{}}})(e),i=M(e);return y(t,{span:n.span,style:s,children:y(l.List,{name:e.name,...i,children:(e,{add:r,remove:n,move:i})=>y(E,{children:e.map((e,u)=>{const p=((e,r,n,l,t,s)=>"function"==typeof e?e(r,n,{field:r,fieldIndex:n,add:l,remove:t,move:s}):e??[])(d.options,e,u,r,n,i);return y(a,{gutter:I,children:p.map((a,i)=>{const c=B(a),m=N(a);delete m.dependencies,delete m.shouldUpdate;const h={option:a,style:s,col:c,index:`${u}_${i}`};return K(h)||(i===p.length-1?y(t,{span:c.span,style:s,children:y(l.Item,{label:V(a),labelCol:c.labelCol,wrapperCol:c.wrapperCol,preserve:!1,required:P(a.required),...m,children:b("div",{style:{display:"flex",gap:10,alignItems:"center",justifyContent:"space-between"},children:[y("div",{style:{flex:1},children:y(l.Item,{noStyle:!0,rules:x(a),name:a.name,children:k(a)})}),u>=1?d.showRemoveButton&&y(o,{type:"primary",danger:!0,onClick:()=>n(e.name),children:d.removeButtonText}):d.showAddButton&&y(o,{type:"primary",onClick:()=>r(d.addDefaultValue,d.addInsertIndex),children:d.addButtonText})]})})},g(a)||i):F(h))})},e.key)})})})},g(e)||r)})(e,r,n,s):(e.shouldUpdate??e.dependencies)||(d.shouldUpdate??d.dependencies)?((e,r,n,t)=>{const s=N(e);return y(l.Item,{noStyle:!0,preserve:!1,shouldUpdate:e.shouldUpdate??s.shouldUpdate,dependencies:e.dependencies??s.dependencies,children:()=>F({option:e,style:n,col:t,index:r})},g(e)||r)})(e,r,s,n):F({option:e,style:s,col:n,index:r}))})})};v.displayName="FormItemsRenderer";export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PlusOutlined as e,VideoCameraAddOutlined as
|
|
1
|
+
import{PlusOutlined as e,VideoCameraAddOutlined as n,UploadOutlined as t}from"@ant-design/icons";import{Upload as i,Modal as o,Button as r,message as l}from"antd";import{useState as a,useRef as s}from"react";import{jsxs as d,Fragment as c,jsx as u}from"react/jsx-runtime";const p=p=>{const{value:m=[],onChange:g,onPreview:h,onRemove:f,onGetRemoveFile:w,beforeUpload:v,maxCount:y,listType:$,accept:x,ratio:j="",showTip:F=!0,multiple:b=!0,size:C,tipContent:T,uploadButtonText:U,fileType:R,...P}=p,[z,L]=a(!1),[O,B]=a(""),I=s(new Set),M=".jpg,.jpeg,.png",S=".pdf,.doc,.docx",A=".mp4",D=R||(()=>{if(x){if("*"===x)return"document";const e=x.split(",");return e.some(e=>A.split(",").includes(e))?"video":e.some(e=>S.split(",").includes(e))?"document":e.some(e=>M.split(",").includes(e))?"image":"document"}return"image"})(),G="image"===D,N="video"===D,W="document"===D,k=$||("*"===x?"text":"image"===D?"picture-card":"text"),q=x?"*"===x?"":x:G?M:N?A:W?S:M,E=y||(N?1:G||W?4:1),H=C||(N?100:10),J=U||(N?"上传视频":"上传附件"),K=q.replace(/\./g,"").split(",").join("、"),Q=()=>T||`${[`最多上传${E}个文件`,q?`并且只能上传${K}格式的文件`:"可以上传任意格式的文件",H?`文件大小不能超过${H}M`:"",j?`只能上传${j}分辨率的图片`:""].filter(Boolean).join(",")}。`,V=G?u("div",{children:u(e,{style:{fontSize:32}})}):u(r,{type:"primary",icon:u(N?n:t,{}),children:J});return d(c,{children:[u(i,{fileList:m,multiple:b,maxCount:E,listType:k,accept:q,onChange:({fileList:e})=>{console.log(e);const n=q?q.split(","):[],t=j?j.split("*"):[],i=1024*H*1024;(async e=>{const o=[],r=[];for(const a of e){const e=a.name?.substring(a.name.lastIndexOf("."),a.name.length)||"";if(n.length>0&&!n.includes(e))r.push(a),I.current.has(a.uid)||(I.current.add(a.uid),l.warning(`${a.name}:只能上传${K}格式的文件`));else if(i&&a.size>i)r.push(a),I.current.has(a.uid)||(I.current.add(a.uid),l.warning(`${a.name}:文件大小不能超过${H}M`));else{if(2===t.length&&a.type?.startsWith("image/")){const e=e=>new Promise(n=>{const i=new Image;i.onload=()=>{const e=i.width===+t[0]&&i.height===+t[1];e||I.current.has(a.uid)||(I.current.add(a.uid),l.warning(`${a.name}:只能上传${j}分辨率的图片`)),n(e)},i.onerror=()=>n(!1),i.src=e});if(!(a.url?await e(a.url):await new Promise(n=>{const t=new FileReader;t.onload=t=>{e(t.target.result).then(n)},t.onerror=()=>n(!1),t.readAsDataURL(a.originFileObj)}))){r.push(a);continue}}o.push(a)}}return{validFiles:o,invalidFiles:r}})(e).then(({validFiles:e})=>{g?.(e)})},onPreview:e=>{G&&(B(e.url||e.thumbUrl),L(!0)),h?.(e)},onRemove:e=>(I.current.delete(e.uid),e.originFileObj||w?.(e),f?.(e)),beforeUpload:(e,n)=>!!v&&v(e,n),...P,children:m.length>=E?null:V}),F?Q()&&u("div",{style:{marginTop:10,color:"#ff4d4f"},children:Q()}):null,u(o,{open:z,title:"查看图片",footer:null,onCancel:()=>{L(!1)},children:u("img",{alt:"preview",style:{width:"100%",objectFit:"scale-down"},src:O})})]})};p.displayName="Upload";export{p as default};
|