????

Your IP : 216.73.216.130


Current Path : C:/inetpub/vhost/donthu.nextform.vn/wwwroot/assets/
Upload File :
Current File : C:/inetpub/vhost/donthu.nextform.vn/wwwroot/assets/index-DWafbFmv.js

var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{ao as useService,bI as Team,bJ as Countrie,r as reactExports,bK as lodashExports,bh as CHECK_SUCCESS,bi as CHECK_ERROR,k as jsxRuntimeExports,C as Card,B as Box,P as Paper,y as Button,I as Icon,aH as CircularProgress,am as Grid}from"./index-y1X-EiI1.js";import{h as useMedia,u as useAsync,F as Form,C as CardHeader,b as CardContent,a as FormControl,D as DataTable}from"./DataTable-BEDH0i35.js";import{b as DialogContent,c as DialogActions,D as Dialog}from"./DialogTitle-B28XGy8_.js";import"./Tooltip-C0pwvyhl.js";import"./Popper-BN0GgV3z.js";import"./utils-B_XeHYak.js";import"./TableRow-BfZy-RM-.js";import"./FormGroup-CEJG6asl.js";import"./ListItemText-BvrfP19N.js";import"./Autocomplete-CpStdzj7.js";import"./Close-DnCuke95.js";import"./usePreviousProps-eNEUPQQG.js";import"./Chip-4iuxTgqW.js";import"./warning-BmqNoLzl.js";import"./TablePagination-Dnie0nHQ.js";import"./Toolbar-BZCdaOvb.js";import"./LoadingButton-DgqpHLzy.js";import"./Badge-BUU8rl3f.js";import"./Collapse-YEAu7S3-.js";import"./Alert-AfWalC00.js";import"./Switch-BlzK9Osj.js";import"./SwitchBase-HB81Uehs.js";import"./Checkbox-B8nePMFP.js";import"./AppBar-BrohM22l.js";function useArticle(){const allow=useService(Team,"");return{getAllTeams:__name(()=>allow.get({url:""}),"getAllTeams"),postTeams:__name(data=>allow.post({url:"",body:data}),"postTeams"),getTeamsById:__name(id=>allow.get({url:`(${id})`}),"getTeamsById"),updateTeams:__name((id,data)=>allow.path({url:`(${id})`,body:data}),"updateTeams")}}__name(useArticle,"useArticle");function useCountries(){const allow=useService(Countrie,"");return{getAllCountries:__name(()=>allow.get({url:""}),"getAllCountries"),getCountriesById:__name(id=>allow.get({url:`(${id})`}),"getCountriesById")}}__name(useCountries,"useCountries");const formData={name:{field_name:"name",title:"Tên đội đua",type:"textbox",rules:{required:"Vui lòng nhập"}},countryId:{field_name:"countryId",title:"Quốc gia",type:"select-async",url:"api/Countries",value_field:"id",value_label:"name",rules:{required:"Vui lòng nhập"}},manager:{field_name:"manager",title:"Quản lý đội đua",type:"textbox",rules:{required:"Vui lòng nhập"}},debutYear:{field_name:"debutYear",title:"Năm thành lập",type:"textbox",rules:{required:"Vui lòng nhập"}},description:{field_name:"description",title:"Mô tả",type:"textarea",rules:{required:"Vui lòng nhập",maxLength:{value:300,message:"Vui lòng nhập dưới 300 từ"}}},photoUrl:{field_name:"photoUrl",title:"Ảnh",type:"image",rules:{required:"Vui lòng chọn"}}},Index$1=__name(({onClose,open,id})=>{const[data,setData]=reactExports.useState({}),{getAllTeams,getTeamsById,updateTeams,postTeams}=useArticle();useCountries();const{postMedia}=useMedia(),getDataById=reactExports.useCallback(async id2=>{try{const data2=await getTeamsById(id2);return setData(data2),data2}catch{}},[getTeamsById]),handleChangeNS=reactExports.useCallback((name,value)=>{switch(name){case"photoUrl":lodashExports.isObject(value)?setData(pre=>({...pre,[name]:value.url,file:value.file})):setData(pre=>({...pre,[name]:value}));break;default:setData(pre=>({...pre,[name]:value}));break}},[]),handleSubmit=reactExports.useCallback(async dataForm=>{try{const{id:id2,...dataEdit}=dataForm;if(id2){const{file}=data;if(file){const url=await postMedia({file,caption:file==null?void 0:file.name});await updateTeams(id2,{...dataEdit,photoUrl:url.link})}else await updateTeams(id2,{...dataEdit})}else{const{...dataPost}=dataForm,{file}=data;let urlImage=null;if(file){const{link}=await postMedia({file,caption:file==null?void 0:file.name});urlImage=link}await postTeams({...dataPost,photoUrl:urlImage||dataPost.photoUrl})}CHECK_SUCCESS("Cập nhật thành công"),onClose()}catch(error){CHECK_ERROR(error)}},[data,onClose,postMedia,postTeams,updateTeams]),{execute,status}=useAsync(handleSubmit),renderFormCreate=reactExports.useMemo(()=>jsxRuntimeExports.jsxs(Form,{onSubmit:execute,defaultValues:()=>id?getDataById(id):Promise.resolve({}),children:[jsxRuntimeExports.jsx(DialogContent,{sx:{padding:"0px"},children:jsxRuntimeExports.jsxs(Card,{children:[jsxRuntimeExports.jsx(CardHeader,{title:id?"Cập nhật":"Thêm mới"}),jsxRuntimeExports.jsx(CardContent,{sx:{background:"#E7EBF0"},children:jsxRuntimeExports.jsx(Box,{children:jsxRuntimeExports.jsx(Paper,{sx:{borderRadius:"0.3rem",padding:"1rem"},children:Object.entries(formData).map(([key,value],idx)=>jsxRuntimeExports.jsx(FormControl,{data:{...value,name:key},rules:value.rules,name:key,value:data&&data[key],onChange:handleChangeNS,defaultValue:value.defaultValue||data[key]},idx+key))})})})]})}),jsxRuntimeExports.jsxs(DialogActions,{children:[jsxRuntimeExports.jsx(Button,{color:"error",startIcon:jsxRuntimeExports.jsx(Icon,{children:"cancel"}),onClick:onClose,disabled:!1,children:"Hủy"}),jsxRuntimeExports.jsx(Button,{type:"submit",variant:"outlined",startIcon:status==="pending"?jsxRuntimeExports.jsx(CircularProgress,{size:20}):jsxRuntimeExports.jsx(Icon,{children:"save"}),disabled:status==="pending",children:"Lưu"})]})]}),[data,execute,getDataById,handleChangeNS,id,onClose,status]);return jsxRuntimeExports.jsx(Dialog,{fullWidth:!0,maxWidth:"md",onClose,open:!!open,children:renderFormCreate})},"Index$1"),UpdateForm=reactExports.memo(Index$1),Index=__name(()=>{const tableRef=reactExports.createRef(),[openConfig,setOpenConfig]=reactExports.useState({}),reloadTable=__name(()=>tableRef.current&&tableRef.current.onQueryChange(),"reloadTable");return jsxRuntimeExports.jsxs(Box,{children:[jsxRuntimeExports.jsx(Grid,{container:!0,children:jsxRuntimeExports.jsx(DataTable,{tableRef,isAuth:!0,url:"/Teams",title:"Danh sách đội đua",columns,selectType:"withColumns",onAdd:{onClick:()=>{setOpenConfig({status:"open"})}},onEdit:{onClick:(e,rowData)=>{setOpenConfig({status:"open",id:rowData.id})}},onDelete:{}})}),openConfig&&jsxRuntimeExports.jsx(UpdateForm,{open:openConfig.status,id:openConfig.id,onClose:()=>{reloadTable(),setOpenConfig(null)}})]})},"Index");export{Index as default};