{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.object.values.js","webpack:///./src/cloudfun/components/CheckBoxList.vue?4d9c","webpack:///./src/cloudfun/components/CheckBoxList.vue","webpack:///./src/cloudfun/components/CheckBoxList.vue?322a","webpack:///./src/cloudfun/components/CheckBoxList.vue?75d3","webpack:///./src/views/user-wizard/Main.vue","webpack:///./src/cloudfun/components/Stepper.vue","webpack:///./src/cloudfun/components/Stepper.vue?2dbd","webpack:///./src/cloudfun/components/Stepper.vue?b649","webpack:///./src/views/user-wizard/Main.vue?cc74","webpack:///./src/views/user-wizard/Main.vue?eab8"],"names":["$","$values","values","target","stat","O","class","read-only","readOnly","items","filter","e","group","groupIndex","key","caption","name","type","onSelectAllButtonClick","checked","itemCount","selectedCount","disabled","item","itemIndex","style","itemWidthPercentage","id","value","selectedValues","onChange","for","index","props","String","modelValue","Array","default","cell","Object","columnCount","Number","Boolean","setup","all","methods","groupItem","this","find","length","forEach","isArray","subItems","includes","push","allSelected","map","silent","$emit","setValue","created","undefined","watch","current","render","__scopeId","ref","stepperOptions","next","complete","step1","node","nodes","roleFormOptions","data","reset","submit","form-permissions","permissionItems","PermissionValues","step2","userFormOptions","column-role-ids","RoleIds","column-photo-and-remark","el","uploader","mode","Photo","Uri","action","uploadAction","autoUpload","limitedWidth","limitedHeight","uploaderFilter","placeholder","resize","Remark","width","height","stepperProgress","stepNodes","step","currentNode","status","finished","jumpable","jump","icon","title","hintHidden","hint","hintPosition","hintWidth","template","content","backable","back","skipable","skip","hasHint","toggleHint","required","onBack","Function","onSkip","onJump","onNext","onComplete","sort","a","b","some","indexOf","to","$props","from","force","toStep","validate","components","Stepper","CheckBoxList","SelectBox","FileUploader","model","stepper","roleForm","titleWidth","titleAlign","field","span","itemRender","clearable","attrs","slots","rules","Name","permission","GroupName","order","Value","Order","enums","SystemPermission","userForm","options","UserStatus","label","autocomplete","Email","message","pattern","RegExp","Account","Password","validator","params","itemValue","regex","test","Error","Id","roleSelectorOptions","rowId","transfer","textField","valueField","columns","showHeaderOverflow","showOverflow","sortable","multiselect","showHeader","promises","dispatch","query","original","prevent","alert","callback","success","dispatchEvent","Event","_","$model","then","failure","$send"],"mappings":"qGAAA,IAAIA,EAAI,EAAQ,QACZC,EAAU,EAAQ,QAAgCC,OAItDF,EAAE,CAAEG,OAAQ,SAAUC,MAAM,GAAQ,CAClCF,OAAQ,SAAgBG,GACtB,OAAOJ,EAAQI,O,2DCPnB,W,yFCOaC,MAAM,0B,sCAUTA,MAAM,S,+EAkCLA,MAAM,S,wDAMT,Q,wDAxDN,gCA2DW,YA3DAC,YAAW,EAAAC,UAAQ,E,2BAC5B,gCAiCM,2CAhC0B,EAAAC,MAAMC,QAAO,SAAAC,GAAC,OAAIA,EAAEF,UAAK,SAA/CG,EAAOC,G,gCADjB,gCAiCM,OA/BHC,IAAG,+BAA0BD,GAC9BP,MAAM,mC,CAEN,gCASQ,QATR,EASQ,C,0DARHM,EAAMG,SAAWH,EAAMI,MAAO,MAEjC,mCAKE,SAJAC,KAAK,WACJ,QAAK,mBAAE,EAAAC,uBAAuBN,EAAMI,OACpCG,QAAS,EAAAC,UAAUR,EAAMI,OAAS,EAAAK,cAAcT,EAAMI,MACtDM,SAAU,EAAAd,U,YAGf,gCAiBK,KAjBL,EAiBK,E,2BAhBH,gCAeK,2CAdyBI,EAAMH,OAAK,SAA/Bc,EAAMC,G,gCADhB,gCAeK,MAbFV,IAAG,oCAA+BU,GAClCC,MAAK,mCAAW,EAAAC,uB,CAEjB,gCASM,Y,4BARJ,gCAME,SANMC,GAAE,6CAAwCJ,EAAKK,OACrDX,KAAK,WACJW,MAAOL,EAAKK,M,qDACJ,EAAAC,eAAc,IACtB,SAAM,+BAAE,EAAAC,aACRR,SAAU,EAAAd,U,iCAFF,EAAAqB,kBAIX,gCAAwF,SAAhFE,IAAG,6CAAwCR,EAAKK,Q,6BAAYL,EAAKP,MAAI,Q,yBAKrF,gCAcK,Y,2BAbH,gCAYK,2CAZuB,EAAAP,MAAMC,QAAO,SAAAC,GAAC,OAAIA,EAAEiB,UAAK,SAAzCL,EAAMS,G,gCAAlB,gCAYK,MAZoDlB,IAAG,8BAAyBkB,GAAUP,MAAK,mCAAW,EAAAC,uB,CAC7G,gCAUM,Y,4BATJ,gCAOE,SANCC,GAAE,6CAAwCJ,EAAKK,OAChDX,KAAK,WACJW,MAAOL,EAAKK,M,qDACJ,EAAAC,eAAc,IACtB,SAAM,+BAAE,EAAAC,aACRR,SAAU,EAAAd,U,iCAFF,EAAAqB,kBAIX,gCAAwF,SAAhFE,IAAG,6CAAwCR,EAAKK,Q,6BAAYL,EAAKP,MAAI,Q,cAInF,gCAQC,QARD,EAQC,CAPC,gCAKE,SAJAC,KAAK,WACJ,QAAK,+BAAE,EAAAC,uBAAsB,SAC7BC,QAAS,EAAAC,UAAS,QAAW,EAAAC,cAAa,OAC1CC,SAAU,EAAAd,U,0HCpDJ,+BAAgB,CAC7ByB,MAAO,CACLjB,KAAMkB,OACNC,WAAY,CAAElB,KAAMmB,MAA0BC,QAAS,iBAAM,KAC7DC,KAAMC,OACNC,YAAa,CAAEvB,KAAMwB,OAAQJ,QAAS,GACtC7B,SAAUkC,QACVjC,MAAO,CAAEQ,KAAMmB,MAA0BC,QAAS,iBAAM,MAE1DM,MAT6B,SAStBV,GACL,IAAMJ,EAAiB,iBAAW,IAC5BT,EAAY,iBAAS,CAAEwB,IAAK,IAC5BvB,EAAgB,iBAAS,CAAEuB,IAAK,IAEhClB,EAAsB,uBAAS,kBACnCO,EAAMO,YAAc,EAApB,UAA2B,IAAMP,EAAMO,YAAvC,KAAwD,UAG1D,MAAO,CACLX,iBACAT,YACAC,gBACAM,GAAI,iBACJD,wBAGJmB,QAAS,CACP3B,uBADO,SACiBF,GAAY,WAC5B8B,EAAYC,KAAKtC,MAAMuC,MAAK,SAACrC,GAAD,OAAOA,EAAEK,OAASA,KAChDP,EAAQ,KACZ,GAAiB,MAAbqC,EACFrC,EAAQsC,KAAKtC,MACTsC,KAAKlB,eAAeoB,SAAWF,KAAK3B,UAAUJ,GAChD+B,KAAKlB,eAAiB,GAEtBpB,EAAMyC,SAAQ,SAAC3B,GACTA,EAAKd,OAAS2B,MAAMe,QAAQ5B,EAAKd,OACnCc,EAAKd,MAAMyC,SAAQ,SAACE,GACb,EAAKvB,eAAewB,SAASD,EAASxB,QAAU,EAAKC,eAAeyB,KAAKF,EAASxB,UAE/E,EAAKC,eAAewB,SAAS9B,EAAKK,QAAU,EAAKC,eAAeyB,KAAK/B,EAAKK,cAGrF,CACLnB,EAAQqC,EAAUrC,MAClB,IAAI8C,GAAc,EAIlB,GAHA9C,EAAMyC,SAAQ,SAAC3B,GACbgC,MAAgB,EAAK1B,eAAewB,SAAS9B,EAAKK,WAEhD2B,EAAa,CACf,IAAIrD,EAAS4C,EAAUrC,MAAM+C,KAAI,SAAC7C,GAAD,OAAYA,EAAEiB,SAC/CmB,KAAKlB,eAAiBkB,KAAKlB,eAAenB,QACxC,SAACC,GAAD,OAAQT,EAAOmD,SAAS1C,WAG1BF,EAAMyC,SAAQ,SAAC3B,GACR,EAAKM,eAAewB,SAAS9B,EAAKK,QAAU,EAAKC,eAAeyB,KAAK/B,EAAKK,UAIrFmB,KAAKjB,YAEPA,SApCO,SAoCGnB,EAAW8C,GAAgB,WACnCV,KAAK1B,cAAgB,CAAEuB,IAAKG,KAAKlB,eAAeoB,QAChDF,KAAKlB,eAAeqB,SAAQ,SAAAtB,GAC1B,EAAKnB,MAAMyC,SAAQ,SAAA3B,GACjB,GAAIA,EAAKd,MAAO,CACd,IAAMG,EAAQW,EACVX,EAAMH,MAAMuC,MAAK,SAACrC,GAAD,OAAYA,EAAEiB,QAAUA,OAC3C,EAAKP,cAAcT,EAAMI,OAAS,EAAKK,cAAcT,EAAMI,OAAS,GAAK,UAK5EyC,IACHV,KAAKW,MAAM,oBAAqBX,KAAKlB,gBACrCkB,KAAKW,MAAM,SAAUX,KAAKlB,gBACtBkB,KAAKT,MAAMS,KAAKT,KAAKqB,SAASZ,KAAKlB,mBAI7C+B,QAjF6B,WAiFtB,WACLb,KAAKtC,MAAMyC,SAAQ,SAAA3B,GACjB,GAAIA,EAAKd,OAAS2B,MAAMe,QAAQ5B,EAAKd,OAAQ,CAC3C,IAAMG,EAAQW,EACd,EAAKH,UAAUR,EAAMI,MAAQJ,EAAMH,MAAMwC,OACzC,EAAK7B,UAAUwB,KAAOhC,EAAMH,MAAMwC,YAC7B,EAAK7B,UAAUwB,SAExBG,KAAKlB,eAAL,eAA0BkB,KAAKZ,YAC/BY,KAAKjB,cAAS+B,GAAW,IAE3BC,MAAO,CACLrD,MADK,WACA,WACHsC,KAAK3B,UAAUwB,IAAM,EACrBG,KAAKtC,MAAMyC,SAAQ,SAAC3B,GACdA,EAAKd,OAAS2B,MAAMe,QAAQ5B,EAAKd,QACnC,EAAKW,UAAUG,EAAKP,MAAQO,EAAKd,MAAMwC,OACvC,EAAK7B,UAAUwB,KAAOrB,EAAKd,MAAMwC,QAC5B,EAAK7B,UAAUwB,SAExBG,KAAKjB,cAAS+B,GAAW,IAE3B1B,WAXK,SAWO4B,GACVhB,KAAKlB,eAAL,eAA0BkC,GAC1BhB,KAAKjB,cAAS+B,GAAW,O,UCxG/B,EAAOG,OAASA,EAChB,EAAOC,UAAY,kBAEJ,U,kFCNX,gCAEM,OAFD3D,MAAM,uDAAqD,CAC9D,gCAAmD,MAA/CA,MAAM,+BAA8B,Y,MAGrCA,MAAM,wB,GACJA,MAAM,yC,GAqCIA,MAAM,Q,EAyBzB,gCAAM,mB,wYApEN,gCAmEM,YAlEJ,EAIA,gCA4DM,MA5DN,EA4DM,CA3DJ,gCA0DM,MA1DN,EA0DM,CAzDJ,yBAwDU,EAxDV,wBAwDU,CAvDR4D,IAAI,WACI,EAAAC,eAAc,CACrB,OAAM,EAAAC,KACN,WAAU,EAAAC,W,CAEAC,MAAK,sBACd,gBADkBC,EAClB,EADkBA,KAAMC,EACxB,EADwBA,MACxB,MAD6B,CAC7B,yBAcW,EAdX,wBAcW,CAbTN,IAAI,YACI,EAAAO,gBAAe,CACtBC,KAAMH,EAAKG,KACX,QAAK,mBAAE,EAAAC,MAAMJ,IACb,SAAM,mBAAE,EAAAK,OAAOL,EAAMC,M,CAEXK,mBAAgB,sBACzB,gBAD6BH,EAC7B,EAD6BA,KAC7B,MADiC,CACjC,yBAIkB,GAHflC,YAAa,EACb/B,MAAO,EAAAqE,gB,WACCJ,EAAKK,iB,yCAALL,EAAKK,iBAAgB,I,sGAM3BC,MAAK,sBACd,gBADkBT,EAClB,EADkBA,KAAMC,EACxB,EADwBA,MACxB,MAD6B,CAC7B,yBA6BW,EA7BX,wBA6BW,CA5BTN,IAAI,YACI,EAAAe,gBAAe,CACtBP,KAAMH,EAAKG,KACX,QAAK,mBAAE,EAAAC,MAAMJ,IACb,SAAM,mBAAE,EAAAK,OAAOL,EAAMC,M,CAEXU,kBAAe,sBACxB,gBAD4BR,EAC5B,EAD4BA,KAC5B,MADgC,CAChC,yBAAkE,EAAlE,wBAAkE,EAA3B,qB,WAAWA,EAAKS,Q,yCAALT,EAAKS,QAAO,K,kDAErDC,0BAAuB,sBAChC,kBADoCV,EACpC,EADoCA,KACpC,MADwC,CACxC,gCAgBM,MAhBN,EAgBM,CAfJ,yBAaE,GAZCR,IAAK,SAAAmB,GAAE,OAAI,EAAAC,SAAWD,GACvB1D,GAAG,iBACHF,MAAA,oFACAnB,MAAM,QACNiF,KAAK,QACJpD,WAAU,UAAEuC,EAAKc,aAAP,aAAE,EAAYC,IACxBC,OAAQ,EAAAC,aACRC,YAAY,EACZC,aAAc,IACdC,cAAe,IACf,sBAAiB,SAAGlE,GAAgB8C,EAAKc,MAAOd,EAAKc,MAAMC,IAAM7D,EAAY8C,EAAKc,MAAK,KAAU5D,IACjG,SAAQ,EAAAmE,gB,iEAEX,yBAAwE,GAA1DC,YAAY,QAAQC,OAAO,O,WAAgBvB,EAAKwB,O,yCAALxB,EAAKwB,OAAM,I,uIAUpF,G,8HCnEO5F,MAAM,oB,GACJA,MAAM,wB,uBAgBMA,MAAM,kB,mBAKpBA,MAAM,qB,GAUFA,MAAM,mB,mBAURA,MAAM,oB,8CAM2C,Q,8CAUQ,Q,6DAuBd,Q,cAe3CA,MAAM,oB,GACDA,MAAM,iBAAiBW,KAAK,U,+BACW,a,2GAnGrD,gCAyGM,OAzGDX,MAAM,UAAWmB,MAAK,mCAAuB,kBAAL,EAAA0E,MAAlB,UAA0C,EAAAA,MAA1C,MAAsD,EAAAA,MAAK,OAAuB,kBAAN,EAAAC,OAAjB,UAA0C,EAAAA,OAAxC,MAAqD,EAAAA,U,CAC3I,gCAqBM,MArBN,EAqBM,CApBJ,gCAEM,MAFN,EAEM,CADJ,gCAAkF,OAA7E9F,MAAM,8BAA+BmB,MAAK,mCAAW,EAAA4E,mB,sCAE5D,gCAgBM,2CAfW,EAAAC,WAAS,SAAjB/B,G,gCADT,gCAgBM,OAdHzD,IAAKyD,EAAKgC,KACXjG,MAAK,6BAAC,eACEiE,EAAKgC,KAAO,EAAAC,YAAYD,UAAO1C,EAAYU,EAAKkC,U,CAExD,gCAQM,OAPJnG,MAAM,kBACLmB,MAAK,oCAAY,EAAAiF,WAAa,EAAAC,UAAYpC,EAAKgC,MAAQ,EAAAC,YAAYD,KAAI,0BACvE,QAAK,mBAAE,EAAAK,KAAKrC,EAAKgC,Q,CAEY,cAAXhC,EAAKkC,Q,yBAAxB,yBAAoF,G,MAApCnG,MAAM,eAAeuG,KAAK,WAClDtC,EAAKsC,M,yBAA7B,yBAA4E,G,MAAzCvG,MAAM,eAAgBuG,KAAMtC,EAAKsC,M,4CACpE,gCAA0D,OAA1D,EAA0D,6BAAnBtC,EAAKgC,MAAI,K,MAElD,gCAAiD,OAA5CjG,MAAM,gBAAgB,UAAQiE,EAAKuC,O,yBAG5C,gCAkBM,MAlBN,EAkBM,E,2BAjBJ,gCAgBM,2CAdW,EAAAR,WAAS,SAAjB/B,G,6DAFT,gCAgBM,OAfJjE,MAAM,cAELQ,IAAKyD,G,EAGM,EAAAwC,YAAcxC,EAAKyC,MAAyB,SAAjBzC,EAAK0C,c,yBAA5C,gCAEM,O,MAF+D3G,MAAM,qBAAsBmB,MAAK,sCAAmC,kBAAd8C,EAAK2C,UAA1B,UAAsD3C,EAAK2C,UAA3D,MAA2E3C,EAAK2C,a,CACpL,wBAA0D,SAA7C3C,EAAKyC,KAAI,CAAGzC,KAAMA,EAAOC,MAAO,EAAA8B,a,2CAE/C,gCAGM,MAHN,EAGM,CAFQ/B,EAAK4C,SAAjB,wBAAmF,SAAjD5C,EAAK4C,SAAQ,C,MAAG5C,KAAMA,EAAOC,MAAO,EAAA8B,YACtD/B,EAAK6C,S,yBAArB,gCAAsD,O,MAAxB,UAAQ7C,EAAK6C,S,qDAEjC,EAAAL,YAAcxC,EAAKyC,MAAyB,SAAjBzC,EAAK0C,c,yBAA5C,gCAEM,O,MAF+D3G,MAAM,sBAAuBmB,MAAK,sCAAmC,kBAAd8C,EAAK2C,UAA1B,UAAsD3C,EAAK2C,UAA3D,MAA2E3C,EAAK2C,a,CACrL,wBAA0D,SAA7C3C,EAAKyC,KAAI,CAAGzC,KAAMA,EAAOC,MAAO,EAAA8B,a,2DAVvC,EAAAE,YAAYD,MAAQhC,EAAKgC,W,QAcxB,EAAAG,SAsDb,wBAQO,2B,MAR6BlC,MAAO,EAAA8B,YAA3C,iBAQO,CAPL,gCAMM,MANN,EAMM,CALJ,gCAIS,SAJT,EAIS,CAHP,yBAA6C,GAAhChG,MAAM,WAAWuG,KAAK,U,EAEnC,yBAA6C,GAAhCvG,MAAM,WAAWuG,KAAK,kBA3DzC,wBAqDO,qB,MArDiCtC,KAAM,EAAAA,KAAOC,MAAO,EAAA8B,YAA5D,iBAqDO,CApDL,gCAmDM,MAnDN,EAmDM,CAlDJ,gCAOS,UANPhG,MAAM,iBACLgB,SAAU,EAAA+F,UAAY,EAAAb,YAAYD,MAAQ,EAAAD,UAAS,GAAIC,KACvD,QAAK,+BAAE,EAAAe,U,CAER,yBAAkD,GAArChH,MAAM,WAAWuG,KAAK,e,QAIrC,gCAQS,UAPPvG,MAAM,iBACNW,KAAK,OACJK,UAAW,EAAAkF,YAAYe,SACvB,QAAK,+BAAE,EAAAC,U,CAER,yBAA0D,GAA7ClH,MAAM,WAAWuG,KAAK,uB,QAK7B,EAAAY,S,yBADR,gCASS,U,MAPPnH,MAAM,iBACNW,KAAK,OACJK,UAAW,EAAAkF,YAAYQ,KACvB,QAAK,8BAAE,EAAAU,YAAA,EAAAA,WAAA,sB,CAER,yBAAgD,GAAnCpH,MAAM,WAAWuG,KAAK,a,6BAAa,IAChD,uCAAK,EAAAE,WAAU,UAAf,OAAe,I,6CAGjB,wBAAuD,oBAAjCxC,KAAM,EAAAA,KAAOC,MAAO,EAAA8B,YAE1C,gCAQS,UAPPhG,MAAM,iBACNW,KAAK,QACJK,UAAW,EAAAkF,YAAY7B,MACvB,QAAK,uBAAc,EAAA6B,YAAY7B,OAAO,EAAA6B,YAAY7B,MAAM,EAAA6B,gB,CAEzD,yBAA4C,GAA/BlG,MAAM,WAAWuG,KAAK,S,QAIrC,gCAOS,UANPvG,MAAM,iBACLW,KAAM,EAAAuF,YAAYD,OAAS,EAAAD,UAAU,EAAAA,UAAUrD,OAAM,GAAMsD,KAAI,sBAC/D,QAAK,uBAAU,EAAAC,YAAYD,OAAS,EAAAD,UAAU,EAAAA,UAAUrD,OAAM,GAAMsD,KAAO,EAAAnC,OAAS,EAAAC,c,CAErF,yBAA4H,GAA/G/D,MAAM,WAAYuG,KAAM,EAAAL,YAAYD,OAAS,EAAAD,UAAU,EAAAA,UAAUrD,OAAM,GAAMsD,KAAI,uB,8CAA8B,IAC5H,6BAAE,EAAAC,YAAYD,OAAS,EAAAD,UAAU,EAAAA,UAAUrD,OAAM,GAAMsD,KAAI,e,+BCjDtD,G,wCAAA,6BAAgB,CAC7BtE,MAAO,CACLsC,KAAM,CAAEtD,KAAMsB,QACdiC,MAAO,CAAEvD,KAAMmB,MAAmCuF,UAAU,GAC5DN,SAAU,CAAEpG,KAAMyB,QAASL,SAAS,GACpCsE,SAAU,CAAE1F,KAAMyB,QAASL,SAAS,GACpC8D,MAAO,CAAElF,KAAM,CAACwB,OAAQP,SACxBkE,OAAQ,CAAEnF,KAAM,CAACwB,OAAQP,SACzB0F,OAAQ,CAAE3G,KAAM4G,UAChBC,OAAQ,CAAE7G,KAAM4G,UAChBE,OAAQ,CAAE9G,KAAM4G,UAChBG,OAAQ,CAAE/G,KAAM4G,UAChBI,WAAY,CAAEhH,KAAM4G,WAEtBlF,MAd6B,SAcvBV,GACJ,IAAIqE,EAAY,eAAIrE,EAAMuC,OAC1B8B,EAAYA,EAAU4B,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAE5B,KAAO6B,EAAE7B,QAEhD,IAAMkB,EAAU,iBAAInB,EAAU+B,MAAK,SAAA1H,GAAC,OAAIA,EAAEqG,SACpCD,EAAa,kBAAKU,GAElBjB,EAAc,iBAAIF,EAAU,IAClCE,EAAY5E,MAAM6E,OAAS,UAE3B,IAAMJ,EAAkB,uBAAS,kBAAM,KAAOC,EAAUrD,OAAS,GAAKqD,EAAUgC,QAAQ9B,EAAY5E,OAAS,OAE7G,MAAO,CACL4E,cACAF,YACAmB,UACApB,kBACAU,aACAL,SAAU,kBAAI,KAGlB7D,QAAS,CACPyE,KADO,WACH,WACItF,EAAQe,KAAKuD,UAAUgC,QAAQvF,KAAKyD,aAC1C,GAAIxE,EAAQ,EAAG,CACb,IAAMuG,EAAKxF,KAAKuD,UAAUtE,EAAQ,GAC5B0D,EAAS,WACb,EAAKc,YAAYC,YAAS5C,EAC1B,EAAK2C,YAAc+B,EACnB,EAAK/B,YAAYC,OAAS,WAExB1D,KAAKyF,OAAOZ,OAAQ7E,KAAKW,MAAM,OAAQ,CAAE+E,KAAM1F,KAAKyD,YAAa+B,KAAI/D,MAAOzB,KAAKuD,WAAaZ,GAC7FA,MAGT8B,KAdO,WAcH,WACIxF,EAAQe,KAAKuD,UAAUgC,QAAQvF,KAAKyD,aAC1C,GAAIzD,KAAKuD,UAAUrD,SAAWjB,EAAQ,EAChCe,KAAKyF,OAAOP,YAAYlF,KAAKW,MAAM,WAAYX,KAAKuD,eACnD,CACL,IAAMiC,EAAKxF,KAAKuD,UAAUtE,EAAQ,GAC5B0D,EAAS,WACb,EAAKc,YAAYC,OAAS,SAC1B,EAAKD,YAAc+B,EACnB,EAAK/B,YAAYC,OAAS,WAExB1D,KAAKyF,OAAOV,OAAQ/E,KAAKW,MAAM,OAAQ,CAAE+E,KAAM1F,KAAKyD,YAAa+B,KAAI/D,MAAOzB,KAAKuD,WAAaZ,GAC7FA,MAGTkB,KA7BO,SA6BF2B,EAAYG,GAAc,WAC7B,GAAKA,KAAU3F,KAAK2D,WAAa3D,KAAK4D,UAAY4B,GAAMxF,KAAKyD,YAAYD,MAAzE,CACA,IAAMvE,EAAQe,KAAKuD,UAAUgC,QAAQvF,KAAKyD,aAC1C,GAAIxE,EAAQ,EAAG,CACb,IAAM2G,EAAS5F,KAAKuD,UAAUtD,MAAK,SAAArC,GAAC,OAAIA,EAAE4F,OAASgC,MAAOxF,KAAKyD,YACzDd,EAAS,WACb,EAAKY,UAAU5F,QAAO,SAAAC,GAAC,OAAIA,EAAE4F,KAAOgC,GAAM5H,EAAE4F,MAAQ,EAAKC,YAAYD,QAAMrD,SAAQ,SAAAvC,GAAOA,EAAE8F,YAAS5C,KACrG,EAAK2C,YAAcmC,EACnB,EAAKnC,YAAYC,OAAS,UAC1B,EAAKC,UAAW,GAEd3D,KAAKyF,OAAOT,OAAQhF,KAAKW,MAAM,OAAQ,CAAE+E,KAAM1F,KAAKyD,YAAa+B,KAAII,OAAQ5F,KAAKuD,WAAaZ,GAC9FA,OAGHtB,KA5CC,WA4CG,2KACH,EAAKoC,YAAYoC,SADd,qCACgC,EAAKpC,YAAYoC,SAAS,EAAKpC,YAAa,EAAKF,WADjF,oDAEAtE,EAAQ,EAAKsE,UAAUgC,QAAQ,EAAK9B,aACpC+B,EAAK,EAAKjC,UAAUtE,EAAQ,GAC5B0D,EAAS,WACb,EAAKc,YAAYC,OAAS,YAC1B,EAAKD,YAAc+B,EACnB,EAAK/B,YAAYC,OAAS,WAExB,EAAK+B,OAAOR,OAAQ,EAAKtE,MAAM,OAAQ,CAAE+E,KAAM,EAAKjC,YAAa+B,KAAI/D,MAAO,EAAK8B,WAAaZ,GAC7FA,IAVC,+CAaJrB,SAzDC,WAyDO,uKACP,EAAKmC,YAAYoC,SADV,qCAC4B,EAAKpC,YAAYoC,SAAS,EAAKpC,YAAa,EAAKF,WAD7E,mDAEJZ,EAAS,WACb,EAAKc,YAAYC,OAAS,YAC1B,EAAKC,UAAW,GAEd,EAAK8B,OAAOP,WAAY,EAAKvE,MAAM,WAAY,EAAK4C,UAAWZ,GAC9DA,IAPK,8CAUdgC,WAnEO,WAoEL3E,KAAKgE,YAAchE,KAAKgE,gBChJ9B,EAAO/C,OAAS,EAED,Q,oCCIA,+BAAgB,CAC7B6E,WAAY,CACVC,QAAA,EACAC,eAAA,KACAC,YAAA,KACAC,eAAA,MAEFtG,MAP6B,WAOxB,MACGuG,EAAK,UAAG,IAASnF,eAAZ,aAAG,EAAkBmF,MAC1BC,EAAU,mBAIVC,EAAW,mBACX3E,EAAgC,CACpC4E,WAAY,GACZC,WAAY,QACZ7I,MAAO,CACL,CACE8I,MAAO,OACPzC,MAAO,KACP0C,KAAM,GACNC,WAAY,CACVzI,KAAM,SACNiB,MAAO,CAAE+D,YAAa,QAAS0D,WAAW,GAC1CC,MAAO,CAAE1I,KAAM,UAGnB,CACEsI,MAAO,cACPzC,MAAO,KACP0C,KAAM,GACNC,WAAY,CACVzI,KAAM,SACNiB,MAAO,CAAE+D,YAAa,QAAS0D,WAAW,GAC1CC,MAAO,CAAE1I,KAAM,UAGnB,CACE6F,MAAO,KACP0C,KAAM,GACNI,MAAO,CAAEvH,QAAS,sBAGtBwH,MAAO,CACLC,KAAM,CAAC,CAAE7I,KAAM,SAAU0G,UAAU,MAIjC7C,EAAkB,uBAAS,WAE/B,IADA,IAAMrE,EAAe,GADe,aAE/B,IAAMsJ,EAAU,KACnB,GAA4B,MAAxBA,EAAWC,UAAmB,CAChC,IAAIpJ,EAAQH,EAAMuC,MAAK,SAAArC,GAAC,OAAIA,EAAEK,OAAS+I,EAAWC,aAC7CpJ,GAAOH,EAAM6C,KAAK1C,EAAQ,CAAEI,KAAM+I,EAAWC,UAAWvJ,MAAO,GAAIwJ,MAAO,IAC/ErJ,EAAMH,MAAM6C,KAAK,CAAEtC,KAAM+I,EAAWD,KAAMlI,MAAOmI,EAAWG,MAAOD,MAAOF,EAAWI,QACjFvJ,EAAMqJ,MAAQF,EAAWI,QAAOvJ,EAAMqJ,MAAQF,EAAWI,YACxD1J,EAAM6C,KAAK,CAAEtC,KAAM+I,EAAWD,KAAMlI,MAAOmI,EAAWG,MAAOD,MAAOF,EAAWI,SANxF,MAAyB5H,OAAOrC,QAAY,OAALgJ,QAAK,IAALA,OAAA,EAAAA,EAAOkB,MAAMC,mBAAoB,IAAxE,eAA6E,IAQ7E,OAAO5J,EAAMyH,MAAK,SAACC,EAAQC,GAAT,OAAoBD,EAAE8B,MAAQ7B,EAAE6B,YAM9C3E,EAAW,iBAAS,IACpBgF,EAAW,mBACXrF,EAAgC,CACpCoE,WAAY,GACZC,WAAY,QACZE,KAAM,EACN/I,MAAO,CACL,CAAE8I,MAAO,OAAQzC,MAAO,KAAM0C,KAAM,GAAIC,WAAY,CAAEzI,KAAM,SAAUiB,MAAO,CAAE+D,YAAa,QAC5F,CAAEuD,MAAO,SAAUzC,MAAO,KAAM0C,KAAM,GAAIC,WAAY,CAAEzI,KAAM,UAAWuJ,QAASrB,EAAQ3G,OAAOrC,OAAOgJ,EAAMkB,MAAMI,YAAYhH,KAAI,SAAA7C,GAAO,MAAO,CAAE8J,MAAO9J,EAAEmJ,KAAMlI,MAAOjB,EAAEuJ,UAAa,KACzL,CAAEX,MAAO,UAAWzC,MAAO,KAAM0C,KAAM,GAAIC,WAAY,CAAEzI,KAAM,SAAUiB,MAAO,CAAE+D,YAAa,QAC/F,CAAEuD,MAAO,WAAYzC,MAAO,KAAM0C,KAAM,GAAIC,WAAY,CAAEzI,KAAM,SAAUiB,MAAO,CAAEhB,KAAM,WAAY+E,YAAa,KAAM0E,aAAc,kBACtI,CAAEnB,MAAO,QAASzC,MAAO,QAAS0C,KAAM,GAAIC,WAAY,CAAEzI,KAAM,SAAUiB,MAAO,CAAE+D,YAAa,WAChG,CAAEuD,MAAO,UAAWzC,MAAO,KAAM0C,KAAM,GAAII,MAAO,CAAEvH,QAAS,oBAK7D,CAAEkH,MAAO,YAAazC,MAAO,KAAM0C,KAAM,GAAII,MAAO,CAAEvH,QAAS,6BAEjEwH,MAAO,CACLC,KAAM,CAAC,CAAEnC,UAAU,IACnBgD,MAAO,CAAC,CACNhD,UAAU,EACViD,QAAS,YACTC,QAAS,IAAIC,OAAO,iFAEtBC,QAAS,CAAC,CAAEpD,UAAU,IACtBqD,SAAU,CAAC,CACTrD,UAAU,EACVsD,UAAW,SAACC,GACV,GAAIA,EAAOC,UAAW,CACpB,IAAMC,EAAQ,IAAIN,OAAO,uIACzB,IAAKM,EAAMC,KAAKH,EAAOC,WAAY,OAAO,IAAIG,MAAM,uBAC/C,IAAKJ,EAAOxG,KAAK6G,GAAI,OAAO,IAAID,MAAM,eAGjDnG,QAAS,CAAC,CACRwC,UAAU,EAAMsD,UAAW,SAACC,GAAU,MAAG,GAAI,UAACA,EAAOC,iBAAR,QAAC,EAAkBlI,OAAQ,OAAO,IAAIqI,MAAM,qBAKzFE,EAAwC,CAC5CC,MAAO,KACPC,UAAU,EACV1F,YAAa,OACb2F,UAAW,OACXC,WAAY,KACZC,QAAS,CAAC,CAAEtC,MAAO,OAAQzC,MAAO,KAAMgF,oBAAoB,EAAMC,cAAc,EAAMC,UAAU,IAChGC,aAAa,EACbC,YAAY,EACZC,SAAU,CACRnJ,KAAM,SAACpB,GAAD,OAAWsH,EAAOkD,SAAS,YAAaxK,IAC9CyK,MAAO,SAACnB,GAAD,OAAYhC,EAAOkD,SAAS,aAAclB,MAM/C/G,EAAiB,iBAAqB,CAC1CK,MAAO,CACL,CACE+B,KAAM,EACNO,MAAO,OACPpC,KAAM,GACNyC,SAAU,QACVI,UAAU,EACV5C,MAAO,WAAF,8CAAE,WAAOJ,GAAP,iFAAkBA,EAAKG,KAAO,GAA9B,2CAAF,sDAAE,GACPkE,SAAU,WAAF,8CAAE,uIAA0BQ,EAASxH,aAAnC,aAA0B,EAAgBgH,WAA1C,iCAA6D,GAA7D,6DAAoF,GAApF,wDAAF,qDAAE,IAEZ,CACErC,KAAM,EACNO,MAAO,OACPpC,KAAM,GACNyC,SAAU,QACVxC,MAAO,WAAF,8CAAE,WAAOJ,GAAP,iFAAkBA,EAAKG,KAAO,GAA9B,2CAAF,sDAAE,GACPkE,SAAU,WAAF,8CAAE,uIAA0B0B,EAAS1I,aAAnC,aAA0B,EAAgBgH,WAA1C,iCAA6D,GAA7D,6DAAoF,GAApF,wDAAF,qDAAE,KAGdxC,OAAQ,MAGV,MAAO,CACL+C,UACAhF,iBACAiF,WACA3E,kBACAK,kBACAwF,WACArF,kBACAuG,sBACAlG,WACAK,aAAc,GAAF,OAAK,8BAAL,gBAGhB9C,QAAS,CACDkD,eADC,SACehC,EAAwBuI,EAAyBC,GAAY,gJAC5ExI,GAAYA,EAAQ/C,KADwD,yCAC3CuL,KAD2C,UAE5E,yBAAyBlB,KAAKtH,EAAQ/C,MAFwC,CAAF,sBAG/EwL,MAAM,aAHyE,kBAIxED,KAJwE,8CAOnFnI,KARO,SAQF8G,EAAyEuB,GAC5E,IAAIC,GAAU,EACd,OAAQxB,EAAOzC,KAAKlC,MAClB,KAAK,EACH,IACMxD,KAAKqG,UAAUrG,KAAKqG,SAASuD,cAAc,cAAU9I,EAAW,IAAI+I,MAAM,WAC9EF,GAAU,EACV,UACEA,GAASD,IACb,QAGNpI,SApBO,SAoBEwI,EAAmBJ,GAC1B,IAAIC,GAAU,EACd,IACM3J,KAAKuH,UAAUvH,KAAKuH,SAASqC,cAAc,cAAU9I,EAAW,IAAI+I,MAAM,WAC9EF,GAAU,EACV,UACEA,GAASD,KAEf7H,OA5BO,SA4BAL,EAAoBC,GAAqB,WAC9C,OAAQD,EAAKgC,MACX,KAAK,EACH,GAAIhC,EAAKG,KAAK6G,GAAI,OAClBxI,KAAK+J,OAAOV,SAAS,cAAe7H,EAAKG,MAAMqI,MAC7C,SAAAL,GACEnI,EAAKG,KAAOgI,EACPlI,EAAM,GAAGE,OAAMF,EAAM,GAAGE,KAAO,IAC/BF,EAAM,GAAGE,KAAKS,UAASX,EAAM,GAAGE,KAAKS,QAAU,IACpDX,EAAM,GAAGE,KAAKS,QAAQ7B,KAAKoJ,EAAQnB,OAErC,SAAAyB,GACE,EAAKC,MAAM,QAASD,EAAQpC,SAAWoC,GACvC,EAAK7D,QAAQvC,KAAK,GAAG,MAGzB,MACF,KAAK,EACH,GAAIrC,EAAKG,KAAK6G,GAAI,OAClBxI,KAAK+J,OAAOV,SAAS,cAAe7H,EAAKG,MAAMqI,MAC7C,SAAAL,GACEnI,EAAKG,KAAOgI,KAEd,SAAAM,GACE,EAAKC,MAAM,QAASD,EAAQpC,SAAWoC,GACvC,EAAK7D,QAAQvC,KAAK,GAAG,MAGzB,WC9NV,EAAO5C,OAASA,EAED","file":"js/chunk-644101a4.e568850e.js","sourcesContent":["var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CheckBoxList.vue?vue&type=style&index=0&id=60a8aa8c&scoped=true&lang=css\"","\n\n\n\n\n","\nimport { computed, defineComponent, PropType, ref } from '@cloudfun/core'\nimport { v1 as uuid } from 'uuid'\n\nexport default defineComponent({\n props: {\n name: String,\n modelValue: { type: Array as PropType, default: () => [] },\n cell: Object,\n columnCount: { type: Number, default: 0 },\n readOnly: Boolean,\n items: { type: Array as PropType, default: () => [] }\n },\n setup (props) {\n const selectedValues = ref([])\n const itemCount = ref({ all: 0 })\n const selectedCount = ref({ all: 0 })\n\n const itemWidthPercentage = computed(() =>\n props.columnCount > 0 ? `${100 / props.columnCount}%` : 'auto'\n )\n\n return {\n selectedValues,\n itemCount,\n selectedCount,\n id: uuid(),\n itemWidthPercentage\n }\n },\n methods: {\n onSelectAllButtonClick (name: string) {\n const groupItem = this.items.find((e) => e.name === name)\n let items = null\n if (groupItem == null) {\n items = this.items\n if (this.selectedValues.length === this.itemCount[name]) {\n this.selectedValues = []\n } else {\n items.forEach((item) => {\n if (item.items && Array.isArray(item.items)) {\n item.items.forEach((subItems: any) => {\n if (!this.selectedValues.includes(subItems.value)) { this.selectedValues.push(subItems.value) }\n })\n } else if (!this.selectedValues.includes(item.value)) { this.selectedValues.push(item.value) }\n })\n }\n } else {\n items = groupItem.items\n var allSelected = true\n items.forEach((item: any) => {\n allSelected &&= this.selectedValues.includes(item.value)\n })\n if (allSelected) {\n var values = groupItem.items.map((e: any) => e.value)\n this.selectedValues = this.selectedValues.filter(\n (e) => !values.includes(e)\n )\n } else {\n items.forEach((item: any) => {\n if (!this.selectedValues.includes(item.value)) { this.selectedValues.push(item.value) }\n })\n }\n }\n this.onChange()\n },\n onChange (e?: Event, silent?: boolean) {\n this.selectedCount = { all: this.selectedValues.length }\n this.selectedValues.forEach(value => {\n this.items.forEach(item => {\n if (item.items) {\n const group = item\n if (group.items.find((e: any) => e.value === value)) {\n this.selectedCount[group.name] = (this.selectedCount[group.name] || 0) + 1\n }\n }\n })\n })\n if (!silent) {\n this.$emit('update:modelValue', this.selectedValues)\n this.$emit('change', this.selectedValues)\n if (this.cell) this.cell.setValue(this.selectedValues)\n }\n }\n },\n created () {\n this.items.forEach(item => {\n if (item.items && Array.isArray(item.items)) {\n const group = item\n this.itemCount[group.name] = group.items.length\n this.itemCount.all += group.items.length\n } else this.itemCount.all++\n })\n this.selectedValues = [...this.modelValue]\n this.onChange(undefined, true)\n },\n watch: {\n items () {\n this.itemCount.all = 0\n this.items.forEach((item) => {\n if (item.items && Array.isArray(item.items)) {\n this.itemCount[item.name] = item.items.length\n this.itemCount.all += item.items.length\n } else this.itemCount.all++\n })\n this.onChange(undefined, true)\n },\n modelValue (current) {\n this.selectedValues = [...current]\n this.onChange(undefined, true)\n }\n }\n})\n","import { render } from \"./CheckBoxList.vue?vue&type=template&id=60a8aa8c&scoped=true\"\nimport script from \"./CheckBoxList.vue?vue&type=script&lang=ts\"\nexport * from \"./CheckBoxList.vue?vue&type=script&lang=ts\"\n\nimport \"./CheckBoxList.vue?vue&type=style&index=0&id=60a8aa8c&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-60a8aa8c\"\n\nexport default script","\n\n\n","\n\n\n","\nimport { computed, defineComponent, PropType, ref } from \"@cloudfun/core\";\nimport \"./Stepper.scss\";\n\nexport interface IStepperNode {\n /** 步驟編號 */\n step: number,\n /** 標題,可為純文字或是HTML */\n title: string,\n /** 內容,可為純文字或是HTML。與 template 擇一使用 */\n content?: string,\n /** 樣板名稱,須提供同名稱之樣板。與 content 擇一使用 */\n template?: string,\n /** 提示的樣板名稱 */\n hint?: string,\n /** 提示的位置 */\n hintPosition?: 'left' | 'right',\n /** 提示的寬度 */\n hintWidth?: number | string,\n /** 資料,供樣板使用 */\n data?: any,\n /** 可跳過 */\n skipable?: boolean,\n /** 驗證資料 */\n validate?(node: IStepperNode, nodes: IStepperNode[]): Promise,\n /** 重置資料 */\n reset?(node: IStepperNode, nodes: IStepperNode[]): Promise,\n /** 狀態 */\n status?: 'current' | 'skiped' | 'validated'\n}\n\nexport interface IStepperOptions {\n /** 步驟節點 */\n nodes: IStepperNode[],\n /** 允許返回上個步驟 */\n backable?: boolean,\n /** 允許跳至之前步驟 */\n jumpable?: boolean,\n /** 寬 */\n width?: number | string,\n /** 高 */\n height?: number | string,\n}\n\nexport default defineComponent({\n props: {\n node: { type: Object as PropType },\n nodes: { type: Array as PropType, required: true },\n backable: { type: Boolean, default: true },\n jumpable: { type: Boolean, default: true },\n width: { type: [Number, String] },\n height: { type: [Number, String] },\n onBack: { type: Function as PropType<(from: IStepperNode, to: IStepperNode, nodes: IStepperNode[]) => void> },\n onSkip: { type: Function as PropType<(from: IStepperNode, to: IStepperNode, nodes: IStepperNode[]) => void> },\n onJump: { type: Function as PropType<(from: IStepperNode, to: IStepperNode, nodes: IStepperNode[]) => void> },\n onNext: { type: Function as PropType<(from: IStepperNode, to: IStepperNode, nodes: IStepperNode[]) => void> },\n onComplete: { type: Function as PropType<(nodes: IStepperNode[]) => void> },\n },\n setup(props) {\n let stepNodes = [...props.nodes];\n stepNodes = stepNodes.sort((a, b) => a.step - b.step);\n\n const hasHint = ref(stepNodes.some(e => e.hint));\n const hintHidden = ref(!hasHint);\n\n const currentNode = ref(stepNodes[0]);\n currentNode.value.status = 'current';\n\n const stepperProgress = computed(() => 100 / (stepNodes.length - 1) * stepNodes.indexOf(currentNode.value) + '%');\n\n return {\n currentNode,\n stepNodes,\n hasHint,\n stepperProgress,\n hintHidden,\n finished: ref(false)\n };\n },\n methods: {\n back() {\n const index = this.stepNodes.indexOf(this.currentNode);\n if (index > 0) {\n const to = this.stepNodes[index - 1];\n const action = () => {\n this.currentNode.status = undefined;\n this.currentNode = to;\n this.currentNode.status = 'current';\n };\n if (this.$props.onBack) this.$emit(\"back\", { from: this.currentNode, to, nodes: this.stepNodes }, action);\n else action();\n }\n },\n skip() {\n const index = this.stepNodes.indexOf(this.currentNode);\n if (this.stepNodes.length === index + 1) {\n if (this.$props.onComplete) this.$emit(\"complete\", this.stepNodes);\n } else {\n const to = this.stepNodes[index + 1];\n const action = () => {\n this.currentNode.status = 'skiped';\n this.currentNode = to;\n this.currentNode.status = 'current';\n };\n if (this.$props.onSkip) this.$emit(\"skip\", { from: this.currentNode, to, nodes: this.stepNodes }, action);\n else action();\n }\n },\n jump(to: number, force: boolean) {\n if (!force && (this.finished || !this.jumpable || to >= this.currentNode.step)) return;\n const index = this.stepNodes.indexOf(this.currentNode);\n if (index > 0) {\n const toStep = this.stepNodes.find(e => e.step === to) || this.currentNode;\n const action = () => {\n this.stepNodes.filter(e => e.step > to && e.step <= this.currentNode.step).forEach(e => { e.status = undefined });\n this.currentNode = toStep;\n this.currentNode.status = 'current';\n this.finished = false;\n };\n if (this.$props.onJump) this.$emit(\"jump\", { from: this.currentNode, to, toStep: this.stepNodes }, action);\n else action();\n }\n },\n async next() {\n if (!this.currentNode.validate || await this.currentNode.validate(this.currentNode, this.stepNodes)) {\n const index = this.stepNodes.indexOf(this.currentNode);\n const to = this.stepNodes[index + 1];\n const action = () => {\n this.currentNode.status = 'validated';\n this.currentNode = to;\n this.currentNode.status = 'current';\n };\n if (this.$props.onNext) this.$emit(\"next\", { from: this.currentNode, to, nodes: this.stepNodes }, action);\n else action();\n }\n },\n async complete() {\n if (!this.currentNode.validate || await this.currentNode.validate(this.currentNode, this.stepNodes)) {\n const action = () => {\n this.currentNode.status = 'validated';\n this.finished = true;\n };\n if (this.$props.onComplete) this.$emit(\"complete\", this.stepNodes, action);\n else action();\n }\n },\n toggleHint() {\n this.hintHidden = !this.hintHidden;\n }\n }\n});\n","import { render } from \"./Stepper.vue?vue&type=template&id=4e8ae7d8\"\nimport script from \"./Stepper.vue?vue&type=script&lang=ts\"\nexport * from \"./Stepper.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\nimport CloudFun, { computed, defineComponent, ref } from '@cloudfun/core';\nimport Stepper, { IStepperNode, IStepperOptions } from '@/cloudfun/components/Stepper.vue';\nimport { VxeFormInstance, VxeFormProps } from 'vxe-table';\nimport CheckBoxList from '@/cloudfun/components/CheckBoxList.vue';\nimport SelectBox, { SelectBoxOptions } from '@/cloudfun/components/SelectBox.vue'\nimport FileUploader from '@/cloudfun/components/FileUploader.vue'\nimport { VueUploadItem } from 'vue-upload-component';\n\nexport default defineComponent({\n components: {\n Stepper,\n CheckBoxList,\n SelectBox,\n FileUploader\n },\n setup () {\n const model = CloudFun.current?.model\n const stepper = ref();\n\n // #region step 1\n\n const roleForm = ref();\n const roleFormOptions: VxeFormProps = {\n titleWidth: 60,\n titleAlign: 'right',\n items: [\n {\n field: 'Name',\n title: '名稱',\n span: 24,\n itemRender: {\n name: '$input',\n props: { placeholder: '請輸入文字', clearable: true },\n attrs: { type: 'text' }\n }\n },\n {\n field: 'Description',\n title: '說明',\n span: 24,\n itemRender: {\n name: '$input',\n props: { placeholder: '請輸入文字', clearable: true },\n attrs: { type: 'text' }\n }\n },\n {\n title: '權限',\n span: 24,\n slots: { default: 'form-permissions' }\n },\n ],\n rules: {\n Name: [{ type: 'string', required: true }]\n }\n }\n\n const permissionItems = computed(() => {\n const items: any[] = []\n for (const permission of Object.values(model?.enums.SystemPermission || {})) {\n if (permission.GroupName != null) {\n let group = items.find(e => e.name === permission.GroupName)\n if (!group) items.push(group = { name: permission.GroupName, items: [], order: 0 })\n group.items.push({ name: permission.Name, value: permission.Value, order: permission.Order })\n if (group.order < permission.Order) group.order = permission.Order\n } else items.push({ name: permission.Name, value: permission.Value, order: permission.Order })\n }\n return items.sort((a: any, b: any) => a.order - b.order)\n })\n\n // #endregion\n // #region step 2\n\n const uploader = ref({})\n const userForm = ref();\n const userFormOptions: VxeFormProps = {\n titleWidth: 80,\n titleAlign: 'right',\n span: 3,\n items: [\n { field: 'Name', title: '名稱', span: 12, itemRender: { name: '$input', props: { placeholder: '名稱' } } },\n { field: 'Status', title: '狀態', span: 12, itemRender: { name: '$select', options: model ? Object.values(model.enums.UserStatus).map(e => { return { label: e.Name, value: e.Value } }) : [] } },\n { field: 'Account', title: '帳號', span: 12, itemRender: { name: '$input', props: { placeholder: '帳號' } } },\n { field: 'Password', title: '密碼', span: 12, itemRender: { name: '$input', props: { type: 'password', placeholder: '密碼', autocomplete: 'new-password' } } },\n { field: 'Email', title: 'Email', span: 24, itemRender: { name: '$input', props: { placeholder: 'Email' } } },\n { field: 'RoleIds', title: '角色', span: 24, slots: { default: 'column-role-ids' } },\n // { field: 'OnlineString', title: '是否在線', span: 12, itemRender: { name: '$input', props: { placeholder: '是否在線', disabled: 'true' } } },\n // { field: 'LoginIp', title: 'IP位址', span: 12, itemRender: { name: '$input', props: { placeholder: 'IP位址', disabled: 'true' } } },\n // { field: 'LoginTimeString', title: '登入時間', span: 12, itemRender: { name: '$input', props: { placeholder: '登入時間', disabled: 'true' } } },\n // { field: 'LogoutTimeString', title: '登出時間', span: 12, itemRender: { name: '$input', props: { placeholder: '登出時間', disabled: 'true' } } },\n { field: 'Photo.Uri', title: '頭像', span: 24, slots: { default: 'column-photo-and-remark' } },\n ],\n rules: {\n Name: [{ required: true }],\n Email: [{\n required: true,\n message: 'Email格式錯誤',\n pattern: new RegExp('^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z]+$')\n }],\n Account: [{ required: true }],\n Password: [{\n required: false,\n validator: (params) => {\n if (params.itemValue) {\n const regex = new RegExp(\"^((?=.{8,}$)(?=.*\\\\d)(?=.*[a-z])(?=.*[A-Z]).*|(?=.{8,}$)(?=.*\\\\d)(?=.*[a-zA-Z])(?=.*[!\\\\u0022#$%&'()*+,./:;<=>?@[\\\\]\\\\^_`{|}~-]).*)\")\n if (!regex.test(params.itemValue)) return new Error('須8碼以上含大小寫英文、數字')\n } else if (!params.data.Id) return new Error('新用戶須設定密碼')\n }\n }],\n RoleIds: [{\n required: true, validator: (params) => { if (!params.itemValue?.length) return new Error('須選擇至少一個以上的角色') }\n }]\n }\n }\n\n const roleSelectorOptions: SelectBoxOptions = {\n rowId: 'Id',\n transfer: true,\n placeholder: '選擇角色',\n textField: 'Name',\n valueField: 'Id',\n columns: [{ field: 'Name', title: '名稱', showHeaderOverflow: true, showOverflow: true, sortable: true }],\n multiselect: true,\n showHeader: true,\n promises: {\n find: (value) => model!.dispatch(\"role/find\", value), // eslint-disable-line\n query: (params) => model!.dispatch(\"role/query\", params), // eslint-disable-line\n }\n }\n\n // #endregion\n\n const stepperOptions = ref({\n nodes: [\n {\n step: 1,\n title: '建立角色',\n data: {},\n template: 'step1',\n skipable: true,\n reset: async (node) => { node.data = {} },\n validate: async () => { try { await roleForm.value?.validate(); return true; } catch { return false; } },\n },\n {\n step: 2,\n title: '建立用戶',\n data: {},\n template: 'step2',\n reset: async (node) => { node.data = {} },\n validate: async () => { try { await userForm.value?.validate(); return true; } catch { return false; } },\n },\n ],\n height: 590\n });\n\n return {\n stepper,\n stepperOptions,\n roleForm,\n roleFormOptions,\n permissionItems,\n userForm,\n userFormOptions,\n roleSelectorOptions,\n uploader,\n uploadAction: `${process.env.VUE_APP_BACKEND_URL}/api/files`\n }\n },\n methods: {\n async uploaderFilter (current: VueUploadItem, original: VueUploadItem, prevent: any) {\n if (!current || !current.name) return prevent()\n if (!/\\.(png|gif|jpg|jpeg)$/i.test(current.name)) {\n alert('未支援此種圖片格式')\n return prevent()\n }\n },\n next(params: { from: IStepperNode, to: IStepperNode, nodes: IStepperNode[] }, callback: any) {\n let success = false;\n switch (params.from.step) {\n case 1:\n try {\n if (this.roleForm) this.roleForm.dispatchEvent('submit', undefined, new Event('submit'));\n success = true;\n } catch { }\n if (success) callback();\n break;\n }\n },\n complete(_: IStepperNode[], callback: any) {\n let success = false;\n try {\n if (this.userForm) this.userForm.dispatchEvent('submit', undefined, new Event('submit'));\n success = true;\n } catch { }\n if (success) callback();\n },\n submit(node: IStepperNode, nodes: IStepperNode[]) {\n switch (node.step) {\n case 1:\n if (node.data.Id) return;\n this.$model.dispatch('role/insert', node.data).then(\n success => {\n node.data = success;\n if (!nodes[1].data) nodes[1].data = {};\n if (!nodes[1].data.RoleIds) nodes[1].data.RoleIds = [];\n nodes[1].data.RoleIds.push(success.Id);\n },\n failure => {\n this.$send('error', failure.message || failure);\n this.stepper.jump(1, true);\n }\n )\n break;\n case 2:\n if (node.data.Id) return;\n this.$model.dispatch('user/insert', node.data).then(\n success => {\n node.data = success;\n },\n failure => {\n this.$send('error', failure.message || failure);\n this.stepper.jump(2, true);\n }\n )\n break;\n }\n },\n }\n});\n","import { render } from \"./Main.vue?vue&type=template&id=55004444\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}