zy-react-library 2.0.6 → 2.0.8

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{Form as e,Spin as t,Row as o,Col as r,Space as i,Button as n,message as s}from"antd";import{useState as l,useEffect as a}from"react";import{throttle as u}from"throttle-debounce";import c from"./FormItemsRenderer.js";import{jsx as d,jsxs as m}from"react/jsx-runtime";const p=p=>{const{values:h,options:g,gutter:w=24,span:x=12,labelCol:y={span:4},useAutoGenerateRequired:b=!0,showActionButtons:B=!0,submitButtonText:f="提交",cancelButtonText:v="取消",showSubmitButton:A=!0,showCancelButton:C=!0,customActionButtons:F,extraActionButtons:T,history:k,loading:W=!1,...q}=p,[z,E]=l(window.innerWidth),R=u(50,()=>{const e=document.querySelector("#page-layout");e&&E(e.offsetWidth)});return a(()=>{const e=setTimeout(()=>{R()},0);return B&&window.addEventListener("resize",R),()=>{B&&window.removeEventListener("resize",R),clearTimeout(e)}},[B]),d(t,{spinning:W,children:m(e,{labelCol:y,scrollToFirstError:!0,wrapperCol:{span:24-y.span},initialValues:h,onFinishFailed:()=>{s.error("请补全必填项")},style:{width:`calc(100% - ${2*w}px)`,margin:"0 auto"},...q,children:[d(o,{gutter:w,children:d(c,{options:g,labelCol:y,span:x,gutter:w,useAutoGenerateRequired:b,initialValues:h})}),B&&m("div",{style:{position:"relative",zIndex:"9"},children:[d("div",{style:{height:"32px"}}),d(o,{style:{textAlign:"center",backgroundColor:"rgb(241, 241, 242)",padding:"10px 0",position:"fixed",bottom:"0",width:z,margin:"0 -44px"},children:d(r,{span:24,style:{textAlign:"center"},children:F||m(i,{children:[A&&d(n,{type:"primary",htmlType:"submit",children:f}),T,C&&d(n,{onClick:()=>{k?.goBack?k.goBack():window.history.back()},children:v})]})})})]})]})})};p.displayName="FormBuilder",p.useForm=e.useForm,p.useWatch=e.useWatch;export{p as default};
1
+ import{Form as e,Spin as t,Row as o,Col as r,Space as i,Button as n,message as s}from"antd";import{useState as l,useEffect as a}from"react";import{throttle as u}from"throttle-debounce";import c from"./FormItemsRenderer.js";import{jsx as d,jsxs as m}from"react/jsx-runtime";const p=p=>{const{values:h,options:g,gutter:w=24,span:x=12,labelCol:y={span:4},useAutoGenerateRequired:b=!0,showActionButtons:B=!0,submitButtonText:f="提交",cancelButtonText:v="取消",showSubmitButton:A=!0,showCancelButton:C=!0,customActionButtons:F,extraActionButtons:T,history:k,loading:W=!1,...q}=p,[z,E]=l(window.innerWidth),R=u(50,()=>{const e=document.querySelector("#page-layout");e&&E(e.offsetWidth)});return a(()=>{const e=setTimeout(()=>{R()},0);return B&&window.addEventListener("resize",R),()=>{B&&window.removeEventListener("resize",R),clearTimeout(e)}},[B]),d(t,{spinning:W,children:m(e,{labelCol:y,scrollToFirstError:!0,wrapperCol:{span:24-y.span},initialValues:h,onFinishFailed:()=>{s.error("请补全必填项")},style:{width:`calc(100% - ${2*w}px)`,margin:"0 auto"},...q,children:[d(o,{gutter:w,children:d(c,{options:g,labelCol:y,span:x,gutter:w,useAutoGenerateRequired:b,initialValues:h})}),B&&m("div",{style:{position:"relative",zIndex:"99"},children:[d("div",{style:{height:"32px"}}),d(o,{style:{textAlign:"center",backgroundColor:"rgb(241, 241, 242)",padding:"10px 0",position:"fixed",bottom:"0",width:z,margin:"0 -44px"},children:d(r,{span:24,style:{textAlign:"center"},children:F||m(i,{children:[A&&d(n,{type:"primary",htmlType:"submit",children:f}),T,C&&d(n,{onClick:()=>{k?.goBack?k.goBack():window.history.back()},children:v})]})})})]})]})})};p.displayName="FormBuilder",p.useForm=e.useForm,p.useWatch=e.useWatch;export{p as default};
@@ -1 +1 @@
1
- import{InfoCircleOutlined as e}from"@ant-design/icons";import{Input as r,DatePicker as t,Form as n,Col as l,Divider as s,Row as o,Button as a,Checkbox as i,Radio as d,Select as u,InputNumber as c,Tooltip as p}from"antd";import m from"dayjs";import{FORM_ITEM_RENDER_ENUM as h}from"../../enum/formItemRender/index.js";import{getDataType as y}from"../../utils/index.js";import{jsx as f,Fragment as E,jsxs as T}from"react/jsx-runtime";const{TextArea:b}=r,{RangePicker:v}=t,I=({options:I,labelCol:A,gutter:R=24,span:w=12,collapse:Y=!1,useAutoGenerateRequired:D=!0,initialValues:C})=>{const N=n.useFormInstance(),M=()=>{const e=N.getFieldsValue();return 0===Object.keys(e).length&&C?C:e},P=e=>"function"==typeof e.componentProps?e.componentProps(M()):e.componentProps||{},U=e=>{const r="function"==typeof e.formItemProps?e.formItemProps(M()):e.formItemProps||{};return((e,r)=>{[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}))})(e,r),r},x=e=>"function"==typeof e?e(M()):e??!0,g=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()});break;case h.INTEGER:!1!==e.useConstraints&&r.push({pattern:/^(\d+)$/,message:"请输入正确的整数"}),!1!==e.useConstraints&&r.push({validator:(e,r)=>r&&Math.abs(Number.parseFloat(r))>999999999?Promise.reject("输入数值超出安全范围"):Promise.resolve()})}if(!D)return e.rules?Array.isArray(e.rules)?[...e.rules,...r]:[e.rules,...r]:r;if(x(e.required)){const t=!e.render||[h.INPUT,h.TEXTAREA,h.INPUT_NUMBER,h.NUMBER,h.INTEGER].includes(e.render);r.push({required:!0,message:`${t?"请输入":"请选择"}${e.label}`})}return e.rules?Array.isArray(e.rules)?[...e.rules,...r]:[e.rules,...r]:r},_=e=>e.key||("Array"===y(e.name)?e.name.join("."):e.name),B=e=>{const r=e.render===h.DIVIDER?24:e.span??w,t=e.labelCol??(24===r?{span:A.span/2}:A);return{span:r,labelCol:t,wrapperCol:e.wrapperCol??{span:24-t.span}}},F=e=>"function"==typeof e.colStyle?e.colStyle(M()):e.colStyle,S=e=>"function"==typeof e.colTitle?e.colTitle(M()):e.colTitle,k=(e,r)=>(e.shouldUpdate??e.dependencies)||(r.shouldUpdate??r.dependencies),L=e=>"function"==typeof e?e(M()):e??!1,V=(e,r)=>({value:e[r.valueKey],label:"function"==typeof r.labelKey?r.labelKey(e):e[r.labelKey],disabled:e.disabled}),$=e=>{const n=P(e),s=(e=>({valueKey:e?.itemsField?.valueKey||"bianma",labelKey:e?.itemsField?.labelKey||"name"}))(e),a=e.render??h.INPUT,p=e.placeholder??`请${[h.INPUT,h.TEXTAREA,h.INPUT_NUMBER,h.NUMBER,h.INTEGER].includes(a)?"输入":"选择"}${e.label}`;switch(a){case h.INPUT:return f(r,{placeholder:p,maxLength:!1!==e.useConstraints?50:9999,...n});case h.TEXTAREA:return f(b,{placeholder:p,maxLength:!1!==e.useConstraints?500:9999,showCount:!0,rows:3,...n});case h.INPUT_NUMBER:case h.NUMBER:case h.INTEGER:return f(c,{placeholder:p,style:{width:"100%"},...n});case h.SELECT:return f(u,{placeholder:p,showSearch:{optionFilterProp:"children"},allowClear:!0,...n,children:(e.items||[]).map(e=>{const{value:r,label:t,disabled:n}=V(e,s);return f(u.Option,{value:r,disabled:n,children:t},r)})});case h.RADIO:return f(d.Group,{...n,children:(e.items||[]).map(e=>{const{value:r,label:t,disabled:n}=V(e,s);return f(d,{value:r,disabled:n,children:t},r)})});case h.CHECKBOX:return f(i.Group,{...n,children:e.checkboxCol?f(o,{children:(e.items||[]).map(r=>{const{value:t,label:n,disabled:o}=V(r,s);return f(l,{span:e.checkboxCol,children:f(i,{value:t,disabled:o,children:n})},t)})}):(e.items||[]).map(e=>{const{value:r,label:t,disabled:n}=V(e,s);return f(i,{value:r,disabled:n,children:t},r)})});case h.DATE:return f(t,{placeholder:p,format:"YYYY-MM-DD",style:{width:"100%"},...n});case h.DATE_MONTH:return f(t,{picker:"month",placeholder:p,format:"YYYY-MM",style:{width:"100%"},...n});case h.DATE_YEAR:return f(t,{picker:"year",placeholder:p,format:"YYYY",style:{width:"100%"},...n});case h.DATE_WEEK:return f(t,{picker:"week",placeholder:p,format:"YYYY-wo",style:{width:"100%"},...n});case h.DATE_RANGE:return f(v,{placeholder:[`请选择开始${e.label}`,`请选择结束${e.label}`],format:"YYYY-MM-DD",style:{width:"100%"},...n});case h.DATETIME:return f(t,{showTime:!0,placeholder:p,format:"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},...n});case h.DATETIME_RANGE:return f(v,{showTime:!0,placeholder:[`请选择开始${e.label}`,`请选择结束${e.label}`],format:"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},...n});case h.DIVIDER:return null;default:return a}},G=r=>r.tip?T(E,{children:[r.label,f(p,{title:r.tip,children:f(e,{style:{marginLeft:4,fontSize:12}})})]}):r.label,K=({option:e,style:r,col:t,index:s,preserve:o})=>{const a=U(e);return delete a.dependencies,delete a.shouldUpdate,L(e.hidden)?null:T(l,{span:t.span,style:{...r,...F(e)},children:[S(e),f(n.Item,{name:e.name,label:G(e),rules:g(e),labelCol:t.labelCol,wrapperCol:t.wrapperCol,preserve:o,required:!!D&&" "!==G(e)&&x(e.required),colon:" "!==G(e),...a,children:$(e)})]},_(e)||s)},q=({option:e,style:r,col:t,index:o,preserve:a})=>{const i=P(e);return e.customizeRender?f(l,{span:t.span,style:r,children:e.render},_(e)||o):e.onlyForLabel?f(n.Item,{name:e.name,noStyle:!0,preserve:a,children:f("input",{type:"hidden"})},_(e)||o):e.render===h.DIVIDER?f(l,{span:t.span,style:r,children:f(s,{titlePlacement:"start",...i,children:e.label})},_(e)||o):null},O=({option:e,index:r,style:t,col:l,preserve:s})=>{const o=U(e);return f(n.Item,{noStyle:!0,preserve:s,shouldUpdate:e.shouldUpdate??o.shouldUpdate,dependencies:e.dependencies??o.dependencies,children:()=>K({option:e,style:t,col:l,index:r,preserve:s})},_(e)||r)},j=({option:e,index:r,col:t,style:s})=>{const i=(e=>{const r={showAddButton:!0,showRemoveButton:!0,addButtonText:"添加",removeButtonText:"删除",options:[],addDefaultValue:{},addInsertIndex:void 0};return"function"==typeof e.formListUniqueProps?{...r,...e.formListUniqueProps(M())}:{...r,...e.formListUniqueProps||{}}})(e),d=P(e);return T(l,{span:t.span,style:{...s,...F(e)},children:[S(e),f(n.List,{name:e.name,...d,children:(r,{add:t,remove:d,move:u})=>f(E,{children:r.map((r,c)=>{const p=((e,r,t,n,l,s)=>"function"==typeof e?e(r,t,{field:r,fieldIndex:t,add:n,remove:l,move:s}):e??[])(i.options,r,c,t,d,u),m=((e,r,t)=>"function"==typeof e.rowStyle?e.rowStyle(r,t):e.rowStyle)(e,r,c),y=((e,r,t)=>"function"==typeof e.rowTitle?e.rowTitle(r,t):e.rowTitle)(e,r,c);return T(o,{gutter:R,style:m,children:[y,p.map((e,o)=>{const u=B(e),m=U(e),y={option:e,style:s,col:u,index:`${c}_${o}`,preserve:!0},E=q(y);if(E)return E;if(e.render===h.FORM_LIST)return j(y);if(k(e,m))return O(y);const b=e=>!L(e.hidden)&&!e.onlyForLabel,v=p[o+1],I=v&&v.render===h.FORM_LIST,A=v&&!b(v);return o===(()=>{for(let e=p.length-1;e>=0;e--){const r=p[e];if(r.render===h.FORM_LIST)return e;if(b(r))return e}return-1})()||I||A?(delete m.dependencies,delete m.shouldUpdate,T(l,{span:u.span,style:{...s,...F(e)},children:[S(e),f(n.Item,{label:G(e),labelCol:u.labelCol,wrapperCol:u.wrapperCol,preserve:!1,required:!!D&&" "!==G(e)&&x(e.required),colon:" "!==G(e),...m,children:T("div",{style:{display:"flex",gap:10,alignItems:"center",justifyContent:"space-between"},children:[f("div",{style:{flex:1,minWidth:0},children:f(n.Item,{noStyle:!0,rules:g(e),name:e.name,children:$(e)})}),c>=1?i.showRemoveButton&&f(a,{type:"primary",danger:!0,onClick:()=>d(r.name),children:i.removeButtonText}):i.showAddButton&&f(a,{type:"primary",onClick:()=>t(i.addDefaultValue,i.addInsertIndex),children:i.addButtonText})]})})]},_(e)||o)):K(y)})]},r.key)})})})]},_(e)||r)};return f(E,{children:I.map((e,r)=>{const t=B(e),n=(e=>Y&&e>=3?{display:"none"}:void 0)(r),l=U(e),s={option:e,style:n,col:t,index:r,preserve:!1};return q(s)||(e.render===h.FORM_LIST?j(s):k(e,l)?O(s):K(s))})})};I.displayName="FormItemsRenderer";export{I as default};
1
+ import{InfoCircleOutlined as e}from"@ant-design/icons";import{Input as r,DatePicker as t,Form as n,Col as l,Divider as o,Row as s,Button as a,Checkbox as i,Radio as d,Select as u,InputNumber as c,Tooltip as p}from"antd";import m from"dayjs";import{FORM_ITEM_RENDER_ENUM as h}from"../../enum/formItemRender/index.js";import{getDataType as y}from"../../utils/index.js";import{jsx as f,Fragment as E,jsxs as T}from"react/jsx-runtime";const{TextArea:b}=r,{RangePicker:v}=t,I=({options:I,labelCol:A,gutter:R=24,span:w=12,collapse:Y=!1,useAutoGenerateRequired:D=!0,initialValues:C})=>{const M=n.useFormInstance(),N=()=>{const e=M.getFieldsValue();return 0===Object.keys(e).length&&C?C:e},x=e=>"function"==typeof e.componentProps?e.componentProps(N()):e.componentProps||{},P=e=>{const r="function"==typeof e.formItemProps?e.formItemProps(N()):e.formItemProps||{};return((e,r)=>{[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}))})(e,r),r},U=e=>"function"==typeof e?e(N()):e??!0,g=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()});break;case h.INTEGER:!1!==e.useConstraints&&r.push({pattern:/^(\d+)$/,message:"请输入正确的整数"}),!1!==e.useConstraints&&r.push({validator:(e,r)=>r&&Math.abs(Number.parseFloat(r))>999999999?Promise.reject("输入数值超出安全范围"):Promise.resolve()})}if(!D)return e.rules?Array.isArray(e.rules)?[...e.rules,...r]:[e.rules,...r]:r;if(U(e.required)){const t=!e.render||[h.INPUT,h.TEXTAREA,h.INPUT_NUMBER,h.NUMBER,h.INTEGER].includes(e.render);r.push({required:!0,message:`${t?"请输入":"请选择"}${e.label}`})}return e.rules?Array.isArray(e.rules)?[...e.rules,...r]:[e.rules,...r]:r},_=e=>e.key||("Array"===y(e.name)?e.name.join("."):e.name),F=e=>{const r=e.render===h.DIVIDER?24:e.span??w,t=e.labelCol??(24===r?{span:A.span/2}:A);return{span:r,labelCol:t,wrapperCol:e.wrapperCol??{span:24-t.span}}},B=e=>"function"==typeof e.colStyle?e.colStyle(N()):e.colStyle,S=e=>"function"==typeof e.colTitle?e.colTitle(N()):e.colTitle,k=(e,r)=>(e.shouldUpdate??e.dependencies)||(r.shouldUpdate??r.dependencies),L=e=>"function"==typeof e?e(N()):e??!1,V=(e,r)=>({value:e[r.valueKey],label:"function"==typeof r.labelKey?r.labelKey(e):e[r.labelKey],disabled:e.disabled}),$=e=>{const n=x(e),o=(e=>({valueKey:e?.itemsField?.valueKey||"bianma",labelKey:e?.itemsField?.labelKey||"name"}))(e),a=e.render??h.INPUT,p=e.placeholder??`请${[h.INPUT,h.TEXTAREA,h.INPUT_NUMBER,h.NUMBER,h.INTEGER].includes(a)?"输入":"选择"}${e.label}`;switch(a){case h.INPUT:return f(r,{placeholder:p,maxLength:!1!==e.useConstraints?50:9999,...n});case h.TEXTAREA:return f(b,{placeholder:p,maxLength:!1!==e.useConstraints?500:9999,showCount:!0,rows:3,...n});case h.INPUT_NUMBER:case h.NUMBER:case h.INTEGER:return f(c,{placeholder:p,style:{width:"100%"},...n});case h.SELECT:return f(u,{placeholder:p,showSearch:{optionFilterProp:"children"},allowClear:!0,...n,children:(e.items||[]).map(e=>{const{value:r,label:t,disabled:n}=V(e,o);return f(u.Option,{value:r,disabled:n,children:t},r)})});case h.RADIO:return f(d.Group,{...n,children:(e.items||[]).map(e=>{const{value:r,label:t,disabled:n}=V(e,o);return f(d,{value:r,disabled:n,children:t},r)})});case h.CHECKBOX:return f(i.Group,{...n,children:e.checkboxCol?f(s,{children:(e.items||[]).map(r=>{const{value:t,label:n,disabled:s}=V(r,o);return f(l,{span:e.checkboxCol,children:f(i,{value:t,disabled:s,children:n})},t)})}):(e.items||[]).map(e=>{const{value:r,label:t,disabled:n}=V(e,o);return f(i,{value:r,disabled:n,children:t},r)})});case h.DATE:return f(t,{placeholder:p,format:"YYYY-MM-DD",style:{width:"100%"},...n});case h.DATE_MONTH:return f(t,{picker:"month",placeholder:p,format:"YYYY-MM",style:{width:"100%"},...n});case h.DATE_YEAR:return f(t,{picker:"year",placeholder:p,format:"YYYY",style:{width:"100%"},...n});case h.DATE_WEEK:return f(t,{picker:"week",placeholder:p,format:"YYYY-wo",style:{width:"100%"},...n});case h.DATE_RANGE:return f(v,{placeholder:[`请选择开始${e.label}`,`请选择结束${e.label}`],format:"YYYY-MM-DD",style:{width:"100%"},...n});case h.DATETIME:return f(t,{showTime:!0,placeholder:p,format:"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},...n});case h.DATETIME_RANGE:return f(v,{showTime:!0,placeholder:[`请选择开始${e.label}`,`请选择结束${e.label}`],format:"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},...n});case h.DIVIDER:return null;default:return a}},G=r=>r.tip?T(E,{children:[r.label,f(p,{title:r.tip,children:f(e,{style:{marginLeft:4,fontSize:12}})})]}):r.label,K=({option:e,style:r,col:t,index:o,preserve:s})=>{const a=P(e);return delete a.dependencies,delete a.shouldUpdate,L(e.hidden)?null:T(l,{span:t.span,style:{...r,...B(e)},children:[S(e),f(n.Item,{name:e.name,label:G(e),rules:g(e),labelCol:t.labelCol,wrapperCol:t.wrapperCol,preserve:s,required:!!D&&" "!==G(e)&&U(e.required),colon:" "!==G(e),...a,children:$(e)})]},_(e)||o)},O=({option:e,style:r,col:t,index:s,preserve:a})=>{const i=x(e);return L(e.hidden)?null:e.customizeRender?f(l,{span:t.span,style:r,children:e.render},_(e)||s):e.onlyForLabel?f(n.Item,{name:e.name,noStyle:!0,preserve:a,children:f("input",{type:"hidden"})},_(e)||s):e.render===h.DIVIDER?f(l,{span:t.span,style:r,children:f(o,{titlePlacement:"start",...i,children:e.label})},_(e)||s):null},q=({option:e,index:r,col:t,style:o})=>{const i=(e=>{const r={showAddButton:!0,showRemoveButton:!0,addButtonText:"添加",removeButtonText:"删除",options:[],addDefaultValue:{},addInsertIndex:void 0};return"function"==typeof e.formListUniqueProps?{...r,...e.formListUniqueProps(N())}:{...r,...e.formListUniqueProps||{}}})(e),d=x(e);return L(e.hidden)?null:T(l,{span:t.span,style:{...o,...B(e)},children:[S(e),f(n.List,{name:e.name,...d,children:(r,{add:t,remove:d,move:u})=>f(E,{children:r.map((r,c)=>{const p=((e,r,t,n,l,o)=>"function"==typeof e?e(r,t,{field:r,fieldIndex:t,add:n,remove:l,move:o}):e??[])(i.options,r,c,t,d,u),m=((e,r,t)=>"function"==typeof e.rowStyle?e.rowStyle(r,t):e.rowStyle)(e,r,c),y=((e,r,t)=>"function"==typeof e.rowTitle?e.rowTitle(r,t):e.rowTitle)(e,r,c);return T(s,{gutter:R,style:m,children:[y,p.map((e,s)=>{const u=F(e),m=P(e),y={option:e,style:o,col:u,index:`${c}_${s}`,preserve:!0};if(k(e,m))return j(y);const E=O(y);if(E)return E;if(e.render===h.FORM_LIST)return q(y);const b=e=>!L(e.hidden)&&!e.onlyForLabel,v=p[s+1],I=v&&v.render===h.FORM_LIST,A=v&&!b(v);return s===(()=>{for(let e=p.length-1;e>=0;e--){const r=p[e];if(r.render===h.FORM_LIST)return e;if(b(r))return e}return-1})()||I||A?(delete m.dependencies,delete m.shouldUpdate,T(l,{span:u.span,style:{...o,...B(e)},children:[S(e),f(n.Item,{label:G(e),labelCol:u.labelCol,wrapperCol:u.wrapperCol,preserve:!1,required:!!D&&" "!==G(e)&&U(e.required),colon:" "!==G(e),...m,children:T("div",{style:{display:"flex",gap:10,alignItems:"center",justifyContent:"space-between"},children:[f("div",{style:{flex:1,minWidth:0},children:f(n.Item,{noStyle:!0,rules:g(e),name:e.name,children:$(e)})}),c>=1?i.showRemoveButton&&f(a,{type:"primary",danger:!0,onClick:()=>d(r.name),children:i.removeButtonText}):i.showAddButton&&f(a,{type:"primary",onClick:()=>t(i.addDefaultValue,i.addInsertIndex),children:i.addButtonText})]})})]},_(e)||s)):K(y)})]},r.key)})})})]},_(e)||r)},j=({option:e,index:r,style:t,col:l,preserve:o})=>{const s=P(e);return f(n.Item,{noStyle:!0,preserve:o,shouldUpdate:e.shouldUpdate??s.shouldUpdate,dependencies:e.dependencies??s.dependencies,children:()=>O({option:e,style:t,col:l,index:r,preserve:o})||(e.render===h.FORM_LIST?q({option:e,index:r,col:l,style:t}):K({option:e,style:t,col:l,index:r,preserve:o}))},_(e)||r)};return f(E,{children:I.map((e,r)=>{const t=F(e),n=(e=>Y&&e>=3?{display:"none"}:void 0)(r),l=P(e),o={option:e,style:n,col:t,index:r,preserve:!1};if(k(e,l))return j(o);return O(o)||(e.render===h.FORM_LIST?q(o):K(o))})})};I.displayName="FormItemsRenderer";export{I as default};
@@ -1 +1 @@
1
- import{Spin as e,Space as t,Button as i}from"antd";import{useState as o,useEffect as n}from"react";import{throttle as r}from"throttle-debounce";import d from"../HeaderBack/index.js";import{jsx as a,jsxs as s}from"react/jsx-runtime";function c(c){const{headerTitle:l,history:p,isShowHeader:h=!0,headerPrevious:u=!0,isShowFooter:m=!0,isShowAllAction:g=!0,loading:y=!1,backButtonText:f="关闭",contentPadding:x="20px",customActionButtons:w,extraActionButtons:v,children:k}=c,[b,B]=o(window.innerWidth),A=r(50,()=>{const e=document.querySelector("#page-layout");e&&B(e.offsetWidth)});return n(()=>{const e=setTimeout(()=>{A()},0);return g&&m&&window.addEventListener("resize",A),()=>{g&&m&&window.removeEventListener("resize",A),clearTimeout(e)}},[g,m]),a(e,{spinning:y,children:s("div",{className:"page-layout",id:"page-layout",children:[g&&h&&a(d,{title:l,history:p,previous:u}),s("div",{style:{padding:x},children:[k&&"function"==typeof k?k():k,g&&m&&s("div",{className:"page-layout-footer",style:{position:"relative",zIndex:"9"},children:[a("div",{style:{height:"52px"}}),a("div",{style:{textAlign:"center",backgroundColor:"rgb(241, 241, 242)",padding:"10px 0",position:"fixed",bottom:"0",width:b,margin:"0px -20px"},children:w||s(t,{children:[v,a(i,{onClick:()=>{p?.goBack?p.goBack():window.history.back()},children:f})]})})]})]})]})})}c.displayName="Page";export{c as default};
1
+ import{Spin as e,Space as t,Button as i}from"antd";import{useState as o,useEffect as n}from"react";import{throttle as r}from"throttle-debounce";import d from"../HeaderBack/index.js";import{jsx as a,jsxs as s}from"react/jsx-runtime";function c(c){const{headerTitle:l,history:p,isShowHeader:h=!0,headerPrevious:u=!0,isShowFooter:m=!0,isShowAllAction:g=!0,loading:y=!1,backButtonText:f="关闭",contentPadding:x="20px",customActionButtons:w,extraActionButtons:v,children:k}=c,[b,B]=o(window.innerWidth),A=r(50,()=>{const e=document.querySelector("#page-layout");e&&B(e.offsetWidth)});return n(()=>{const e=setTimeout(()=>{A()},0);return g&&m&&window.addEventListener("resize",A),()=>{g&&m&&window.removeEventListener("resize",A),clearTimeout(e)}},[g,m]),a(e,{spinning:y,children:s("div",{className:"page-layout",id:"page-layout",children:[g&&h&&a(d,{title:l,history:p,previous:u}),s("div",{style:{padding:x},children:[k&&"function"==typeof k?k():k,g&&m&&s("div",{className:"page-layout-footer",style:{position:"relative",zIndex:"99"},children:[a("div",{style:{height:"52px"}}),a("div",{style:{textAlign:"center",backgroundColor:"rgb(241, 241, 242)",padding:"10px 0",position:"fixed",bottom:"0",width:b,margin:"0px -20px"},children:w||s(t,{children:[v,a(i,{onClick:()=>{p?.goBack?p.goBack():window.history.back()},children:f})]})})]})]})]})})}c.displayName="Page";export{c as default};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 文件上传类型枚举
3
+ */
4
+ export declare const UPLOAD_FILE_TYPE_ENUM: {
5
+ 1000: 1000; // template_task - 模板任务附件
6
+ };
7
+
8
+ /**
9
+ * 文件上传类型对应的 path 枚举
10
+ */
11
+ export declare const UPLOAD_FILE_PATH_ENUM: {
12
+ 1000: "template_task";
13
+ };
@@ -0,0 +1 @@
1
+ const e={1e3:1e3},t={1e3:"template_task"};export{t as UPLOAD_FILE_PATH_ENUM,e as UPLOAD_FILE_TYPE_ENUM};
@@ -1 +1 @@
1
- import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as r}from"../../enum/uploadFile/gwj/index.js";import{getBaseGateway as i,addingPrefixToFile as t}from"../../utils/index.js";function n(n="object"){const[l,s]=o(!1);let a=0;const c=o=>{if(o)return a++,a>0&&s(!0),new Promise((n,l)=>{const{eqType:c,eqForeignKey:p,single:g=!0,foreignKey:f,dataSource:u}=o;if(!c)return void console.error("【getFile】 缺少 options.eqType 参数");if(!Object.values(r).includes(c))return void console.error(`【getFile】 传入的 eqType 不在 UPLOAD_FILE_TYPE_ENUM 中,当前传入的 eqType 是 ${c}`);if(g){if(null==p||""===p)return void console.error("【getFile】 缺少 options.eqForeignKey 参数")}else{if(null==f||""===f)return void console.error("【getFile】 缺少 options.foreignKey 参数");if(null==u||""===u)return void console.error("【getFile】 缺少 options.dataSource 参数");if(0===u.length)return s(!1),void n(u)}const y=g?{eqType:c,eqForeignKey:p}:{eqType:c,inForeignKey:u.map(e=>e[f]).join(",")};e(`/${i()}/imgFiles/listAll`,"get",y).then(e=>{if(g)n(t(e.data).map(e=>({...e,type:void 0})));else{const o=new Map;e.data.forEach(e=>{o.has(e.foreignKey)||o.set(e.foreignKey,[]),o.get(e.foreignKey).push({...e,type:void 0})});const r=u.map(e=>{const r=e[f],i=o.has(r)?t(o.get(r)):[];return{...e,files:i}});n(r)}}).catch(e=>{l(e)}).finally(()=>{a--,a<=0&&s(!1)})});console.error("【getFile】 缺少 options 参数")};return"array"===n?[l,c]:{loading:l,getFile:c}}export{n as default};
1
+ import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as i}from"../../enum/uploadFile/aqd/index.js";import{UPLOAD_FILE_TYPE_ENUM as r}from"../../enum/uploadFile/gwj/index.js";import{getBaseGateway as n,addingPrefixToFile as t}from"../../utils/index.js";function l(l="object"){const[s,a]=o(!1);let c=0;const p=o=>{if(o)return c++,c>0&&a(!0),new Promise((l,s)=>{const{eqType:p,eqForeignKey:u,single:f=!0,foreignKey:g,dataSource:d}=o;if(!p)return void console.error("【getFile】 缺少 options.eqType 参数");if(!Object.values(r).includes(p)&&!Object.values(i).includes(p))return void console.error(`【getFile】 传入的 eqType 不在 UPLOAD_FILE_TYPE_ENUM 中,当前传入的 eqType 是 ${p}`);if(f){if(null==u||""===u)return void console.error("【getFile】 缺少 options.eqForeignKey 参数")}else{if(null==g||""===g)return void console.error("【getFile】 缺少 options.foreignKey 参数");if(null==d||""===d)return void console.error("【getFile】 缺少 options.dataSource 参数");if(0===d.length)return a(!1),void l(d)}const m=f?{eqType:p,eqForeignKey:u}:{eqType:p,inForeignKey:d.map(e=>e[g]).join(",")};e(`/${n()}/imgFiles/listAll`,"get",m).then(e=>{if(f)l(t(e.data).map(e=>({...e,type:void 0})));else{const o=new Map;e.data.forEach(e=>{o.has(e.foreignKey)||o.set(e.foreignKey,[]),o.get(e.foreignKey).push({...e,type:void 0})});const i=d.map(e=>{const i=e[g],r=o.has(i)?t(o.get(i)):[];return{...e,files:r}});l(i)}}).catch(e=>{s(e)}).finally(()=>{c--,c<=0&&a(!1)})});console.error("【getFile】 缺少 options 参数")};return"array"===l?[s,p]:{loading:s,getFile:p}}export{l as default};
@@ -1 +1 @@
1
- import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as r,UPLOAD_FILE_PATH_ENUM as i}from"../../enum/uploadFile/gwj/index.js";import{getBaseGateway as t}from"../../utils/index.js";function l(l="object"){const[n,a]=o(!1);let p=0;const s=o=>{if(o)return p++,p>0&&a(!0),new Promise((l,n)=>{const{files:s=[],single:f=!0,params:d}=o;if(!s)return void console.error("【uploadFile】 缺少 files 参数");if(!Array.isArray(s))return void console.error("【uploadFile】 的 files 需要是一个数组");if(!d)return void console.error("【uploadFile】 缺少 options.params 参数");if(!d.type)return void console.error("【uploadFile】 缺少 options.params.type 参数");if(!Object.values(r).includes(d.type))return void console.error(`【uploadFile】 传入的 type 不在 UPLOAD_FILE_TYPE_ENUM 中,当前传入的 type 是 ${d.type}`);const u=i[d.type];if(!u)return void console.error(`【uploadFile】未找到 type ${d.type} 对应的 path `);if(!f){if(!d.hasOwnProperty("foreignKey"))return void console.error("【uploadFile】 的 single 是 false,缺少 options.params.foreignKey 参数");void 0!==d.foreignKey&&null!==d.foreignKey||(d.foreignKey="")}if(0===s.length)return p--,p<=0&&a(!1),void l(f?{filePath:""}:{id:d.foreignKey});const c=new FormData;if(s.forEach(e=>{e.originFileObj&&c.append("files",e.originFileObj)}),Object.keys(d).forEach(e=>{c.append(e,d[e])}),c.append("path",u),0===c.getAll("files").length)return p--,p<=0&&a(!1),void l(f?{filePath:s[0].filePath}:{id:d.foreignKey});e(f?`/${t()}/imgFiles/save`:`/${t()}/imgFiles/batchSave`,"post",c,{"Content-Type":"multipart/form-data"}).then(e=>{l(f?{filePath:e.data.filePath}:{id:e.data.foreignKey})}).catch(e=>{n(e)}).finally(()=>{p--,p<=0&&a(!1)})});console.error("【uploadFile】 缺少 options 参数")};return"array"===l?[n,s]:{loading:n,uploadFile:s}}export{l as default};
1
+ import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as i,UPLOAD_FILE_PATH_ENUM as r}from"../../enum/uploadFile/aqd/index.js";import{UPLOAD_FILE_TYPE_ENUM as t,UPLOAD_FILE_PATH_ENUM as l}from"../../enum/uploadFile/gwj/index.js";import{getBaseGateway as n}from"../../utils/index.js";function a(a="object"){const[s,p]=o(!1);let f=0;const d=o=>{if(o)return f++,f>0&&p(!0),new Promise((a,s)=>{const{files:d=[],single:u=!0,params:c}=o;if(!d)return void console.error("【uploadFile】 缺少 files 参数");if(!Array.isArray(d))return void console.error("【uploadFile】 的 files 需要是一个数组");if(!c)return void console.error("【uploadFile】 缺少 options.params 参数");if(!c.type)return void console.error("【uploadFile】 缺少 options.params.type 参数");if(!Object.values(t).includes(c.type)&&!Object.values(i).includes(c.type))return void console.error(`【uploadFile】 传入的 type 不在 UPLOAD_FILE_TYPE_ENUM 中,当前传入的 type 是 ${c.type}`);const y=l[c.type]||r[c.type];if(!y)return void console.error(`【uploadFile】未找到 type ${c.type} 对应的 path `);if(!u){if(!c.hasOwnProperty("foreignKey"))return void console.error("【uploadFile】 的 single 是 false,缺少 options.params.foreignKey 参数");void 0!==c.foreignKey&&null!==c.foreignKey||(c.foreignKey="")}if(0===d.length)return f--,f<=0&&p(!1),void a(u?{filePath:""}:{id:c.foreignKey});const m=new FormData;if(d.forEach(e=>{e.originFileObj&&m.append("files",e.originFileObj)}),Object.keys(c).forEach(e=>{m.append(e,c[e])}),m.append("path",y),0===m.getAll("files").length)return f--,f<=0&&p(!1),void a(u?{filePath:d[0].filePath}:{id:c.foreignKey});e(u?`/${n()}/imgFiles/save`:`/${n()}/imgFiles/batchSave`,"post",m,{"Content-Type":"multipart/form-data"}).then(e=>{a(u?{filePath:e.data.filePath}:{id:e.data.foreignKey})}).catch(e=>{s(e)}).finally(()=>{f--,f<=0&&p(!1)})});console.error("【uploadFile】 缺少 options 参数")};return"array"===a?[s,d]:{loading:s,uploadFile:d}}export{a as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zy-react-library",
3
3
  "private": false,
4
- "version": "2.0.6",
4
+ "version": "2.0.8",
5
5
  "type": "module",
6
6
  "description": "",
7
7
  "author": "LiuJiaNan",