"use strict";(self.webpackChunkant_design_pro=self.webpackChunkant_design_pro||[]).push([[2057],{86615:function(U,O,n){var s=n(1413),_=n(45987),b=n(22270),f=n(78045),j=n(67294),M=n(90789),R=n(43495),m=n(85893),t=["fieldProps","options","radioType","layout","proFieldProps","valueEnum"],P=j.forwardRef(function(u,l){var o=u.fieldProps,d=u.options,C=u.radioType,r=u.layout,e=u.proFieldProps,h=u.valueEnum,D=(0,_.Z)(u,t);return(0,m.jsx)(R.Z,(0,s.Z)((0,s.Z)({valueType:C==="button"?"radioButton":"radio",ref:l,valueEnum:(0,b.h)(h,void 0)},D),{},{fieldProps:(0,s.Z)({options:d,layout:r},o),proFieldProps:e,filedConfig:{customLightMode:!0}}))}),W=j.forwardRef(function(u,l){var o=u.fieldProps,d=u.children;return(0,m.jsx)(f.ZP,(0,s.Z)((0,s.Z)({},o),{},{ref:l,children:d}))}),F=(0,M.G)(W,{valuePropName:"checked",ignoreWidth:!0}),p=F;p.Group=P,p.Button=f.ZP.Button,p.displayName="ProFormComponent",O.Z=p},64317:function(U,O,n){var s=n(1413),_=n(45987),b=n(22270),f=n(67294),j=n(66758),M=n(43495),R=n(85893),m=["fieldProps","children","params","proFieldProps","mode","valueEnum","request","showSearch","options"],t=["fieldProps","children","params","proFieldProps","mode","valueEnum","request","options"],P=function(o,d){var C=o.fieldProps,r=o.children,e=o.params,h=o.proFieldProps,D=o.mode,a=o.valueEnum,x=o.request,B=o.showSearch,v=o.options,A=(0,_.Z)(o,m),Z=(0,f.useContext)(j.Z);return(0,R.jsx)(M.Z,(0,s.Z)((0,s.Z)({valueEnum:(0,b.h)(a),request:x,params:e,valueType:"select",filedConfig:{customLightMode:!0},fieldProps:(0,s.Z)({options:v,mode:D,showSearch:B,getPopupContainer:Z.getPopupContainer},C),ref:d,proFieldProps:h},A),{},{children:r}))},W=f.forwardRef(function(l,o){var d=l.fieldProps,C=l.children,r=l.params,e=l.proFieldProps,h=l.mode,D=l.valueEnum,a=l.request,x=l.options,B=(0,_.Z)(l,t),v=(0,s.Z)({options:x,mode:h||"multiple",labelInValue:!0,showSearch:!0,suffixIcon:null,autoClearSearchValue:!0,optionLabelProp:"label"},d),A=(0,f.useContext)(j.Z);return(0,R.jsx)(M.Z,(0,s.Z)((0,s.Z)({valueEnum:(0,b.h)(D),request:a,params:r,valueType:"select",filedConfig:{customLightMode:!0},fieldProps:(0,s.Z)({getPopupContainer:A.getPopupContainer},v),ref:o,proFieldProps:e},B),{},{children:C}))}),F=f.forwardRef(P),p=W,u=F;u.SearchSelect=p,u.displayName="ProFormComponent",O.Z=u},5966:function(U,O,n){var s=n(97685),_=n(1413),b=n(45987),f=n(21770),j=n(99859),M=n(55241),R=n(98423),m=n(67294),t=n(43495),P=n(85893),W=["fieldProps","proFieldProps"],F=["fieldProps","proFieldProps"],p="text",u=function(r){var e=r.fieldProps,h=r.proFieldProps,D=(0,b.Z)(r,W);return(0,P.jsx)(t.Z,(0,_.Z)({valueType:p,fieldProps:e,filedConfig:{valueType:p},proFieldProps:h},D))},l=function(r){var e=(0,f.Z)(r.open||!1,{value:r.open,onChange:r.onOpenChange}),h=(0,s.Z)(e,2),D=h[0],a=h[1];return(0,P.jsx)(j.Z.Item,{shouldUpdate:!0,noStyle:!0,children:function(B){var v,A=B.getFieldValue(r.name||[]);return(0,P.jsx)(M.Z,(0,_.Z)((0,_.Z)({getPopupContainer:function(c){return c&&c.parentNode?c.parentNode:c},onOpenChange:function(c){return a(c)},content:(0,P.jsxs)("div",{style:{padding:"4px 0"},children:[(v=r.statusRender)===null||v===void 0?void 0:v.call(r,A),r.strengthText?(0,P.jsx)("div",{style:{marginTop:10},children:(0,P.jsx)("span",{children:r.strengthText})}):null]}),overlayStyle:{width:240},placement:"rightTop"},r.popoverProps),{},{open:D,children:r.children}))}})},o=function(r){var e=r.fieldProps,h=r.proFieldProps,D=(0,b.Z)(r,F),a=(0,m.useState)(!1),x=(0,s.Z)(a,2),B=x[0],v=x[1];return e!=null&&e.statusRender&&D.name?(0,P.jsx)(l,{name:D.name,statusRender:e==null?void 0:e.statusRender,popoverProps:e==null?void 0:e.popoverProps,strengthText:e==null?void 0:e.strengthText,open:B,onOpenChange:v,children:(0,P.jsx)("div",{children:(0,P.jsx)(t.Z,(0,_.Z)({valueType:"password",fieldProps:(0,_.Z)((0,_.Z)({},(0,R.Z)(e,["statusRender","popoverProps","strengthText"])),{},{onBlur:function(Z){var c;e==null||(c=e.onBlur)===null||c===void 0||c.call(e,Z),v(!1)},onClick:function(Z){var c;e==null||(c=e.onClick)===null||c===void 0||c.call(e,Z),v(!0)}}),proFieldProps:h,filedConfig:{valueType:p}},D))})}):(0,P.jsx)(t.Z,(0,_.Z)({valueType:"password",fieldProps:e,proFieldProps:h,filedConfig:{valueType:p}},D))},d=u;d.Password=o,d.displayName="ProFormComponent",O.Z=d},62057:function(U,O,n){n.r(O);var s=n(15009),_=n.n(s),b=n(99289),f=n.n(b),j=n(5574),M=n.n(j),R=n(99859),m=n(71230),t=n(15746),P=n(59847),W=n(96074),F=n(83622),p=n(67294),u=n(76772),l=n(19035),o=n(97269),d=n(64317),C=n(5966),r=n(86615),e=n(85893),h=function(a){var x=R.Z.useForm(),B=M()(x,1),v=B[0],A=(0,p.useState)("0"),Z=M()(A,2),c=Z[0],G=Z[1],X=(0,p.useState)("curd"),$=M()(X,2),I=$[0],H=$[1],Y=(0,p.useState)(),V=M()(Y,2),k=V[0],w=V[1],q=a.menuData,T=a.tableInfo,z=a.onStepSubmit,ee=T==null?void 0:T.map(function(i){return{value:i.tableName,label:"".concat(i.tableName,"\uFF1A").concat(i.tableComment)}});if(T)for(var ne=function(){var g=T[K];if(g.tableName===a.values.subTableName){var L=[];return g.columns.forEach(function(E){L.push({value:E.columnName,label:"".concat(E.columnName,": ").concat(E.columnComment)})}),1}},K=0;K<(T==null?void 0:T.length)&&!ne();K+=1);var S=a.values.columns.map(function(i){return{value:i.columnName,label:"".concat(i.columnName,": ").concat(i.columnComment)}}),J=function(){var i=f()(_()().mark(function g(L){var E;return _()().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:return y.next=2,v.validateFields();case 2:E=y.sent,z("gen",E,L);case 4:case"end":return y.stop()}},g)}));return function(L){return i.apply(this,arguments)}}();return(0,p.useEffect)(function(){G(a.values.genType),H(a.values.tplCategory)},[a.values.genType,a.values.tplCategory]),(0,e.jsxs)(p.Fragment,{children:[(0,e.jsx)(m.Z,{children:(0,e.jsx)(t.Z,{span:24,children:(0,e.jsxs)(o.A,{form:v,onFinish:f()(_()().mark(function i(){var g;return _()().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return E.next=2,v.validateFields();case 2:g=E.sent,z("gen",g);case 4:case"end":return E.stop()}},i)})),initialValues:{curd:a.values.curd,tree:a.values.tree,sub:a.values.sub,tplCategory:a.values.tplCategory,packageName:a.values.packageName,moduleName:a.values.moduleName,businessName:a.values.businessName,functionName:a.values.functionName,parentMenuId:a.values.parentMenuId,genType:a.values.genType,genPath:a.values.genPath,treeCode:a.values.treeCode,treeParentCode:a.values.treeParentCode,treeName:a.values.treeName,subTableName:a.values.subTableName,subTableFkName:a.values.subTableFkName},submitter:{resetButtonProps:{style:{display:"none"}},submitButtonProps:{style:{display:"none"}}},children:[(0,e.jsxs)(m.Z,{gutter:[16,16],children:[(0,e.jsx)(t.Z,{span:12,order:1,children:(0,e.jsx)(d.Z,{fieldProps:{onChange:function(g){H(g)}},valueEnum:{crud:"\u5355\u8868\uFF08\u589E\u5220\u6539\u67E5\uFF09",tree:"\u6811\u8868\uFF08\u589E\u5220\u6539\u67E5\uFF09",sub:"\u4E3B\u5B50\u8868\uFF08\u589E\u5220\u6539\u67E5\uFF09"},name:"tplCategory",label:"\u751F\u6210\u6A21\u677F",rules:[{required:!0,message:"\u9009\u62E9\u7C7B\u578B"}]})}),(0,e.jsx)(t.Z,{span:12,order:2,children:(0,e.jsx)(C.Z,{name:"packageName",label:"\u751F\u6210\u5305\u8DEF\u5F84"})})]}),(0,e.jsxs)(m.Z,{gutter:[16,16],children:[(0,e.jsx)(t.Z,{span:12,order:1,children:(0,e.jsx)(C.Z,{name:"moduleName",label:"\u751F\u6210\u6A21\u5757\u540D"})}),(0,e.jsx)(t.Z,{span:12,order:2,children:(0,e.jsx)(C.Z,{name:"businessName",label:"\u751F\u6210\u4E1A\u52A1\u540D"})})]}),(0,e.jsxs)(m.Z,{gutter:[16,16],children:[(0,e.jsx)(t.Z,{span:12,order:1,children:(0,e.jsx)(C.Z,{name:"functionName",label:"\u751F\u6210\u529F\u80FD\u540D"})}),(0,e.jsx)(t.Z,{span:12,order:2,children:(0,e.jsx)(o.A.Item,{labelCol:{span:20},name:"parentMenuId",label:"\u7236\u83DC\u5355",children:(0,e.jsx)(P.Z,{style:{width:"74%"},defaultValue:a.values.parentMenuId,treeData:q,placeholder:"\u8BF7\u9009\u62E9\u7236\u83DC\u5355"})})})]}),(0,e.jsx)(m.Z,{gutter:[16,16],children:(0,e.jsx)(t.Z,{span:24,children:(0,e.jsx)(r.Z.Group,{valueEnum:{0:"zip\u538B\u7F29\u5305",1:"\u81EA\u5B9A\u4E49\u8DEF\u5F84"},name:"genType",label:"\u751F\u6210\u4EE3\u7801\u65B9\u5F0F",rules:[{required:!0,message:"\u9009\u62E9\u7C7B\u578B"}],fieldProps:{onChange:function(g){G(g.target.value)}}})})}),(0,e.jsx)(m.Z,{gutter:[16,16],children:(0,e.jsx)(t.Z,{span:24,order:1,children:(0,e.jsx)(C.Z,{hidden:c==="0",width:"md",name:"genPath",label:"\u81EA\u5B9A\u4E49\u8DEF\u5F84"})})}),(0,e.jsxs)("div",{hidden:I!=="tree",children:[(0,e.jsx)(W.Z,{orientation:"left",children:"\u5176\u4ED6\u4FE1\u606F"}),(0,e.jsxs)(m.Z,{gutter:[16,16],children:[(0,e.jsx)(t.Z,{span:12,order:1,children:(0,e.jsx)(d.Z,{name:"treeCode",label:"\u6811\u7F16\u7801\u5B57\u6BB5",options:S,rules:[{required:I==="tree",message:"\u6811\u7F16\u7801\u5B57\u6BB5"}]})}),(0,e.jsx)(t.Z,{span:12,order:2,children:(0,e.jsx)(d.Z,{name:"treeParentCode",label:"\u6811\u7236\u7F16\u7801\u5B57\u6BB5",options:S,rules:[{required:I==="tree",message:"\u6811\u7236\u7F16\u7801\u5B57\u6BB5"}]})})]}),(0,e.jsx)(m.Z,{gutter:[16,16],children:(0,e.jsx)(t.Z,{span:12,order:1,children:(0,e.jsx)(d.Z,{name:"treeName",label:"\u6811\u540D\u79F0\u5B57\u6BB5",options:S,rules:[{required:I==="tree",message:"\u6811\u540D\u79F0\u5B57\u6BB5"}]})})})]}),(0,e.jsxs)("div",{hidden:I!=="sub",children:[(0,e.jsx)(W.Z,{orientation:"left",children:"\u5173\u8054\u4FE1\u606F"}),(0,e.jsxs)(m.Z,{gutter:[16,16],children:[(0,e.jsx)(t.Z,{span:12,order:1,children:(0,e.jsx)(d.Z,{name:"subTableName",label:"\u5173\u8054\u5B50\u8868\u7684\u8868\u540D",options:ee,rules:[{required:I==="sub",message:"\u5173\u8054\u5B50\u8868\u7684\u8868\u540D"}],fieldProps:{onChange:function(g){if(v.setFieldsValue({subTableFkName:""}),T)for(var L=function(){var y=T[E];if(y.tableName===g){var Q=[];return y.columns.forEach(function(N){Q.push({value:N.columnName,label:"".concat(N.columnName,"\uFF1A").concat(N.columnComment)})}),w(Q),1}},E=0;E<(T==null?void 0:T.length)&&!L();E+=1);}}})}),(0,e.jsx)(t.Z,{span:12,order:2,children:(0,e.jsx)(d.Z,{name:"subTableFkName",options:k,label:"\u5B50\u8868\u5173\u8054\u7684\u5916\u952E\u540D",rules:[{required:I==="sub",message:"\u5B50\u8868\u5173\u8054\u7684\u5916\u952E\u540D"}]})})]})]})]})})}),(0,e.jsxs)(m.Z,{justify:"center",children:[(0,e.jsx)(t.Z,{span:4,children:(0,e.jsx)(F.ZP,{type:"primary",onClick:function(){u.history.back()},children:"\u8FD4\u56DE"})}),(0,e.jsx)(t.Z,{span:4,children:(0,e.jsx)(F.ZP,{type:"primary",className:l.Z.step_buttons,onClick:function(){J("prev")},children:"\u4E0A\u4E00\u6B65"})}),(0,e.jsx)(t.Z,{span:4,children:(0,e.jsx)(F.ZP,{type:"primary",onClick:function(){J("next")},children:"\u63D0\u4EA4"})})]})]})};O.default=h},19035:function(U,O){O.Z={steps:"steps____stZD"}}}]);
