????
Current Path : C:/inetpub/vhost/donthu.nextform.vn/wwwroot/assets/ |
Current File : C:/inetpub/vhost/donthu.nextform.vn/wwwroot/assets/index-DbxLuibt.js |
var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{r as reactExports,bh as CHECK_SUCCESS,bi as CHECK_ERROR,bW as iniAddress,k as jsxRuntimeExports,C as Card,B as Box,am as Grid,P as Paper,y as Button,I as Icon,aH as CircularProgress}from"./index-y1X-EiI1.js";import{u as useAsync,F as Form,b as CardContent,A as Address,a as FormControl,D as DataTable}from"./DataTable-BEDH0i35.js";import{u as useOrganization}from"./Organiztion.service-ClfjpKxN.js";import{a as DialogTitle,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";const columns=[{field:"id",type:"numeric",dataID:!0,editable:"never",hidden:!0},{title:"Mã",field:"organId",type:"numeric",dataID:!0,editable:"never"},{title:"Tên",field:"organName",type:"string",dataCheck:!0,searchable:!0},{title:"Email",field:"email",type:"string",dataCheck:!0,searchable:!0},{title:"Điện thoại",field:"telephone",type:"string",dataCheck:!0,searchable:!0},{title:"Website",field:"website",type:"string",dataCheck:!0,searchable:!0},{title:"Địa chỉ",field:"organAdd",type:"string",dataCheck:!0,searchable:!0}],formData={organName:{field_name:"organName",title:"Tên đơn vị",type:"textbox",rules:{required:"Vui lòng nhập"}},dmCapHanhChinhId:{field_name:"dmCapHanhChinhId",title:"Cấp hành chính",type:"select-async",value_field:"id",value_label:"name",url:"/api/buss/public/DanhMuc/GetCapHanhChinh",rules:{required:"Vui lòng nhập"}},organAdd:{field_name:"organAdd",title:"Địa chỉ",type:"textbox"},email:{field_name:"email",title:"Email",type:"textbox"},telephone:{field_name:"telephone",title:"SĐT",type:"textbox"},website:{field_name:"website",title:"Website",type:"textbox"},fax:{field_name:"fax",title:"fax",type:"textbox"}},Index$1=__name(({onClose,open,id})=>{const[data,setData]=reactExports.useState({}),{getOrganizationById,postOrganization,updateOrganization}=useOrganization(),refForm=reactExports.useRef(),getDataById=reactExports.useCallback(async id2=>{try{const{dmXa,dmHuyen,dmTinh,...data2}=await getOrganizationById(id2,{expand:["DMXa","DMHuyen","DMTinh"]});return setData(data2),{...data2,...{province:dmTinh,district:dmHuyen,ward:dmXa}}}catch{}},[getOrganizationById]),handleSubmit=reactExports.useCallback(async dataForm=>{try{const{id:id2,district,province,ward,...dataEdit}=dataForm;dataEdit.dmTinhCode=province==null?void 0:province.code,dataEdit.dmHuyenCode=district==null?void 0:district.code,dataEdit.dmXaCode=ward==null?void 0:ward.code,id2?await updateOrganization(id2,dataEdit):await postOrganization(dataEdit),CHECK_SUCCESS("Cập nhật thành công"),onClose()}catch(error){CHECK_ERROR(error)}},[onClose,postOrganization,updateOrganization]),{execute,status}=useAsync(handleSubmit),handleChangeNS=reactExports.useCallback((name,value)=>{setData(pre=>({...pre,[name]:value}))},[]),getInitData=reactExports.useCallback(()=>Promise.resolve(iniAddress),[]),renderFormCreate=reactExports.useMemo(()=>jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(DialogTitle,{sx:{padding:"0.5rem"},children:"Thêm mới"}),jsxRuntimeExports.jsx(DialogContent,{sx:{padding:"0px"},children:jsxRuntimeExports.jsx(Form,{ref:refForm,onSubmit:execute,defaultValues:()=>id?getDataById(id):getInitData(),children:jsxRuntimeExports.jsx(Card,{children:jsxRuntimeExports.jsx(CardContent,{sx:{background:"#E7EBF0"},children:jsxRuntimeExports.jsx(Box,{children:jsxRuntimeExports.jsx(Grid,{container:!0,spacing:2,children:jsxRuntimeExports.jsx(Grid,{item:!0,xs:12,children:jsxRuntimeExports.jsx(Paper,{sx:{borderRadius:"0.3rem",padding:"1rem"},children:Object.entries(formData).map(([key,value],idx)=>jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[idx===0&&jsxRuntimeExports.jsx(Address,{value:data.address}),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,{size:"small",color:"error",startIcon:jsxRuntimeExports.jsx(Icon,{children:"cancel"}),onClick:onClose,disabled:!1,children:"Hủy"}),jsxRuntimeExports.jsx(Button,{size:"small",type:"button",onClick:()=>{refForm.current.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,getInitData,handleChangeNS,id,onClose,status]);return jsxRuntimeExports.jsx(Dialog,{fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,maxWidth:"sm",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,isFullTextSearch:!0,url:"/buss/allow/Organizations",title:"Danh sách đơn vị",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};